TensorFlow RNN для распознавания именованных сущностей

Я пытаюсь разработать лучшую модель для адаптации к проблеме распознавания открытых именованных сущностей (биология / химия, поэтому словаря сущностей не существует, но они должны быть идентифицированы по контексту).

В настоящее время я лучше всего предполагаю адаптировать Syntaxnet так, чтобы вместо маркировки слов как N, V, ADJ и т. Д. Он учился маркировать как BEGINNING, INSIDE, OUT (нотация IOB).

Однако я не уверен, какой из этих подходов лучший?

  • Syntaxnet
  • word2vec
  • seq2seq (я думаю, что это не тот вариант, поскольку мне нужно, чтобы он учился на двух выровненных последовательностях, тогда как seq2seq предназначен для последовательностей разной длины, как при переводе)

Был бы признателен за указатель на нужный метод! Благодарность!


person Tom    schedule 18.02.2017    source источник
comment
Syntaxnet и seq2seq будут работать. В contrib также есть линейная цепочка CRF.   -  person drpng    schedule 19.02.2017


Ответы (1)


Syntaxnet может использоваться для распознавания именованных сущностей, например см. Распознавание именованных сущностей с помощью Syntaxnet

Само по себе word2vec не очень эффективно для распознавания именованных сущностей. Я не думаю, что seq2seq обычно используется для этой задачи.

Как упоминает drpng, вы можете посмотреть tensorflow / tree / master / tensorflow / contrib / crf. Добавление LSTM перед слоем CRF может немного помочь, что дает что-то вроде:

введите описание изображения здесь

Код LSTM + CRF в TensorFlow: https://github.com/Franck-Dernoncourt/NeuroNER

person Franck Dernoncourt    schedule 19.02.2017
comment
Хорошо, большое спасибо! В конце концов, я использовал Syntaxnet. Я преобразовал свои объекты в нотацию IOB и обучил теггер POS Syntaxnet в соответствии с инструкциями здесь: github .com / tensorflow / models / tree / master / syntaxnet Сработало очень хорошо, я получил 78% - person Tom; 20.02.2017
comment
@Tom полезно знать. Для тестирования систем NER я лично использую набор данных conll2003 в качестве первой точки сравнения: он бесплатный, достаточно маленький, чтобы быть быстрым, достаточно большой, чтобы обучать ИНС, он поставляется со сценарием эволюции и хорошо изучен. - person Franck Dernoncourt; 20.02.2017