База данных общих псевдонимов имен/псевдонимов людей
Я участвую в проекте SQL/.NET, который будет искать список имен. Я ищу способ вернуть некоторые результаты по похожим именам людей. При поиске "Тома" результаты будут включать Тома, Томаса и т.д. Не важно, является ли это файлом или веб-службой. Пример дизайна:
Table "Names" has Name and NameID
Table "Nicknames" has Nickname, NicknameID and NameID
Пример вывода:
You searched for "John Smith"
You show results Jon Smith, Jonathan Smith, Johnny Smith, ...
Существуют ли какие-либо базы данных (публичные или платные), подходящие для этого типа задач, для заполнения отношений между псевдонимами и именами?
Ответы
Ответ 1
Поиск google в "Database of Nicknames" появился pdNickName (для оплаты).
Кроме того, мне кажется, вам нужна только одна таблица для этого задания, а не две, с идентификатором NameID, Name и MasterNameID. Все псевдонимы входят в столбец Name. Одно имя считается "каноническим". Все записи псевдонимов используют столбец MasterNameID, чтобы указать на эту запись, с каноническим именем, указывающим на себя.
В вашей схеме двух таблиц нет дополнительной информации, и в зависимости от того, как вы заполняете таблицу псевдонима, может потребоваться дополнительный код для обработки канонических случаев.
Ответ 2
Я добавляю еще один источник для тех, кто сталкивается с этим вопросом через Google. Этот проект обеспечивает очень хороший поиск для этой цели.
https://github.com/carltonnorthern/nickname-and-diminutive-names-lookup
Это несколько проще и менее полно, чем pdNickName, но, с другой стороны, он бесплатный и простой в использовании.
Ответ 3
Я только что нашел этот сайт.
Похоже, вы могли бы script довольно легко.
http://www.behindthename.com/php/extra.php?terms=steve&extra=r&gender=m
Мне просто жаль, что я не смог бы скрыть это на английском..
Ответ 4
Другая коммерческая база данных, соответствующая названиям имен: http://www.basistech.com/name-indexer/
Он выглядит довольно профессионально (хотя и потенциально дорого).
Они утверждают, что поддерживают следующие языки:
Арабский, китайский (упрощенный), китайский (традиционный), персидский (фарси/дари), английский, японский, корейский, пуштунский, русский, урду
Ответ 5
Вот github repo с csv связанных имен, и вы можете внести обратно:
Первые несколько строк показывают формат:
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
Ответ 6
Существует база данных, называемая pdNicknames (найдена в http://www.peacockdata2.com/products/pdnickname/). Он содержит все, что вам нужно, стоимостью 500 долларов.
Ответ 7
Аналогичный формат, как 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
Ответ 8
Чтобы выбрать аналогичное использование имени звучания: (см. MSDN)
SELECT SOUNDEX ('Tom')