Python中編輯距離算法是常用的字符串匹配算法之一。編輯距離,又稱Levenshtein距離,是指兩個字符串之間,由一個轉成另一個所需的最少編輯操作次數。
Python編輯距離包主要有兩個,分別是difflib和editdistance。
# 使用difflib包計算兩個字符串的編輯距離 import difflib str1 = 'kitten' str2 = 'sitting' result = difflib.ndiff(str1, str2) print(''.join(result)) output: - k i-t t e n + s i+t t i n g # 使用editdistance包計算兩個字符串的編輯距離 import editdistance str1 = 'kitten' str2 = 'sitting' result = editdistance.eval(str1, str2) print(result) output: 3
編輯距離算法可以應用于文本與音頻匹配等領域,以及深度學習中的序列到序列模型(seq2seq)中。
編輯距離算法是文本相似度算法的一種,還有余弦相似度、Jaccard相似度、simhash等。