database 人的常用名称别名/昵称数据库
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/2381522/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Database of common name aliases / nicknames of people
提问by Tom Willwerth
I'm involved with a SQL / .NET project that will be searching through a list of names. I'm looking for a way to return some results on similar first names of people. If searching for "Tom" the results would include Thom, Thomas, etc. It is not important whether this be a file or a web service. Example Design:
我参与了一个 SQL/.NET 项目,该项目将搜索名称列表。我正在寻找一种方法来返回一些关于人名相似的结果。如果搜索“Tom”,结果将包括 Thom、Thomas 等。这是文件还是 Web 服务并不重要。示例设计:
Table "Names" has Name and NameID
Table "Nicknames" has Nickname, NicknameID and NameID
Example output:
示例输出:
You searched for "John Smith"
You show results Jon Smith, Jonathan Smith, Johnny Smith, ...
Are there any databases out there (public or paid) suited to this type of task to populate a relationship between nicknames and names?
是否有任何数据库(公共或付费)适合此类任务来填充昵称和姓名之间的关系?
采纳答案by Larry Lustig
A google search on "Database of Nicknames" turned up pdNickName(for pay).
在“昵称数据库”上的谷歌搜索出现了pdNickName(付费)。
In addition, I think you only need a single table for this job, not two, with NameID, Name, and MasterNameID. All the nicknames go into the Name column. One name is considered the "canonical" one. All the nickname records use the MasterNameID column to point back to that record, with the canonical name pointing to itself.
另外,我认为这个工作只需要一个表,而不是两个,分别有 NameID、Name 和 MasterNameID。所有昵称都进入“名称”列。一个名称被认为是“规范的”名称。所有昵称记录都使用 MasterNameID 列指向该记录,规范名称指向自身。
Your two table schema contains no additional information and, depending on how you fill in the nickname table, you might need extra code to handle the canonical cases.
您的两个表架构不包含附加信息,并且根据您填写昵称表的方式,您可能需要额外的代码来处理规范情况。
回答by Joe Harris
I'm adding another source for anyone who comes across this question via Google. This project provides a very good lookup for this purpose.
我正在为通过 Google 遇到此问题的任何人添加另一个来源。这个项目为此目的提供了一个很好的查找。
https://github.com/carltonnorthern/nickname-and-diminutive-names-lookup
https://github.com/carltonnorthern/nickname-and-diminutive-names-lookup
It's somewhat simpler and less complete than pdNickName but on the other hand it's free and easy to use.
它比 pdNickName 更简单、更不完整,但另一方面它是免费且易于使用的。
回答by rh0dium
I just found this site.
我刚找到这个网站。
It looks like you could script it pretty easily.
看起来你可以很容易地编写脚本。
http://www.behindthename.com/php/extra.php?terms=steve&extra=r&gender=m
http://www.behindthename.com/php/extra.php?terms=steve&extra=r&gender=m
I just wish I could auto narrow this to english..
我只是希望我可以自动将其缩小为英文..
回答by John Mellor
Another commercial name matching database is: http://www.basistech.com/name-indexer/
另一个商业名称匹配数据库是:http: //www.basistech.com/name-indexer/
It looks quite professional (though potentially expensive).
它看起来很专业(虽然可能很贵)。
They claim to support the following languages:
Arabic, Chinese (Simplified), Chinese (Traditional), Persian (Farsi / Dari), English, Japanese, Korean, Pashto, Russian, Urdu
他们声称支持以下语言:
阿拉伯语、中文(简体)、中文(繁体)、波斯语(波斯语/达里语)、英语、日语、韩语、普什图语、俄语、乌尔都语
回答by Stan James
Here is a github repo with csv of related names, and you can contribute back:
这是一个带有相关名称 csv 的 github 存储库,您可以回馈:
The first few lines show the format:
前几行显示格式:
aaron,ron
abel,abe
abednego,bedney
abijah,ab,bige
abigail,ab,abbie,abby,gail
abner,ab,abbie,abby
abraham,abe,abram,bram
absalom,ab,abbie,app
回答by Csaba Toth
Similar format as Stan James's csv, but folded two ways for lookups: Name to nickname: https://github.com/MrCsabaToth/SOEMPI/blob/master/openempi/conf/name_to_nick.csvNickname to name: https://github.com/MrCsabaToth/SOEMPI/blob/master/openempi/conf/nick_to_name.csv
与 Stan James 的 csv 格式类似,但折叠了两种查找方式: 名称到昵称:https: //github.com/MrCsabaToth/SOEMPI/blob/master/openempi/conf/name_to_nick.csv昵称到名称:https://github .com/MrCsabaToth/SOEMPI/blob/master/openempi/conf/nick_to_name.csv
回答by Christopher Richa
There is a database out there called pdNicknames (found at http://www.peacockdata2.com/products/pdnickname/). It contains everything you need, at a cost of $500.
有一个名为 pdNicknames 的数据库(可在http://www.peacockdata2.com/products/pdnickname/找到)。它包含您需要的一切,费用为 500 美元。