मैं सी ++ में एक वर्तनी परीक्षक पर काम कर रहा हूं और मैं कार्यान्वयन में एक निश्चित चरण पर फंस गया हूं।एक वर्तनी परीक्षक में लेवेनशेटिन दूरी का उपयोग
मान लें कि हमारे पास सही वर्तनी वाले शब्दों और एक इनपुट स्ट्रिंग के साथ एक टेक्स्ट फ़ाइल है जिसे हम वर्तनी की गलतियों की जांच करना चाहते हैं। यदि वह स्ट्रिंग एक गलत वर्तनी वाला शब्द है, तो मैं पाठ फ़ाइल में सभी शब्दों को चेक करके और न्यूनतम अक्षरों से अलग होने वाले व्यक्ति को चुनकर आसानी से अपना सही रूप ढूंढ सकता हूं। उस प्रकार के इनपुट के लिए, मैंने एक फ़ंक्शन लागू किया है जो 2 स्ट्रिंग्स के बीच लेवेनशेटिन संपादन दूरी की गणना करता है। अब तक सब ठीक है।
अब, कठिन हिस्सा: क्या होगा यदि इनपुट स्ट्रिंग गलत वर्तनी वाले शब्दों का संयोजन है? उदाहरण के लिए, "iloevcokies"। इस बात को ध्यान में रखते हुए कि "मैं", "प्यार" और "कुकीज़" शब्द हैं जो टेक्स्ट फ़ाइल में पाए जा सकते हैं, मैं यह निर्धारित करने के लिए पहले से लागू किए गए लेवेनशेटिन फ़ंक्शन का उपयोग कैसे कर सकता हूं कि फ़ाइल के कौन से शब्द सुधार के लिए उपयुक्त हैं? साथ ही, मैं सही स्थिति में रिक्त स्थान कैसे सम्मिलित करूं?
किसी भी विचार का स्वागत है :) वाक्यांशों के लिए
दुर्भाग्यवश यह संभव नहीं है कि आप पूरी तरह से असंबंधित शब्द पर भी ठोकर खा सकते हैं (यानी यहां संपादित दूरी 6 की तरह कुछ होगी, यह बहुत बड़ी है)। –
निश्चित रूप से, लेकिन बहुत कम शब्द संपादन दूरी में बंद हो जाएंगे, इसलिए कुकीज़ अभी भी शीर्ष हिट के रूप में दिखाई दे सकती है। हालांकि अभी तक एक पूर्ण समाधान से! – usul