面向法律文书基于语句选择的证据预测方法*

2022-01-15 06:23解书贵能沛然陶晓辉
计算机与数字工程 2021年12期
关键词:法律文书语句证据

李 琳 解书贵 能沛然 陶晓辉

(1.武汉理工大学计算机与人工智能学院 武汉 430070)(2.南昆士兰大学理学院,图文巴 4350)

1 引言

对于结构清晰、表达严谨的法律文书,让机器理解法律文书并进行阅读理解,有助于提高人类工作效率。法律领域中阅读理解的目的是通过法律文书训练机器模型,使其可以根据给定的案例描述对各种问题进行回答。一个优秀的法律领域阅读理解系统可以辅助法官、律师等专业人士工作[1],也可以让老百姓方便了解到各个案件的基本情况,有着广泛的应用前景[2],如罪名预测[3]、证据预测、法律条文推荐[4]、智能庭审[5]等。本文主要研究法律领域的证据预测。

法律文书结构严谨,具有逻辑性,且表述完整,这种结构适合被用于专注于文本的自然语言处理。问答系统是自然语言处理的一个任务,其直接面向用户,针对用户提出的问题,系统给出相应的答案。而证据预测能为答案的预测提供决策支持,存在一定研究意义。

法律文书中能够对答案提供决策支持的证据一般都不超过3句,而法律文书通常有着超过20句以上句子。证据预测需要依据当前的案例描述进行推理和回答,要直接从文书的大量语句中准确的预测出少量的和答案相关的语句具有一定难度,且文书中太多的样本数据会对预测结果产生负面影响,降低证据预测准确率。

本文提出了一种面向法律文书基于语句选择的法律证据预测方法,来过滤法律判决书中众多和答案完全不相关的语句。在综合考虑问题、语句以及答案的情况下,为了提高预测准确率,本文使用一个紧密连接的编码器堆栈作为基础模型,为获取不同语句间的交互信息而设计了一个二进制交叉熵。该方法涉及到的基础模型分为训练与测试两部分。

模型的训练使用上文提到的基于BERT的基础模型。方法分为语句选择,答案预测,证据预测三个模块,均使用基础模型,不同之处在于输入和输出,并设计了不同的Loss。1)语句选择模块,输入法律判决书中的句子以及问题,过滤完全不相关的语句以降低对证据预测的的干扰。2)答案预测模块,输入法律判决书中的句子以及问题,输出问题对应的答案。3)证据预测模块,输入过滤后的句子,问题,以及答案,来预测证据。

模型的测试按照如下三个步骤:1)输入法律判决书与问题,使用基础模型,得到语句选择后的句子;2)输入法律判决书与问题,得到预测出的答案;3)使用前两步预测出的句子与答案,并结合问题,三者作为输入,使用基础模型,预测出证据。

本文使用该方法在CJRC 2020数据集中进行实验,结果来源于竞赛榜单或本研究进行的实验,均采用了未集成的单模型结果。实验结果表明,本文提出模型的证据预测的Joint F1分数达到了70.07%,其结果优于传统的文本分类模型,同时有助于证据对答案预测提供决策支持。

本文的主要贡献总结如下:

1)提出语句选择方法,避免在判决书中因无关语句分散预测模型的注意力,降低预测的质量。

2)提出分模块训练,联合测试的方法。将预测出的答案、选择后的句子、问题三者结合,从句子关系这一角度进行证据预测,提高证据预测准确率。

3)在公开的中国刑事法律文书数据集上对比主流的模型,实验结果表明本文的方法提升了证据预测任务的准确率。

本文后续结构如下:首先讨论人工智能在法律领域的研究现状及背景、阐述句子匹配问题以及BERT在匹配中的优点。接下来介绍本文的方法以及各个模块。然后给出实验数据集、评价指标和实验环境,综合讨论实验结果并进行样例分析。最后对全文工作进行总结展望。

2 相关工作

2.1 智能法律任务

早期法律领域自然语言处理基于机器学习来提高性能[5]。法律判决预测或法律阅读理解,都是将相应任务当作文本分类任务看待,研究重点在提取语义特征[6]。后来,深度学习技术被用于解决法律领域相关问题,其中Yang等在法律判决预测的工作中运用一种多视角双反馈网络进行了研究[7]。如今法律领域的应用也愈发广泛,如罪名预测[3]、证据预测、法律条文推荐[4]、智能庭审[5]等。

