c# - 模糊匹配与阈值过滤器 C#

标签 c# fuzzy-search fuzzy-logic

我需要实现某种这样的:

string textToSearch = "Extreme Golf: The Showdown";
string textToSearchFor = "Golf Extreme Showdown";
int fuzzyMatchScoreThreshold = 80; // One a 0 to 100 scale
bool searchSuccessful = IsFuzzyMatch(textToSearch, textToSearchFor, fuzzyMatchScoreThreshold);
if (searchSuccessful == true)
{
    -- we have a match.
}

这是用 C# 编写的函数 stub :

public bool IsFuzzyMatch (string textToSearch, string textToSearchFor, int fuzzyMatchScoreThreshold)
{
   bool isMatch = false;
   // do fuzzy logic here and set isMatch to true if successful match.
   return isMatch;
}

但我不知道如何在 IsFuzzyMatch 方法中实现逻辑。 有任何想法吗?也许为此目的有现成的解决方案?

最佳答案

我喜欢骰子系数、编辑距离、最长公共(public)子序列的组合,有时还喜欢双重变音位。前三个将为您提供一个阈值。我更喜欢以某种方式将它们结合起来。 YMMV.

我刚刚发布了一篇博文,其中每一个都有一个 C# 实现,称为 Four Functions for Finding Fuzzy String Matches in C# Extensions .

关于c# - 模糊匹配与阈值过滤器 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4086442/

相关文章:

c# - 无法键入 System.IO.Ports 速记

java - 在 servlet 中加载 fcl 文件时出错

java - java中的模糊逻辑

search - 搜索用户名的语音算法

python - Apache Spark 中的高效字符串匹配

python - 如何找到最佳的模糊字符串匹配?

data-structures - 模糊逻辑真的能改善简单的机器学习算法吗?

c# - 如何为控件的嵌套属性创建数据绑定(bind)?

c# - 抑制 CS0169 和 CS0649

c# - 使用ftp协议(protocol)下载大文件