Словарь сопоставления имен для поиска вариантов имени и фамилии

У меня есть приложение, которое будет хранить и отслеживать посетителей. Эти посетители создаются в системе планировщиками (пользователями) по мере необходимости при настройке посещения. Проблема в том, что в большинстве случаев единственными важными уникальными идентификаторами посетителя являются следующие:

  • Имя
  • Фамилия
  • название компании

Риск дублирования записей, существующих для одного и того же человека, является неотъемлемым, планировщик может ввести новую запись о посетителе вместо поиска в системе кого-либо, существующего с этим именем.

Когда я сталкиваюсь с кем-то, входящим в посетителя с таким же именем, я показываю диалоговое окно с предупреждением с различными предложениями о том, кем этот человек МОЖЕТ быть, но даже этого недостаточно.

Я мог бы ввести «Джим Джонс», и этот человек может существовать в системе как «Джеймс Джонс» или «Джимми Джонс». Я вижу, что есть пакеты программного обеспечения для распознавания имен, но они дорогие и, безусловно, более тяжелые, чем то, что я ищу.

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

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


person maple_shaft    schedule 06.05.2011    source источник
comment
Я хочу уточнить из приведенного выше описания дизайна, когда я говорю, что планировщик может вводить новую запись посетителя вместо поиска в системе, я имею в виду, что это поведение является намеренным. Предполагается, что пользовательская база имеет минимальные компьютерные навыки, поэтому необходим чистый простой процесс, держащий руки.   -  person maple_shaft    schedule 06.05.2011


Ответы (1)


Ознакомьтесь с проектом Moby (http://icon.shef.ac.uk/Moby/mwords.html), чтобы узнать общие имена и фамилии. Вы можете выполнить предварительное вычисление похожих имен с помощью таких инструментов, как metaphone и soundex, и использовать это для выявления потенциальных совпадений. Вы также упоминаете названия компаний, которыми немного труднее управлять, поскольку они могут состоять из множества вещей, для этого, возможно, проверьте список слов из 12 слов (http://wordlist.sourceforge.net/), лемму 2 + 2 list, представленный в этом пакете, предоставляет несколько форм, которые имеют общие корни, которые можно использовать в сочетании с аналогичным решением для проверки орфографии для обеспечения улучшенных результатов.

person lostatredrock    schedule 06.05.2011
comment
Спасибо за публикацию, я проверю эти ссылки и дам вам знать, как это работает. Чтобы уточнить, я не занимаюсь поиском компаний. Поле «Компания» не будет полем поиска, но оно отображается, чтобы однозначно различать двух посетителей с одним и тем же именем. - person maple_shaft; 06.05.2011
comment
Хм ... не могу понять, что делать с файлами, которые я распаковал, когда скачал словарь Moby. Ридми тут ни при чем. - person maple_shaft; 06.05.2011
comment
Что ж, словарь Моби - это начало, но не совсем то, что я ищу. У него впечатляющий набор названий, но без сравнительного списка я ничего не могу поделать. Алгоритмы Metaphone и Soundex, которые я тестировал, также не будут работать, потому что они будут находить только ЗВУКО похожие имена, а я не ищу их. Если мой поисковый запрос - «Уильям», он должен иметь возможность искать варианты, такие как «Билл», «Билли», «Уилл», «Вилли», «Уилли» и т. Д. С таким списком я легко могу напишите запрос, чтобы найти всех посетителей В списке вариантов имени. - person maple_shaft; 06.05.2011
comment
Список 2 + 2lemma на самом деле делает это, но только для слов без имен ... извините, я работаю над очень похожим проектом (по крайней мере, этот аспект), и я использую список лемм для сопоставления общего назначения, но не нашел никакой хорошей формы имени все равно список пока что. - person lostatredrock; 06.05.2011
comment
Взглянул на некоторые другие сообщения, связанные с тегом сопоставления имен, и наткнулся на этот deron. meranda.us/data/nicknames.txt не очень обширный, но лучше, чем ничего ... собираюсь загрузить его в свой набор данных перевода. - person lostatredrock; 06.05.2011
comment
НИЦЦА!!! Я также нашел это в виде кода csv-файла .google.com / p / nickname-and-diminutive-names-lookup /. Я смог загрузить их в объект и найти совпадения. Я, вероятно, попытаюсь написать сценарий, который может использовать предоставленные вами ссылки для заполнения дыр в моем CSV, тогда у меня должен быть действительно хороший словарь. Спасибо за помощь! - person maple_shaft; 06.05.2011