我正在努力通过使用Levensthein距离来纠正土耳其语单词。首先,我检测到错误的书面单词,并将其与包含所有土耳其语单词的列表进行比较。该列表包含约1.300.000字。我使用Levensthein距离将单词与列表中的单词进行比较。这是我的代码部分。
index_to_track_document_order = 1
log_text = ''
main_directory = "C:\\words.txt"
f= codecs.open(main_directory,mode="rb",encoding="utf-8")
f=f.readlines()
similarity = 0
text_to_find = 'aktarıları'
best_fit_word = ''
for line in f:
word = word_tokenize( line, language= 'turkish')[0]
root = word_tokenize( line, language= 'turkish')[1]
new_similarity = textdistance.levenshtein.normalized_similarity(text_to_find , word) * 100
if new_similarity > similarity:
similarity = new_similarity
best_fit_word = word
if(similarity > 90):
print(best_fit_word, str(similarity))
正如我所提到的,word.txt包含超过一百万条记录,因此我的代码需要5分钟以上才能完成。我如何优化代码,使其可以在更短的时间内完成。谢谢。
潇潇雨雨
梵蒂冈之花
相关分类