APP下载

TransformerG:基于层级图结构与文本注意力机制的法律文本多跳阅读理解

2023-01-18朱斯琪王业相汤奇峰邵志清

中文信息学报 2022年11期
关键词:机器实体节点

朱斯琪,过 弋,2,3,王业相,余 军,汤奇峰,邵志清

(1. 华东理工大学 信息科学与工程学院,上海 200237;2. 大数据流通与交易技术国家工程实验室 商业智能与可视化研究中心,上海 200237;3. 上海大数据与互联网受众工程技术研究中心,上海 200072)

0 引言

近年来,随着自然语言处理技术的发展,如何更好地理解文本从而提高机器的智能化水平已经成为学者们研究的重点。机器阅读理解是让机器通过一段或多段文本来回答问题的任务,通过该方式可实现对自然语言文本的理解。机器阅读理解在搜索引擎以及法律智能等方面都有较多应用,而本文则专注于机器阅读理解对法律智能领域的应用。

近年来,随着民事、刑事和行政等裁判文书的不断公开,对司法大数据的研究也逐渐获得了人们的关注。法律机器阅读理解旨在赋予机器理解法律裁判文书的能力,通过人工智能将自然语言处理技术应用在司法领域,从而提高司法人员在案件处理环节的效率。

多跳阅读理解与传统的单跳机器阅读理解[1-5]不同,其不仅需要基于给定的文本回答问题的答案,同时也需要给定支撑回答该问题的支撑句。

目前已经公开的多跳机器阅读理解数据集包括Wikihop[6],ComplexWeb-Questions[7],HotpotQA[8]等。而在针对法律裁判文书的机器阅读理解任务中采用多跳阅读理解,是因为其支撑句选择任务的可解释性对于法律文本来说至关重要,仅仅进行答案的选择不足以满足司法人员在案件处理时对于答案的可解释性的需求。

该竞赛提供了民事、刑事、行政三种类型的裁判文书,共包含四个要素,其中,P表示需要机器阅读的篇章,Q表示数据集中提出的问题,A表示根据问题进行多步推理得到的答案,S表示模型给出答案的依据,具体形式体现为句子的编号。如表1所示,问题为“被告人郑x1被执勤民警查扣的地点”,从句子3中的信息可以看出,是被告人郑x1驾驶车辆;从句子4中的信息可以看出,被告人驾驶车辆行驶到延安市宝塔区燕沟路路段;从句子6中的信息得知,被告人被执勤民警查扣,因此该问题的答案为“延安市宝塔区燕沟路路段处”,而支撑该答案的线索句则为句子3、句子4和句子6。

目前,针对多跳机器阅读理解的方法可分为三类: ①将其当作传统的单跳机器阅读理解的任务来解决: 由于预训练模型的强大性能,使得其处理多跳机器阅读理解任务时仍可具有较好的性能。然而该方法没有考虑多跳的意义,没有在模型中添加实体之间的跳转关系。②将多跳问题转换为多个单跳问题,再按照传统机器阅读理解的方法对单跳问题依次进行回答。该方法考虑到了多跳线索之间的逻辑联系,然而将多跳问题转化为多个子问题本身也是一个全新的任务,并没有完整的标签数据,因此该方法尽管逻辑性较强,但是复杂化了任务本身。③图神经网络方法: 通过抽取文本中的实体构建实体图,通过图神经网络等模型对实体的表示进行更新。该方法具备一定的可解释性,然而若答案不是一个实体而是一个文本片段,则该类模型无法解决。

表1 Cail2020数据集样例

为了解决上述模型的不足,本文提出了Trans-formerG模型,融合了不同细粒度的实体图结构信息与文本信息的注意力机制,可同时完成答案定位和支撑句选择两个任务。

本文的贡献总结如下:

(1) 提出了TransfomerG结构,可通过注意力机制有效地融合不同细粒度的实体图结构的信息与文本信息。该模型可同时完成答案定位与支撑句选择两个任务。

(2) 针对预训练模型无法处理长文本的问题,本文提出了一种基于句子级滑动窗口的方法,有效地解决了在预训练模型中长文本截断的情况下需要从中选择出完整的支撑句的难题。

(3) 本文提出的模型在中国中文信息学会计算语言学专委会(CIPS-CL)和最高人民法院信息中心举办的“中国法研杯”司法人工智能挑战赛机器阅读理解赛道,取得了第2名的成绩,线上评测答案与支撑句的联合F1值超过基准模型17.33%。

1 相关工作

1.1 多跳机器阅读理解

目前对多跳机器阅读理解的模型主要分为以下两个方向: ①将多跳转化或当作单跳问题处理; ②采用图神经网络的方法。

