मैं एक फोटोग्राफर को अपनी छवि मेटा डेटा को साफ़ करने में सहायता करने के लिए डेस्कटॉप UI (.Net WinForms) लिख रहा हूं। 66k + वाक्यांशों की एक सूची है। क्या कोई भी एक अच्छा ओपन सोर्स/फ्री .NET घटक सुझा सकता है जिसका उपयोग मैं समेकन के लिए संभावित कैंडीएट की पहचान करने के लिए कुछ प्रकार के एल्गोरिदम को नियोजित कर सकता हूं? उदाहरण के लिए दो या दो से अधिक प्रविष्टियां हो सकती हैं जो वास्तव में वही शब्द या वाक्यांश होती हैं जो केवल व्हाइटस्पेस या विराम चिह्न या यहां तक कि मामूली गलत वर्तनी से अलग होती है। अंततः उपयोगकर्ता वाक्यांशों के एकीकरण की कार्रवाई करने के लिए उपयोगकर्ता पर भरोसा करेगा लेकिन संभावित उम्मीदवारों को स्वचालित रूप से खोजने का एक प्रभावी तरीका अमूल्य साबित होगा।फ़ज़ी टेक्स्ट मिलानिंग सी #
उत्तर
मुझे आपको लेवेनशेटिन दूरी सूत्र से परिचय करने दें। यह भयानक है:
http://en.wikipedia.org/wiki/Levenshtein_distance
सूचना सिद्धांत और कंप्यूटर विज्ञान में, Levenshtein दूरी एक स्ट्रिंग दो दृश्यों के बीच अंतर की राशि को मापने के लिए मीट्रिक है। शब्द संपादित दूरी को अक्सर विशेष रूप से लेवेनशेटिन दूरी के संदर्भ में उपयोग किया जाता है।
व्यक्तिगत रूप से मैंने इसे हेल्थकेयर सेटिंग में उपयोग किया, जहां प्रदाता नाम डुप्लिकेट के लिए चेक किए गए थे। लेवेनशेटिन प्रक्रिया का उपयोग करके, हमने उन्हें आत्मविश्वास रेटिंग दी और उन्हें यह निर्धारित करने की अनुमति दी कि क्या यह एक वास्तविक डुप्लिकेट या अद्वितीय है।
यहाँ सी # में एक कार्यान्वयन है: http://blogs.msdn.com /b/toub/archive/2006/05/05/590814.aspx –
मैं ध्वनि का उपयोग करने का सुझाव देने जा रहा था ([http://www.techrepublic.com/blog/programming-and-development/how-do-i- लागू-soundex-समारोह-इन-सी/656] (http://www.techrepublic.com/blog/programming-and-development/how-do-i-implement-the-soundex-function-in-c/656))। साउंडएक्स लगाने के बाद आप अपने तारों को सॉफ़्टेक्स कोड द्वारा सॉर्ट कर सकते हैं और उपयोगकर्ता द्वारा समीक्षा के लिए समकक्ष कोड ध्वजांकित कर सकते हैं। मुझे लगता है कि अंत परिणाम levenshtein दूरी का उपयोग करने के समान हो सकता है? – hmqcnoesy
ध्वनि के साथ एक बात यह है कि तारों की जांच करते समय यह बेकार है जिसमें केवल अंक होते हैं। – jamiebarrow
फजी पाठ मिलान के बारे में अधिक जानकारी के लिए यहां देखें: http://stackoverflow.com/questions/5859561/getting-the-closest-string-match – jordanhill123