3

我正在使用 jaro-winkler 模糊匹配来匹配名称。

我正在尝试确定相似度得分的截止范围。如果名称差异太大,我想将它们排除在外以进行人工审核。

虽然低于 0.4 的任何东西似乎都是完全不同的名称,但 0.4 的范围似乎非常相似。

但后来我遇到了奇怪的例外情况,该范围内的某些名称完全不同,而有些名称只有一两个字母(参见下面的示例)。

有人可以解释在相同匹配分数范围内匹配差异很大的地方吗?

   Estrella     ANNELISE    0.42 
   Arienna      IREANNA     0.43 
   Tayvia       I TAYVIA    0.43
   Amanda       IZABEL      0.44
   Hunter       JOSHUA      0.44
   Ryder        CHARLES     0.45
   Luis         ELIZABETH   0.45 
   Sebastian    JOSE        0.45 
   Christopher  CHISTOPHE   0.46 
   Genayunique  GENAY-UNI   0.46 
   Andreeaonn   ADREEAONN   0.46
   Chistopher   CHRISTOPH   0.46
   Dazharicon   DAZHARION   0.46
   Jennavecia   JENNACVEC   0.46
   Valentiria   VALENTINA   0.46
   Abel         SAMMUEL     0.46
   Dezarea MarieDEZAREA     0.47
   Alexander    ALEXZANDE   0.47
4

2 回答 2

1

Jaro-Winkler 距离公式偏向于具有共同开头的字符串。例如,瓦伦蒂娜瓦伦蒂里亚

它也有一些不那么直观的“规则”(参见维基百科)。

您可能应该首先确定您期望的差异类型,然后寻找合适的距离公式。例如,在写作中,“angleworm”和“angelworm”很可能是错误的,所以两个字符串之间的距离应该很小。虽然“那里”和“三”不匹配的可能性较小,而“以太”则更是如此。对于较长的字谜,Jaro 距离可能完全相同,甚至 Winkler 校正也可能不会起作用。

正如您在此页面中所读到的(强调我的)

除了对空字符串和完全相同的字符串进行优化之外,您可以在这里看到我对第一个字符的权重更大。这是因为我的数据最初很重

为了弥补中间声母的频繁使用,我将 Jaro-Winkler 距离计为分数的 80%,而剩余的 20% 完全基于第一个字符匹配。这里的 p 值是由大量实验和拉毛的结果决定的。在进行此扩展名缩写之前,通常会不正确地对齐。

于 2018-01-23T17:24:20.397 回答
0

我发现 Levenshtein 距离对于名称上的特定匹配问题更有用。

于 2018-02-02T18:38:52.770 回答