Perez等[9]和Sewon等[10]将复杂的多跳问题分解为多个单跳子问题并对每个子问题用传统的机器阅读理解模型来解决。而Nishida等[11]将支撑句的抽取当作是一个基于问题的文本摘要任务,在多跳问题的每一跳更新问题的表示。Sewon等[12]、Tu等[13]、Shao等[14]以及Groenveveld等[15]则将多跳阅读理解任务当作传统的机器阅读理解问题进行处理,通过对BERT[16]或Roberta[17]等预训练模型进行微调,对答案的位置进行定位并选择支撑该答案的线索句。然而,此类方法忽略了多跳问题实体与实体之间的连接,仅通过传统的机器阅读理解模型进行答案的选择与支撑句的选择,无法很好地捕捉到实体间的跳转关系。

而采用图神经网络的方法则可以在多跳推理问题中关注到实体之间的连接与跳转关系。SAE[13]将每个句子当作一个实体构建实体图从而完成支撑句的选择任务,HGN[18]则利用不同细粒度的异构节点信息创建实体图结构,从而实现不同细粒度的任务(答案层面,句子层面,段落层面)。DFGN[19]则设计了一个融合层来动态地探究多跳问题中每一个推理步的子图。此外,通过动态掩码的方法来选择当前推理步中合适的子图。

尽管图神经网络的方法可有效地利用实体之间的跳转关系从而实现多步推理,然而问题的答案并不只是实体,有时会是文中的一个文本片段,因此仅通过图神经网络的方法无法解决全部的问题。针对此问题,本文提出了TransformerG结构,可通过注意力机制有效地融合不同细粒度的实体图结构的信息与文本信息,同时完成答案定位与支撑句选择两个任务。

1.2 往届法研杯方法

在2019年的“法研杯”机器阅读理解竞赛中,同样为给定一个问题与法律文本来回答问题,与2020年“法研杯”的任务相比缺少了支撑句选择的任务。其中,第三名的队伍通过三个不同的网络分别实现了无法回答的问题的识别、yes/no类问题的识别与片段类答案的抽取。第二名队伍通过在BERT[16]模型后添加双向LSTM[20]模型,并采用全词掩盖方式来训练模型。第一名的队伍则在BERT[16]模型后添加了文本的词性等特征并添加了Highway[21]网络和GRU[22]模型,从而获得更好的交互。

2 模型架构

本文提出模型的整体结构如图1所示,主要包含文本注意力模块与图神经网络模块。

图1 模型整体架构图

2.1 特征构建

由于本文涉及了实体图信息与文本信息的融合,因此特征构建主要包含两个方面: 实体图关系的构建与文本特征的构建。

2.1.1 实体图关系构建

法律文书与一般的文本不同,其具有用词规范,指代清晰的特点,因此对法律文书进行处理时,不需要进行指代消解的操作。这对于实体关系图的构建来说,也是非常有利的。本文共构建了五种类型的节点: 问题节点,问题的实体节点,支撑句节点,非支撑句节点,句中的实体节点,具体如图2所示。其中,Q表示问题节点,S表示句子节点,N,V分别表示从问题或句子中抽取出来的名词节点与动词节点。

图2 实体关系图构建方法

实体关系图的连接遵循以下几个规则:

(1) 问题与问题的实体添加连接;

(2) 句子与句子中相对应的实体添加连接;

(3) 相邻的句子添加连接。

以表1中的数据为例,从问题“被告人郑x1被执勤民警查扣的地点?”中通过HanLP抽取出实体“被告人”“郑x1”“执勤民警”“查扣”“地点”。因此问题节点Q,与以上5个实体节点进行连接。同理,每个句子节点与句子中抽取出相应的实体进行连接,例如,第三个句子节点可与“驾驶”“货车”实体相连。通过上述方法构建出的实体关系图如图3所示。通过此方法可得到一个m×m维的表示节点连接关系的二维矩阵,其中,m表示定义的最大节点数目,如若两个节点间有连接关系则表示为1,没有连接关系则表示为0。

图3 实体图样例

2.1.2 文本特征的构建

与SQUAD 2.0[2]相似,主办方提供的数据样例中,答案共包括三种类型: unknown,yes/no,span。其中,“unknown”类表示问题无法根据给定的文本回答;“yes/no”类表示需要判断问题是否正确;“span”类表示问题的答案是文本中的一个片段。