随着各国公开法律文书,研究人员在英语之外的语言中进行了探索。如Ahmed Elnaggar等[8]在德语法律文书的翻译、摘要、多标签分类工作中进行了研究。罗旭东等探索了神经网络在法律立法、阅读理解、推理等领域的应用。Cui等提出中文数据集CMRC2018[9]。为了进一步增加中文数据集,Cui等提出了CMRC2019数据集[10]。

机器阅读理解在法律体系中起着重要作用,在最高人民法院信息中心和中国中文信息学会的指导下,中国法研杯CAIL 2019比赛得以开展并公开了相关数据集。本文研究主要基于中国法研杯2020阅读理解任务的数据集CJRC 2020[11]。

2.2 句子关系匹配

法律领域的证据预测属于句子间关系的预测任务。句子存在匹配、矛盾、蕴含等关系。较常见的是匹配关系。匹配研究大多集中于Question &Answer和句子匹配领域,Seq2Seq和QACNN[12]这两种模型是语义匹配任务的经典模型。

证据预测的句子关系比较特殊,在现有的关系判断任务中,它没有涉及到。虽然可归类到匹配中,但不能简单地视为匹配,因为证据和问答之间考虑的是关联性,而非语义上的匹配。

本文提出的面向法律文书基于语句选择的证据预测方法,考虑到了证据和问题、答案之间的关联关系。通过计算法律文书与问题的关系,得到语句之间关联程度,实现证据预测。

2.3 证据预测

证据预测即从正文中抽取出支撑答案的语句。2018年HotpotQA数据集发布[13],其提供了证据用于支撑答案。证据预测的难度在于阅读理解的问题本身可能无法有效地提供查找证据句子的线索。Nishida K等[14]将可解释的多跳QA(Question&Answer)的证据预测看作是一个以查询为中心的摘要任务,使用RNN对问题的注意力机制来预测证据。Hai Wang等[15]通过远程监督的方式来生成不完美的标签,用它们来训练,进行证据的预测。Yilin Niu[16]等设计了一种自训练方法(STM),在迭代过程中生成证据标签来监督证据提取器,来辅助进行答案预测。

上述方法直接从文本+问题来获取证据,而本文认为过多的句子会对后续的证据预测以及答案预测产生感染,因此提出了模块化的模型,基于语句选择模块来进行证据预测。

2.4 深度自然语言模型

证据预测可以使用许多阅读理解的经典模型,如Seo等提出的BIDAF[17],微软提出的机器阅读理解模型R-Net[18]等等,这些都是学习词嵌入为主的语言模型,类似的模型还有很多。自BERT[19]模型提出以来,在包括机器阅读理解的多个NLP领域的任务中取得了最好的结果。

本文前期的实验结果表明,CAIL 2020数据集中,使用BERT进行句子级的编码在CAIL2020比赛的阅读理解任务中取得了较好的结果,因此本文使用BERT作为编码模型。

3 面向法律文书基于语句选择的证据预测方法

3.1 方法概述

本文使用基于BERT的编码器堆栈作为基础模型(Base Model),如图1所示。基础模型被用于语句选择、答案预测以及证据预测三个模块。三个模块各自的输入输出如下描述:

1)语句选择模块的输入部分A为法律文书与问题,输出B为过滤后的句子。该模块的输入详见

3.5.1 节模型训练部分的语句选择模块部分。

2)答案预测模块的输入部分A为法律文书与问题,输出B为答案。该模块的输入详见3.5.1节模型训练部分的答案预测模块部分。

3)证据预测模块的输入部分A为过滤后的语句,问题与预测的答案,输出为预测出的证据。该模块的输入详见3.5.1节模型训练部分的证据预测模块部分。

接下来对基础模型的几个主要结构进行逐一介绍。

3.2 紧密连接编码器堆栈

受到Nai等的工作的启发[20],本文使用基于BERT的紧密连接的编码器堆栈作为基础模型。其学习模型深层的语义信息和表面的语义信息,大大减少模型刚开始学习到的特征的损失。如图1下半部分的DencseEncoder Block所示,BERT不同编码层学习了语言的不同表示形式,法律文书由案件的详细内容构成,严谨的结构表明模型各层的信息特征都可能是有用的。故在语句选择模块、答案预测模块及证据预测模块,本文都使用此基础模型,来提升证据预测准确率。

图1 基础模型,用于语句选择、证据预测和答案预测这三个模块

3.3 多头自注意力层

