Motivation:
在语义角色标注(SRL)的任务上,传统使用神经网络的做法是将解析树作为神经网络的输入。最近一种比较流行的做法是使用端到端的神经网络模型,直接将源句子转化为论元标签,省去生成解析树的步骤。本文采用的就是端到端的方法,将SRL任务转化为一个序列标注问题。
模型结构:
为实现SRL,从源句子到目标序列一共分为两部分:
- Highway LSTM+Softmax:输入为<句子单词,谓词>,输出为每个标签对应的概率p(yi | x)。
图1
<句子单词,谓词>中谓词取值为0或1,当单词是谓词是取值为1;否则为0。
- 在预测时使用A*算法,同时考虑一些约束信息,约束信息主要有:
- BIO约束,eg:BARG0后面不能接IARG1
- SRL约束,①每个核心角色最多出现一次;②在标记附加角色时,其基本角色已经识别出来
- 语法约束,是否使用解析器生成的语法树。
A*算法在每一步的选择由以下两项组成,即f(w,y1:t)+ g(w,y1:t):
f(w,y1:t)是从句子开头处理到t时刻的代价,也就是已经贴完标签的单词;
g(w,y1:t)是从当前时刻t到句子结束的估算成本。
错误分析:
- 模型的深度能弥补长距离依赖带来的效果损失;
- 使用SRL约束可能会修改已经标对的标签,降低效果;主要原因有的gold数据也违反SRL约束
- 介词短语标注错误是主要原因
- 输入数据包含单词是否为谓词信息时,模型的效果反而不好。
启发:
- 模型的成功之处在于用了最近提出新的方法,例如highway connections,RNN-dropouts,参数的正交初始化等;
- 本文实验分析角度多样,分析错误贡献率;