论文地址:End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF
摘要
传统改机的序列标注系统,需要大量的针对特定任务的手工特征和经过预处理的数据。在这篇文章中,作者引入了一种创新的神经网络结果,使用Bi-LSTM、CNN和CRF相结合的网络结果,使模型能够从词和字级别表示中学习和收益。作者指出他们的系统是真正意义上的端到端结果,不需要任何特征工程或者数据预处理工作,因此可以广泛应用于各种序列标注任务。该模型在PennTreebank WSJ词性标注任务和CoNLL 2003 词性标注数据集上取得优异的成绩,前者97.55%的准确率,后者取得91.21%的F1值。
简介
- 传统序列标注模型存在的问题:
- 大多数基于线性的统计语言模型
- 基于大量的人工特征
- 需要大量的外部数据,比如名称库
- 普适性差
- 近几年的序列标注模型:
尽管这些使用一些分布式表示,例如词嵌入作为输入,但是仅仅是为了增加手工特征而不是替换它;另一方面,如果这些模型完全依赖于神经嵌入,那么性能下降非常快 - 本文贡献
(i) proposing a novel neural network architecture for linguistic sequence labeling.
(ii) giving empirical evaluations of this model on benchmark data sets for two classic NLP tasks.
(iii) achieving state-of-the-art performance with this truly end-to-end system.
神经网络结构
-
第一步:CNN获取Character-level 的词表示
在这里,CNN的优点是可以高效地学习形态学特征,比如单词的前缀或者后缀、大小写等
- 第二步:Bi-directional LSTM
将第一步获得的单词表示和训练好的词向量结合起来,作为Bi-directional LSTM的输入,得到每个状态的表示。注意,BLSTM的输入和输出都过了Dropout层 -
第三步:CRF
将Bi-LSTM的输出向量作为CRF层的输入,最终预测出序列
训练
参数以及实验部分请参考论文,这里不详细解释了。最终的结果当然很棒了

总结
其实这篇论文是2016年ACL的论文,自己现在看实在太晚了,但是总结自己以前看的论文,感觉这篇文章基本上提出了一个base model,BiLSTM-CNN-CRF,以后会经常看到文章都是基于这种结果衍生的。最后自己找了一个基于Pytorch的开源代码,有详细的实现过程。 End-to-end-Sequence-Labeling-via-Bi-directional-LSTM-CNNs-CRF-Tutorial
网友评论