目前已有的处理该类问题的方法为: 构建文本特征“[CLS]问题[SEP]文本[SEP]”,然后取文本特征的第一个词“[CLS]”的编码进行分类,判断其为何种类型的答案。然而,该方法为此任务额外增加了一个分类任务,分类不准确则会直接导致答案选择不准确。因此本文的文本特征构建,将“unknown”“yes”“no”作为文本的特征直接输入到模型中,与文本一起进行答案的定位。具体的文本特征构建方法为“[Unknown][YES][NO]问题[SEP]文本[SEP]”。

此外,本文对Cail2020年主办方提供的训练数据中的文本长度进行分析,如图4所示。由于BERT模型最长仅可以处理长度为512的序列文字,而2020年的训练数据中有大量文本长度超过512。此外,本文对2019年“法研杯”数据进行了特定领域的预训练操作,而2019年的数据平均长度要大于2020年的训练数据平均长度。因此,本文为了解决预训练模型对长文本截断问题,提出了一种基于句子级滑动窗口的方法。

图4 Cail2020年训练数据文本长度分布

句子级滑动窗口的方法与传统的滑动窗口方法不同,对于该竞赛任务来说,不仅需要给定答案的开始、结束位置,还需要选择支撑该答案的线索句。因此若采用传统方法按照序列长度进行窗口滑动,则会导致一个完整的句子被截断,无法实现支撑句选择的任务。因此本文针对长文本截断问题采用了句子级滑动窗口方法,以句子为单位进行窗口滑动生成新的特征样例。如图5所示,该样本共有12个句子,然而从第9个句子开始,文本的长度就大于预训练模型所能接受的最大长度512,因此以前8个句子作为第一个窗口生成一个特征样例。然后滑动n个句子,以第4个句子到第11个句子作为第二个窗口生成第二个特征样例。如果样本的文本长度小于512,则不进行滑动窗口处理。

图5 句子级滑动窗口示例

2.2 模型结构

为了更好地进行多跳推理,融合不同细粒度的实体图结构信息与文本信息的注意力,本文提出了TransformerG结构,如图6所示。

图6 TransformerG模型

2.2.1 支撑句选择

首先将构建的文本特征“[Unknown] [Yes] [No] 问题 [SEP] 文本 [SEP]”输入到BERT模型中,得到文本表示C∈lc×h,其中,lc表示文本的最大长度,在本文中设置为预训练模型BERT可处理的最大长度512,h表示文本编码的维度。

通过2.1.1节中描述的实体关系图构建方法可以得到实体结构图Gs∈ng×ng,其中,ng表示定义的实体的最大数量,在本文实验中定义为200。通过对ng个节点对应的文本在输入文本特征中的开始、结束位置,从C中取其文本表示特征经过MaxPooling操作,获取每个节点的初始表示,从而得到节点特征Gf∈ng×h。

然后将实体结构图Gs与节点特征Gf输入到图注意力网络GAT[23]中,通过临近节点的信息对当前节点的特征进行更新表征,GAT结构定义如式(1)所示。

(1)

其中,Ni表示实体结构图Gs中与节点i具有连接关系的节点的集合,j表示节点i的相邻节点,W为节点i和节点j的共享参数,h′i∈h表示更新后节点i的特征表示。

然而在本文实验中,为了更好地得到节点i和节点j之间的推理关系,本文在计算eij时,采用了点积注意力方法来替代式(1)中的特征拼接方法,具体方法如式(2)所示。

(3)

由于ng个节点中包含了句子节点,因此对G1∈ng×h中的每个节点为维度从h映射到二维,取其中的句子节点进行softmax操作,判断其是否为支撑回答问题的线索句。尽管此任务为支撑句选择任务,然而,在定义损失函数时,本文将每个节点定义为问题节点、问题实体节点、支撑句节点、非支撑句节点、句子实体节点的分类问题,从而让模型在训练过程中不仅能学习到支撑句与非支撑句的关系,还可以学习到问题、句子和实体三种不同细粒度的节点之间的差别,损失函数定义如式(4)所示。

2.2.2 答案选择

在进行答案选择时,本文首先将BERT模型的输出结果C∈lc×h经过多头注意力层,并采用残差连接与层归一化的方法,得到C1∈lc×h。

然后,采用多头自注意力网络[25],将C1作为查询向量,将G1作为键向量与值向量,从而获取包含实体图结构信息的文本特征的表示C2∈lc×h。同样,为了防止网络深度过大而造成的梯度消失问题,采用残差连接与层归一化的方法对其进行处理,操作方法与式(3)类似,最终得到C3∈lc×h。

在训练时,损失函数定义为预测开始位置与结束位置的交叉熵损失函数,如式(5)所示。

本文将支撑句选择任务与答案选择任务同时训练,损失函数定义如式(6)所示。

