Jaro-Winkler Distance
Jaro-Winkler 距离是 Jaro 距离的改进,对公共前缀加权,更适合人名等前缀重要的短字符串匹配。
用途
提供对前缀敏感的字符串相似度,用于人名与短文本模糊匹配。
机制
Jaro 距离考虑匹配字符数与换位次数。Jaro-Winkler = Jaro + l×p×(1-Jaro),其中 l 为公共前缀长度(≤4),p 为前缀权重(常 0.1)。输出 0(完全不同)至 1(相同)。
用例
- 人名与地址匹配
- 记录链接(record linkage)
- 拼写纠错
- 去重
示例
- 输入
MARTHA vs MARHTA输出0.961High similarity
常见错误
- Using Jaro-Winkler on long strings (prefix weighting loses significance)
- Use Levenshtein or cosine similarity for long strings