APP下载

融合源端句法和语义角色信息的AMR解析

2019-09-05葛东来李军辉朱慕华李寿山周国栋

中文信息学报 2019年8期
关键词:句法语义解析

葛东来,李军辉,朱慕华,李寿山,周国栋

(1. 苏州大学 计算机科学与技术学院,江苏 苏州 215006)(2. 阿里巴巴集团,浙江 杭州 311121)

0 引言

语义解析是一种将自然语言句子映射到语义表示的过程[1-7]。近年来,得益于大规模标注数据的发布,抽象意义表示(Abstract Meaning Representation,AMR)解析越来越受到研究者的关注[1]。简而言之,AMR是一种语义形式,它将句子的意义表示为单根的有向无环图,其中节点表示AMR概念,带有向标记的边表示节点之间的语义关系。

最近很多相关工作将AMR图线性序列化,进而将AMR解析视为从源端句子到目标端线性化的AMR图的翻译任务,并采用目前神经机器翻译通用的seq2seq模型[8-11]。然而,大多数相关工作都将源句表示为单词序列,没有考虑那些对AMR图的构造非常有用的源端句法和语义角色信息。此外,最近关于seq2seq模型的相关研究,比如机器翻译[12-13],表明即使是百万级的平行语料库,seq2seq模型仍然无法从中捕获深层的句法信息,更不用说规模相差甚远的AMR语料。因此,在缺乏语言知识的情况下,基于seq2seq模型的AMR解析很容易产生与输入句子的句法和语义不一致的AMR结果。

例如,图1(a)中seq2seq AMR给出了一个典型的基于seq2seq模型的AMR解析示例,该解析结果具有以下几个问题。首先,模型错误地将片段“a separatist area of Georgia”识别为两个平行的概念“country”和“area”。其次,它认为这两个概念都是概念“strike”的修饰语,这与源端句子的句法结构不一致。最后,在语义关系上,它错误地将概念“strike”视为概念“escalate”的ARG1,即受事者。这与源端句子的语义角色信息不一致,因为“airstrikes”担当谓词“escalated”的ARG0角色,即施事者。此外,我们随机选择开发集的100个句子,手工分析其AMR解析结果,发现高达76%句子的AMR解析结果中存在着与源端句子的句法或语义角色不一致的地方。

图1 基于seq2seq模型的AMR解析器的输出样例和AMR图的线性化

一般来说,源端句子的句法和语义角色信息对AMR解析是有帮助的,因为源句的句法结构与AMR图中概念之间的修饰与被修饰结构是兼容的,而源句中谓词与论元之间的修辞关系与AMR图中概念的语义关系相对应。从本质上讲,AMR图中包含了源句的句法和语义角色信息。并且相关工作已经表明,在非神经AMR解析中利用源句的句法和语义角色信息有助于提高AMR解析性能[1,14]。针对基于seq2seq模型的神经AMR解析,本文提出了一个直接而有效的融合句法和语义角色信息的AMR解析方法(1)本文使用语义角色标注结果表示源端句子的语义角色信息。,甚至不需要对seq2seq模型本身进行任何修改。在AMR标准英语数据集上的结果表明,即使对比本文基于目前在机器翻译领域取得最优性能的seq2seq基准模型,融合源端句法和语义角色信息的AMR解析仍然可以显著提高6.7%的F1值。此外,本文还进一步从多个角度深入分析源端句法和语义角色信息如何对AMR解析产生积极影响。

1 相关工作

目前AMR的解析方法大致可以分为两类: 非神经网络解析方法和神经网络解析方法。

1.1 非神经网络解析方法

