张 青,王肖霞,孙豫峰,杨风暴
(中北大学 信息与通信工程学院,山西 太原 030051)
法条的自动推送方法研究大多数采用神经语言模型对法律案件进行训练,获取案件的语义信息,再进行特征提取获取更加抽象的文本特征信息,进而实现法条的自动推送。目前应用于法律领域的神经语言模型是在通用领域进行训练,法条自动推送作为新兴起的研究任务,暂时还没有专门为法律领域训练的神经语言模型。同时法律领域较通用领域而言,法律案件文本内容更加复杂且法律专业术语偏多,专业术语特征信息能够帮助模型理解法律案件,因此,寻找合适的神经语言模型与特征提取模型来获取有效的案件语义信息与特征信息成为本文的主要研究内容。
本文针对公益诉讼案件内容复杂难以理解,专业术语特征信息难以有效提取等问题,提出了基于BBCAL(BERT-BiLSTM-CNN-Attention based on law)模型的法条自动推送方法。该模型通过解决法律案件的两大问题来提升法条自动推送能力。一是针对法律案件较其它文本而言内容复杂难以理解的问题,通过BERT模型来获取法律案件词向量,引入BiLSTM模型来建立长序列信息,挖掘词向量更深层次的含义。二是针对法律案件专业术语偏多难以有效提取的问题,引入CNN模型,构造不同的卷积核尺寸来捕获不同粒度专业术语的特征信息,获取法律文本的专业术语特征信息,再结合注意力机制(Attention),来获得与当前任务最相关的特征,进而提高法条自动推送效果,最后输入分类层实现法条的自动推送。
目前大部分法条的自动推送智能化研究[1-3]是采用文本分类[4,5]技术来实现,基于深度学习[6,7]的方法可以自动提取文本的语义信息,能够节省时间,弥补了由于人为失误而造成语义信息提取不完善的缺点。Li等[8]构造了卷积神经网络(convolutional neural networks,CNN)应用于法律文本分类任务中,通过CNN模型获取文本的局部特征信息来提高文本分类精度。但是CNN模型需要提前设置卷积尺寸的大小,以至于无法建模更长的序列信息,忽略了文本上下文关系。为解决这类问题,黄等[9]将BiLSTM模型引入分类任务当中,采用前向LSTM与后向LSTM对文本进行双向编码建模长序列信息,进而捕获法律文本的上下文关系。但是BiLSTM模型并不适合单独进行分类任务,因为在训练过程中模型会丢弃一些在某些情况下可能有用的信息,无法聚焦文本局部特征问题。Li等[10]提出联合LSTM与CNN模型的优势,提取文本的局部特征信息以及上下文信息,结果表明其在分类任务上有较好的效果。但是CNN-BiLSTM模型将不同特征在一起进行编码,有可能忽略了文本重要特征,注重于次级特征。Xiao等[11]提出了在BiLSTM与CNN模型中引入Attention[12],对重要的特征信息赋予更高的权重,进而提高分类的效果。
在以上的方法中,模型的输入为初始化的文本词向量,未能考虑文本中上下文的联系。为了使语义信息的提取能够达到理想的效果,该模型在训练过程中会浪费大量时间,而且需要补充广泛的语料库进行嵌入学习,只有当语料库内容足够充足时才能达到理想的状态。
Google AI提出一种基于深度学习的BERT[13](bidirectional encoder representations from transformers)语言预训练模型。BERT模型生成的向量能够由周围的单词进行动态通知,能够更高效处理一词多义的问题,而且该向量表示还包含了其它形式的重要信息,这些信息产生更精确的特征表示,捕获大量的语义信息。Sun等[14]采用BERT模型来获取文本的语义信息,再进行微调应用于分类任务中。杨[15]融合BERT、CNN与Attention模型进行罪名与法条的预测,通过BERT模型获取法律文本的语义信息,再通过Attention对重要的语义信息赋予更高的权重,最后利用CNN模型提取法律案件的局部特征信息,在一定程度上提高了法条预测效果,但是该方法也忽略文本的长序列信息。
在公益诉讼案件的法条自动推送任务中,为了能够更好捕获法律案件中的语义信息,以及有效提取法律案件中专业术语特征信息,提出了一种基于BBCAL模型的法条自动推送方法。该方法主要由4个部分组成,分别为预处理、BERT预训练、BiLSTM-CNN-Attention以及输出部分,整体流程如图1所示。
图1 BBCAL模型
公益诉讼案件文本包含了多方面内容,如违法事实、行政部门不作为、损害后果、涉及的法律法规等,因此需要对文本进行预处理,提取模型所需要的内容。筛选其中的违法事实与涉及的相关法条,根据筛选出的法条建立一个法律法规字典,每一个法条对应一个索引,最后将筛选的违法事实作为文本的内容,涉及的法律法规索引作为标签,标记后的文本见表1,将其作为BERT预训练模型的输入。
BERT使用Transformer作为算法的主要框架,它能更彻底捕捉语句中的双向关系,获取法律案件中丰富的语义信息。BERT主要包括文本嵌入模块和特征提取模块。
2.2.1 文本嵌入模块
BERT预训练模型中文本嵌入模块包含了MASK掩盖语句(MLM)和预测下一段语句(NSP)两项任务。MLM任务可以用来训练获得语句的双向特征,即在文本的每个句子中用[MASK]来随机遮蔽15%的词,然后让模型预测被遮蔽的词。其中,并不是每个句子中都用[MASK]去随机遮蔽,而是有80%的概率去遮蔽,10%的概率用其它的词代替,10%的概率保持不变。NSP任务可以
表1 标记后的文本
用来捕捉两个句子的联系,目的是预测下一个句子是否与当前句子有关。
公益诉讼案件文本嵌入过程如图2所示,将标记后的文本输入到模型中,进行Token嵌入(Token Embeddings)、句子嵌入(Segment Embeddings)与位置嵌入(Position Embeddings),该3种嵌入表示再次进行处理后得出最终的文本嵌入表示,其中[CLS]和[SEP]分别为开始标志与结束标志。记文本嵌入表示为Vi,其计算如式(1)所示
Vi=TiWt+SiWs+PiWp
(1)
式中:Ti,Si,Pi分别为字符编码、分割编码、位置编码,Wt,Ws,Wp为可调参数。
2.2.2 特征提取模块
特征提取模块采用Transformer框架为基础进行构建,利用多个Transformer堆叠对文本向量进行深层次编码,原理如图3所示,其中Vi为文本嵌入表示,Qi为经过Transformer特征提取后的输出。
Transformer中采用编码器-解码器架构,由多个编码(encoder)层与解码(decoder)层构成。在每一个encoder层首先使用自注意力机制(self-attention)结构进行数据处理,可以使当前节点不仅能关注当前的词,也能注意到周围词的影响,从而获取具有上下文联系的语义信息,然后在将处理后的数据输入前馈神经网络中进行前向传播。而每个子层后都引入了残差连接与归一化算法来解决深层网络中出现的梯度消散问题。decoder层由3个子层组成,同样包含了encoder层中的二个子层,不同的是在二个子层之间引入了Attention层,来帮助节点获取当前需要关注的重点特征信息。文本的嵌入表示输入到encoder层,多头自注意力机制处理完数据后输入前馈神经网络中进行并行计算,继续输入到下一个encoder层,再重复以上的计算。encoder层的内部原理如图4所示。
图4 encoder层内部原理
(1)多头自注意力机制
多头自注意力机制其结构由多个自注意力机制连接而成,其中每一个自注意力机制内部结构均相同。其内部原理结构如图5所示。
图5 自注意力机制原理
图5中,该机制通过输入表示初始化3个向量,即Query(q)、Key(k)和Value(v),其中q表示对字嵌入乘以一个权重矩阵、k用以表示周围各个字的向量特征信息、v表示目标字的上下文关系信息,再通过学习获得最适合的向量。记自注意力机制的输入为 {I1,I2,…,IN}, 首先对其初始化3个向量矩阵,q与k计算单词之间的相似性,然后再与v进行点乘运算后得出注意力分数,记该机制的最终输出结果为Zi,计算公式如下所示
qi=linear(Ii)=IiWiq
(2)
ki=linear(Ii)=IiWik
(3)
vi=linear(Ii)=IiWiv
(4)
(5)
其中,Ii为输入的向量,Wiq,Wik,Wiv为可训练的参数。
BERT语言模型由于引入了多头自注意力机制结构,使其无法对向量进行后续的处理。这是因为前馈神经网络每次只能处理一个输入向量,无法处理由多个自注意力机制产生的多个输出,因此需要将多个输出转换成一个输出,即将多个矩阵乘以一个权重矩阵从而转换成一个输出。记该输出为M,计算如式(6)所示
M=Concat(Z1,Z2…,ZN)WP
(6)
式中:WP为可训练的权重矩阵,Concat表示对内部向量进行拼接。
(2)前馈神经网络
多头自注意力机制处理后的向量矩阵需要再执行前向传播,即需要输入前馈神经网络中进行处理,但是需要先进行残差连接与归一化操作,以解决神经网络的退化等问题,如式(7)所示
L=LayerNorm(I⊕M)
(7)
式中:⊕为残差连接,I,M分别为经过转换后的输入与输出,LayerNorm表示正则化操作。
最后使用前馈神经网络对该向量矩阵进行处理,前馈神经网络包含了线性映射与激活函数两部分,如式(8)所示
Q=linear(ReLU(linear(L)))
(8)
式中:ReLU为激活函数,linear为线性映射。
为了进一步挖掘词向量更深层次的含义以及提取专业术语特征信息,将经由BERT模型后得到的词向量表示Q输入BiLSTM-CNN-Attention模型中。首先通过BiLSTM模型来对BERT词向量双向编码,再通过设置CNN不同卷积核尺寸获取法律案件的专业术语特征信息,最后引入Attention对不同专业术语特征信息赋予不同的权重,如图6所示。
图6 BiLSTM-CNN-Attention
从目前的情况来看,行政事业单位越来越重视财务内部监督,专职会计职能逐渐向管理会计职能转变,内部控制各项制度逐渐规范。而财务体制的改革涉及财政、人事、职能、内部机构运行等方面,实际情况中,行政事业单位内部控制仍然缺乏健全的相互监督机制。因此,行政事业单位要根据实际的运营情况,对财务监督的相关机制进行完善。在完善的过程中,要对具体的监督职责进行划分,确保具体的职责落实到各个岗位以及工作人员,并在划分过程中分离不相容的岗位以及人员,避免出现一人多岗的现象,进而使财务监督的相关部门形成相互影响、相互制约的关系[2]。
(9)
经由BiLSTM模型提取了词向量更深层次的含义,但是却忽略了法律案件的专业术语特征信息,因此引入CNN模型,设置不同的卷积核提取法律案件专业术语特征信息。将BiLSTM的输出输入CNN模型当中,设置不同的卷积核,提取专业术语特征信息C, 最后采用Attention对提取的不同特征信息赋予不同的权重,得到最终的文本表示向量CAttention, 如以下公式所示
C=f(W·H+b)
(10)
CAttention=Attention(C)
(11)
其中,b为偏置项,f为非线性函数。
最终的输出为多分类任务,采用softmax函数来计算文本所属每一个类别的概率,最大的概率为预测法条的类别。计算如式(12)所示
(12)
式中:Zn为第n个值,j为预测法条数量。
这里选择交叉熵做为损失函数,如式(13)所示
(13)
式中:yc为样本值,P(Zn) 为softmax输出概率。
本文实验的环境配置见表2。
表2 实验环境配置
BERT-BiLSTM-CNN的参数设置见表3。
本实验采用精确率precision、召回率recall和F1_score作为实验结果的评价指标。公式如下所示
(14)
(15)
(16)
其中,c表示被预测为正类的测试样本中真正为正类的测试样本;m表示所有被预测为正类的测试样本(包括正确类和错误类);n表示为所有真正的正类测试样本(包括预测正确的和预测成负类)。
表3 BERT-BiLSTM-CNN参数设置
为了验证本文方法的有效性,在公益诉讼案件数据集上分别对7种神经网络模型在法条自动推送的任务上进行了实验对比,具体实验结果见表4。
表4 各模型法条自动推送结果
3.4.1 各模型结果对比
比较表4中既未经过BERT预训练也未添加Attention的CNN、BiLSTM、BiLSTM-CNN这3种模型,可以发现,CNN模型法条自动推送的结果要优于BiLSTM模型,在各个指标上均有提高,在F1_score上提高1.32%,说明了法条自动推送任务中更加依赖于法律案件中专业术语的特征信息。BiLSTM-CNN模型的分类结果在F1_score上分别比CNN与BiLSTM提高了2.07%与3.39%,表明了结合法律案件上下文联系与专业术语特征信息的分类效果更优。
比较表4中有无经过BERT预训练与Attention机制的两组模型,即CNN与BERT-CNN模型、BiLSTM与BERT-BiLSTM模型、BiLSTM-CNN与BERT-BiLSTM-CNN模型。通过比较发现,无论是哪一种模型,对文本进行BERT预训练后的分类效果都有很大程度的提升,添加了BERT预训练模型相比于未添加的模型在F1_score上分别提升了7.72%、8.18%以及7.06%,由此可以看出,经过BERT预训练后的模型能够有效获取法率案件语义信息,再经由特征提取能够很好标识法律文本,从而使得法条自动推送效果更为准确。
比较表4中有无添加Attention机制的两组模型,可以看出BiLSTM-CNN-Attention相比于BiLSTM-CNN在F1_score指标上提高了0.69%,BBCAL在F1_score上相比于BERT-BiLSTM-CNN提高了3.40%,说明了加入Attention 机制能使模型忽略句子中无关特征,去除噪声的干扰,且能够更加高效合理地注重于关键专业术语特征信息,并赋予这些关键专业术语特征信息更高的权值。
3.4.2 卷积核尺寸与数量对模型的影响
由表5可以看出,卷积核尺寸的大小会影响着提取专业术语特征信息的能力。在卷积核尺寸为[2,3,4]时,模型效果达到最优,这是因为在法律案件当中,粒度为2和4的专业术语分布最多,通过融合可以准确提取其特征信息。随着卷积核尺寸的不断增大,模型的效果不断降低,这是因为在提取特征信息时,过多的无用信息会造成干扰,无法准确有效提取专业术语特征信息,通过分析最终确定卷积核尺寸为[2,3,4]。
表5 卷积核尺寸的影响
从表6中可以看出,选取不同数量的卷积核也会影响着法条的自动推送效果。当卷积核数量为64时,模型的分类效果较低,这是因为卷积核数量较少时特征图的数量也就较少,CNN模型拟合能力不够容易欠拟合,造成分类效果下降。而卷积核数量选取过多时,不仅会增加模型训练的时间,还会造成果过拟合的问题,导致出现差异性较大的案例时法条自动推送效果不理想。当卷积核数量为128与256时,法条自动推送的效果较好,后者的卷积核数量是前者的一倍,但是F1_score只提高了0.32%,结合卷积核越多训练时间越长且容易造成过拟合,最终确定CNN模型的卷积核数量为128。
3.4.3 丢失率对模型的影响
除此之外,还进一步考虑了丢失率对法条自动推送模型的影响,丢失率可以按照一定比例随机让一部分隐层节点失效,在训练样本较少的情况之下,可以防止模型过拟合以影响文本分类效果。在BERT-CNN、BERT-BiLSTM-CNN、
表6 卷积核数量的影响
BBCAL这3种模型上进行丢失率的比较。根据以往经验,分别选取了丢失率为0.4、0.5、0.6、0.7和0.8,来进行实验结果对比。由图7所示,在3种模型当中,当丢失率为0.5与0.6时,模型能够达到理想效果。在本文方法上,当丢失率为0.5时,法条自动推送F1_score为87.53%,达到最优,说明了相比于丢失率为0.6时,丢失率为0.5可以保留更多的特征信息,因此最终确定丢失率为0.5。
图7 丢失率的影响
3.4.4 模型的收敛曲线与混淆矩阵
为了进一步的提升该模型的有效性与稳定性,分别研究了损失(loss)与精准(accuracy)收敛曲线,如图8、图9所示,图8为loss与epoch的变化曲线,图9为accuracy与epoch的变化曲线。由图8可以看出当epoch达到18之后,loss趋于稳定,模型达到收敛。而图9当中,当epoch达到15之后accuracy就开始收敛,模型趋于稳定。随着epoch的增大,训练的次数就越多,需要花费大量的时间去进行训练,甚至会出过拟合的现象,综合以上因素,最终确定epoch为15。
使用文本的方法,得到混淆矩阵,见表7。
图8 损失收敛曲线
图9 精准收敛曲线
本文面向公益诉讼法律案件,提出了一种融合案件语义信息与法律专业术语特征信息的法条自动推送模型,通过BERT模型获取法律案件的词向量表示,解决了一词多义的问题,引入BiLSTM模型来挖掘BERT模型词向量更深层次的含义,解决长期依赖问题,再输入后续模型中提取专业术语的特征信息,最后进行分类任务。研究表明,经过BiLSTM模型挖掘后的向量以及提取法律专业术语特征信息的模型在法条自动推送任务上效果更优,因为BERT将多个Transformer编码器堆叠在一起进行双向学习,再通过BiLSTM模型记忆的特点,可以更好获取复杂法律案件的上下文信息,理解复杂法律案件,而CNN模型可以有效提取不同粒度的专业术语特征信息,再通过Attention关注重要专业术语特征信息,最终提升了法条自动推送效果。
表7 混淆矩阵