7

मेरे पास हवाई अड्डे के नामों की एक सूची है और मेरे उपयोगकर्ताओं को भविष्य में प्रसंस्करण के लिए इसे चुनने के लिए एक हवाई अड्डे का नाम दर्ज करने की संभावना है।गलत वर्तनी वाले शब्दों का पता लगाना

आप गलत वर्तनी वाले नामों को कैसे संभालेंगे और सुझावों की एक सूची पेश करेंगे?

+0

http://en.wikipedia.org/wiki/Fuzzy_string_searching –

उत्तर

7

किसी दिए गए उपयोगकर्ता इनपुट के विरुद्ध सही नाम से मिलान करने के लिए Levenshtein distances देखें।

+3

लेवेनशेटिन दूरी गणना करने के लिए बहुत महंगा है, ओ (एन^2), एक शब्दकोश में प्रत्येक शब्द के लिए लेवेनशेटिन दूरी की गणना एक गैर-स्टार्टर है। – Wedge

+3

इस मामले में शब्दकोश केवल हवाई अड्डे की सूची है। दुनिया भर में केवल कुछ सौ उल्लेखनीय हवाई अड्डे हैं। – SingleNegationElimination

+0

@Wedge शब्दकोश को हशिंग करने से समय जटिलता कम नहीं होगी, लेकिन इससे काफी मदद मिल सकती है। – Ryan

0

उपयोगकर्ता को हवाई अड्डे के नामों की सूची से चयन करने के बजाय उपयोगकर्ता को स्वयं को टाइप करने की बजाय बेहतर होना बेहतर हो सकता है। इस तरह से कोई गलती नहीं की जा सकती है।

0

हालांकि यह तुरंत मदद नहीं करेगा, आप टाइपो का ट्रैक रख सकते हैं, और देख सकते हैं कि सही नाम दर्ज होने पर वे किस नाम में प्रवेश करते हैं। इस तरह आप सबसे आम टाइपो ट्रैक कर सकते हैं, और सर्वोत्तम विकल्प प्रदान कर सकते हैं।

1

अपने कोड में वर्तनी जांच को नियोजित करें। शब्दों की सूची में हवाई अड्डे के केवल सही वर्तनी होनी चाहिए।

यह ऐसा करने का एक शानदार तरीका नहीं है। आपको या तो ऐसे नियंत्रण के लिए जाना चाहिए जो ऑटो पूर्ण विकल्प या किसी अन्य व्यक्ति के सुझाव के रूप में ड्रॉप डाउन प्रदान करता हो।

यदि आपकी तकनीक का समर्थन करता है तो AJAX का उपयोग करें।

0

केविन के सुझाव में जोड़ना, यदि आप जावास्क्रिप्ट स्वत: पूर्ण के साथ इनपुट बॉक्स का उपयोग करते हैं तो यह दोनों दुनिया का सर्वश्रेष्ठ हो सकता है। जैसे jquery autocomplete

संपादित करें: डेनिश मुझे हरा :(

+0

डाउनवोट के लिए एक कारण है? – Jayrox

+0

मैंने डाउनवोट को हटाने की कोशिश की लेकिन सिस्टम इसे रोकता है। मुख्य कारण यह था: भगवान के लिए हर कोई jquery/जावास्क्रिप्ट/एचटीएमएल में लिख रहा है। भाषा अज्ञेयवादी लोग, भाषा अज्ञेयवादी .. –

+0

कुछ लोग एक साधारण कार्य के लिए एक सरल समाधान चाहते हैं। मैंने एक साधारण कार्य के लिए एक सरल समाधान प्रदान किया। प्रत्येक समस्या में इसे हल करने के लिए कई मार्ग उपलब्ध हैं। – Jayrox

0

वहाँ आप उपयोग कर सकते हैं एक मौजूदा वर्तनी परीक्षण पुस्तकालय हो सकता है कोड अच्छी तरह से बात की इस तरह करने के लिए गैर तुच्छ है आप करना चाहते हैं।। इस खुद लिखते हैं, आप dictionary trie's को देखने के लिए चाहते हो सकता है।

एक विधि है कि काम कर सकते हैं सिर्फ संभावित त्रुटि शब्दों और उनके सुधार (यहाँ एक implementation in Python है), जो आप अधिक से अधिक प्रदर्शन के लिए कैश कर सकता है की एक बड़ी सूची उत्पन्न करने के लिए है।

4

http://norvig.com/spell-correct.html
लेवेनशेटिन की तरह कुछ करता है, लेकिन क्योंकि वह सभी तरह से नहीं जाता है, क्योंकि यह अधिक कुशल

1

मुझे पता नहीं है कि आपने क्या पूछा है, लेकिन यदि यह एक ऐसा एप्लिकेशन है जहां सही हवाई अड्डा प्राप्त करना महत्वपूर्ण है (उदा। बुकिंग टिकट) तो आप यह सुनिश्चित करने के लिए एक पुष्टिकरण चरण चाहते हैं कि आपके पास सही है। उदाहरण के लिए, wrong Sydney के लिए टिकट प्राप्त करने वाले लोगों के मामले सामने आए हैं।

संबंधित मुद्दे