Поиск ФИО или даты в тексте
Есть распознанный (разные источники, документы-чеки, на русском) текст, нужно в этом тексте находить ФИО и даты. Использование меток а-ля фио идет после слова "фио:" не всегда работает, ибо иногда искомое фио непредсказуемом месте (в комментариях к платежу, например). Поиск именованных сущностей вроде из пушки по воробьям, да еще и текст по сути набор несвязанных слов.
Тупое решение: регулярные выражения, но для имен они зло по своей сути. :)
Вообще хотелось бы использовать машинное обучение, дабы сдать как курсовик по соответствующему предмету, но как подступиться - я не понимаю. Если есть решение без машинки - тоже пригодится, задачу в любом случае надо решить. Даты по наличию года находить получается, но с ними наверное ML проще чем с ФИО применить.
Ответы (1 шт):
Скорее всего с регулярками будет проще сделать. Либо с NER, например из библиотеки Natasha. Когда вы осознаете все сложности, с которыми вам придётся столкнуться при попытке решения этой задачи методами машинного обучения, вы поймёте, что это как-раз машинное обучение тут "из пушки по воробьям", а не наоборот.
Если машинное обучение использовать нужно принципиально, то вам придётся:
- придумать какие-то фичи, которые позволили бы алгоритму ML отделить ФИО от других сущностей; придумывание фич - это отдельное искусство, там может быть что угодно - длина слова, длина предыдущего слова, наличие большой первой буквы в слове, ну там полно всего придётся придумать
- разметить данные !!!! т.е. вручную прописать, что тут - фио, а тут - не фио, это очень нудная и кропотливая работа
- гонять получившиеся данные разными алгоритмами ML, допридумывать фичи, доразмечать данные...
Это долгий и сложный процесс. Но интересный, конечно.