Gender API
Ücretsiz Kaydolun
Dil expand_more

Tam bir ismi ad ve soyadı olarak ayır

Bir birleşik ad alanı, bir API çağrısı, iki temiz alan — elle yazılmış bir ayırmayı bozan ekler, unvanlar ve ters sıra çoktan hallolmuş ve cinsiyet aynı yanıtta.

Son gözden geçirme 2026-09-01 Gender-API.com ekibi tarafından yazıldı ve güncel tutuluyor

Kısa yanıt

  • Birleşik alanı gönder, first_name ve last_name geri al — üstüne cinsiyet, doğruluk ve örnek sayısı, aynı yanıtta, bir credit karşılığında.
  • Ekler (“van der”, “von den”, “de la”) ile akademik ve mesleki unvanlar tökezleme sebebi olmak yerine işlenir — ve ters yazılmış bir “Rossi, Andrea” da çözülür; virgülden değil ad verisinden.
  • İki yarının da ikisinden biri olabileceği yerde karar, her parçanın ad olarak ne sıklıkla göründüğünün soyadı olarak ne sıklıkla göründüğüne karşı tartılmasından gelir — karakter dizisindeki konumundan değil.
  • Strict mode, soyadı veritabanında olmadığında tahmin yerine boş bir soyadı döndürür; böylece boşluğu görürsün.

Boşluktan ayırmak neden işe yaramaz

Neredeyse her kod tabanında bunun bir sürümü var: ad alanını al, boşluklardan ayır, ilk öğe ad, son öğe soyadı. Test verisi İngilizce olduğu için review'dan geçer ve İngilizce olmayan ilk müşteride sessizce bozulur.

“Anna van der Berg” tam ismine uygulanan üç kural. İlk boşluktan ayırmak Anna adını ve “van” soyadını verir: yanlış. Son boşluktan ayırmak “Anna van der” adını ve Berg soyadını verir: bu da yanlış. “van der”i soyadına ait bir ek olarak tanımak ve her adayı ad ve soyadı veritabanlarında kontrol etmek Anna adını ve “van der Berg” soyadını verir. İlk iki kural, elle yazılmış bir ayırmanın genellikle yaptığı şeydir ve sessizce başarısız olurlar.
Aynı ad, üç kural, iki yanlış yanıt — ve hiçbiri hata vermiyor.

Pahalı olan, başarısız olma biçimi. Hiçbir şey exception atmaz. Elinde soyadı “van” olan insanlarla dolu bir veritabanı, onları böyle selamlayan bir toplu gönderim ve nedeni gösteren tek bir log satırı bile olmadan kalırsın.

Ayrıma ne karar verir

Dört şey, bu sırayla — ve son olan, kural tabanlı bir ayırmanın sahip olamayacağı şeydir, çünkü adların gerçekte nasıl dağıldığını bilmeyi gerektirir.

Birleşik bir ad alanının geldiği dört biçim ve her ayrıma neyin karar verdiği. “Rossi, Andrea”: virgül kaldırılır ve sıra konumdan çıkarılmak yerine ad verisinden okunur. “Prof. Dr. Anna Maria de la Cruz”: unvanlar bilinen bir listeye göre kaldırılır, ek soyadıyla kalır ve iki ad da korunur. “Andrea Rossi”, iki parçanın da makul ad olduğu durum: her parçanın ad olarak ne sıklıkla göründüğü, soyadı olarak ne sıklıkla göründüğüne karşı tartılır, yani konum karar vermez. “Markus Stefan Nonexistent”, strict mode açık: soyadı veritabanında yok, dolayısıyla tahmin edilmek yerine boş döner.
Aynı alanın dört gerçek biçimi ve her birini neyin çözdüğü.
  • Unvanlar önce çıkar. “Prof. Dr.”, “Dipl.-Ing.”, “Managing Director” ve bakımı yapılan bir listenin geri kalanı, başka hiçbir şeye karar verilmeden önce kaldırılır; böylece asla bir ad alanına düşmezler.
  • Ekler soyadıyla kalır. “van”, “van der”, “van den”, “von”, “von der”, “de”, “de la”, “du”, “le”, “di”, “des” ve benzerleri, ait oldukları soyadının parçası olarak tanınır.
  • Sıranın taşınması noktalamaya bırakılmaz. “Rossi, Andrea”daki virgül unvanlarla birlikte kaldırılır ve sıra sonra ad verisinden okunur — virgül bir biçimlendirme alışkanlığıdır ve pek çok liste onu tutarsız kullanır. CSV ve Excel yüklemesinde bunun yerine sütunun sırasını belirtebilirsin; belirtilen sıra belirtildiği gibi kullanılır.
  • Belirsizliği veri çözer. Her aday parça hem ad hem soyadı veritabanında aranır ve addan çok daha fazla soyadı gibi davranan parça soyadıdır.

