我正在尋找一個字符串比較度量ala Levenshtein,它也可以在字符串中的字符被加密時起作用。有誰知道這樣的指標?如果有一個可以計算這樣的度量的Python模塊,那也是很棒的。 謝謝!Levenshtein與擾亂字符的距離?
3
A
回答
0
您可以嘗試difflib
庫或者還有一個名爲pylevenshtein的外部庫。
0
計算每種字符的數量(使用HashMap或等價物),然後減去結果值並取每個減法的絕對值。將所有這些加在一起,然後除以2(因爲你已經重複計算了每個差異)。
實施例:
banana
batman
a - 3 , 2 -> |1| -> 1
b - 1 , 1 -> |0| -> 0
m - 0 , 1 -> |-1| -> 1
n - 2 , 1 -> |1| -> 1
t - 0 , 1 -> |-1| -> 1
因此,你必須1+1+1+1 = 4 -> 4/2 = 2
檢查:在banana
,更改一個n
到t
和一個a
到m
(2的變化)和你有字母batman
如果字符串的長度不同,計算字符串長度的差異,你的差異計數(上面)。然後除以2,然後再添加該數字。
例子:
nab
banana
total difference count: 3
3 - 3 = 0 -> 0/2 = 0 -> 0 + 3 = 3
而且我也不會,因爲很多這一問題的難度是定位,你不關心使用萊文斯坦的都在這裏。
0
Levenstien距離的動態編程解決方案可以簡單地進行編輯,以便捕獲例如delhi,dehli的pair wise擾碼,並且與相應的替換或添加或刪除操作相比,可以降低權重。
編輯:此算法已存在並被命名爲Damerau–Levenshtein distance。搜索這個算法會給你一個Python package,你可以直接使用它。
相關問題
- 1. Levenshtein距離與陣列
- 2. 構建字符串圖(Levenshtein距離)
- 3. 字符串相似性 - > Levenshtein距離
- 4. Levenshtein距離和特殊字符
- 5. Levenshtein距離成本
- 6. 反向Levenshtein距離
- 7. Levenshtein距離組合
- 8. 計算Levenshtein距離
- 9. Swift3中的Levenshtein距離
- 10. Levenshtein帶分隔符的多字符單位編輯距離
- 11. Haskell程序Levenshtein距離
- 12. OCR:加權Levenshtein距離
- 13. 移植C#Levenshtein距離Java
- 14. Levenshtein編輯距離Python
- 15. 同義詞由Levenshtein距離
- 16. Python:如何找到使levenshtein距離的字符的位置
- 17. 如何preg匹配PHP中的levenshtein距離的字符串
- 18. 計算Levenshtein許多連續字符串之間的距離
- 19. Levenshtein短語的距離/字符串匹配算法
- 20. 非英文字符串上的Levenshtein距離
- 21. Levenshtein只有部分字符串的距離(Java)
- 22. 計算兩個字符串之間的levenshtein距離
- 23. 字符串比較而不是Levenshtein距離(我認爲)
- 24. Java流,並以字符串Levenshtein距離過濾
- 25. Python中的Levenshtein距離只給出1作爲編輯距離
- 26. 任意序列的Levenshtein /編輯距離
- 27. 非英語語言的Levenshtein距離
- 28. 作爲全文替代的Levenshtein距離
- 29. 正則表達式中的Levenshtein距離
- 30. 基於Levenshtein距離的方法Vs Soundex
如何炒字符顛倒的字符對或完全混亂?如果後者,你想Jaccard或餘弦相似度 –
@DavidRobinson任何相似性度量的角色對轉換? –