2017-02-18 100 views
7

我正在努力研究什么是适应开放命名实体识别问题(生物/化学,所以没有实体字典存在但它们必须由上下文识别)的最佳模型。用于命名实体识别的TensorFlow RNNs

目前我最好的猜测是修改Syntaxnet,以便代替将单词标记为N,V,ADJ等,它学习标记为BEGINNING,INSIDE,OUT(IOB符号)。

但是我不确定哪种方法最好?

  • Syntaxnet
  • word2vec
  • seq2seq(我认为这是不正确的,因为我需要它来学习两个比对的序列,而seq2seq是专为不同长度的序列中译本)

将不胜感激一个指向正确的方法!谢谢!

+1

Syntaxnet和seq2seq会工作。 contrib中还有一个线性链式CRF。 – drpng

回答

7

语法网络可用于命名实体识别,例如,请参阅:Named Entity Recognition with Syntaxnet

单独使用word2vec对名称实体识别不是很有效。我不认为seq2seq通常用于该任务。

正如drpng提到的,你可能想看看tensorflow/tree/master/tensorflow/contrib/crf。在CRF层前加入LSTM会有点帮助,这给something like

enter image description here

LSTM + CRF代码TensorFlow:https://github.com/Franck-Dernoncourt/NeuroNER

+1

非常感谢你! 最后我用了Syntaxnet。我将我的实体转换为IOB表示法,并按照以下说明训练Syntaxnet POS标记器:https://github.com/tensorflow/models/tree/master/syntaxnet 工作得很好,我得到了78% – Tom

+0

@Tom很高兴知道。对于NER系统的基准测试,我个人使用conll2003数据集作为第一个比较点:它是免费的,小到足以快速,足够大来训练人工神经网络,它带有一个进化脚本,并且已经进行了很好的研究。 –

相关问题