使用复杂构造触发器基于转移的浅语义解析方法
链接: [url]https://www.aclweb.org/anthology/D18-1196[/url]
该文介绍了表面构造标记的任务(SCL),它扩展了浅语义解析(SSP)范围,包括使用复杂构造触发帧。该文提出基于转移的表面结构标记系统DeepCx,并应用于英语标记的任务,它基于相比典型方法更为多样的构造。该文报告了相比之前标记系统的实质性提升,并提出可以扩展到现在仍旧比较难的构造以及其他有合适数据集的语义领域中去。
SCL的目标是标记句子中能表示关系含义的表层元素,但在SCL中,触发器并不仅仅是单词或词汇单元,而是语法构造的实例:带有含义的任意复杂的token集。这些构造可以由单个单词、固定大小的多词语表达、带缺口的多词语表达或语法模式组成。
任务定义
除了复杂构造的触发器,SCL任务与SSP任务相似,论元可以是不连续的和相互重叠的。在因果语言案例中,该文定义任务为再现BECAUSE语料中的核心元素:连接、原因、结果和含义跨段。将任务划分为两部分:发现因果连接、限定并标记论元、产生额外的BECAUSE为每个实例记录的元数据。每一个跨段定义为一个token集,这排除了子词汇构造。
转移系统
DeepCx的转移系统首先搜寻连接单词,一旦发现就将它与左右的单词进行比较。每一次比较时,它用将标记单词为与当前连接词不相关的方式执行一个转移作为下一个连接词(或者片段),或者是一些论元跨段的成员。一旦所有的单词做完与当前连接词的比较,系统前进到下一个可能的初始连接词。在最坏的情况下,每一个句子会有O(n2)次转移。
表2给出了转移的完整集合。转移行为发生在状态元组(λ1,λ2,a,λ3,λ4,s,A)上。a为当前可能连接点的索引。λ1为将要与a进行比较的在a左侧的单词索引列表,λ2代表a左侧已经比较过的单词。λ3和λ4 为a右侧比较过的和没有比较过的单词。这样单词在与a比较的过程中从λ1 移动到λ2 以及从λ4 移动到λ3 。s是一个布尔值,代表当前是否在句子中与a进行比较。A是部分构造的因果语言实例的集合。每一个实例包含连接词索引集合加上一个对每一论元类型的论元单词索引的集合。该文表示A为标记弧的集合,每一个弧的头a是一个因果语言实例i的连接点。弧的标记指明了尾t对于i起什么作用:原因、结果或者含义(如果t是相关论元跨段的成员),以及Frag(如果t是除了a外的连接片段)。
表2
算法从左扫描到右侧,它指派a依次到每个单词索引。如果认为a不是连接点则发出NO-CONN标志并继续向前。如果认为a是连接点的开始则使用 NEW-CONN标志初始化一个新的实例。DeepCx按从右至左的顺序比较a和它左侧的单词(从最近邻的单词开始),然后对于右侧的单词用从左到右的顺序。每一次比较后按照比较的单词是否被认为是论元的一部分、连接词的一部分或者都不是来发出 LEFT/RIGHT-ARC, CONN-FRAG, 或者NO-ARC标志。为了简化,将最左侧的连接词作为连接点,这样所有的CONN-FRAG转移发生在连接词和它的右侧之间。在所有的单词与a比较完之后(一旦λ1和λ4 为空),自动的SHIFT转移将a推进到下一个候选连接点。
初始状态为 λ1 = λ2 = λ3 = [ ], a = 1, λ4 = [w1 . .wn], s = f, and A = φ, wi为句子中第i个单词。a=n且 λ3 = λ4 = [ ]或者s为false (即没有单词留在a的右侧或者a不是连接点或者句子中所有单词已经与a比较完)时算法结束。表3是转移序列的一个例子。
表3
一些转移是有先决条件的(表2中的小字体内嵌行)。此外一些转移有次序上的限制以确保良好的语义表示。
网络结构
按照之前浅语义解析器的经验,该研究希望充分利用句法的信息,因此系统建立在 Dyer et al 的LSTM解析器基础之上,可以直接包含解析器的embedding。每一步中网络计算高维状态向量以综合内部数据结构,然后那个状态输入到k维的输出层,k是训练中可见的转移类型的数量。每一个向量元素是下一个相应转移的对数概率预测。在测试阶段,得分最高的预测行动被接受,在训练阶段执行黄金标准行动。图1显示了神经网络的结构。
图1
最终的状态和预测层
状态向量的输入为:
•h,行动的实时历史。
•d,连接点a和正在与它进行比较的token之间的依赖解析树路径。
•组成连接(o),原因(c),结果(e)和含义(m)跨段的token列表。
每一个时间步的解析器状态s由以下公式定义:
s = max {0; Ws [λ1; λ2; a; λ3; λ4;o; c; e; m; d; h] + bs}
其中,bs为偏置项,W是学习参数矩阵,其他一些参数为变量x的embedding。Max是基于component的ReLU单元。
每一个转移T的预测概率由s通过softmax单元计算得到:
[attachimg]241[/attachimg]
gT 是学习到的T的embedding, qT 是T的偏置项,z是正则化常数。
状态输入的embedding
token的embedding
按照Dyer et al. (2015),每一个token t由三个向量输入的连接表示:
• ,固定的单词embedding作为t的表面形式。
• wt, 额外的t的单词embedding,较小。它让网络学习面向任务的与因果相关的单词表示。
•pt ,LSTM解析器内部关于POS标记的embedding,预处理时指派到t。
embedding的连接经过一个线性变换V(带有偏置项bt)和一个ReLU单元:
[attachimg]242[/attachimg]
token的embedding列表
对最终状态向量的每一个输入是token的列表,为此增加一个LSTM cell到网络。
对构造下实例的跨段即连接、原因、结果和含义跨段,token的embedding列表为: 转移增加一个token到这些列表时,那个token的embedding增加到相关的LSTM输入序列中去。然后LSTM的更新输出被所有紧接着的行动所使用直到下一个转移修改跨段。
λ 的embedding过程复杂一些。当转移发生时,token可能需要在列表之间移动,即论元token在LEFT-ARC转移后从λ1移动到λ2,而且连接点token在NO-CONN标志下从λ4移动到λ1。
该文使用stack LSTM来实现这些转移。首先所有token的embedding使用逆序输入到λ4,这样最左边的token最后加入。接着当λ4的最左边token t被移动,也就是在SHIFT、NO-CONN、RIGHT-ARC或者NO-ARC-RIGHT标志下,λ4 LSTM退回到t被加之前的那一个状态。
λ1和λ2各自为λ4和λ3的镜像。token在SHIFT或NO-CONN时加入到λ1。这样λ1 LSTM以表示为到当前a的token的有序列表而结束。如果a接着被标记为连接点,在它左侧的tokens经过与它的比较从λ1移动到λ2。λ1中最右侧的token t首先进行比较,这样λ1 LSTM 回退删除t。t的embedding接着加入到λ2,使λ2成为比较的token集逆序列表。
依赖路径的embedding
连接点a和候选论元单词t之间的句法关系以依赖路径(a和t之间依赖弧线上的一系列标签)的形式输入到网络中。为embed一个依赖路径,该文再一次使用LSTM cell的输出,每一个输入是依赖标签的embedding:对一个标签x,为句法解析行动LEFT-ARC(x)或者RIGHT-ARC(x)直接使用LSTM解析器的embedding。该研究额外地增加一个bit给每一个依赖弧embedding以显示在路径中是前向的还是后向的。
行动历史的embedding
在训练中,DeepCx学习每一个行动的向量表示。为了embed行动历史,这些行动embedding被传入下一个LSTM cell中。LSTM的输出为实时的行动历史embedding。
实验及结果
由于小尺寸的语料,所有实验使用20折交叉验证,按照句子进行切分。每一次迭代,训练集和验证集重新随机组成和重新切分。训练结束于当在验证集上连接级别的F1分数达到0.999或者前5个迭代中85%的评估分数低于最接近的前一个分数。
对连接点的发现,使用准确率、召回率、和F1分数来衡量,需要连接的精确匹配。对论元识别,原因和结果(省略含义,因为在语料中很少所以较难可靠地评估)使用不同的评估标准。对每一个论元类型,使用连接/论元对的F1分数,必须精确匹配。标点符号从评估中排除。
Jaccard索引显示当不是精确匹配时,论元标签有多接近。这个标准在正性的连接上进行计算,因为重叠论元不能自动评估false positives。因此Jaccard索引不能在系统之间直接进行比较,它表示在给定前一阶段的前提下,论元识别的表现有多好,而不是一个绝对的概念。表4显示了测试的结果。
表4
结论和展望
DeepCx是为因果构造结合连接发现和论元识别的神经网络转移框架,它在解析因果结构方面有很好的表现。尽管转移系统的目标是因果语言,但它的灵活性使得它有希望扩展到其他领域。DeepCx将在表层构造标记任务中有更多的发展,包括使用更复杂的标记技术,比如双向LSTM、attention和动态数据库,但最重要的是开发方法适用的新数据和新任务。