我想把提取的促销代码列表与正确的促销代码列表进行比较。在
如果提取的促销代码列表中的促销代码与正确的促销代码列表中的促销代码进行比较,则表示促销代码有错误。为了从正确的促销代码列表中找到正确的促销代码,我需要找到编辑距离(levenshtein distance)最小的促销代码(从提取的促销代码列表中)。在
代码截止现在:-
import csv
with open("all_correct_promo.csv","rb") as file1:
reader1 = csv.reader(file1)
correctPromoList = list(reader1)
#print correctPromoList
with open("all_extracted_promo.csv","rb") as file2:
reader2 = csv.reader(file2)
extractedPromoList = list(reader2)
#print extractedPromoList
incorrectPromo = []
count = 0
for extracted in extractedPromoList:
if(extracted not in correctPromoList):
incorrectPromo.append(extracted)
else:
count = count + 1
#print incorrectPromo
for promos in incorrectPromo:
print promos
根据nltk docs
计算两个字符串之间的Levenshtein编辑距离。编辑距离是将s1转换为s2需要替换、插入或删除的字符数。例如,将“rain”转换为“shine”需要三个步骤,包括两个替换和一个插入:“rain”->;“sain”->;“shin”->;“shin”。这些操作本可以按其他顺序进行,但至少需要三个步骤。在
说到您的代码,我认为下半部分的一些更改将捕获编辑距离-
^{pr2}$输出
相关问题 更多 >
编程相关推荐