Bir ülke kodu ver, aynı karşılaştırma tüm ülkelere karşı değil o ülkeye karşı yapılır — listenin nereden geldiğini zaten biliyorsan istediğin şey budur.

Nasıl çağırılır

Bunu iki endpoint yapar ve hangisini isteyeceğin strict mode'a ihtiyacın olup olmadığına bağlı.

v2 — güncel API

POST https://gender-api.com/v2/gender/by-full-name
{ "full_name": "Anna van der Berg", "country": "NL" }
{
    "result_found": true,
    "first_name": "Anna",
    "last_name": "van der Berg",
    "gender": "female",
    "probability": 0.98,
    "details": { "credits_used": 1, "samples": 8961, "duration": "33ms" }
}

v1 — strict mode gerektiğinde

Strict mode yalnızca v1 ayırma endpoint'inde var. Boş bir soyadı senin için daha yeni API'de olmaktan daha önemliyse bunu kullan.

GET https://gender-api.com/get?split=Anna%20van%20der%20Berg&strict=true&key=…

Önce: o sütunda gerçekten tam isimler var mı?

Kendi oluşturmadığın bir dosyayı işlemeden önce bilmeye değer. En fazla 100 değerden bir örneklem gönder, tam isme benzeyip benzemediklerini geri al — ve credits harcamaz.

POST https://gender-api.com/v2/name-format-detect
{ "names": ["Sophie Jones", "Lorenzo Carlos", "Anna van der Berg"] }
{
    "is_fullname": true,
    "fullname_probability": 1,
    "validHints": [ … ]
}

Bunun neyi ölçtüğü konusunda net ol: fullname_probability, gönderdiğin değerlerin birden fazla kelimeden oluşan payıdır ve is_fullname bu payın 0,6'nın üstünde olmasıdır. Bu, sütun hakkında bir değerlendirmedir, her ad hakkında değil — ayırıp ayırmayacağına karar verirken tam olarak ihtiyacın olan şey ve ayırmanın kendisinin yerine geçmez.

Karışık bir sütun da geçerli bir yanıttır: bazı listelerde “Thomas” ile “John Smith” yan yana durur ve ayırma, sen önceden sıralamadan ikisiyle de baş eder.

Hâlâ yardımına ihtiyaç duyduğu yerler

Dünyadaki her adın üstesinden geldiğini söyleyen bir ayırma yalan söylüyor olurdu. Bunlar, hiçbir kuralın karakter dizisini kendi başına çözemediği durumlar.

Formu sen yönetiyorsan en ucuz çözüm hiç API değil: bir alan yerine iki alan ya da biçimin “ad, soyadı” olduğuna dair bir ipucu. Aşağıdakilerin tümü, formu sen yönetmediğinde geçerli.

  • Soyadı önce. Virgül olsun ya da olmasın, ad verisinin desteklediği okuma konum kuralına karşı kazanır — ve yanıldığından çok daha sık doğru çıkar, ama garanti değildir. Bütün sütunun soyadı önce olduğunu biliyorsan, noktalamaya güvenmek yerine bunu yüklemede belirt.
  • Tek kelimelik adlar. Tek adlı birinde bulunacak bir soyadı yoktur. Adı ikiye bölmek yerine soyadı boş döner.
  • Tutarsız harf çevirisi. Bir liste boyunca üç şekilde yazılmış aynı ad üç ad olarak çözülür, çünkü veride tam olarak bu.
  • Kısa çizgisiz bileşik adlar. Veri desteklediği yerde “Anna Maria” birlikte tutulur, ama “Anna Maria Rossi” ile “Anna Rossi”yi karıştıran bir liste tutarlı olmayacak.

