दिए गए नामों को याद करने के लिए कैसे मुश्किल है?


16

यहाँ एक प्रश्न है कि मेरा मानना ​​है कि कुछ डेटा माइनिंग और एक परिष्कृत एल्गोरिदम के साथ हल किया जा सकता है, लेकिन मुझे यह नहीं पता कि कैसे। कोई भी संकेत क्या डेटा स्रोतों का उपयोग करने के लिए और क्या एल्गोरिथ्म लागू करने के लिए स्वागत है।

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

समस्या कथन: देशों के एक सेट को देखते हुए, जैसे, फ्रांस, जर्मनी, स्वीडन, पोलैंड और रोमानिया, दिए गए नामों की सूची प्राप्त करते हैं, जो ठीक से उच्चारण किए जाने पर स्थानीय लोगों द्वारा गलत वर्तनी की संभावना नहीं है।

अधिक औपचारिक रूप से: Let पी (ग, एन) एक समारोह है कि रिटर्न नाम की संभावना हो n देश में गलत वर्तनी की जा रही सी । यह देखते हुए सी कुछ देशों का समूह और p₀ एक संभावना है, लगता है एन दिए गए नाम का एक सेट, जैसे कि

सभी के लिए n ∈ एन और सी ∈ सी , पी (ग, एन) <p₀

प्रारंभिक विचार : मूल समस्या यह है कि पी (सी, एन) को कैसे लागू किया जाए । कोई इसे एक अनुमान के साथ अनुमानित करने की कोशिश कर सकता है। स्पष्ट रूप से एक नाम दो मामलों में गलत होने की संभावना है:

  1. इसका उपयोग उस देश में बहुत कम किया जाता है।
  2. यह एक अलग नाम के समान है, इसका उस देश में बहुत कम उपयोग नहीं किया जाता है।

मुझे यकीन नहीं है कि मैं इन दो सवालों के कुशलता से जवाब देने के लिए इंटरनेट, जैसे, विकिपीडिया का उपयोग कैसे कर सकता हूं। किसी देश में केवल एक बार उपयोग किए जाने वाले नामों की सूची कैसे होगी? किसी के समान वर्तनी वाले को कैसे देखेंगे?


1
मुझे यकीन नहीं है कि लोकप्रियता को गलत वर्तनी की संभावना को प्रभावित करेगा, जब अन्य नामों से कम संपादित दूरी के साथ तुलना की जाती है। जैसे हन्ना हन्ना और अन्ना के समान / समान लगती है , और लुकास लुका और लुकास के समान है । एक बार जब आप अपने हाथों को प्रत्येक देश के नामों की सूची में ले सकते हैं, तो आप कम संपादित दूरी के आधार पर शुरू कर सकते हैं।
— आमोन

मुझे लगता है कि इसका लोकप्रियता से भी लेना-देना है। कोई भी अन्ना को रोमानियाई में नहीं सुनाएगा, क्योंकि डबल एन उस भाषा में अजीब है। इसी तरह, एक फ्रांसीसी व्यक्ति संभवतः ईसाई को लिखता है, भले ही आप इसे बिना एच उच्चारण करें । (
— पुं

5
एक GUID का उपयोग करने के लिए व्यावहारिक दृष्टिकोण होगा।
— toniedzwiedz

1
महान XKCD संदर्भ। लेकिन लिटिल बॉबी तालिकाओं को मत भूलना ;-) xkcd.com/327
— Mawg का कहना है कि मोनिका

मैं उन भाषाओं में स्वर ध्वनियों की तुलना करने पर विचार करूंगा। मेरी जर्मन धाराप्रवाह है, लेकिन मैं अभी भी
— is

जवाबों:


15

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

  1. पहला अक्षर अलग-थलग है। ( Mऔर ichael)
  2. सभी स्वर शेष ( Mऔर chl) से हटा दिए जाते हैं
  3. व्यंजन प्रतिस्थापित किए जाते हैं
    • c -> २
    • l -> ४
  4. बायाँ पैड ज़ीरो।

- व्यंजन रूपांतरण का समूह उनके ध्वन्यात्मक समानता पर आधारित होते हैं B, F, Pऔर Vसभी के लिए नक्शे 1।

और समय के साथ इस पर विविधताएं हैं । यह वंशावली में विशेष रूप से उपयोगी है जहां एक नाम की वर्तनी समय के साथ बदल सकती है, लेकिन उच्चारण समान रहता है।


मैच रेटिंग जैसे दृष्टिकोण भी हैं जो एयरलाइंस द्वारा नामों के बजाय (अमेरिकी वंशावली के बजाय) विकसित किए गए थे।

मैच रेटिंग दृष्टिकोण (MRA) की एन्कोडिंग है:

  1. सभी गैर-प्रमुख स्वरों को हटाएं ( Michaelबन जाता है Mchlऔर Anthonyबन जाता है Anthny)
  2. किसी भी डबल्स के दूसरे स्थिरांक को हटा दें
  3. यदि स्ट्रिंग 6 वर्णों से अधिक लंबी है, तो पहले तीन और अंतिम तीनों को लेते हुए शेष स्ट्रिंग को 6 वर्णों तक कम करें।

इसके लिए पूरा विनिर्देश आर्काइव.ऑर्ग पर पाया जा सकता है - ध्यान दें कि यह "छोटा नहीं है" (मुद्रित रूप 214 पृष्ठ है)।

तुलना कब तक पाठ है के आधार पर एक मिलान सीमा है।

