【问题标题】:Fuzzy Text Matching C#模糊文本匹配 C#
【发布时间】:2012-01-03 08:23:48
【问题描述】:

我正在编写一个桌面 UI (.Net WinForms) 来帮助摄影师清理他的图像元数据。有一个 66k+ 短语的列表。任何人都可以推荐一个好的开源/免费 .NET 组件,我可以使用它使用某种算法来识别潜在的合并候选者吗?例如,可能有两个或多个条目实际上是相同的单词或短语,它们的区别仅在于空格或标点符号甚至是轻微的拼写错误。该应用程序最终将依赖用户来整合短语,但拥有一种自动找到潜在候选人的有效方法将被证明是无价的。

【问题讨论】:

标签: c# fuzzy-search


【解决方案1】:

让我向您介绍 Levenshtein 距离公式。太棒了:

http://en.wikipedia.org/wiki/Levenshtein_distance

在信息论和计算机科学中,Levenshtein 距离是一种字符串度量,用于测量两个序列之间的差异量。术语编辑距离通常用于特指 Levenshtein 距离。

就我个人而言,我在医疗保健环境中使用了它,在该环境中检查了提供者名称是否重复。使用 Levenshtein 流程,我们给了他们一个置信度评级,并允许他们确定它是真正的复制品还是独特的东西。

【讨论】:

【解决方案2】:

我知道这是一个老问题,但我觉得这个答案可以帮助当前正在处理同样问题的人。

请看https://github.com/JakeBayer/FuzzySharp

它是一个 c# NuGet 包,它有多个方法来实现某种模糊搜索方式。不确定,但也许其中一个也使用了 Fosco 的答案。

编辑: 我刚刚注意到关于这个包的评论,但我认为它应该在这个问题中得到一个更好的位置

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-08
    • 2010-09-08
    • 2011-01-18
    • 1970-01-01
    • 2016-02-11
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多