Подтвердить что ты не робот

База данных общих псевдонимов имен/псевдонимов людей

Я участвую в проекте 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, ...

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

4b9b3361

Ответ 1

Поиск google в "Database of Nicknames" появился pdNickName (для оплаты).

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

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

Ответ 2

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

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

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

Ответ 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 долларов.

Ответ 8

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

SELECT SOUNDEX ('Tom')