2

所以我搜索了模糊搜索,Levenshtein 距离算法,我不确定是否真的适合我正在做的事情。请让我知道你的想法,如果有的话...

如何获取用户的全名并生成相似名称列表?我想通过提供“嘿,您确定这些都不是您”作为帐户创建之前的最后一步,防止用户在应用程序中创建多个帐户。

我找到了这篇文章,但它完全基于 SQL(http://stackoverflow.com/questions/988050/matching-records-based-on-person-name)

我正在使用 c#/Linq、SqlServer。

谢谢你的时间!

4

2 回答 2

1

这是 .NET 中 SOUNDEX 实现的链接:

http://www.codeproject.com/KB/recipes/soundex.aspx

我没用过,但感觉评价不错

于 2011-07-19T17:05:30.327 回答
0

如果是我,我会要求姓氏完全匹配,然后只尝试猜测名字的差异。这会大大缩小你的工作范围。

然后,正如您在评论中建议的那样,您可以应用 +/- 几个名字长度的字符的规则以及说(80%)字符必须匹配的阈值。

此外,您只能查看也匹配前 X 个字符的名字,因为大多数英文名称偏差将在 X 个字符之后。

例子:

  • 约翰·多伊
  • 约翰尼·多伊
  • 乔纳森·多伊
于 2011-07-19T17:08:23.613 回答