文本匹配或相似
NLP 的一个重要领域是文本对象的匹配以找到相似之处。文本匹配的重要应用包括自动拼写校正,重复数据删除和基因组分析等。根据需要,可以使用许多文本匹配技术。所以,让我们; Levenshtein 距离
两个字符串之间的 Levenshtein 距离定义为将一个字符串转换为另一个字符串所需的最小编辑数,允许的编辑操作是单个字符的插入,删除或替换。
以下是有效内存计算的实现。
def levenshtein(s1,s2):
if len(s1) > len(s2):
s1,s2 = s2,s1
distances = range(len(s1) + 1)
for index2,char2 in enumerate(s2):
newDistances = [index2+1]
for index1,char1 in enumerate(s1):
if char1 == char2:
newDistances.append(distances[index1])
else:
newDistances.append(1 + min((distances[index1], distances[index1+1], newDistances[-1])))
distances = newDistances
return distances[-1]
print(levenshtein("analyze","analyse"))