文字匹配或相似
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"))