Named Entry Recognition & Lemmatization

Apr 21, 2013 13:55


Это грозится стать очень интересной задачкой в рамках обработки результатов парсинга текста.

Сейчас парсер весьма хорошо умеет делать NER, совмещая как табличное распознавание "известных" имен и фамилий, так и распознавание ФИО без помощи лексикона.

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

В дополнение к этому, нужно сделать еще одну полезнейшую штуку - выполнять нормализацию ФИО, стоящих не в именительном падеже. То есть, для предложения

произведения А.С.Пушкина

надо определить и использовать в дальнейшем лемматизацию:

А.С.Пушкина → А.С.Пушкин

Для некоторых ФИО будет получаться несколько альтернативных вариантов нормальной формы - все они должны быть сохранены и переданы для использования на последующих шагах.

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

Динамический словарь

Если парсер, обработав предложение "А.С.Пушкин написал много стихов", обнаружил named entry, то можно в следующее предложение передать эту информацию, чтобы в случае неоднозначного распознавания учесть имеющийся опыт. Вплоть до того, что в предложении "Пушкин - поэт" парсер распознал то же самое ФИО, просто редуцированное.

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

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

Автоматический вывод новых словарных статей

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

Алгоритмы, которые скорее всего окажутся кстати

Вероятностная модель морфологии - она умеет присваивать словам грамматические признаки, опираясь на контекст. То есть для ФИО в косвеном падеже модель покажет падеж, плюс скорее всего - грамматический род и число. Имея на руках эти признаки, а также само слова (его окончение), можно сгенерировать набор альтернативных нормальных форм.

Логический вывод и предикаты

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

текущие планы, named entry recognition

Previous post Next post
Up