在神经网络普及之前,AMR的解析方法主要分为两类。一类是基于图的方法,该方法首先进行“概念识别”来识别所有概念,然后通过最大子图连接(Maximum Spanning Connected Subgraph)算法进行关系识别,从而得到完整AMR图[15-16]。JAMR[15]是基于图解析方法的主要代表。另一类是基于语法的解析方法,它们使用依存语法、组合分类语法(CCG)或翻译语法来进行AMR解析[17-20]。例如,CAMR就是先对被解析句子进行依存解析[17],然后再对依存解析结果进行shift-reduce转换变成AMR图。在最近的研究工作中,Guo等[21]和Peng等[22]使用基于转换的模型进行AMR解析。Groschwitz等[23]则先将句子转换成AMR图的组成结构,再将其转换成AMR图。上述一些研究也曾将句法和语义角色信息应用到非神经网络解析方法中,并取得了一定的效果。本文的创新点则在于将句法和语义角色信息应用到基于神经网络的解析方法中。

1.2 神经网络解析方法

随着神经网络的兴起,AMR解析也迎来了基于神经网络解析方法的热潮。Barzdins等[8]基于seq2seq模型,将输入的字符级句子序列输出为字符级线性AMR序列。Peng[11]等则使用seq2seq模型来进行基于字级别的AMR解析,并把关注点放在数据的稀疏性问题上。Konstas等[10]使用外部资源Gigawords训练seq2seq模型来进行AMR图的解析和生成。Foland等[24]将多个不同功能的循环神经网络作为AMR解析模型的主要组件。Lyu等[25]则将对齐信息作为隐藏变量来得到AMR解析的联合概率模型。但是,他们都忽略了对AMR解析性能提升有帮助的句法和语义信息。只有Noord等[9]探索了如何将词性信息应用于AMR的神经网络解析模型中。本文则使用他的预处理和后处理脚本,将句法和语义角色信息应用到神经网络解析方法中。需要指出的是,seq2seq模型存在对AMR图简化处理的倾向,训练和解码都被简化的同时,可能也损失了信息量。

2 基准模型: 将AMR解析看作机器翻译任务

本文使用目前性能最优的seq2seq模型Transformer作为基准模型,该模型最初被用于神经机器翻译和语法分析[26]。为了使该模型适用于AMR解析任务,首先需要将AMR图经过线性化等预处理操作变为序列,将AMR解析看作是一个seq2seq任务;得到预测的AMR序列后,通过后处理把AMR序列恢复为AMR图。

2.1 序列到序列模型

本文使用Transformer[26]作为AMR解析的基准seq2seq模型。与基于循环神经网络的seq2seq模型相比,Transformer使用多头自注意力机制对序列进行编码。由于自注意力机制的计算可以并行进行,所以相对于基于循环神经网络的seq2seq模型,该模型大大加快了训练速度。

Transformer的编码器由多个相同的层堆栈组成,每层有两个子层,一个是多头自注意力机制层,另一个是全连接前馈网络层。解码器部分也由多个相同的层堆栈组成。但是解码器中每层比编码器多了一个对编码器堆的输出进行多头自注意力机制计算的子层。机器翻译和句法分析任务的实验结果表明,Transformer优于基于循环神经网络的seq2seq模型。有关详细内容,可以参阅Vaswani等的论文[26]。

2.2 预处理: AMR图到AMR序列转换

本文使用Barzdins[8]和Noord[9]等实验中的预处理方法。该方法首先将通过删除变量和wiki链接以获得简化的AMR图,即AMR树。由于AMR图中的变量仅用于指示共同引用节点,且本身不携带任何语义信息。因此,通过移除变量、删除wiki链接和复制共同引用的节点,可以将AMR图转换为AMR树;其次,将AMR树中的换行符替换为空格,从而获取AMR图的线性序列。例如,图1(b)给出了图1(a) Gold AMR图对应的AMR树以及AMR线性序列。

2.3 后处理: AMR序列恢复为AMR图

seq2seq模型的AMR解析结果仍然是一个序列,并且该序列没有变量、wiki链接和共同引用节点,甚至还可能出现括号不匹配问题,导致某些概念不完整。因此,在后处理过程中,把这样的一个序列恢复为完整的AMR图需要进行相应的后处理,主要步骤包括: 首先需要为每个概念分配唯一变量;修剪重复和冗余信息;添加wiki链接以及恢复共同引用节点;同时,修复不完整的概念。经过这些处理后,模型的解析结果序列可以恢复成完整的AMR图。

