cko*_*kot 7 python levenshtein-distance
我在 SO/elsewhere 上看到了一堆类似的问题,但没有一个答案能完全满足我的需求,所以我不认为这是一个重复的问题。
此外,我完全知道如何自己实现这一点,但我试图不必重新发明轮子。
有谁知道任何 python 包可以执行 levenshtein/其他编辑距离比较 2 个单词列表(我找到了一些),但也允许指定你自己的插入、删除、替换和换位成本?
基本上,我希望计算的距离是句子中单词的编辑次数,而不是句子不同的字符数。
我正在尝试使用 python2 的 C api 替换实际用 C 编写的自定义 python 扩展模块。我可以用纯 python 或 cython 重写,但我宁愿简单地向项目添加一个依赖项。唯一的问题是这段代码允许你为各种选项指定你自己的成本,到目前为止我还没有找到一个允许这样做的包。
vur*_*mux 10
NLTK具有名为edit_distance的函数。它计算两个字符串之间的 Levenshtein 距离。但它也适用于字符串列表:
import nltk
s1 = 'WAKA WAKA QB WTF BBBQ WAKA LOREM IPSUM WAKA'.split()
s2 = 'WAKA OMFG QB WTF WAKA WAKA LOREM IPSUM WAKA'.split()
print(s1)
print(s2)
print(nltk.edit_distance(s1, s2))
Run Code Online (Sandbox Code Playgroud)
['WAKA', 'WAKA', 'QB', 'WTF', 'BBBQ', 'WAKA', 'LOREM', 'IPSUM', 'WAKA']
['WAKA', 'OMFG', 'QB', 'WTF', 'WAKA', 'WAKA', 'LOREM', 'IPSUM', 'WAKA']
2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4923 次 |
| 最近记录: |