@misterkust

Как нормализовать русские имена?

Добрый день.
Есть текстовый файл / csv (неважно) с некоторой пользовательской информацией, в том числе "Имя".
Например "саня", "санек", "саша", "александр". И так далее.
Т.е. самые разнообразные варианты написания имен.
Задача - привести все имена к единому виду "Александр" и т.д.
Перерыл весь гугл/яндекс - ничего по теме не нашел.
Кто-нибудь сталкивался с похожими задачами?
Возможно, кто-то может подсказать, где взять словарь под это дело?
Язык реализации неважен, интересен алгоритм и, если есть - непосредственно словарь с именами.
Заранее спасибо всем откликнувшимся!
  • Вопрос задан
  • 3603 просмотра
Пригласить эксперта
Ответы на вопрос 3
Gorily
@Gorily
Готовых решений не знаю, но возможно подойдёт такой способ:
1. Парсим с википедии список имён: ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%...
2. Парсим страницы о имени, допустим: ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B5%D0%BA%D1%... Извлекаем производные формы.
3. Всё это складываем в простейшую БД или XML\Json файл.
4. Пробуем, правим базу, добавляем экзотические варианты. Те имена, что в базе отсутствуют совсем (в т.ч. опечатки) оставляем для ручной правки.
Можно парсить не вики, а скачать для этих целей её копию с торрентов. Если все же парсить онлайн, то использовать мобильную версию.
Ответ написан
Комментировать
MonkAlbino
@MonkAlbino
Фронтенд разработчик
К варианту @Gorily можно добавить словарь имён на Грамота.ру, однако есть большой подводный камень: некоторые сокращённые имена подходят для нескольких полных имён.
Ответ написан
Комментировать
kompi
@kompi
nullstack devoops
Все давным-давно изобретено.
Посмотрите как это делают специализированные поисковые движки(sphinx, lucene/solr и т.п.) и какие словари они используют.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы