LINUX.ORG.RU

Нужна либка выдирать ФИО из текста

 ,


1

1

Чтобы велосипед не изобретать, ну и есть тонкости. Желательно еще, чтобы программа (библиотека) понимала, хотя бы как в анекдоте, что Маркс Энгельс - это два разных человека, а Слава КПСС вообще не человек (а также Большой Театр к примеру).

Такое в готовом виде и OpenSource есть?

★★★★★

Тебе нужен «ИИ 80lvl» с большущим словарем и самообучением (и/или команда мартышек для его обучения).
Если бы можно было просто раз и навсегда формализовать, что есть ФИО, а что нет, это уже давно бы автоматизировали.

blexey ★★★★★
()
Ответ на: комментарий от blexey

Чтобы приемлемо работало нужно составить перечень известных имен с учетом морфологии языка (русского) и делать поиск, плюс некоторые ситуации обрабатывать навроде Слава КПСС. Подумал, что возможно уже кто-то озаботился и выложил. Понятно, 100% корректно не работало бы, но все-таки. С нуля как-то кисло писать.

praseodim ★★★★★
() автор топика

Знаю похожий проект на тему названий улиц. По его опыту можно судить что да, нужно делать словарь + немного логики в зависимости от того что действительно нужно.

slovazap ★★★★★
()
Ответ на: комментарий от praseodim

Чтобы приемлемо работало нужно составить перечень известных имен с учетом морфологии языка (русского) и делать поиск

А это точно необходимо? С определенной погрешностью можно вытаскивать ФИО по признаку трех слов с заглавных букв подряд и проверять корректность по окончаниям отчества и фамилии. Для русских ФИО должно быть достаточно корректно. P.S. Отчество может быть вторым, или третьим, а окончание у него:

В современном русском языке имеет окончание -ович/-евич/-ич, -овна/-евна/-ична/-инична

siphonops ★★★
()
Последнее исправление: siphonops (всего исправлений: 1)
Ответ на: комментарий от praseodim

Окей, вырвем из контекста слово «Большой». Естественный интеллект может однозначно сказать, это фамилия или прилагательное?
Или оставим Большой Театр в покое и возьмём «Мороз Иванович» - где здесь что?

Имхо, текст (если его дано достаточно, конечно) нужно копать намного глубже, чем составлять какие-то перечни.

В словарях теряется контекст - чуть ли не единственная возможность понять, ФИО там было, или нет.

blexey ★★★★★
()
Ответ на: комментарий от blexey

Естественный интеллект может однозначно сказать, это фамилия или прилагательное?

Нет. Нужен словарный запас и знание языка. Папа учил немецкий и регулярно сталкивался с этой проблемой. Например читает текст, там слово «Bierfass» (пивная бочка). Он переводит всё предложение и не может понять, какое отношение ко всему предложению эта пивная бочка имеет. Потом доходило, что фамилия. (В немецком все существительные пишутся с большой буквы).

invy ★★★★★
()
Ответ на: комментарий от siphonops

В современном русском языке имеет окончание -ович/-евич/-ич, -овна/-евна/-ична/-инична

Мурзакт Имун Оглы смотрит на тебя с удивлением.

g0t0
()

Возможно, если порядок всегда будет именно таким: Ф ->1, И -> 2, О -> 3, при этом будут присутствовать все три массива, то может быть что-то получится. Иначе писать ИИ придётся.

Deleted
()

У некоторых отчества может не быть(служил со мной такой).

yacuken ★★★★
()
Ответ на: комментарий от g0t0

Такое встречается в основном у азербайджанцев, и то не всегда, да и у казахов и киргизов, и то нечасто и в иной форме (-оглы/-олы/-улы/-кызы).

olibjerd ★★★★★
()

В морфологическом словаре opencorpora.org 12 тыс. имен, 16 тыс. отчеств и 16 тыс. фамилий во всех словоформах и с указанием грамматической информации. С этим словарем работает морфологический анализатор pymorphy2

gorky ★★
()
Ответ на: комментарий от olibjerd

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

g0t0
()
Ответ на: комментарий от g0t0

Мурзакт Имун Оглы смотрит на тебя с удивлением.

Пусть он посмотрит с удивлением в свой паспорт Российской Федерации. В графе отчество он с удивлением обнаружит заветное окончание.

Разумеется, иностранные ФИО такая методика кушать не будет, но вот для отечественных может быть не хуже словаря, а то и лучше.

siphonops ★★★
()

Теоретически можно работать и без словаря, если тексты достаточно большие. Можно попробовать определять это по контекстам, там, 50 слов до, 50 слов после, цепь Маркова посередине, или по всему тексту... Впрочем, в любом случае должна быть какая-то база данных.

proud_anon ★★★★★
()
Ответ на: комментарий от gorky

В морфологическом словаре opencorpora.org

Ого чего есть! Кажется то, что надо. Спасибо!!!

praseodim ★★★★★
() автор топика
Ответ на: комментарий от siphonops

В графе отчество он с удивлением обнаружит заветное окончание.

С какого перепуга? Никто не заставит меня сменить мое имя. Не можешь произнести — твои проблемы.

Oxdeadbeef ★★★
()
Ответ на: комментарий от next_time

Об этом ты, очевидно, узнал из поста ТС, где белым по синему написано:

программа (библиотека) понимала, хотя бы как в анекдоте, что Маркс Энгельс - это два разных человека

Маркс/Энгельс - замечательные исконно русские фамилии. У меня у бабки в селе под Вологдой человек 50 с такими фамилиями.

g0t0
()
Ответ на: комментарий от Oxdeadbeef

Никто не заставит меня сменить мое имя.

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

siphonops ★★★
()
Ответ на: комментарий от anonymous

Смешно. Осталось запостить текст, в котором встречается такое словосочетание, и объяснить, зачем из такого текста нужно корректно парсить ФИО.

siphonops ★★★
()
Ответ на: комментарий от siphonops

У меня обычное имя, просто нужно уважать другие нации и не коверкать имена. Это я про паспортисток и других вахтеров.

Oxdeadbeef ★★★
()
Ответ на: комментарий от Oxdeadbeef

У меня обычное имя, просто нужно уважать другие нации и не коверкать имена. Это я про паспортисток и других вахтеров.

Так я же против. Ты расскажи, что у тебя в графе отчество в паспорте.
Что до коверканья, то во многих государствах при выдаче документов ФИО приводится к национальным стандартам. Не то чтобы это очень хорошо, но государство имеет право на такой подход к оформлению своих документов, верно?

siphonops ★★★
()
Ответ на: комментарий от siphonops

многих государствах

В каких например? Во многонациональных странах должны бы все имена быть как есть: штаты, Китай, Канада, Россия. Видел паспорта американцев разных национальностей — все имена сохранены. Так и должно быть. Если нет — можно судиться.

Oxdeadbeef ★★★
()
Ответ на: комментарий от Oxdeadbeef

В каких например?

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

Если нет — можно судиться.

Судиться всегда можно. Но не всегда результат будет своевременным.

Так и должно быть.

Не факт. Именем можно злоупотреблять, например.

siphonops ★★★
()
Ответ на: комментарий от peregrine

Потому что среди имен 8 тысяч мужские, а отчества имеют два варианта: мужское и женское. Что приводит к тому, что отчеств в два раза больше, чем мужских имен.

gorky ★★
()

Гурбангулы Мяликгулыевич Бердымухамедов

devl547 ★★★★★
()
Ответ на: комментарий от peregrine

Да. В этом морфологическом словаре мужских имён почти в два раза больше, чем женских.

gorky ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.