База данных псевдонимов / псевдонимов людей - PullRequest
37 голосов
/ 04 марта 2010

Я связан с проектом 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, ...

Существуют ли какие-либо базы данных (общедоступные или платные), подходящие для этого типа задач, для заполнения связей между никами и именами?

Ответы [ 8 ]

36 голосов
/ 22 февраля 2011

Я добавляю другой источник для всех, кто сталкивается с этим вопросом через Google. Этот проект обеспечивает очень хороший поиск для этой цели.

https://github.com/carltonnorthern/nickname-and-diminutive-names-lookup

Это несколько проще и менее полно, чем pdNickName, но, с другой стороны, это бесплатно и просто в использовании.

10 голосов
/ 04 марта 2010

Поиском Google в "Базе данных псевдонимов" объявлен pdNickName (за плату).

Кроме того, я думаю, что для этой работы вам нужна только одна таблица, а не две, с NameID, Name и MasterNameID. Все псевдонимы идут в столбец Имя. Одно имя считается «каноническим». Все записи псевдонимов используют столбец MasterNameID, чтобы указывать на эту запись, а каноническое имя указывает на себя.

Ваша схема двух таблиц не содержит никакой дополнительной информации, и, в зависимости от того, как вы заполняете таблицу псевдонимов, вам может потребоваться дополнительный код для обработки канонических случаев.

7 голосов
/ 25 августа 2010

Я только что нашел этот сайт.

Похоже, вы могли бы написать это довольно легко.

http://www.behindthename.com/php/extra.php?terms=steve&extra=r&gender=m

Я просто хотел бы автоматически сузить это до английского ..

6 голосов
/ 03 августа 2012

Другая база данных соответствия коммерческих имен: http://www.basistech.com/name-indexer/

Это выглядит довольно профессионально (хотя потенциально дорого).

Они утверждают, что поддерживают следующие языки:
Арабский, китайский (упрощенный), китайский (традиционный), персидский (фарси / дари), английский, японский, корейский, пушту, русский, урду

4 голосов
/ 17 марта 2015

Вот репозиторий github с 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
2 голосов
/ 30 июня 2015

Аналогичен формату 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

2 голосов
/ 04 марта 2010

Существует база данных с именем pdNicknames (находится по адресу http://www.peacockdata2.com/products/pdnickname/).. Она содержит все, что вам нужно, по цене $ 500.

0 голосов
/ 04 марта 2010

Чтобы выбрать похожее название звучания, используйте: (см. MSDN )

SELECT SOUNDEX ('Tom')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...