AllenNLP系列文章之五:语义角色标注

     序列标注,是自然语言处理的基础工作,它广义上可以将分词、词性标注、实体识别、依存分析等NLP的基础工作都涵盖在内。序列标注问题是NLP中最常见的问题,因为绝大多数NLP问题都可以转化为序列标注问题,虽然很多NLP任务看上去大不相同,但是如果转化为序列标注问题后其实面临的都是同一个问题。所谓“语义角色标注”,它是句子分析的重要工具之一。语义角色标注(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)语义分析仍然有改进空间。

AllenNLP系列文章之五:语义角色标注

       该模型的成功有两个原因:(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.

AllenNLP系列文章之五:语义角色标注

(2) 测试句子:However, voters decided that if the stadium was such a good idea someone would build it himself, and rejected it 59% to 41%.

AllenNLP系列文章之五:语义角色标注