【问题标题】:Jaro-winkler function: why is the same score matching very similar and very different words?Jaro-winkler 函数:为什么相同的分数匹配非常相似和非常不同的单词?
【发布时间】:2018-01-23 16:53:03
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: mysql jaro-winkler


    【解决方案1】:

    Jaro-Winkler 距离公式偏向于具有共同开头的字符串。例如,Valentina 和 Valentiria

    它还有一些不那么直观的“规则”(参见wikipedia)。

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

    正如您在this page 中看到的那样(强调我的)

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-04
        • 1970-01-01
        • 2013-01-06
        • 1970-01-01
        • 2021-11-02
        • 2011-04-19
        相关资源
        最近更新 更多