कर रहे हैं अन्य ध्वन्यात्मक एल्गोरिदम भी ।


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

याद रखें कि soundex साथ, व्यंजन रहे हैं वर्गीकृत किया (में पॉलिश, m, n, ɲसब नाक व्यंजन समूह-बद्ध हो रहे हैं, और आप की संभावना समूह, ओष्ठ दंत चिकित्सा, और वायुकोशीय प्लोसिव्स होगा - वे मौन है या एक साथ आवाज उठाई - प्रदान की, मुझे नहीं पता पोलिश पता है तो पता नहीं अगर मैं सिर्फ बातें कह रहा हूँ जो वहाँ सच नहीं हैं)।

फिर बस डेटाबेस में दो अलग-अलग साउंडटेक्स सिस्टम के सभी नामों को कवर करें और पता करें कि अलग-अलग भाषाओं में टकरावों के सबसे कम सेट कौन से नाम हैं। यह आपको अलग नाम देता है। तो Smithयह नहीं दिखा Smyth।


यह, हालांकि, केवल "नाम अन्य नामों के साथ टकराने और मिशर्ड होने की संभावना को हल करता है।" यह "सही ढंग से सुना गया नाम, गलत तरीके से लिखा गया" के दूसरे तरीके को संबोधित नहीं करता है और इसके लिए, किसी को अपना ध्यान सामान्य नामों पर केंद्रित करना चाहिए।

उदाहरण के लिए, Michael1950 की शुरुआत से 1970 के अंत तक अमेरिका में एक बहुत ही सामान्य नाम था। यह वास्तव में लोकप्रिय था । हालांकि, किसी कारण के लिए, यह नाम Micheal1950 के दशक में लोकप्रिय था (अपने चरम पर 83 वें सबसे आम नाम तक)। और मुझे यकीन है कि Michealलगातार नाम रखने वाले लोगों को उनका नाम गलत मिला।

इस प्रकार, आपको उन नामों पर ध्यान केंद्रित करना चाहिए जहां एक नाम है जो किसी दिए गए उच्चारण के लिए नाम की लोकप्रियता पर हावी है। साल से नाम के लिए एक और डेटा उपभोक्ता पर एक नज़र में, आप देख सकते हैं कि नाम जाम के साथ शुरुआत ... एक लड़के के लिए एक मेस हैं के साथ Jamaal, Jamal, Jamarऔर अन्य। संयोग से, इन नामों के लिए थोड़ा अलग soundexes है अमेरिकी ( J540, J540और J560- lऔर rभले ही वे बारीकी से स्वर में संबंधित हैं अलग-अलग समूहों में हैं)। हालाँकि, जापान से किसी के लिए, ध्वन्यात्मक क्षेत्र में केवल एक ही ध्वनि है जहाँ lऔरrअमेरिकी अंग्रेजी में उच्चारण किया जाता है। यह साउंडेक्स का उपयोग करने वाले प्रमुख व्यंजन के साथ एक चुनौती भी पैदा कर सकता है, जिसके बारे में पता होना चाहिए (मैंने एक बार एक जापानी महिला के साथ काम किया था, जो लिसा के बजाय अपने जापानी नाम के रोमनकरण के रूप में खुद को रीसा ('आर' के साथ) कहती है।

आप ध्यान देंगे कि मेरे उदाहरण संयुक्त राज्य अमेरिका के लिए हैं। वह डेटा आसानी से सुलभ है। जाहिरा तौर पर पोलैंड और हंगेरियन के लिए कुछ चीजें हैं , और हंगेरियन नाम समानता पर केवल संकेत हैं ... मुझे संदेह है कि अंग्रेजी के अलावा किसी अन्य भाषा में खोज वहां सहायक हो सकती है।

तो, एक नाम के लिए साउंडटेक्स, कुछ टकरावों को देखते हुए और वास्तविक वर्तनी टकरावों के सेट में है। अधिमानतः, यह एक सामान्य नाम है। उस आयु सूची को देखते हुए, जाने की Krisztiánसंभावना Zoltánकम हो जाएगी, जबकि (# २०११ में हंगरी में २२ सबसे आम बच्चे का नाम!)। उस ने कहा, तुम गलत नहीं हो सकते Michael।


2
बहुत बढ़िया जवाब! मैं इसे लागू करने की कोशिश करूंगा और एक बार जब मैं करूंगा तो मैं कोड साझा करूंगा और आपका जवाब स्वीकार करूंगा।
— user1202136

2
इस विचार को लागू करने का प्रयास। काफी नहीं "उपयोगकर्ता परीक्षण" गुजर रहा है। :) github.com/cristiklein/idemscriptent-given-names
— user1202136

बहुत बढ़िया जवाब माइकल! @ user1202136 स्क्रिप्ट पर शानदार काम! मुझे परिणाम देखने में दिलचस्पी है :)
— क्रिस साइरफाइस

1
@ क्रिसहाइरफाइस: जबकि माइकल का जवाब बस भयानक है, मैंने पाया कि यह उन नामों का उत्पादन नहीं करता है जो "उपयोगकर्ता परीक्षण" पास करेंगे। मैं एक बहुत सरल एल्गोरिथ्म के लिए गया था, जो शीर्ष 100 नाम सूचियों में पहचान किए गए नामों को खोजने की कोशिश करता है। कृपया यहां परिणाम देखें: github.com/cristiklein/idemscriptent-given-names
— user1202136

1

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.