2009-11-06 15 views
7

मुझे हाल ही में एक अजीब लेकिन दिलचस्प सवाल का सामना करना पड़ा। प्रश्न निम्नानुसार हैं: एक ऐसा प्रोग्राम लिखने की आवश्यकता है जो नाम के आधार पर लिंग को आउटपुट के रूप में दे सके। उदाहरण: इनपुट -> जॉन माइकल ब्रिटनी आउटपुट -> पुरुष पुरुष महिलानाम से लिंग खोजें

तो यह उत्पादन मैं उम्मीद है। मैंने हल करने के लिए बहुत कोशिश की, लेकिन मैं वास्तव में इसे क्रैक करने में सक्षम नहीं था। मुझे इस प्रश्न को साझा करने का अवसर देने के लिए इस साइट का वास्तव में आभारी होगा।

असल में यह एक फ्लायर समस्या के रूप में प्रोग्रामिंग प्रतियोगिता में पूछा जाता है, इसलिए मैंने सोचा कि इसे प्रोग्राम किया जा सकता है।

+0

क्या है तुमने करने की कोशिश की? क्या आपके पास हमारे साथ साझा करने के लिए कोई कोड है ताकि हम आपको सही दिशा में चला सकें? –

+0

आपको यह प्रश्न कहां मिला। क्या आप वेबसाइट देख सकते हैं? मेरा विकल्प डेटाबेस में नाम स्टोर करना और उन्हें मेल करना है। – sathish

+3

आजकल लोग अपने नाम बदलने के बिना अपने लिंग बदलते हैं। तो यह कुछ मुश्किल है। : डी –

उत्तर

1

मैंने पहले यह किया है - यह आसान है और सही परिदृश्य पर लागू होने पर 90% समय अच्छी तरह से काम करता है।

आपको कहीं से नामों और सामान्य लिंग का डेटाबेस प्राप्त करने की आवश्यकता है। डेटाबेस खोजने के लिए यह छोटा है।

कुछ नाम (उदाहरण के लिए एंडी) आमतौर पर लिंग के साथ जुड़े होते हैं। तो आपको कम से कम तीन लिंग मूल्यों की आवश्यकता होगी - नर/मादा/अज्ञात।

+0

लेकिन मुझे नहीं लगता कि यह दुनिया के सभी नामों को कवर करना संभव है। तर्कसंगत रूप से कोई दूसरा रास्ता नहीं है। – Ramesh

+2

बेशक नहीं, – cbp

9

आप इसे एल्गोरिदमिक रूप से नहीं कर सकते: आपको इसे सांख्यिकीय रूप से करने के लिए डेटाबेस की आवश्यकता है। This SO question ऐसे कई उपलब्ध संसाधनों को इंगित करता है। क्या आपको पता चलेगा कि आपके पास कई, कई गुमराह होंगे - या तो कोरियाई किम (पुरुष) या उत्तरी यूरोपीय (महिलाएं) इस तरह की चीज़ों पर बहुत अधिक आंखे जा सकते हैं, उदाहरण के लिए ;-)।

+2

+1 - किसी के लिंग से उनके लिंग से अनुमान लगाने का प्रयास करना एक बुरा विचार है क्योंकि यदि आप इसे गलत समझते हैं तो अपराध का कारण बनना उत्तरदायी है। –

+0

शनिवार नाइट लाइव का उपयोग "पैट" नामक व्यक्ति के लिंग का अनुमान लगाने वाले लोगों के बारे में एक चलने वाला स्केच होता था। कई अन्य दिए गए नाम हैं जिन्हें लिंग पर लागू किया जा सकता है, जैसे कि "लेस्ली" या "जैकी"। –

+0

हाँ, और लिंग के साथ सांख्यिकीय रूप से अच्छी तरह से जुड़े नामों के लिए भी, परेशानी के कारण हमेशा पर्याप्त अपवाद होंगे - डोनसबरी की बेटी का नाम "एलेक्स", मेरे पास एक प्रिय (पुरुष) मित्र है (आयरिश) मां जिसका नाम "शैनन" है , "एंड्रिया" ज्यादातर संस्कृतियों (उदाहरण के लिए, जर्मनी) में महिला है, लेकिन इटली में दृढ़ता से पुरुष - आदि, –

2

हार नहीं माने।

मैं एक सांख्यिकीय दृष्टिकोण लेगा ... आपको अपने हाथों को बड़े पैमाने पर नाम डेटाबेस पर प्राप्त करने की आवश्यकता है, जिसमें वास्तव में लिंग जानकारी है ... फिर अपने डेटा को उस डेटासेट से सीखने के लिए सिखाएं।

बात यह है कि आपको सहसंबंध के लिए तीसरे चर की आवश्यकता है। उत्पत्ति, जातीयता आदि जैसे कुछ देश आपके बाधाओं को और भी सीमित करेंगे। आपको वास्तव में उस तीसरे "सुराग" की आवश्यकता है ...

2

तीसरे सुराग के रूप में मानव कंप्यूटर इंटरैक्शन के बारे में क्या।

आप जहां उपयोगकर्ता क्लिक करता है आप पुरुष बनाम महिला का एक उचित आंकड़ा निर्धारित कर सकते हैं के आधार पर http://css-tricks.com/tracking-clicks-building-a-clickmap-with-php-and-jquery/

के रूप में एक क्लिक नक्शा इस तरह हो सकता था। ।

"बड़ा प्रदर्शित करता है आभासी वातावरण नेविगेट करने में लैंगिक अंतर को कम छोटे प्रदर्शित करता है के साथ, पुरुषों की मदद की ': यह जब अज्ञात डेटाबेस

यहाँ" Gender_HCI "पर एक विकिपीडिया में है इस्तेमाल किया जाएगा प्रदर्शन महिलाओं से बेहतर था। बड़े प्रदर्शन के साथ, महिलाओं के प्रदर्शन में सुधार हुआ और पुरुषों का प्रदर्शन नकारात्मक प्रभावित नहीं था।"

तो एक छोटे से बॉक्स और समय समय की राशि इसे क्लिक करने के लिए आवश्यक है। ...?

+0

वास्तव में रचनात्मक और बाहर बॉक्स सोच रहा है! –

6

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

आप इसेपर देख सकते हैं कुछ अपवादों को छोड़कर (चीनी नाम, कोरियाई नाम) के साथ

http://api.genderize.io?name=kim 
{"name":"kim","gender":"female","probability":"0.91","count":687} 

http://api.genderize.io?name=kim&country_id=dk 
{"name":"kim","gender":"male","probability":"1.00","count":17,"country_id":"dk"} 
1

सांख्यिकीय दृष्टिकोण वास्तव में अच्छी तरह से काम करता है, देशों के आधार पर सटीक 95% या 99% है +:

सरल उदाहरण।

बाहर चेक GendRE एपीआई http://namsor.com/api

यह स्वचालित रूप से एक नाम के पीछे संस्कृति को पहचानता है, उचित शब्दकोश लागू करने के लिए (उदा। एंड्रिया रोसिनी पुरुष है, एंड्रिया पार्कर महिला है, आदि)

संबंधित मुद्दे