Gender API
मुफ़्त में साइन अप करें
भाषा expand_more

पूरे नाम को नाम और उपनाम में अलग करो

एक जुड़ा हुआ नाम फ़ील्ड, एक API कॉल, दो साफ़ फ़ील्ड — जो उपसर्ग, पदनाम और उलटा क्रम हाथ से लिखे कटाव को तोड़ते हैं, वे पहले से सँभाल लिए गए हैं, और लिंग उसी उत्तर में है

अंतिम समीक्षा 2026-09-01 Gender-API.com की टीम द्वारा लिखा और सँभाला गया

छोटा जवाब

  • जुड़ा हुआ फ़ील्ड भेजो, first_name और last_name वापस पाओ — साथ में लिंग, सटीकता और नमूनों की संख्या, उसी उत्तर में, एक credit में
  • उपसर्ग (“van der”, “von den”, “de la”) तथा शैक्षणिक और पेशेवर पदनाम अड़चन बनने के बजाय सँभाल लिए जाते हैं — और उलटा लिखा “Rossi, Andrea” भी सुलझ जाता है, अल्पविराम से नहीं बल्कि नाम डेटा से
  • जहाँ दोनों हिस्से कुछ भी हो सकते हों, वहाँ फैसला इससे आता है कि हर हिस्सा नाम के रूप में कितनी बार आता है और उपनाम के रूप में कितनी बार — स्ट्रिंग में उसकी जगह से नहीं
  • उपनाम डेटाबेस में न होने पर strict mode अंदाज़े के बजाय खाली उपनाम लौटाता है, जिससे तुम्हें कमी दिख जाती है

स्पेस पर काटना क्यों काम नहीं करता

लगभग हर कोडबेस में इसका एक रूप मौजूद है: नाम फ़ील्ड लो, खाली जगह पर काटो, पहला टुकड़ा नाम, आखिरी टुकड़ा उपनाम। परीक्षण डेटा अंग्रेज़ी होने के कारण यह समीक्षा पार कर जाता है, और पहले ही गैर-अंग्रेज़ी ग्राहक पर चुपचाप बिगड़ जाता है

पूरे नाम “Anna van der Berg” पर लगाए गए तीन नियम। पहले स्पेस पर काटने से नाम Anna और उपनाम “van” मिलता है, जो गलत है। आखिरी स्पेस पर काटने से नाम “Anna van der” और उपनाम Berg मिलता है, यह भी गलत। “van der” को उपनाम से जुड़ा उपसर्ग मानना और हर उम्मीदवार को नाम तथा उपनाम डेटाबेस में जाँचना नाम Anna और उपनाम “van der Berg” देता है। पहले दो नियम वही हैं जो हाथ से लिखा कटाव आम तौर पर करता है, और वे चुपचाप नाकाम होते हैं
वही नाम, तीन नियम, दो गलत जवाब — और इनमें से कोई त्रुटि नहीं देता

महँगा इसे इसका बिगड़ने का तरीका बनाता है। कहीं कोई अपवाद नहीं उठता। तुम्हारे पास ऐसे लोगों से भरा डेटाबेस बचता है जिनका उपनाम “van” है, एक सामूहिक मेल जो उन्हें इसी से पुकारता है, और कारण की ओर इशारा करने वाली एक भी लॉग पंक्ति नहीं

कटाव को क्या तय करता है

चार चीज़ें, इसी क्रम में — और इनमें से आखिरी वह है जो नियम-आधारित कटाव के पास नहीं हो सकती, क्योंकि उसके लिए यह जानना पड़ता है कि नाम असल में कैसे फैले हैं

