के लिए वर्तनी परीक्षक मैं पाइथन और एनएलटीके के साथ बिल्कुल नया हूं। मैं ऐसे एप्लिकेशन से व्यस्त हूं जो वर्तनी जांच कर सकता है (सही वर्तनी वाले शब्द के साथ गलत वर्तनी वाले शब्द को प्रतिस्थापित करता है), मैं वर्तमान में पाइथन-2.7, पायइन्चेंट और एनएलटीके लाइब्रेरी पर एनचेंट लाइब्रेरी का उपयोग कर रहा हूं। नीचे दिया गया कोड वह वर्ग है जो सुधार/प्रतिस्थापन को संभालता है।पायथन
from nltk.metrics import edit_distance
class SpellingReplacer(object):
def __init__(self, dict_name = 'en_GB', max_dist = 2):
self.spell_dict = enchant.Dict(dict_name)
self.max_dist = 2
def replace(self, word):
if self.spell_dict.check(word):
return word
suggestions = self.spell_dict.suggest(word)
if suggestions and edit_distance(word, suggestions[0]) <= self.max_dist:
return suggestions[0]
else:
return word
मैं एक समारोह है कि शब्दों की एक सूची में ले जाता है और करता है डीईएफ़ प्रत्येक शब्द पर बदल सकते हैं और शब्दों की एक सूची है, लेकिन वर्तनी सही लौट लिखा है।
def spell_check(word_list):
checked_list = []
for item in word_list:
replacer = SpellingReplacer()
r = replacer.replace(item)
checked_list.append(r)
return checked_list
>>> word_list = ['car', 'colour']
>>> spell_check(words)
['car', 'color']
अब मैं इस तरह वास्तव में नहीं है क्योंकि यह बहुत सही नहीं है और मैं एक तरह से वर्तनी की जांच और शब्द पर प्रतिस्थापन प्राप्त करने के लिए की तलाश में हूँ। मुझे कुछ ऐसी चीज चाहिए जो "कैसर" जैसी वर्तनी की गलतियों को उठा सके? वहाँ वर्तनी जांच करने के लिए बेहतर तरीके हैं? यदि ऐसा है, तो वो क्या हैं? उदाहरण के लिए Google इसे कैसे करता है क्योंकि उनका वर्तनी सुझावक बहुत अच्छा है? कोई भी सुझाव