为了计算两个弦的Jaro距离,我们使用这个等式:
dj = 1/3(m / | s1 | + m / | s2 | +(m-t)/ m)
我应该如何计算这个等式中两个字符串的“m”?
如果“m”是两个字符串之间的差异,为什么Wikipedia处的示例为两个字符串“MARTHA”和“MARHTA”,m为6.我认为它应该是1,因为区别字符串之间是1而不是6!我是对的吗?
答案 0 :(得分:8)
m
是两个字符串之间共享的字符数,无论它们的位置如何,它们的距离都不超过d = floor(max(len(String1), len(String2)) / 2) - 1
(感谢Michael Foukarakis)。对于MARTHA
和MARHTA
,这是6。
t
是共享但位于不同位置的字符数除以2.在这种情况下,共享2个字符(H
和T
)但是不同的立场t = 2/2 = 1
。