चार रूप जिनमें जुड़ा हुआ नाम फ़ील्ड आता है, और हर कटाव को क्या तय करता है। “Rossi, Andrea”: अल्पविराम हटा दिया जाता है और क्रम जगह से अनुमान लगाने के बजाय नाम डेटा से पढ़ा जाता है। “Prof. Dr. Anna Maria de la Cruz”: पदनाम एक जानी-पहचानी सूची से हटाए जाते हैं, उपसर्ग उपनाम के साथ रहता है और दोनों नाम बने रहते हैं। “Andrea Rossi”, जहाँ दोनों हिस्से मुमकिन नाम हैं: तोला जाता है कि हर हिस्सा नाम के रूप में कितनी बार आता है और उपनाम के रूप में कितनी बार, इसलिए जगह इसे तय नहीं करती। strict mode चालू के साथ “Markus Stefan Nonexistent”: उपनाम डेटाबेस में नहीं है, इसलिए वह अंदाज़े के बजाय खाली लौटता है
उसी फ़ील्ड के चार असली रूप, और हर एक को सुलझाने वाली चीज़
  • पदनाम सबसे पहले हटते हैं। “Prof. Dr.”, “Dipl.-Ing.”, “Managing Director” और एक सँभाली हुई सूची के बाकी हिस्से, कुछ और तय होने से पहले हटा दिए जाते हैं, ताकि वे कभी नाम फ़ील्ड में न पहुँचें
  • उपसर्ग उपनाम के साथ रहते हैं। “van”, “van der”, “van den”, “von”, “von der”, “de”, “de la”, “du”, “le”, “di”, “des” और इनके जैसे, उस उपनाम का हिस्सा माने जाते हैं जिससे वे जुड़े हैं
  • क्रम का भार विराम चिह्न पर नहीं छोड़ा जाता। “Rossi, Andrea” का अल्पविराम पदनामों के साथ हटा दिया जाता है, और क्रम उसके बाद नाम डेटा से पढ़ा जाता है — अल्पविराम एक स्वरूपण की आदत है, और बहुत-सी सूचियाँ उसे असंगत ढंग से बरतती हैं। CSV और Excel अपलोड में तुम इसके बजाय कॉलम का क्रम बता सकते हो, और बताया गया क्रम वैसे ही इस्तेमाल होता है
  • दुविधा डेटा सुलझाता है। हर संभावित हिस्सा नाम डेटाबेस और उपनाम डेटाबेस, दोनों में देखा जाता है, और जो हिस्सा नाम से कहीं ज़्यादा उपनाम जैसा बरतता है वही उपनाम है

देश कोड दो और वही तुलना सारे देशों के बजाय उस एक देश के सापेक्ष होती है — यही तुम चाहते हो जब पहले से पता हो कि सूची कहाँ से आई है

इसे कैसे बुलाएँ

यह काम दो एंडपॉइंट करते हैं, और तुम्हें कौन-सा चाहिए यह इस पर निर्भर है कि strict mode की ज़रूरत है या नहीं

v2 — मौजूदा 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 चाहिए

strict mode केवल v1 के कटाव एंडपॉइंट पर है। अगर नए API पर होने से ज़्यादा तुम्हारे लिए खाली उपनाम मायने रखता है, तो यही लो

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

पहले यह: उस कॉलम में पूरे नाम हैं भी या नहीं?

किसी ऐसी फ़ाइल को संसाधित करने से पहले जानने लायक जो तुमने खुद नहीं बनाई। 100 मानों तक का नमूना भेजो और तुम्हें पता चल जाएगा कि वे पूरे नामों जैसे लगते हैं या नहीं — और इसमें credits नहीं लगते

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": [ … ]
}

यह साफ़ रखो कि यह क्या नापता है: fullname_probability भेजे गए मानों में से उनका हिस्सा है जो एक से ज़्यादा शब्द के हैं, और is_fullname वह हिस्सा 0.6 से ऊपर होना है। यह कॉलम के बारे में आँकलन है, हर एक नाम के बारे में नहीं — कटाव करना ही चाहिए या नहीं यह तय करते समय ठीक इसी की ज़रूरत होती है, और यह कटाव का विकल्प नहीं है

मिला-जुला कॉलम भी एक सही जवाब है: कुछ सूचियों में “Thomas” और “John Smith” साथ-साथ होते हैं, और कटाव दोनों सँभाल लेता है, तुम्हें पहले छाँटना नहीं पड़ता

जहाँ इसे अभी भी तुम्हारी मदद चाहिए

जो कटाव दुनिया के हर नाम को सँभाल लेने का दावा करे, वह झूठ बोल रहा होगा। ये वे मामले हैं जिनमें कोई नियम स्ट्रिंग को अपने बल पर नहीं सुलझा सकता

अगर फ़ॉर्म तुम्हारे हाथ में है, तो सबसे सस्ता हल API नहीं है: एक की जगह दो फ़ील्ड, या यह संकेत कि प्रारूप “नाम, उपनाम” है। नीचे का सब कुछ तब के लिए है जब फ़ॉर्म तुम्हारे हाथ में न हो

  • उपनाम पहले। अल्पविराम हो या न हो, नाम डेटा जिस पाठ का समर्थन करता है वही जगह के नियम पर भारी पड़ता है — और वह गलत होने से कहीं ज़्यादा बार सही होता है, मगर गारंटी नहीं। अगर तुम्हें पता है कि पूरे कॉलम में उपनाम पहले है, तो विराम चिह्न पर भरोसा करने के बजाय अपलोड में यह बता दो
  • एक शब्द वाले नाम। एकनाम में ढूँढ़ने के लिए कोई उपनाम नहीं होता। नाम को बीच से काटने के बजाय उपनाम खाली लौटता है
  • असंगत लिप्यंतरण। एक सूची में तीन तरह से लिखा गया वही नाम तीन नामों की तरह सुलझता है, क्योंकि डेटा में वह ठीक यही है
  • बिना हाइफ़न के जुड़े नाम। जहाँ डेटा समर्थन करता है, “Anna Maria” साथ रखा जाता है, मगर जो सूची “Anna Maria Rossi” और “Anna Rossi” को मिलाती है वह एक-सी नहीं रहेगी