本文使用Noord[9]等实验中使用的预处理和后处理脚本(2)https://github.com/RikVN/AMR。需要注意的是,Konstas等[10]和Peng等[11]的研究中提出了其他的AMR图序列化和恢复方法,本文提出的融合源端句法和语义角色信息的方法同样也适用于他们的模型。

3 融合源端句法和语义信息

Seq2seq模型将句子视为单词序列,但是却忽略了句子的外部知识,并且不能有效地捕获单词间的固有内部结构。为了使模型能学习到源端句子的外部知识和内部结构,特别是句法和语义角色信息,本文把关注点放在了被解析句子的句法分析树和语义角色标注上,并以此提出了三种不同的解析模型,将句法结构和语义角色信息融合到源端句子的建模中。本文以图2给出的一个源端句子“It begins and ends with Romneycare”为例,详细描述如何在对源端句子建模过程中融合其句法和语义角色信息。值得注意的是,虽然句法和语义角色信息都是以树型结构表示的,但相关研究表明,通过对树型结构线性化得到序列表示,该序列表示可以看作是原树形结构的近似表示[12,27-28]。

图2 源端句子及其带语义角色标签句法树例子注: “+句法”表示融合句法标签的源端序列;“+语义角色”表示融合语义角色标签的源端序列;“+句法+语义角色”表示同时融合句法和语义角色标签的源端序列

3.1 融合源端句法信息

融合源端句法信息的基本思想是将源端句子的句法分析结果从其句法树转换为句法标签序列。虽然句法分析树的线性化存在多种方法(例如,有些包括表示句法结束边界的符号,有些则不包括[12,27-28]),但都遵守先序遍历的原则,初步实验结果表明,这些方法之间的性能差距非常小。因此,本文按照Li等[12]的方法,使用先序遍历来获得源端句法序列,该序列包括句法标签、词性标签以及单词。

如图2所示,“+句法”显示了样例句子在融合源端句法信息后的序列。这个序列将直接作为seq2seq模型的输入。

3.2 融合源端语义角色信息

语义角色标注(Semantic Role Labeling,SRL)也称为浅层语义分析。该任务以句子的谓词为中心,研究句子中各成分与谓词之间的关系,并且用语义角色来描述它们之间的关系。常见的语义角色包括施事者、受事者、时间或地点等[29]。在同一个句子中,一个谓词可能具有多个语义角色,这些语义角色通常可以映射到句法树的节点上。一个句子可包含多个谓词,在如图2所示的句法树中,节点PP(with Romneycare)担当了谓词starts和ends的ARG2角色。除语义角色标签外,本文使用标签Pre表示谓词。类似地,语义角色标签的线性化方法也存在多种方式。为方便起见,本文采用了与句法结构的线性化方法一致的策略,即在每个片段的起始位置插入语义角色标签。例如,具有两个ARG2语义角色标签的片段with Romneycare线性化为ARG2 ARG2 with Romneycare。

图2中“+语义角色”显示了例句融合源端语义角色信息之后的序列,其中Pre表示谓词。同样,新序列也将直接用作seq2seq模型的输入。

3.3 融合源端句法和语义角色信息

为了获得融合源端句法和语义角色信息的序列,本文对包含语义角色的句法树使用先序遍历以获得线性化序列。如果句法节点带有语义角色,则将语义角色标签放在句法标签之后。例如,图2中的句法节点PP同时担当了两个谓词“begins”和“ends”的ARG2语义角色,因此该节点被线性化为PP ARG2 ARG2,其中PP为句法标签,而ARG2为语义角色标签。同时,几乎所有的动词都会被标注为谓词,因此在包含融合源端句法信息的情况下,表示谓词的Pre标签与表示动词词性的标签存在信息冗余,所以在同时融合源端句法和语义角色信息的线性化中省略了谓词标签Pre。

图2中的“+句法+语义角色”即为融合了源端句法和语义角色信息之后的序列。该序列也会用作seq2seq模型的输入。

4 实验

4.1 实验设置

