извлечение информации на основе правил из необработанного текста - PullRequest
0 голосов
/ 29 декабря 2018

У меня есть несколько фраз из области авиационной связи, например: «Башня метро, ​​4 Delta Tango Charlie, запрос на повышение до уровня полета 350, ветер 220». В этом случае

"metro tower" = Air traffic control tower name,
"four Delta Tango Charlie" = airplane call sign ,
"requset climb to flight level 350" = type of clearance request,
"350" = flight level
"wind 220" = wind info

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

Следующая проблема - это часть "Четыре дельта танго Чарли", которая состоит из цифр и фонетического алфавита (A = Альфа, B = Браво, C = Чарли, P = папа и т. Д.).Каковы возможные способы создания словаря терминов для этого алфавита и использования словаря для извлечения позывного из необработанного текста?

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

1 Ответ

0 голосов
/ 30 декабря 2018

Классическое распознавание именованных объектов (NER) обычно является статистическим (CRF, нейронные сети) и обучается в большом аннотированном корпусе.Если у вас нет такого корпуса, вы не можете пойти по этому пути.(Более того, это в основном не именованные сущности, а просто сущности).

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

Возможно, вы захотите скомпилировать все элементы для поиска в автомате конечных состояний (см. алгоритм Aho Corasick ).Состояния могут быть токенами или просто буквами.

Стандартизация фонетического алфавита зависит от неоднозначности (это Чарли всегда C ? Или это может быть буквально Чарли в некоторых контекстах).Это можно сделать как шаг предварительной обработки, шаг постобработки или его можно скомпилировать в алгоритм поиска (используя преобразователь вместо автомата).

Возможно, вы также захотите использовать токены регулярные выражения в Stanford NLP.Или Apache Lucene.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...