关于编辑距离
此前计算短文本的相似度更多使用的是编辑距离(Levenshtein距离),但是编辑距离更适合计算纯文本的差异,不考虑文本的顺序和含义,所以在相似文本较多,或者我们希望得到的相似文本更符合人的理解时,编辑距离给出的答案就不是那么理想了。
算法简介
The Jaro–Winkler distance (Winkler, 1990)是计算2个字符串之间相似度的一种算法。它是Jaro distance算法的变种。主要用于record linkage/数据连接(duplicate detection/重复记录)方面的领域,Jaro–Winkler distance最后得分越高说明相似度越大。Jaro–Winkler distance 是适合于串比如名字这样较短的字符之间计算相似度。0分表示没有任何相似度,1分则代表完全匹配。
算法定义
The Jaro distance算法最后得分公式:
dj=13(m|s1|+m|s2|+m−t