pet*_*bel 2 python edit-distance nltk
我熟悉python的nltk.metrics.distance模块,它通常用于计算两个字符串的编辑距离.
我感兴趣的是一个函数,它计算这样的距离,但不像通常那样以字符方式表示.我的意思是你只能替换/添加/删除整个令牌(而不是chars).
常规编辑距离和我想要的标记化版本的示例:
> char_dist("aa bbbb cc",
"aa b cc")
3 # add 'b' character three-times
> token_dist("aa bbbb cc",
"aa b cc")
1 # replace 'bbbb' token with 'b' token
Run Code Online (Sandbox Code Playgroud)
是否已经有一些功能,可以token_dist在python中计算?我宁愿使用已经实现和测试过的东西而不是编写我自己的代码.谢谢你的提示.
NLTK edit_distance似乎与列表和字符串一样好用:
nltk.edit_distance("aa bbbb cc", "aa b cc")
> 3
nltk.edit_distance("aa bbbb cc".split(), "aa b cc".split())
> 1
Run Code Online (Sandbox Code Playgroud)
首先,安装以下内容:
pip install editdistance
Run Code Online (Sandbox Code Playgroud)
然后以下内容将为您提供标记明智的编辑距离:
import editdistance
editdistance.eval(list1, list2)
Run Code Online (Sandbox Code Playgroud)
例子:
import editdistance
tokens1 = ['aa', 'bb', 'cc']
tokens2 = ['a' , 'bb', 'cc']
editdistance.eval(tokens1, tokens2)
out[4]: 1
Run Code Online (Sandbox Code Playgroud)
欲了解更多信息,请参阅:
| 归档时间: |
|
| 查看次数: |
3371 次 |
| 最近记录: |