Каковы способы извлечения значения ключа из неструктурированного текста? - PullRequest
0 голосов
/ 31 мая 2019

Я пытаюсь выяснить, каким образом (и какой из них лучший) извлечения значений для предопределенных ключей в неструктурированном тексте?

* +1002 * Введите:
  1. Доктор прописал мне препарат под названием фавипиравир.
  2. Его зовут Юрий.
  3. Илья уже рассказал мне об этом.
  4. Сегодня холодная погода.
  5. Я принимаю лекарство под названием називин.

Список ключей: ['наркотик', 'имя', 'погода']

Выход:

['drug = favipiravir', 'drug = nazivin', 'name = Yury', 'weather = cold']

Итак, как вы можете видеть, в 3-м предложении нет явного ключа 'name' и, следовательно, никакого извлеченного значения (я думаю, что есть разница с NER). В то же время, «лекарство» и «лекарство» являются синонимами, и мы должны рассматривать «лекарство» как ключ «лекарство» и также извлекать значение.

И следующий вопрос, что если набор ключей будет изменяемым? Должен ли я использовать в качестве базового подхода регулярных выражений из-за предопределенных ключей или есть способ реализовать его с помощью контролируемого обучения / NN? (но как в этом случае обращаться с изменяемыми ключами?)

1 Ответ

1 голос
/ 31 мая 2019

Вы можете использовать парсер, чтобы пометить подопечные. Ваша проблема похожа на распознавание именованных объектов. Во многих библиотеках есть POS-теги. Вы можете попробовать это. Обычно их обучают определять имена, местоположения и т. Д. В зависимости от типа нужных вам слов, вам может потребоваться обучить анализатор. Так что вам также понадобятся некоторые помеченные данные.
Проверьте эту ссылку: https://nlp.stanford.edu/software/CRF-NER.html

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