Внедрение двунаправленной сети LSTM-CRF

Мне нужно реализовать двунаправленную сеть LSTM со слоем CRF в конце. В частности, модель, представленная в этой статье, и обучает ее.

http://www.aclweb.org/anthology/P15-1109

Я хочу реализовать его в Python. Может ли кто-нибудь представить некоторые библиотеки или пример кода, как это можно сделать. Я посмотрел на PyBrain, но не мог этого понять.

Я также открыт для наборов инструментов на других языках программирования.

Ответы

Ответ 2

Вот реализация двунаправленной сети LSTM + CRF в TensorFlow: https://github.com/Franck-Dernoncourt/NeuroNER (работает на Linux/Mac/Windows).

Он дает самые современные результаты для наборов данных распознавания имен.

Архитектура ANN (она также использует вложения символов):

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

Как видно на TensorBoard:

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

Вы также можете визуализировать вложения слов:

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

Ответ 3

Прошло некоторое время с тех пор, как вы спросили, но теперь я бы предложил использовать анаго. Anago построен в Keras, и вы можете увидеть исходный код, если вам нужно вырезать архитектуру. https://github.com/Hironsan/anago