语义角色标注(SRL)系统的目标是恢复一个句子的谓词-论元结构,来做出基本判断:“谁对谁做了什么”,“何时”和“哪里”。
传统的最常用的解决序列标注问题的方案是最大熵、CRF等模型,尤其是CRF,基本是最主流的方法。随着深度学习的不断探索和发展,LSTM+CRF等成为解决序列标注问题的标配解决方案。
AllenNLP提供了序列标注的模型,其基本介绍如下:
Semantic Role Labeling
Semantic Role Labeling (SRL) models recover the latent predicate argument structure of a sentence. SRL builds representations that answer basic questions about sentence meaning, including "who" did "what" to “whom," etc. The AllenNLP SRL model is a reimplementation of a deep BiLSTM model (He et al, 2017). The implemented model closely matches the published model, achieving a F1 of 78.9% on English Ontonotes 5.0 dataset using the CONLL 2011/12 shared task format. These results were state of the art in 2017.
1、论文原理
论文采用了ACL 2017年论文《Deep Semantic Role Labeling: What Works and What’s Next》来实现序列标注。该论文也被称为:取得了NLP “2005 年以来首个大突破”,在准确率提升了10%。
引入了一个新的深度学习模型(如下图),显著提高了现有技术水平,同时对其优缺点进行了详细的分析。我们使用了约束译码(constrained decoding)的深度 highway BiLSTM 架构,同时考察了近来初始化和正则化的最佳做法。我们的 8 层模型在 CoNLL 2005 测试集上达到 83.2 F1,在 CoNLL 2012 测试集上达到了 83.4 F1。与以前的技术水平相比,大约减少了 10% 的相对误差率。对研究结果的实证分析表明:(1)深度模型在恢复长距离语义依存关系方面表现出色,但仍然会犯明显错误;(2)语义分析仍然有改进空间。
该模型的成功有两个原因:(1)应用训练深度循环神经网络中的最新进展,如 highway connections(Srivastava等,2015)和RNN dropout(Gal和Ghahramani,2016)(2)使用A *解码算法(Lewis 和Steedman,2014; Lee 等人,2016),以强化预测时间的结构一致性,而不增加训练过程的复杂性。
2、论文实践 AllenNLP
(1) 测试句子:The sentence has a verb.
(2) 测试句子:However, voters decided that if the stadium was such a good idea someone would build it himself, and rejected it 59% to 41%.