c# - 如何判断两个相似的乐队名称是否代表同一个乐队?

标签 c# string spell-checking

我目前正在从事一个项目,需要我将我们的乐队和 field 数据库与许多外部服务相匹配。

基本上,我正在寻找确定两个名称是否相同的最佳方法的方向。例如:

  • 我们的数据库地点名称 - “The Pig and WhiSTLe”
  • 服务 1 - “ pig 和哨子”
  • 服务 2 - “ pig 与口哨”
  • 等等等等

我认为主要区别在于缺少“the”或使用“&”而不是“and”,但也可能存在拼写略有不同和单词顺序不同等问题。

在这种情况下通常使用哪些算法/技术,我是否需要过滤噪音词或进行某种拼写检查类型匹配?

您在 C# 中看到过类似的示例吗?

更新:如果有人对 C# 示例感兴趣,可以通过执行 google code search for Levenshtein distance 来访问堆。

最佳答案

执行此操作的规范(并且可能是最简单的)方法是测量 Levenshtein distance 两个字符串之间。如果距离相对于字符串的大小而言很小,则它可能是同一个字符串。请注意,如果您必须比较很多非常小的字符串,则很难判断它们是否相同。它适用于更长的字符串。

更聪明的方法可能是比较两个字符串之间的 Levenshtein 距离,但将零距离分配给更明显的转换,例如“and”/“&”、“Snoop Doggy Dogg”/“Snoop”等.

关于c# - 如何判断两个相似的乐队名称是否代表同一个乐队?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1918838/

相关文章:

C# KeyPress 事件不会将最后一个字符从文本框复制到表单的文本属性

java - 如何替换 Java 字符串中的反斜杠字符

java - 在 JavaFX TextArea 中突出显示字符串

android - 在 textView 上禁用 "spell checking"

c# - Linq To SQL Specified cast is not valid error with Union

c# - EF 代码第一个一对多

c# - 当从 c# 调用外部 dll 时,空格从命令行参数中删除

c# - 如何使用后期绑定(bind)从 VB.Net 调用位于 C# DLL 中的方法

javascript - toLocaleDateString Javascript 日期格式问题

c# - WinForms 拼写检查器推荐