如何识别拼写不同的相似单词

Eli*_*sie 6 c# sql pattern-matching linq-to-sql

我想从数据库中筛选出重复的客户名称.单个客户可能有多个具有相同名称的系统条目,但拼写上的差异很小.所以这是一个例子:一个名为Brook的客户可能有三个条目进入系统:

  1. 布鲁克伯塔
  2. 布鲁克伯塔
  3. 比鲁克贝塔

我们假设我们将此名称放在一个数据库列中.我想知道识别此类重复的不同机制,例如100,000条记录.我们可以在C#中使用正则表达式来遍历所有记录或其他一些模式匹配技术,或者我们可以将这些记录导出到最适合此类查询的内容(具有正则表达式功能的SQL)).

这就是我认为的解决方案

  • 编写一个C#代码来遍历每条记录
  • 只按顺序获取辅音字母(在上面的例子中:BrKBrt)
  • 从其他记录中搜索相同的辅音模式,考虑类似的声音字母,如(C,K)(C,S),(F,PH)

所以请转发任何想法.

Ray*_*rns 8

双音位算法,发表于2000年,是在1918年获得专利Soundex算法的一个新的和改进的版本.

本文链接到许多语言的Double Metaphone实现.