5

为了计算两个字符串的 Jaro 距离,我们使用这个等式:

dj = 1/3 (m/|s1| + m/|s2| + (mt)/m)

我应该如何计算这个等式中两个字符串的“m”?

如果“m”是两个字符串之间的差异,为什么Wikipedia上的示例对于两个字符串“MARTHA”和“MARHTA”,m是6。我认为应该是1,因为字符串之间的差异是1而不是6 !我对吗?

4

1 回答 1

9

m是两个字符串之间共享的字符数,无论它们的位置如何,并且它们的距离不超过d = floor(max(len(String1), len(String2)) / 2) - 1(感谢 Michael Foukarakis)。这是 6MARTHAMARHTA

t是共享但位于不同位置的字符数除以 2。在这种情况下,2 个字符 (HT) 共享但位于不同位置,所以t = 2/2 = 1.

于 2013-09-03T14:52:56.413 回答