基于预训练语言模型的案件要素识别方法
2021-12-27刘海顺孙媛媛陈彦光张书晨林鸿飞
刘海顺,王 雷,孙媛媛,陈彦光, 张书晨,林鸿飞
(1. 大连理工大学 计算机科学与技术学院,辽宁 大连 116024;2. 辽宁省人民检察院 第三检察部,辽宁 沈阳 110033)
0 引言
2018年,司法部印发《“十三五”全国司法行政信息化发展规划》,明确提出我国到2020年全面建成智能高效的司法行政信息化体系3.0版,将大数据、人工智能、云计算、物联网等技术与司法工作进行实际融合,实现公共法律服务的便捷普惠化,实现政务管理水平的高效透明化。随着我国司法行政信息化的不断推进,智慧司法研究领域兴起并日趋火热。智慧司法包括法律阅读理解、案件要素识别、相似案例匹配和司法判决预测等任务,旨在赋予机器理解法律文本的能力,促进司法智能的发展。其中,案件要素识别的具体研究内容为,给定裁判文书中的相关段落,针对文书中每个句子进行判断,识别其中的关键案情要素。案件要素抽取的结果不仅可以为要素式裁判提供技术支持,还可以应用到案情摘要、可解释性的类案推送及相关知识推荐等司法领域的实际业务需求中。
前期研究在司法智能领域的研究工作主要集中在司法判决预测[1-3]、相似案例匹配和命名实体识别[4-5]等方面,直接针对案件要素识别的研究还相对较少,但它们在技术上具有共通性。与通用领域的自然语言处理(NLP)任务[6-7]类似,当前研究者们在智慧司法领域采用的方法多是基于神经网络的结构。具体而言,网络底层使用预训练的词向量进行词嵌入,中层采用卷积神经网络(Convolutional Neural Networks, CNN)或者循环神经网络(Recurrent Neural Network, RNN)提取特征,上层应用分类器进行分类或应用条件随机场(Conditional Random Field,CRF)进行序列标注。这种结构存在一定的缺点,一是使用的静态词向量无法处理不同语境下的一词多义问题[8],二是有监督方法的本质致使模型性能受限于标注数据集的大小。
不同于一般的多分类问题,案件要素识别是多标签分类问题,即一个样本可能同时属于0到N个类别。经统计分析,不计算负例,每个样本平均包含2.7个标签,最多可达7个,而且多个类别之间往往具有关联性。如图1所示,在离婚类案件中,若一个样本属于“限制行为能力抚养子女”类,那么该样本有较大概率同时属于“婚后有子女”类;在借贷类案件中,“有借贷证明”类多与“有书面还款协议”类一起出现。解决多标签分类问题的主流方法是将其处理为多个二分类问题[9],通过设定阈值判断样本是否属于每个类。但是这种方法明显忽略了标签之间的相关性,性能有限。
针对上述问题,本文专门就案件要素识别任务进行了研究,提出了基于预训练语言模型的案件要素多标签分类方法。预训练语言模型支持上下文有关的词嵌入,可以从庞大的无标注数据中学习丰富的语法、语义等特征表示,捕获更长距离的依赖。BERT[10]是预训练语言模型的一个基础模型,于公布之初就被应用于11项NLP任务中。结合Yang等[11]的工作,本文将BERT系列语言模型作为案件要素识别整体模型的编码器,且提出了Layer-attentive多层特征的融合策略,将长短时记忆网络(Long Short-Term Memory,LSTM)作为解码器,并对比了与基于阈值算法的多标签分类的性能差异。最后,在公开的CAIL2019“要素识别”数据集上验证了模型的性能。
1 相关工作
智慧司法研究由来已久。早在20世纪五六十年代,研究者就开始通过数学统计的方法对司法案件进行定量分析[12-13],随后在八九十年代,研究者们探索了基于规则的专家系统[14-15]。随着机器学习技术的发展,司法判决预测作为智慧司法研究的主要任务而备受关注,基于支持向量机(Support Vector Machine, SVM)的预测模型被提出来,预测对象包括罪名、案件类别和裁判日期等[16-17]。近年来,随着司法数据的公开和深度学习的发展,我国在司法判决预测方面出现了许多令人瞩目的成果。Luo等[1]通过双向门控神经单元(Bi-directional Gate Recurrent Unit, BiGRU)建模判决书文档及法条信息以进行罪名预测,CAIL2018[18]提出了第一个用于司法判决预测的大规模中文法律数据集,Zhong等[2]以CNN和LSTM为基础构建了同时预测罪名、法条和刑期的多任务学习模型,Hu等[3]通过引入司法属性研究了少数罪名的预测问题。案件要素识别是司法智能领域的新兴任务,现阶段主要被当作文本分类问题进行处理,在技术上与司法判决预测最接近。
作为案件要素识别核心技术的文本分类,近几年来,主流方法逐步从词向量加神经网络向语言模型转变。2013年开始,Word2Vec[19]以网络结构简单、易于理解、使用方便等特征成为最流行的词向量训练工具之一。随后,Kim[6]结合词向量提出了多维度并行的单层卷积神经网络,模型表现优于传统机器学习方法和早期神经网络方法。紧接着,RNN也被引入文本领域,其变体LSTM[20]以能捕获长距离信息依赖、善于编码序列信息而得到大量应用,Yang等[11]提出了基于LSTM序列生成模型的多标签文本分类算法。而后注意力机制被广泛研究[7],Lin等[21]提出Self-attentive,通过二维矩阵对序列信息进行加权。2018年,谷歌的研究人员提出了基于自注意力机制的Transformer框架[22],并以Transformer为核心组件开发出了性能强大的语言模型BERT。
BERT的预训练及微调方法被不断进行改进[23-25]。Qiao等[26]提出的BERT(MUL-Int)将每一层的[CLS]位置的编码进行加权求和,进而计算索引问题和答案文档之间的相似度。Sun等[27]基于BERT设计了更多的实验,不仅验证了每一层输出对分类结果的影响,还提出以简单平均的方式融合前四层或后四层输出。本文基于以上提到的文本分类模型进行了案件要素识别的相关实验和分析,对比了不同语言模型的性能差异,在Lin[21]、Qiao[26]和Sun[27]等人工作的基础上提出了Layer-attentive特征融合策略。就多标签文本分类而言,本文使用LSTM序列生成模型,并对比了与阈值算法的性能差异。
2 方法
图2 基于预训练语言模型的案件要素识别模型
2.1 BERT预训练语言模型
下面以BERT[10]为例介绍BERT系列的预训练语言模型。BERT预训练语言模型的全称是基于Transformer的双向编码表示(Bidirectional Encoder Representations from Transformers, BERT)。其采用Transformer网络[22]作为模型基本结构,在大规模无监督语料上通过掩蔽语言模型和句对预测两个任务进行预训练(Pre-training),得到预训练的BERT模型。再以预训练模型为基础,在下游相关NLP任务上进行模型微调(Fine-tuning)。BERT模型的结构主要由三部分构成: 输入层、编码层和任务层,其中输入层和编码层是通用的结构,对任何任务都适用。
BERT的输入层将每个词的词嵌入、位置嵌入和段嵌入相加得到每个词的输入表示。与原始Transformer不同的是,BERT模型的位置嵌入是可学习的参数,最多支持512个位置。
对于编码层,base版本包含12个编码层,large版本包含24个编码层,每一编码层的输入都是基于上一层的输出,可抽象表示如式(1)所示。
Hi=Transformer(Hi-1),0
(1)
其中,Hi∈Rm×d为BERT中第i层编码层,m为序列长度,d为隐层维度,l为编码层的总层数。
在本任务中,任务层被Attention交互层和解码器替代。
2.2 基于预训练模型的编码器
一个神经网络的不同层可以捕获不同的语法和语义信息。因为BERT包含了l(12或24)个编码层,研究表明[26-27],选择BERT后三至四个编码层的输出进行特征融合,可以增强语言模型的特征表示。本文提出了Layer-attentive,以层次级别加权的方式对后三个编码层的输出进行融合,如式(2)、式(3)所示。
其中,W1∈Rd×d,W2∈Rd×d是两个权重矩阵,用于计算Layer-attentive的加权系数Ai,将向量的表示聚焦于后三层中不同层的不同元素。SeLU[28]是非线性激活函数。本文将以上特征融合方法命名为3Lattv。
为了证明以上方法的有效性,本文还设计了其他的特征融合方法。
一是采用concat的方式对后三层的输出进行线性拼接,如式(4)所示。
H′=SeLU(Wc(H-1⊕H-2⊕H-3)+bc)
(4)
其中,Wc∈Rd×3d为concat方式的权重矩阵,bc是偏置项,“⊕”表示线性拼接。该方法命名为3Lconcat。二是在上述两种方法中改后三层为后四层,相应的方法被命名为4Lattv和4Lconcat。
2.3 注意力交互
当模型预测不同的标签时,并非所有文本词都作出相同的贡献。Attention通过关注文本序列的不同部分并聚集那些信息丰富的词的隐层表示来产生上下文向量。特别地,注意力在时间步t上将权重αti分配给第i个词,如式(5)、式(6)所示。
其中,Wa,Ua,va是权重参数,ba是偏置项,hi是序列中第i个词的编码表示,st是解码器在时间步t的隐藏状态。在时间步t传递到解码器的最终上下文向量dt的计算如式(7)所示。
(7)
其中,dt的物理意义是预测第t个标签时的解码器的输入。
2.4 基于LSTM的解码器
本文使用LSTM[20]作为多标签分类的解码器,解码器在时间步t的隐藏状态st的计算如式(8)所示。
st=LSTM(st-1,yt-1,dt-1)
(8)
其中,Wo,Wd,Ud是权重系数,bd是偏置项,σ是非线性激活函数。It是用于防止解码器预测重复标签的掩码向量,即图2中mask部分。若第i个标签在第t-1时间步被预测出来,则It的第i个分量置为负无穷,否则置为零。
最后,使用交叉熵损失函数进行训练,如式(11)所示。
(11)
其中,N为样本个数,n为标签个数,yij为实际标签,pij为预测标签。本文旨在解决案件要素识别的多标签预测问题,重点关注如何将每个样本所对应的各标签类型完整地预测出来,训练过程中多标签之间采用数据集中默认的顺序形成标签序列。
3 实验
3.1 数据集介绍
本文实验使用CAIL2019“要素识别”赛道提供的数据集(1)https://github.com/china-ai-law-challenge/CAIL2019,该数据集来自“中国裁判文书网”公开的法律文书,由专家进行标注。数据的每一条由一个句子及其对应的要素标签组成,句子是从一篇裁判文书中的部分段落提取出来的,如图1所示。本文将其按3∶1∶1的比例划分训练集、开发集和测试集,在测试集上评价模型性能。数据集涉及三类民事案件: 劳动争议(Labor)、离婚纠纷(Divorce)和借贷纠纷(Loan),三类案件的数据各自分开,分别进行评价。每类案件各有20个要素类别,相应的类别样本数分布如图3所示。可见数据集存在严重的数据分布不均衡的问题,每个案件的要素类别样本数从101级到103级不等。数据集的样本数据量统计及在样本的文本特点分析如表1所示。另发现平均60%以上的样本没有标签,即不是案件要素;一个样本最多可有7个标签,此种情况不足0.1%;具有1到3个标签的样本在三类案件中分别占约30%、25%、37%。
图3 各要素类别的数据量分布统计图
表1 数据集的样本数量统计表
3.2 环境及参数设置
本文所有实验在如表2所示的环境下进行。对于BERT系列模型,均采用base-Chinese版本(2)https://github.com/huggingface/transformers进行微调,隐层维度d=768,序列长度m=512,编码层层数l=12,批处理大小batch_size=16,训练轮数epoch=3,学习率α=4e-5。对于BiLSTM模型,设置隐层维度hidden_size=256,序列长度m=256,学习率α=1e-3,批处理大小batch_size=64,训练轮数epoch=128,采用Word2Vec预训练的词向量的维度为300。
表2 实验环境
3.3 结果及分析
对于模型的表现,使用查准率P(Precision)、查全率R(Recall)和F1值作为衡量指标。具体使用宏平均查准率ma-P(Macro Precision)、宏平均查全率ma-R(Macro Recall)、宏平均F1值ma-F(MacroF1)、微平均F1值mi-F(MicroF1)、ma-F和mi-F的均值Ava(AverageF1)。
3.3.1 编码器的作用
分别采用不同的编码器模型与解码器LSTM进行组合,在三个案件的数据上均进行实验。编码器模型列表如下:
考虑环境因素的多能源系统交直流混合供能优化策略//缪妙,李勇,曹一家,王姿雅,邹尧,乔学博//(4):128
BERT(3)https://github.com/huggingface/transformers: 基础模型[10]。
CNN-thre: Kim[6]提出的卷积神经网络模型,底层使用预训练的词向量,使用多重一维卷积和最大池化提取特征。不使用解码器,输出层采用Algorithm 1所述方法。
BiLSTM: 双向LSTM[20]网络,底层使用预训练的词向量。
WWM(4)https://github.com/ymcui/Chinese-BERT-wwm: 基于Whole Word Masking训练样本生成策略训练的BERT[24]。
XLNet(5)https://github.com/ymcui/Chinese-XLNet: 基于Transformer-XL[29]训练的最优自回归语言模型[23]。
RoBERTa: 采用多种技巧及更多数据训练的BERT[25]。
表3展示了在使用解码器LSTM的情况下,不同编码器模型在三类案件数据上的实验结果。比较CNN-thre、BiLSTM和BERT三个模型,BiLSTM优于CNN-thre,BERT优于BiLSTM,但该优势对语言模型而言并不特别明显。原因是: 一方面,任务数据量达到万级,BiLSTM也能充分学习文本特征;另一方面,训练BiLSTM所依据的词向量是根据数百万份裁判文书预训练的,Word2Vec在这里起到了很大的作用。为了详细比较BiLSTM和BERT在每个类别上的分类能力,图4给出了BERT 和BiLSTM在Loan案件数据上每个要素类别的F1值。图4表明,BERT对每个类别的分类能力均高于BiLSTM,在后10个类别,BERT的性能提升比较明显。结合图3可知,Loan数据的后10个类别的样本数较前10个类别的样权数有数量级级别的差距。该结果也表明,以BERT为代表的语言模型处理小样本情况的能力较强。
表3 不同编码器模型在三类案件数据上的实验结果
图4 Loan数据上两个模型的类别F1值对比
纵向比较后四个模型,即四个BERT系列语言模型。BERT作为基础模型,性能较更先进的语言模型有一定的差距,XLNet和RoBERTa在该任务上具有最好的性能。RoBERTa比CNN-thre这一baseline模型在平均F值上,三类案件平均提升7.4%。另外,ma-F得分远低于mi-F得分,原因是数据分布极不均衡,每个类别的F1值相差很大,甚至有样本数量极少的类别的得分是0,这对ma-F影响较大,却对mi-F影响不明显。
3.3.2 解码器的作用
BERT-thre: 该方法为只使用基于BERT的编码器,不使用Attention交互和解码器,相应的任务层换为softmax分类器,最后使用阈值设定函数对模型输出的概率值进行取舍,从而预测类别,标签概率计算如式(12)所示。
p=σ(WpPooler(H)+bp)
(12)
其中,权重系数Wp∈Rd×d,σ为sigmoid激活函数,Pooler是BERT对隐层输出进行pooling操作的函数[10]。p中每个维度的数值对应每个类别的可能概率值,概率值介于[0,1]之间,仍使用二进制交叉熵损失函数进行训练。本文Algorithm 1所示算法用于为每个类别设定阈值。
由于多标签分类的特殊性,具体的P、R值只能通过两者的宏平均或者微平均来体现,表4通过比较模型在三类案件数据上的ma-P、ma-R和ma-F,具体验证解码器对P值和R值带来的提升。
Algorithm 1 类别阈值选择算法(Threshold selecting, thre)Input: 在开发集上,样本属于第i类标签的概率pi,样本在第i类的真实标签yi。Output: 第i类标签的阈值ti。1: t=arr[100],f=arr[100],s=arr[90],t[0]=0; 2: for j in 100 do3: t[j]=t[j-1]+0.01;4: if p>t[j] then5: 判断当前阈值t[j]下样本类别a^i=1;6: else7: a^i=0;8: 计算当前阈值t[j]下的类别得分f[j]=F(y^i,yi);9: j递增1;10: for k in 90 do11: 保存每个区间下的得分均值s[k]=∑9l=0f[k+l] /10;12: k递增1;13: 找到使得分最大的阈值区间z=argmax(s[z]),计算该区间的中值ti=t[z+5];14: return ti
表4 解码器与阈值算法的实验结果对比
表4中,同一案件下编码器较thre策略的主要提升体现在R值(召回率)上,尤其对Loan案件最为明显,经分析如Loan中两个要素类别“贷款人系金融机构款”和“有借贷证明”之间的线性相关系数达到了0.729,其他类别也具有明显的相关性。基于LSTM的解码器正因为捕获了这种相关性,才在预测出来一个标签的情况下能连带着把与之相关的标签也预测出来。但是,准确率增益差说明这种解码器也存在不足,标签预测过程中会出现一定的错误累积,前一个标签预测错误可能导致后一个相关的标签也预测错误,后续研究工作中将着重在这方面进行改进。RoBERTa-LSTM相对BERT-thre在宏平均F值上,三类案件平均提升3.2%。
3.3.3 Layer-attentive策略的作用
为验证多层特征融合策略对模型性能的影响,以及对比不同的融合方法,本组对比实验以原始BERT为基础模型,在此基础上分别使用3Lattv、3Lconcat、4Lattv和4Lconcat的方法进行实验,五种方法均采用基于LSTM的解码器,不同方法在三类数据上的得分如表5所示。
表5 Layer-attentive策略的作用
由表5可知,除BERT(4Lconcat)方法外,其他多层特征融合方法优于原始BERT的方法。其次,除Labor案件下三层特征融合外,Layer-attentive的方法均优于concat线性拼接的方法,最大提升可达到2.1%。分别比较BERT(4Lconcat)和BERT(3Lconcat),比较BERT(4Lattv)和BERT(3Lattv),可发现三层特征融合均优于四层特征融合。最后,对三类案件的得分进行横向比较,相同模型在三类案件上性能差异明显,主要原因是三类案件的数据量有一定差距,而且分别具有不同的要素类别体系。
3.3.4 模型案例分析
图5为BiLSTM、BERT、WWM、WWM-LSTM四种模型分别对三类案件预测结果的例子。第一个例子为Labor案件,实际标签有三个,BiLSTM模型预测出0个,BERT只能预测出其中一个,WWM可以预测出其中两个,WWM-LSTM因为其解码器能捕获LB3和LB6之间的依赖关系,可以将三个标签全部预测出来。同样的,在第二个Divorce案件示例中,WWM与BiLSTM和BERT模型相比,可以预测出部分正确标签,而WWM-LSTM可以预测出全部正确标签。以上预测结果说明: 语言模型比传统神经网络具有更强的学习能力。其中,WWM因为考虑了中文分词问题,比原始的BERT具有更强的语义解析能力。而基于LSTM的解码器能够学习到标签之间的依赖关系,更适用于本文多标签预测的任务。第三个例子是Loan案件,原本句子没有标签, BiLSTM却错误地预测出了一个标签,因为句子中含有“债权”关键字;BiLSTM只捕获了这个特征,但却缺乏对语义信息的理解,而语言模型的强大之处在于不仅能捕获浅层的语法特征,还能学习到深层的语义信息。
图5 不同模型的预测结果示例
4 结束语
本文提出了一个基于预训练语言模型的多标签分类模型,该模型可实现面向司法领域的案件要素识别。该模型主要分为编码器和解码器两大部分,两部分间通过注意力机制进行交互,其中编码器部分采用基于Layer-attentive特征增强的语言模型,解码器采用LSTM序列生成模型。实验结果表明,本文提出的案件要素识别模型相较基于循环神经网络的模型在F1值上平均提高了7.4%,比基础语言模型BERT在宏平均F1值上平均提升3.2%。本文采用的基于LSTM的多标签分类策略具有较大的性能增益,Layer-attentive的微调策略也有一定的性能提升。未来工作将研究要素标签的顺序以及要素类别的含义对要素识别结果的影响。