【问题标题】:Name matching dictionary for finding first and last name variants用于查找名字和姓氏变体的名称匹配字典
【发布时间】:2011-05-06 12:34:45
【问题描述】:

我有一个可以存储和跟踪访问者的应用程序。这些访问者是由调度程序(用户)在设置访问时根据需要在系统中创建的。问题是大多数时候访问者唯一重要的唯一标识符如下:

  • 名字
  • 姓氏
  • 公司名称

同一个人存在重复记录的风险是固有的,调度程序可能会输入新的访问者记录,而不是在系统中搜索以该名称存在的人。

当我遇到有人输入同名访客时,我会显示一个警告对话框,其中包含有关此人可能是谁的各种建议,但即使这样也不够好。

我可以输入“Jim Jones”,这个人可能以“James Jones”或“Jimmy Jones”的身份存在于系统中。我看到有可用的名称识别软件包,但它们很贵,而且肯定比我要找的要重。

有人知道在哪里可以找到免费或开源的字典文件,我可以通过编程方式访问以查找潜在的名称变体吗?软件或在线服务会很好,但即使只是数据转储或简单的文本文件也可以。

我知道即使这样也不会防止重复的访问者记录,我只是试图将其保持在最低限度,因此它不是一个关键功能。

【问题讨论】:

  • 我想从上面的设计描述中澄清一下,当我说调度程序可以输入新的访问者记录来代替搜索系统时,我的意思是行为是设计的。假设用户群的计算机技能最低,因此需要一个干净简单的手持流程。

标签: dictionary name-matching


【解决方案1】:

查看 Moby 项目 (http://icon.shef.ac.uk/Moby/mwords.html) 了解常见的名字和姓氏。您可以使用 metaphone 和 soundex 等工具对相似名称进行预计算,并使用它来识别潜在的匹配项。您还提到了一些更难管理的公司名称,因为它们可以由很多东西组成,为此可以查看 12-dicts 单词列表 (http://wordlist.sourceforge.net/) 2+2lemma该软件包中提供的列表提供了多种形式,这些形式具有共同的词根,可以与类似的拼写解决方案结合使用以提供更好的结果。

【讨论】:

  • 感谢您的发帖,我会查看这些链接并让您知道结果如何。澄清一下,我不关心搜索公司。公司字段不会是搜索字段,但会显示以唯一区分两个同名的访问者。
  • 嗯...当我下载 Moby 字典时,无法弄清楚如何处理我解压缩的文件。自述文件没有任何帮助。
  • 嗯,Moby 字典是一个开始,但不是我想要的。它有一组令人印象深刻的名字,但如果没有比较列表,我真的做不了什么。我测试的 Metaphone 和 Soundex 算法也不起作用,因为它们只会找到听起来相似的名称,这不是我想要的。如果我的搜索词是“William”,它应该能够搜索“Bill”、“Billy”、“Will”、“Willy”、“Willie”等变体......有了这样的列表,我可以轻松编写查询以查找名称变体列表中的所有访问者。
  • 查看了链接到名称匹配标签的其他一些帖子并遇到了这个deron.meranda.us/data/nicknames.txt 不是超级膨胀但总比没有好...将其加载到我的翻译数据中-设置。
  • 不错!!!我还以 csv 文件 code.google.com/p/nickname-and-diminutive-names-lookup/… 的形式找到了它。我能够将这些加载到一个对象中并找到匹配项。我可能会尝试编写一个脚本,该脚本可以使用您提供的链接来填补我的 csv 中的漏洞,那么我应该有一本非常好的字典。感谢大家的帮助!
猜你喜欢
  • 2019-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多