我有 2 个查询:
query1:你好世界
query2:你好
当我使用 python 库 Levenshtein 运行此代码时:
from Levenshtein import distance, hamming, median
lev_edit_dist = distance(query1,query2)
print lev_edit_dist
我得到 12 的输出。现在的问题是值 12 是如何得出的?
因为就笔画差异而言,肯定不止12个。
我有 2 个查询:
query1:你好世界
query2:你好
当我使用 python 库 Levenshtein 运行此代码时:
from Levenshtein import distance, hamming, median
lev_edit_dist = distance(query1,query2)
print lev_edit_dist
我得到 12 的输出。现在的问题是值 12 是如何得出的?
因为就笔画差异而言,肯定不止12个。
根据其文档,它支持 unicode:
它支持普通字符串和 Unicode 字符串,但不能混合使用,函数(方法)的所有参数必须是相同类型(或其子类)。
不过,您需要确保中文字符是 unicode:
In [1]: from Levenshtein import distance, hamming, median
In [2]: query1 = '你好世界'
In [3]: query2 = '你好'
In [4]: print distance(query1,query2)
6
In [5]: print distance(query1.decode('utf8'),query2.decode('utf8'))
2