实际上,证据和问题、答案之间有一定的关联性,包括在法律文书中,不同句子之间也有一定的关联性,探索不同语句之间的关联性对于下游的预测证据有推动作用。本文为了更全面地考虑这些关联性,关注语句之间的交互增加了一个多头自注意力层[21],公式如下:

其中Q、K、V是来自不同语句[CLS]标签的线性投影,分别表示注意力查询(query)、键(key)和值(value)。多头自注意力层关注不同语句的[CLS]标签也是为了关注语句之间的交互,让模型去学习它们之间的关联性,进而促进证据预测的工作。

3.4 二进制交叉熵损失函数

在语句选择模块中,本文采用类似阈值的思想,对数据集中不同的语句C进行排名,并且为每个语句设置分数S。将语句i得分S(Ci)根据排名进行设置,排名越高得分越高,包含答案的语句得分设为正无穷,最低分为0。为了减少计算量,本文采用了类似于计算二进制交叉熵损失的方式,首先定义每对语句i,j的标签li,j如下:

这样可以保证与问题和答案相关度更高的语句得分更高,包含答案的语句得分再高于其他语句,并且控制得分在0~1之间。二进制交叉熵的计算方式如下:

其中P(Ci,Cj)是本文模型预测出语句Ci比语句Cj相关度更高的概率。本文选择前10个语句作为文档经过语句选择模块过滤后的文档,更好地用于证据的推测。模型的其余部分与Nai等的研究相似[21]。

3.5 模型训练与测试

3.5.1 模型训练

训练时,语句选择模块、答案预测模块、证据预测模块共用一个基础模型,基础模型详细介绍见3.1节到3.4节的内容。

三个模块各自训练。接下来着重介绍语句选择模块的训练,在这里我们对模块的输入与输出做详细的介绍。答案预测模块和证据预测模块的训练与其相类似。

语句选择模块:语句选择模块的作用是过滤语句,防止无关语句分散注意力,同时可以减少训练时间,增加性能,最大化地减少传递给后续任务的无关信息。这一模块对于之后的预测支持语句的工作至关重要。

对于文档中每个语句,如图1所示,其中的In⁃put-A变 为[CLS]+问 题+[SEP]+文 档 语 句+[SEP]。将其作为输入BERT的数据,其中BERT使用基线模型。输出的[CLS]标签作为每个问题与语句对的摘要向量。Output-B变为筛选后的语句编号。

语句选择模块算法伪代码如下所示。

答案预测模块:与语句选择模块类似,输入In⁃put-A变为[CLS]+问题+[SEP]+文档语句+[SEP],输出Output-B变为预测出的答案。尽管使用语句选择模块进行证据预测已经能取得不错的效果,但依旧有提升空间,本文考虑加入另一因素,即预测出的答案,来辅助进行证据预测。

证据预测模块:证据预测模块也与语句选择模块类似,输入Input-A变为[CLS]+问题+[SEP]+文档语句+[SEP]+答案+[SEP],共同用于输入,其中问题直接来自于数据集,文档来自于语句选择模块,回答为使用答案预测模块预测的回答。输出Output-B变为预测出的证据。

在使用语句选择模块后,大量无效语句被剔除,本文认为不仅可以通过像CogQA[22]那样从问题开始对证据进行推导,还可以加入新的因素,通过答案进行倒推。与答案预测和证据预测进行联合训练不同的是,证据预测模块并不会对答案预测提供帮助,而是利用答案预测辅助推导证据。这是因为目前答案预测的准确度远超证据预测,联合训练会对答案预测任务带来负面影响。

3.5.2 模型测试

如图2所示,模型测试过程可看作上述三个模块的结合。测试数据先经过语句选择模块和答案预测模块后,得到了筛选后的语句、答案,它们再与问题一起作为证据预测模块的输入进行测试,并预测证据。

图2 测试过程中模型流程图

4 实验结果与分析

4.1 数据集与预处理

为了客观描述证据预测方法的有效性,本文使用CJRC 2020数据集进行一系列实验对比和分析,其由5054个包含证据的问答对构成,其中民事案件、刑事案件和行政案件的判决书各自约1650个,且其中所有问题均需要进行多步推理方能得出答案。

数据集的一个样例如图3所示,其中加粗部分为答案所在,下划线部分为证据所在。本文按照5∶1∶1比例划分训练集、测试集与验证集。

图3 CJRC 2020数据集的一组问答及证据

4.2 实验设置与评价指标

4.2.1 实验设置

