Какие существуют методы извлечения Фамилии Имени Отчества из текста?

Какие существуют методы извлечения Фамилии Имени Отчества из текста?
Сложно конечно предположить наличиие какого-либо универсального алгоритма, скорее интересуют практические наработки и статьи, дающее представление о направлениях в каких можно двигаться.
Интересуют возможности выделения ФИО в формате "Путин В.В./Путин Владминир Владимирович/Владминир Владимирович" (в разных падежах) и т.д.
  • Вопрос задан
  • 8598 просмотров
Решения вопроса 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
ну вот сходу шаблон для написания regexp:
1. два или три слова (разделитель: не буква или цифра (или несколько))
2. все 1-е буквы - заглавные,
3. минимум одно слово - состоит НЕ из 1 буквы.
4. если слово из 1-й буквы - следующий символ обязательно: "." (точка)
5 расстояние Левенштейна по словарю имен, фамилий и отчеств (через их сочетания).
Ответ написан
fedor_malyshkin
@fedor_malyshkin Автор вопроса
Отбой. Если кому интересно Яндекс некоторое время назад опубликовал исходные тексты tomita парсера (github.com/yandex/tomita-parser). Надо признать кода очень много и изучить его работы изнутри будет достаточно интересно, но касательно заданного вопроса вывод такой: используются данные из mystem и достаточно большое кол-во правил (код на C++).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
begemot_sun
@begemot_sun
Программист в душе.
Попробуйте томита-парсер от Яндекса.
Ответ написан
@frees2
Гугл работает над семантическим поиском, там каждому имени и фимилии присвоен отдельный крякозябр (/m/05qt0" - Politics, Путин есть на русском и даже Мизулина ) с чёрточками (ну и остальным словам, уже поиск работает, у меня тодже по нескольким выражениям), по английскому запросто а по русски там мало слов. v3 это типо там надо искать. Лет через 10 такой проблемы наверное не возникнет.
Ответ написан
Комментировать
Tiendil
@Tiendil
Разработчик ПО.
Должны существовать корпуса со списком всех имён/фамилий/отчеств. Как минимум, можно автоматически выбрать из википедии или dbpedia (структурированные данные из википедии).

1. Находим корпуса или формируем свой.
2. Делаем поиск на совпадение хотя бы с одним словом (лучше, на частичное совпадени — на случай опечаток и всяких склонений).
3. Когда находим, выделяем окрестность слова (пара слов влево-вправо) и анализируем его эвристиками.
Ответ написан
Комментировать
@to_climb
Если задача серьёзная (не хобби), то раз упомянули томиту, упомяну и такую молотилку текстов: ABBYY Tagger. Словари и правила в комплекте. Но вариант не бюджетный.
Ответ написан
nzhiltsov
@nzhiltsov
CTO и сооснователь Textocat
Это называется задача распознавания именованных сущностей (named entity recognition). В вашем случае имен персон. Наш продукт Textocat API умеет это делать: убедитесь в этом сами на странице демо для русского языка или получите бесплатный ключ к API после регистрации на нашем сайте.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы