Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
为了计算两个字符串的 Jaro 距离,我们使用这个等式:
dj = 1/3 (m/|s1| + m/|s2| + (mt)/m)
我应该如何计算这个等式中两个字符串的“m”?
如果“m”是两个字符串之间的差异,为什么Wikipedia上的示例对于两个字符串“MARTHA”和“MARHTA”,m是6。我认为应该是1,因为字符串之间的差异是1而不是6 !我对吗?
m是两个字符串之间共享的字符数,无论它们的位置如何,并且它们的距离不超过d = floor(max(len(String1), len(String2)) / 2) - 1(感谢 Michael Foukarakis)。这是 6MARTHA和MARHTA。
m
d = floor(max(len(String1), len(String2)) / 2) - 1
MARTHA
MARHTA
t是共享但位于不同位置的字符数除以 2。在这种情况下,2 个字符 (H和T) 共享但位于不同位置,所以t = 2/2 = 1.
t
H
T
t = 2/2 = 1