本文在Linux服务器上进行实验,该服务器为4路E5处理器,4块TITANX GPU。由于官方基线模型有所更改,本文使用的预训练模型是Cui[10]等基于Pytorch发布的基于全词遮罩(Whole Word Masking)的中文预训练模型RoBERTa-wwm-ext,模型整体结构与RoBERTa-base完全相同。

由于条件的限制,本文将批次大小(batch size)设置为2,最大序列长度(max seq length)设置为512,通道的滑动窗口的步幅设置为128,最大问题长度设置为64,最大答案长度设置为55,在四块TITANX GPU上面以1e-6的初始学习率训练8个小时。

4.2.2 评价指标

为准确的评估模型的效果,本文对于证据预测要用到的答案预测和证据预测均采用F1和EM以及二者相结合的Joint F1和Joint EM,评价指标详细见中国法研杯CAIL 2020司法人工智能挑战赛网站。需要额外说明的是,官方基线模型基于金山Spider Net进行编写,目前Spider Net已经在Hot-PotQA榜单中登顶。由于Spider Net目前并未发表论文,本文无法对其进行介绍。

4.3 实验结果与分析

4.3.1 综合性能分析

本文在CJRC 2020数据集中进行实验,实验结果如表1所示,表中结果来源于竞赛榜单和本研究所进行的实验,均采用了未集成的单模型结果。本文模型取得了很好的效果,其中基线模型为法研杯官方所提供,基于金山Spider Net进行编写,需要额外说明的是,Spider Net目前已经在HotPotQA榜单中登顶。

表1 基于CJRC 2020数据集的实验结果(加粗为最优结果)

本文的模型较官方基线模型而言在Sup_F1指标上提高了6.53%,证明本文在证据预测部分所做的工作是有效的。其中Ans_F1部分的提高归功于答案预测模块的工作,Joint F1为二者共同考虑的结果。实验证明,与其他的模型相比,本文的模型可以更准确地进行证据的预测并取得更好的结果。

实验中,使用图神经网络进行推理并不会比采用CapsNet或ResNet2d进行分类得到明显的提升。经过分析本文发现,在问句或答案中不含有实体的文段中,图神经网络的表现显著低于本文的模型。由于本文的模型额外加入了语句选择模块,相比其他方法而言降低了无关语句对模型的干扰。本文的证据预测模块利用得到的答案辅助寻找证据,这一点也使本文的模型性能有了较大的提升。

4.3.2 样例分析

如图4所示,样例中问题为原告孙x0的伤情如何,其中原告孙x0在文中多次出现,但伤情并未以原文的形式出现在文中。正因为如此,图神经网络找到了“原告孙x0”这一个实体和“伤情”这个名词,并且通过推理在文中找到了“原告孙x0”对应的语句。但是关于“伤情”这个名词仅仅找到第6句“跌落摔伤”,并没有准确找到和“伤情”对应的第8句“左侧股骨近端粉碎性骨折”。

图4 样例分析

在文章中没有与问题对应的实体,造成证据推测出现了偏差,得出错误证据。本文采用方法为先进行答案预测,再利用答案辅助证据预测,始终可以为模型提供更合适的文段,得到了更好的效果,证明本章节提出的证据预测模块起到了相应的作用。

本文提出的答案预测模块正确地预测出了答案,并利用语句选择模块筛除了无关语句,保留了与问题最为相关或包含回答的共计10条语句,之后综合利用问题和回答进行证据的预测。本文的面向法律文书基于语句选择的证据预测方法,相较官方给出的基线模型而言得到了更为准确的结果。

5 结语

本文以法律领域阅读理解证据预测为研究任务,提出了面向法律文书基于语句选择的证据预测方法。设计了语句选择模块以去除不相关语句,并利用问题和答案共同进行证据的推断,取得了良好的效果。

在之后的研究工作中,可继续探索其它更优模型在语句选择和证据预测任务上是否有更好的效果。本文模型使用的是非端到端多模块设计方式,存在一定的弊端,当第一阶段语句选择其结果的好坏会影响到下一步骤,从而影响整个训练的结果。后续考虑面对包含较多实体的文段、多跳阅读理解任务时,从图神经网络入手,通过探索句子之间的关联性、不同实体之间的关系,来提高各个阶段的准确率。

猜你喜欢
法律文书语句证据
新时代法律文书课程教学创新有效策略研究
破解债务人“履行难”问题研究——法律文书生效后的提存探析
论法律文书的概念修正
手上的证据
家庭暴力证据搜集指南
手上的证据
突出“四个环节” 规范文书制作
我喜欢
冠词缺失与中介语句法损伤研究
作文语句实录