चारों मामलों में देश कोड समस्या को सँकरा करता है, और strict mode अनिश्चित पंक्तियों को चुपचाप मुनासिब दिखने के बजाय आँखों के सामने ले आता है। जिसे तुम छान सको वह खाली फ़ील्ड, उस गलत फ़ील्ड से बेहतर है जिसे तुम पकड़ न पाओ

पूरा कॉलम एक ही बार में

अगर नाम किसी एप्लिकेशन में नहीं बल्कि स्प्रेडशीट में हैं, तो तुम्हें API की ज़रूरत नहीं। फ़ाइल अपलोड करो, उस कॉलम की ओर इशारा करो जिसमें जुड़े हुए नाम हैं, और कटे हुए हिस्से तुम्हारे डेटा के साथ नए कॉलम बनकर वापस आते हैं — हर CSV में 10,000,000 पंक्तियों तक या हर Excel वर्कबुक में 100,000 तक, और तुम्हारी वर्कबुक जैसी थी वैसी लौटती है

अक्सर पूछे जाने वाले सवाल

स्पेस पर काट देने में क्या दिक्कत है?

क्योंकि सीमा स्पेस नहीं है। “Anna van der Berg” को पहले स्पेस पर काटो तो उपनाम “van” बनता है और आखिरी पर काटो तो नाम “Anna van der”। दोनों गलत हैं, दोनों अंग्रेज़ी नामों के परीक्षण में ठीक लगते हैं, और दोनों उस पल चुपचाप नाकाम हो जाते हैं जब कोई डच, जर्मन, फ्रेंच, स्पेनिश या पुर्तगाली उपनाम आता है

यह क्या तय करता है कि कटाव कहाँ होगा?

पहले जाने-पहचाने पदनाम हटाए जाते हैं, और “van der”, “von den” तथा “de la” जैसे उपसर्ग उपनाम के साथ ही रहते हैं। उसके बाद तोला जाता है कि हर हिस्सा नाम के रूप में कितनी बार आता है और उपनाम के रूप में कितनी बार — यानी शब्द की जगह इसे तय नहीं करती, और विराम चिह्न भी नहीं: अल्पविराम “उपनाम पहले” का संकेत मानकर पढ़ा नहीं जाता बल्कि पदनामों के साथ हटा दिया जाता है। CSV और Excel अपलोड में तुम कॉलम का क्रम सीधे बता सकते हो, और तब उसे वैसे ही इस्तेमाल किया जाता है

जब उपनाम डेटाबेस में न हो तो क्या होता है?

v1 एंडपॉइंट पर strict mode इसी के लिए है। strict mode चालू होने पर उपनाम अंदाज़े के बजाय खाली लौटता है, जिससे कमी तुम्हारे डेटा में दिखती है। बंद होने पर भी जितना बन पड़े उतना उपनाम निकाल लिया जाता है

क्या इसमें लिंग भी मिलता है?

हाँ, उसी उत्तर में और उसी एक credit में — साथ में नमूनों की संख्या और उसके पीछे की सटीकता भी। नाम काटना और उसका लिंग तय करना एक कॉल है, दो नहीं

मुझे कैसे पता चलेगा कि मेरे कॉलम में पूरे नाम हैं या नहीं?

100 मानों तक का नमूना name-format-detect एंडपॉइंट को भेजो। इसमें credits नहीं लगते और यह बताता है कि कॉलम पूरे नामों जैसा लगता है, केवल नामों जैसा, या मिला-जुला — फ़ाइल को कैसे संसाधित करना है यह तय करने से पहले काम आता है

काटने का खर्च क्या है?

हर नाम पर एक credit, सामान्य लिंग क्वेरी के बराबर, 1,000 पर €0.35 से। credits पहले से खरीदे जाते हैं और खत्म नहीं होते

क्या यह गैर-पश्चिमी नामों को भी सँभालेगा?

आंशिक रूप से — और सीमाएँ जान लेना बेहतर है। बिना विभाजक उपनाम पहले लिखे नाम, एक शब्द वाले नाम, और असंगत लिप्यंतरण वाले नाम मुश्किल मामले हैं — कोई नियम उन्हें केवल स्ट्रिंग से नहीं सुलझा सकता। देश कोड भेजना मदद करता है, क्योंकि तब क्वेरी हिस्सों को हर चीज़ के बजाय उस देश के सापेक्ष तोलती है

उन नामों पर आज़माओ जो तुम्हारे कटाव को तोड़ देते हैं

हर महीने 100 मुफ़्त क्वेरी, कोई क्रेडिट कार्ड नहीं। वे बीस पंक्तियाँ लो जिन्हें तुम्हारा मौजूदा कोड गलत करता है, और उन्हीं से शुरू करो

संवाद