Dört durumun hepsinde bir ülke kodu sorunu daraltır ve strict mode belirsiz satırları sessizce makul kılmak yerine görünür yapar. Filtreleyebildiğin boş bir alan, fark edemediğin yanlış bir alandan iyidir.

Bütün bir sütun bir kerede

Adlar bir uygulamada değil de bir hesap tablosundaysa API'ye ihtiyacın yok. Dosyayı yükle, birleşik adları tutan sütunu göster, ayrılmış parçalar verinin yanında yeni sütunlar olarak geri gelir — CSV başına 10,000,000 satıra ya da Excel çalışma kitabı başına 100,000 satıra kadar, ve çalışma kitabın olduğu gibi geri döner.

Sık sorulan sorular

Neden boşluktan ayırmakla yetinilmiyor?

Çünkü sınır boşluk değil. “Anna van der Berg” ilk boşlukta “van” soyadını, sonuncusunda “Anna van der” adını verir. İkisi de yanlış, ikisi de İngilizce adlarla yapılan bir testte iyi görünür ve ikisi de Hollandaca, Almanca, Fransızca, İspanyolca ya da Portekizce bir soyadı geldiği anda sessizce başarısız olur.

Ayrımın nereye düşeceğine ne karar verir?

Önce bilinen unvanlar kaldırılır ve “van der”, “von den”, “de la” gibi ekler soyadıyla birlikte kalır. Ardından her parçanın ad olarak ne sıklıkla göründüğü, soyadı olarak ne sıklıkla göründüğüne karşı tartılır — yani buna kelimenin konumu karar vermez, noktalama da vermez: bir virgül, “soyadı önce” işareti olarak okunmak yerine unvanlarla birlikte kaldırılır. CSV ve Excel yüklemesinde sütunun sırasını doğrudan belirtebilirsin, o zaman belirttiğin gibi kullanılır.

Soyadı veritabanında yoksa ne olur?

Strict mode tam bunun için var, v1 endpoint'inde. Strict mode açıkken soyadı tahmin edilmek yerine boş döner, böylece boşluk verinde görünür olur. Kapalıyken yine de elden geldiğince bir soyadı çıkarılır.

Cinsiyeti de veriyor mu?

Evet, aynı yanıtta ve aynı tek credit karşılığında — arkasındaki örnek sayısı ve doğrulukla birlikte. Adı ayırmak ve cinsiyetini belirlemek bir çağrıdır, iki değil.

Sütunumun gerçekten tam isimler içerip içermediğini nasıl bilirim?

name-format-detect endpoint'ine en fazla 100 değerden bir örneklem gönder. Credits harcamaz ve sütunun tam isimler mi, adlar mı yoksa karışık mı göründüğünü söyler — dosyayı nasıl işleyeceğine karar vermeden önce işine yarar.

Ayırma ne kadar tutar?

Ad başına bir credit, düz bir cinsiyet sorgusuyla aynı, 1.000 başına €0.35'den başlayarak. Credits önceden satın alınır ve süresi dolmaz.

Batılı olmayan adların üstesinden gelir mi?

Kısmen — ve sınırları bilmek daha iyi. Ayırıcı olmadan soyadı önce yazılmış adlar, tek kelimelik adlar ve tutarsız harf çevirisi yapılmış adlar zor durumlardır; hiçbir kural bunları yalnızca karakter dizisinden çözemez. Bir ülke kodu göndermek yardımcı olur, çünkü sorgu parçaları o zaman her şeye değil o ülkeye karşı tartar.

AYIRMANI BOZAN ADLARLA DENE

Ayda 100 ücretsiz sorgu, kredi kartı yok. Mevcut kodunun yanlış yaptığı yirmi satırı al ve onlarla başla.

Sohbet