本文实验使用的数据集是LDC2017T10。该数据集包含若干英文句子及其对应的AMR图。与相关研究的数据划分一致,训练集、开发集和测试集分别包含36 521个、1 368个句子及1 371个句子和AMR对。为了获取源端句子的句法分析和语义角色标注结果,本文使用开源源代码工具AllenNLP[30](3)https://allennlp.org/,该工具的句法分析模型是基于PennTree Bank训练的,语义角色标注模型则是基于英文Ontonotes 5.0训练的。在进行语义角色标注时,工具会识别除了辅助动词和系动词之外的所有谓词的语义角色。融合了句法和语义角色信息之后,不可避免地会增加源端序列的长度。如表1所示,融合源端不同信息后,源端输入序列的平均长度相对于基准模型都明显增加。本文使用SMATCH系统[31]来评估AMR解析模型的性能,该系统会将模型解析生成的AMR图和正确AMR图都转换为三元组,然后进行对比,算出P(精确度)、R(召回率)、F1值。本文实验所使用的代码将在Github上开源公布。

本文使用开源代码tensor2tensor(4)https://github.com/tensorflow/tensor2tensor作为Transformer基准模型。在参数设置上, 模型编码器和解码器的层数都设置为6,多头自注意力机制(Multi-head attention)的头数设置为8,隐藏层大小设置为512,批处理大小设置为4 096,最大句子长度为512。同时模型优化使用beta1=0.1的Adam[32]算法。解码时,额外长度从默认值50增加到150,该值表示模型解码时允许生成的目标AMR图的最大长度是源端序列长度加150。其余参数则都使用该系统的默认值。

表1 源端句子的平均长度(注: 以词为单位)

4.2 实验结果

表2给出了融合源端句法和语义角色信息前、后AMR解析的性能对比,并且从实例、属性(对概念的详细描述)、关系及总体四个方面分别对模型性能进行了评估。从表2中可以看出,融合源端句法和语义角色信息能够显著提高AMR解析的性能。在总体性能上,单独融合源端句法信息和单独融合源端语义角色信息分别提高5.3和3.2个F1值。此外,在源端已经融合了句法信息的基础上,再融合源端语义角色信息能够进一步提高1.4个F1值 (从68.0提升至69.4)。这一结果表明,句法信息和语义角色信息之间存在互补和重叠。也就是说,在融合了源端句法信息之后,再向源端融合语义角色信息所获得的提高将有限。有趣的是,该现象与融合源端句法和语义角色信息的机器翻译的实验结果一致[33-34]。

表2 融合源端句法和语义角色信息的实验结果和提升值

注: “时间”表示不同模型训练一轮所花费的时间,以分钟为单位。

4.2.1 参数和训练时间

融合源端句法和语义角色信息只是使源端序列变长,但不会引入新参数。然而,模型在融合句法和语义角色信息后,由于输入序列变长,会略微增加训练时间。基于单GPU GeForce GTX 1080,如表2中“时间”列所示,基准模型完成一轮训练需要4.9分钟,而融合源端句法和语义角色信息的模型则分别花费5.5分钟和5.2分钟,训练时间分别提升1.12倍和1.06倍。最后,同时融合源端句法和语义角色信息的模型每轮则会花费6.0分钟,较基准模型仅提高1.22倍。

4.2.2 与其他系统比较

表3给出了本文模型与其他AMR解析模型的性能比较。需要注意的是,LDC2016E25和LDC2017T10是完全相同的数据集,并且采用完全一致的数据划分。而LDC2015E86与前两个数据集的开发和测试集是一样的,但是训练集大小只有它们的一半左右,由于该数据集仅对2015年AMR解析评估比赛的参与者开放,所以本文无法使用该数据集。从表3的结果中可以看出,在数据集同样是LDC2017T10的情况下,本文的“+句法+语义角色”的模型结果为69.4,优于Noord等基于字符的seq2seq模型[9]结果64.0。由于本文未使用Noord等的100k伪语料来扩充数据集,所以无法与其71.0的模型结果进行比较。当然,对于Foland等[24]、Guo等[21]和Lyu等[25]的非seq2seq模型也不进行比较。

