gpt4 book ai didi

c# - 近似字符串匹配

转载 作者:太空狗 更新时间:2023-10-29 17:39:39 25 4
gpt4 key购买 nike

我知道这个问题已经被问了很多次了。我想要关于哪种算法适合近似字符串匹配的建议。

该应用程序专门用于公司名称匹配,除此之外别无其他。

最大的挑战可能是公司结尾名称部分和简称部分例子:1. companyA pty ltd vs companyA pty。有限公司与公司A2. WES 工程 vs W.E.S.工程学(极少发生)

您认为 Levenshtein Edit Distance 是否足够?

我正在使用 C#

问候,最大

最佳答案

您可以使用各种字符串距离度量。

我会推荐 Jaro-Winkler .与比较结果以离散编辑单元为单位的编辑距离不同,JW 给你的分数是 0-1。它特别适用于专有名称。另请参阅 this nice tutorialthis SO question.

我没有使用过 C#,但这里有一些我在网上找到的 JW 实现:

Impl 1 (如果您查看文件列表,它们也有 DOT NET 版本)

Impl 2


如果您想进行更复杂的匹配,您可以尝试对公司名称中常见的单词形式进行一些自定义规范化,例如 ltd/limited、inc/incorporated、corp/corporation考虑到不区分大小写、缩写等。如果您计算这种方式

distance (normalize("foo corp."),
normalize("FOO CORPORATION") )

你得到的结果应该是 0 而不是 14(如果你计算 levenshtein 编辑距离,你会得到这个结果)。

关于c# - 近似字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4212634/

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