1. 程式人生 > >計算兩字符的相似度

計算兩字符的相似度

匹配 修改 字符數 編輯 str1 sum 計算 python 刪除

兩字符的相似度:即字符A到B的最小編輯次數。(AKA)

(1)python-Levenshtein

漢明距離,要求:兩字符長度一致。即len(str1)==len(str2)

hamming(str1, str2)

(2)編輯距離(插入,修改,刪除)

distance(str1, str2)

(3)萊文斯坦比

ratio(str1, str2)

原理:r = (sum - ldist) / sum,其中sum = str1 + str2,ldist為類編輯距離(插入/刪除,+1;修改,+2)

用途:拼寫糾錯、文本去重、上下文相似度

(4)其他距離

Jaccard distance、J-W距離、余弦相似度、歐式距離等

J-W距離:dj = 1/3( m/|s1| + m/|s2| + (m-t)/m ) m是匹配的字符數,t是換位的數目。

計算兩字符的相似度