2011-11-21 27 views
12

मैं एक फोटोग्राफर को अपनी छवि मेटा डेटा को साफ़ करने में सहायता करने के लिए डेस्कटॉप UI (.Net WinForms) लिख रहा हूं। 66k + वाक्यांशों की एक सूची है। क्या कोई भी एक अच्छा ओपन सोर्स/फ्री .NET घटक सुझा सकता है जिसका उपयोग मैं समेकन के लिए संभावित कैंडीएट की पहचान करने के लिए कुछ प्रकार के एल्गोरिदम को नियोजित कर सकता हूं? उदाहरण के लिए दो या दो से अधिक प्रविष्टियां हो सकती हैं जो वास्तव में वही शब्द या वाक्यांश होती हैं जो केवल व्हाइटस्पेस या विराम चिह्न या यहां तक ​​कि मामूली गलत वर्तनी से अलग होती है। अंततः उपयोगकर्ता वाक्यांशों के एकीकरण की कार्रवाई करने के लिए उपयोगकर्ता पर भरोसा करेगा लेकिन संभावित उम्मीदवारों को स्वचालित रूप से खोजने का एक प्रभावी तरीका अमूल्य साबित होगा।फ़ज़ी टेक्स्ट मिलानिंग सी #

+0

फजी पाठ मिलान के बारे में अधिक जानकारी के लिए यहां देखें: http://stackoverflow.com/questions/5859561/getting-the-closest-string-match – jordanhill123

उत्तर

16

मुझे आपको लेवेनशेटिन दूरी सूत्र से परिचय करने दें। यह भयानक है:

http://en.wikipedia.org/wiki/Levenshtein_distance

सूचना सिद्धांत और कंप्यूटर विज्ञान में, Levenshtein दूरी एक स्ट्रिंग दो दृश्यों के बीच अंतर की राशि को मापने के लिए मीट्रिक है। शब्द संपादित दूरी को अक्सर विशेष रूप से लेवेनशेटिन दूरी के संदर्भ में उपयोग किया जाता है।

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

+1

यहाँ सी # में एक कार्यान्वयन है: http://blogs.msdn.com /b/toub/archive/2006/05/05/590814.aspx –

+0

मैं ध्वनि का उपयोग करने का सुझाव देने जा रहा था ([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

+0

ध्वनि के साथ एक बात यह है कि तारों की जांच करते समय यह बेकार है जिसमें केवल अंक होते हैं। – jamiebarrow