表3 与其他模型的比较

5 实验分析

本节将从多个角度探讨为什么融合源端句法和语义角色信息可以提升AMR解析的性能。

5.1 subword技术对解析模型的影响

如前文所述,本文使用tensor2tensor源码作为Transformer基准模型,该模型使用了一种subword技术,它类似于字节对编码(byte pair encoding,BPE)技术[35-36],主要解决未登录词的翻译问题。基准模型在源端和AMR序列目标端分别使用了包含17 961和6 343个单词的词汇表。为了分析subword技术对模型性能的影响,本文重复表2中的各个实验,但不使用subword技术,本文分别从训练语料的源端和目标端抽取词频最高的前3万个单词作为其词表,其中源端词表覆盖整个训练语料的99.4%,目标端词表覆盖率为100%。所有不在词表中的单词被表示为“UNK”特殊标记符号。

表4给出了是否使用subword技术的对比实验结果。从中可以得出结论,不论是基准模型还是融合源端不同信息的模型,使用subword技术的AMR解析模型取得的性能都要明显高于不使用subword技术的AMR解析模型,这一结果表明subword技术能够有效地解决数据稀疏性问题[11]。此外,从表4中也可以看出,不使用subword技术情况下各AMR解析模型性能趋势与使用subword技术情况下的性能趋势是相似的,融合源端句法信息比融合源端语义角色信息对模型性能的提升影响更大,并且句法信息与语义角色信息之间存在着互补与重叠。最后,表4中的结果也表明不论是否使用subword技术,融合源端句法和语义角色信息都对基准模型有较大的提升。这也证实了本文方法的有效性。

表4 是否使用subword技术的实验结果对比

5.2 融合源端不同类型的句法信息

虽然融合源端句法信息的方法能显著提升AMR解析的性能,但为了探究哪种类型的句法信息对解析性能提升最为有效,本文进一步将句法成分分为三种类型,分别是词性、语义角色和词性、其他信息。

如图2句法树所示,以上三种类型的句法结点分别是: (PRP,VBZ,CC,VBZ,IN,NNP)、(NP,VBZ,VBZ,PP)和(S,VP,NP)。为了分析它们对模型性能提升的影响程度,本文在线性化句法树得到源端序列时分别仅包含以上三种不同类型句法结点。例如,针对图2中的句法树,融合“类型2”的句法节点的线性化序列结果是(NP It VBZ begins and VBZ ends PP with Romneycare.)。该序列实际上是与融合源端语义角色信息得到的序列是类似的,只不过这里使用句法标签代替语义角色标签。表5给出了融合以上三种不同类型句法成分的AMR解析结果。实验结果表明,词性信息贡献最大,占了“+句法”模型性能提升的四分之三(即4.0/5.3=75%)。

表5 融合源端不同类型句法信息的实验结果

5.3 融合源端不同设置的语义角色信息

如上所述,融合源端语义角色信息能够提高AMR解析性能。为了探究语义角色信息的详细程度对解析性能的影响,本文设计了两个额外的对比实验。

设置1将语义角色标签ARG1~ARG5统一为A-Core,ARGM-*统一为ARGM,Pre则作为所有谓词的统一标签。

设置2把所有语义角色标签统一为X。表6给出了融合以上两种不同设置的语义角色信息的实验结果。实验结果表明,模糊语义角色标签会降低模型解析性能。而且,语义角色标签越模糊,解析性能提升越不明显。这一结果也从侧面表明AMR解析模型的性能会从更高精度的语义角色标注系统中获益更多。

表6 融合源端不同语义角色信息的实验结果

5.4 句子长度的影响

