當前位置:編程學習大全網 - 源碼下載 - python裏有沒有計算兩個levenshtein的函數?

python裏有沒有計算兩個levenshtein的函數?

在linux環境下,不會先安裝python_Levenshtein,用法如下:

本文重點介紹了這個包中計算字符串相似度的幾個函數的實現。

1.Levenshtein.hamming(str1,str2)

計算漢明距離。要求str1和str2的長度必須相同。是描述兩個等長字符串之間對應位置不同字符的個數。諸如

2.levenshtein . distance(str 1,str2)

計算編輯距離(也稱為Levenshtein距離)。它描述了從壹個字符串到另壹個字符串的最少次數的操作,其中的操作包括插入、刪除和替換。諸如

算法實現參考動態規劃排列:blogs . com/kaitou rensheng/archive/2013/05/15/3080990 . html

3.Levenshtein.ratio(str1,str2)

計算Levenshtein比率。計算公式r = (sum-ldist)/sum,其中sum是指str1和str2字符串的長度之和,ldist是類編輯距離。

註意:這裏的類的編輯距離不是2中提到的編輯距離,2中的三個運算每個都是+1。在這裏,刪除和插入仍然是+1,但是替換了+2。

這樣設計的目的:ratio('a ',' c '),sum=2,計算為(2-1)/2 = 0.5,' a '和' c '不重疊,顯然是不經濟的,但是通過替換運算+2可以解決問題。

4.Levenshtein.jaro(s1,s2)

計算jaro距離,

其中m是s1,s2的匹配長度,當某個位置被認為匹配時,該位置的字符相同,或者如果不超過。

t是交換次數的壹半。

5.levenshtein . jaro _ Winkler(s 1,s2)

計算Jaro-Winkler距離

  • 上一篇:端遊腳本哪個平臺比較好?
  • 下一篇:Linux發行的版本
  • copyright 2024編程學習大全網