3 实验与结果

本文基于中国中文信息学会计算语言学专委会和最高人民法院信息中心举办的“中国法研杯”司法人工智能挑战赛机器阅读理解赛道进行实验,训练细节与实验结果如下。

3.1 训练细节

由于2020年的训练数据较少,因此本文在2019年数据的基础上进行了特定领域的预训练,训练的epoch设置为10,学习率为3e-5;而在2020年数据的训练过程中,最大句子数量设置为59,最大实体数量设置为140,生成的图节点数量为200,滑动窗口单位设置为1。

3.2 实验结果

表2中列举了此次Cail2020机器阅读理解赛道评测的最终结果,本文提出的TransformerG结构在该竞赛中取得了第二名的成绩,与官方提供的基线系统相比,答案F1值提升了14.61,支撑句F1提升了9.37%,联合F1值提升17.33%。

表2 Cail2020阅读理解赛道最终结果

3.3 消融实验

为了更好地验证本文提出的TransformerG模型的有效性,本文对TransformerG模型进行了消融实验,针对不同层数的TransformerG结构进行不同epoch次数的实验分析,分别得到对answer_F1,sp_f1以及joint_f1结果的影响,分别如表3、表4、表5所示。其中, 所采用的基线模型为竞赛官方所提供的RoBERTa-wwm模型,TransformerG_n的n分别表示TransformerG的层数,epoch表示训练的轮数。

表3 TransformerG对answer_F1的影响

表4 TransformerG对sp_F1的影响

表5 TransformerG对joint_F1的影响

从实验结果可以看出,本文提出的TransformerG模型即便在仅有一层的情况下,性能也优于竞赛官方所提供的RoBERTa-wwm基准模型。

在模型没有得到充分训练(如epoch1,epoch2)时,随着TransformerG模型层数的增多而呈现模型性能递增的趋势。而在模型得到充分训练的前提下(如epoch3,epoch4,epoch5,…),在TransformerG层数为2时效果最优。分析原因是: 因为数据集大小的限制导致模型在2层的时候就已经得到充分的训练,再增加模型的层数则会导致模型的过拟合。

此外,本文通过实验发现,TransformerG对于答案选择性能的提升非常显著,然而对于支撑句选择任务性能提升有限。分析原因有两点: ①模型推理能力不强。由于每个段落中包含的句子很多,导致模型无法从多个句子中准确地选取多个句子作为支撑句。②支撑句数据标注存在一定人为理解误差。

4 实验分析与未来展望

4.1 实验分析

除TransformerG(以下简称为G)外,本文还提出了TransformerGO(以下简称为GO)与TransformerGC(1)以下简称为GC。。GO模型与GC模型,仅仅在G1与C1交互方式上与G模型不同,其余结构均相同。在G模型中,C1作为查询向量,G1作为键向量和值向量,而在GO模型中,G1作为查询向量,C1作为键向量和值向量。而在GC模型中,双方同时作为键向量查询对方,也同时作为键向量和值向量被对方查询。

为了评估G、GO与GC三种模型的结果,本文从训练集中拆分出20%的训练数据作为验证集,实验结果如表6所示。从表中可以看出,GC模型的效果与G和GO相比有一定提升。因此,在竞赛的第二阶段,尝试了对G、GO、GC三种模型分别进行集成得到的实验结果,如表7所示。

表6 G、GO、GC模型-验证集实验结果

表7 G、GO、GC模型-竞赛第二阶段实验结果

由于官方对提交模型的大小有一定的限制,因此GC_4层_6集成的模型没有上传成功,但本文基于表6的实验结果认为GC模型可提升模型在该任务下的性能。

4.2 未来展望

由于本文设计的TransformerG模型为在预训练好的BERT模型后添加了实体图结构与文本信息的注意力融合网络,因此本文认为可以重新针对海量的法律文本数据重新进行预训练得到一个BERT-G模型,在训练时就融合实体图信息与文本信息,模型的性能会得到更大的提升。

此外,由于数据集只是给定了答案的文本,并没有给定答案在文中具体的位置,因此,答案可能在文本中的多个位置出现,而本文目前仅将第一个出现答案的位置标记为答案的开始位置和结束位置,在接下来的工作中,可以利用数据集中给定的支撑句信息,在支撑句中选择答案所在的真正开始位置和结束位置,从而提升模型的性能。

猜你喜欢

机器实体节点
CM节点控制在船舶上的应用
机器狗
机器狗
基于AutoCAD的门窗节点图快速构建
概念格的一种并行构造算法
前海自贸区:金融服务实体
未来机器城
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”