为了探究句子长度对AMR解析模型性能的影响,本文将开发集按照长度将句子分成6个组,并分别计算它们在不同解析模型上的F1值。图3以折线图的形式将实验结果表示出来,从图3中可以看出,在不同长度区间上融合源端句法和语义角色信息的模型解析性能都明显优于基准模型。同时还可以看到,随着句子长度的增加,解析模型的性能急剧下降。这种现象在神经机器翻译中同样存在[12,14],因为基准模型使用的Transformer系统最初就是为神经机器翻译任务设计的。经过分析本文认为,长句解析性能差主要由以下三个原因造成的: 首先,seq2seq模型在解析较长的源端句子时,往往较早预测出目标端句子终止符,过早结束解析。这个问题在神经机器翻译的研究中曾被广泛讨论过[12,14]。其次,目标端AMR序列不仅包含概念结点,还包含结点之间的关系,导致其比源端序列长很多。以基准模型的开发集为例,源端序列和AMR端序列的平均长度分别为21和88,这会加大模型的学习难度。最后,长句的结构往往很复杂,本文对源端的句法分析结果进行分析比较,发现对于序列长度小于10的句子,中心词与其修饰词之间的平均距离为1.9。但是,对于序列长度超过50的句子,这个距离会增加到3.5,这会导致解析模型很难学到长句子的内部结构信息,产生解析错误。

图3 不同解析模型在不同长度句子上的性能

5.5 错误分析

最后,对本文提出的不同解析模型进行人工错误分析。在对正确AMR图和不同模型自动解析出的AMR图进行比较后,将错误分为以下三类。

为简单起见,这里不区分词义标记。例如,认为“set-02”与“set-01”是一致的。

(1) 概念错误: 指概念缺失、概念冗余或错误的概念。

(2) 依存关系错误: 当正确AMR图中不存在该(中心词,修饰词/属性)概念对时,此概念对属于依存关系错误(这里将不同但相似的概念视为同一概念,例如,“warfare”和“war”)。

(3) 关系错误: 当正确AMR图中不存在该(中心词,修饰词/属性,关系)的三元组时,此三元组存在关系错误。

如图4样例所示,虽然第一个例子的源端句子很短,但基准模型的解析结果与正确AMR图相比缺少了两个关键概念(即“set-02”和“develop-01”),而且还多了一个冗余概念(即“normal”)。由于存在概念错误,系统产生概念间的依存关系错误和关系错误,进一步导致解析结果很差。第二个例子的基准模型的解析结果中也存在概念错误,多出了一个概念“cause”,从而产生许多与“cause”相关的依存关系错误和关系错误。此外,还将“signal”和“crash”两个概念之间的关系错误地解析为ARG1。然而,从图4中也可以看出,融合源端句法和语义角色信息后,模型能在很大程度上避免以上这些错误的产生。

图4 AMR解析模型的输出结果注: 为节约空间,这里只标出了基准系统输出的错误

本文从开发集中随机选出100个样例以及与之相对应的基准模型和“+句法+语义角色”模型的解析结果,然后人工统计这三种错误类型的出现次数。表7给出了最后的统计结果,可以看到两种模型解析结果中的主要错误都是概念错误和关系错误,其次是依存关系错误。同时还可以看到,在融合源端句法和语义角色信息后的模型解析结果中各类错误的数量明显减少。这也再一次证实,融合源端句法和语义角色信息会明显提升AMR解析模型的性能。

表7 从开发集中随机挑选100个句子的错误分析

6 结论

本文在基于seq2seq的AMR解析模型的基础上提出了一种将句法和语义角色信息融入源端编码的有效方法。实验结果表明,使用该方法能够有效地对句法和语义角色信息编码,并且相对于基准模型提升了6.7个F1值。特别地,词性信息的加入和subword技术的使用对AMR解析模型的性能有明显提升作用。加入词性信息相较于基准模型会提升4.0个F1值,而使用subword技术的模型相对于不使用该技术的模型也会提升3.7~5.4个F1值。由于句法分析、语义角色标注和AMR解析任务之间具有很高的相关性,未来工作中,将会探索句法分析、语义角色标注和AMR解析任务之间的联合学习。

猜你喜欢

句法语义解析
真实场景水下语义分割方法及数据集
三角函数解析式中ω的几种求法
述谓结构与英语句法配置
语言与语义
句法二题
诗词联句句法梳理
睡梦解析仪
电竞初解析
批评话语分析中态度意向的邻近化语义构建
对称巧用解析妙解