gpt4 book ai didi

levenshtein-distance - Levenshtein和Trigram的替代品

转载 作者:行者123 更新时间:2023-12-03 23:51:03 32 4
gpt4 key购买 nike

说我的数据库中有以下两个字符串:

(1) 'Levi Watkins Learning Center - Alabama State University'
(2) 'ETH Library'


我的软件从数据源接收自由文本输入,并且应该将这些自由文本与数据库中的预定义字符串(上面的字符串)进行匹配。

例如,如果软件获取字符串 'Alabama University',则应认识到与 (1)相比,它与 (2)更相似。

起初,我想到使用著名的字符串度量标准,例如Levenshtein-Damerau或Trigrams,但这会导致不良结果,如您在此处看到的:

http://fuzzy-string.com/Compare/Transform.aspx?r=Levi+Watkins+Learning+Center+-+Alabama+State+University&q=Alabama+University

http://fuzzy-string.com/Compare/Transform.aspx?r=ETH+Library&q=Alabama+University

Difference to (1): 37
Difference to (2): 14


即使 (2)包含搜索字符串的两个词( (1)(1)), Alabama也会胜出,因为它比 University短得多。

我也使用Trigrams(使用Javascript库FuzzySet)进行了尝试,但在那里得到了类似的结果。

是否有一个字符串度量标准可以识别搜索字符串与 (1)的相似性?

最佳答案

您可以改用Word Mover的距离https://github.com/mkusner/wmd。该算法的一个显着优势是,它在计算文档中单词之间的差异时会包含隐含的含义。可以找到该文件here

关于levenshtein-distance - Levenshtein和Trigram的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20162894/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com