मैं वर्तमान में एक परियोजना पर काम कर रहा हूं जिसके लिए मुझे कई बाहरी सेवाओं के साथ बैंड और स्थानों के हमारे डेटाबेस से मिलान करने की आवश्यकता है।मैं कैसे निर्धारित करूं कि दो समान बैंड नाम एक ही बैंड का प्रतिनिधित्व करते हैं या नहीं?
असल में मैं यह निर्धारित करने के लिए सबसे अच्छी विधि पर कुछ दिशा ढूंढ रहा हूं कि दो नाम समान हैं या नहीं। उदाहरण के लिए:
- हमारे डेटाबेस स्थान का नाम - "सुअर और सीटी"
- सेवा 1 - "सुअर और सीटी"
- सेवा 2 - "सुअर & सीटी"
- आदि आदि
मुझे लगता है कि मुख्य मतभेद "" या "0" के बजाय "&" का उपयोग कर रहे हैं, लेकिन अलग-अलग शब्दों में थोड़ा अलग वर्तनी और शब्दों की तरह चीजें भी हो सकती हैं रु।
इस स्थिति में आमतौर पर कौन से एल्गोरिदम/तकनीकों का उपयोग किया जाता है, क्या मुझे शोर शब्दों को फ़िल्टर करने या किसी प्रकार का वर्तनी जांच प्रकार मिलान करने की आवश्यकता है?
क्या आपने सी # में कुछ सिमलर के कुछ उदाहरण देखे हैं?
अद्यतन: मामले में किसी को भी एसी # उदाहरण में रुचि एक ढेर आप एक google code search for Levenshtein distance
बहुत बढ़िया, क्या आपको लगता है कि यह अभी भी प्रभावी होगा अगर मैंने "द", "और" और "&" जैसे शब्दों को हटा दिया? –
शून्य की दूरी असाइन करना स्ट्रिंग से उन्हें हटाने के बराबर है, हां। अतिरिक्त स्थानों को प्रभावित करने से रोकने के लिए आप सफेद जगह/विराम चिह्न भी पट्टी कर सकते हैं। लेकिन बस सावधान रहें कि बैंड नाम के लिए वे महत्वपूर्ण नहीं हैं। उदाहरण के लिए, "!!!" एक बैंड का नाम है (http: //en.wikipedia.org/wiki/ !!!)। –
आप टेक्स्ट स्ट्रिंग्स से स्टॉप शब्द को हटाने पर विचार करना चाहेंगे - (जैसे "द" "ए" "और" इत्यादि) अंग्रेजी भाषा स्टॉप शब्दों के डेटाबेस आने के लिए बहुत आसान हैं। –