लेवेनस्टीन का एल्गोरिथ्म तार में सम्मिलन, विलोपन और प्रतिस्थापन की संख्या पर आधारित है।
दुर्भाग्य से यह एक सामान्य गलत वर्तनी को ध्यान में नहीं रखता है जो कि 2 वर्णों (जैसे कि दिमागी बनाम someaews) का पारगमन है। इसलिए मैं अधिक मजबूत दमरेउ-लेवेनस्टीन एल्गोरिथम पसंद करूंगा ।
मुझे नहीं लगता कि पूरे स्ट्रिंग्स पर दूरी को लागू करना एक अच्छा विचार है क्योंकि स्ट्रिंग्स की लंबाई के साथ समय अचानक बढ़ता है। लेकिन इससे भी बदतर, जब पता घटक, जैसे ज़िप हटा दिए जाते हैं, तो पूरी तरह से अलग पते बेहतर मेल खा सकते हैं ( ऑनलाइन Levenshtein कैलकुलेटर का उपयोग करके मापा जाता है ):
1 someawesome street, anytown, F100 211 (reference)
1 someawesome st.,anytown (difference of 15, same address)
1 otherplaces street,anytown,F100211 (difference of 13, different ddress)
1 sameawesome street, othertown, CA98200 (difference of 13, different ddress)
anytown, 1 someawesome street (28 different same address)
anytown, F100 211, 1 someawesome street (37 different same address)
ये प्रभाव छोटी सड़क के नाम के लिए खराब हो जाते हैं।
तो आप बेहतर एल्गोरिदम का बेहतर उपयोग करेंगे। उदाहरण के लिए, आर्थर रेटज़ ने कोडप्रोजेक्ट पर स्मार्ट पाठ तुलना के लिए एक एल्गोरिथ्म प्रकाशित किया । एल्गोरिथ्म एक दूरी को प्रिंट नहीं करता है (यह निश्चित रूप से तदनुसार समृद्ध हो सकता है), लेकिन यह कुछ कठिन चीजों की पहचान करता है जैसे कि पाठ ब्लॉकों का बढ़ना (जैसे मेरे पहले उदाहरण और मेरे अंतिम उदाहरण के बीच शहर और सड़क के बीच स्वैप)।
यदि ऐसा एल्गोरिथ्म आपके मामले के लिए बहुत सामान्य है, तो आपको वास्तव में घटकों द्वारा काम करना चाहिए और केवल तुलनीय घटकों की तुलना करना चाहिए। यह एक आसान बात नहीं है अगर आप दुनिया के किसी भी एड्रेस फॉर्मेट को पार्स करना चाहते हैं। लेकिन अगर लक्ष्य अधिक विशिष्ट है, तो यूएस कहें, यह निश्चित रूप से संभव है। उदाहरण के लिए, "स्ट्रीट", "सेंट।", "प्लेस", "प्लाज़ा", और उनकी सामान्य गलतियाँ पते के सड़क के हिस्से को प्रकट कर सकती हैं, जिनमें से प्रमुख हिस्सा सिद्धांत रूप में नंबर होगा। ज़िप कोड शहर का पता लगाने में मदद करेगा, या वैकल्पिक रूप से यह संभवतः पते का अंतिम तत्व है, या यदि आपको अनुमान लगाना पसंद नहीं है, तो आप शहर के नामों की सूची देख सकते हैं (जैसे एक मुफ्त ज़िप कोड डेटाबेस डाउनलोड करना)। तब आप केवल संबंधित घटकों पर दमरेउ-लेवेंशेटिन को लागू कर सकते थे।