APP下载

基于注意力交互机制的智能司法预测方法研究

2021-06-11谭红叶王加伟赵红燕

测试技术学报 2021年3期
关键词:法条罪名编码器

谭红叶,王加伟,李 茹,张 虎,赵红燕

(山西大学 计算机与信息技术学院,山西 太原 030006)

0 引 言

目前,智能司法预测受到了法律界与学术界的广泛关注,其目标是提高法律人员的工作效率,促进司法公平与公正,提升司法便民服务水平. 智能司法预测的核心任务包括自动定罪与自动量刑. 其中,自动定罪又称罪名预测,是根据给定犯罪事实预测行为人所犯罪名.

已有的罪名预测方法主要有两种:统计分析方法和文本分类方法. 统计分析方法的主要思想是从大量属于同一类罪名的历史案例中提取共同模式,然后构造相应规则与统计算法模拟真实决策过程[1,2],但这类方法很难扩展到不同罪名的案例中. 文本分类方法的主要思想是基于给定训练数据(一般由事实描述及相应罪名组成)自动学习分类模型,如:基于浅层事实文本表示的k-近邻模型[3]、 基于深度神经网络的罪名预测模型[4,5]等. 目前,主流的方法主要采用基于深度学习的方法,不仅显著提高了系统预测性能,而且不需要人工设计复杂的特征,但这类方法没有充分利用对准确定罪起重要作用的法律条文知识,而且缺乏可解释性.

现实中,法官定罪的基本原则是以事实为依据、 以法律为准绳. 其中,法律条文(简称法条)对每种罪名的定义、 刑罚种类及刑罚幅度进行了规范描述. 当犯罪事实与某一法条的罪名定义一致时,相应罪名成立.

图1 给出了“受贿罪”的相关法条与相关案例. 可以看出相应罪名定义与犯罪事实具有很强的一致性与关联性. 如:“受贿罪”的法条定义中“国家工作人员、 职务便利、 收受他人财物”分别与犯罪事实中的“村民委员会主任、 职务便利、 收受贿送”一一对应. 示例中还可看出:法条是对罪名及其特征的概括性、 区分性定义,而犯罪事实是对犯罪行为的具体描述,因此二者之间是“概括-具体”的关系. 因此,引入法条并准确建立罪名定义与犯罪事实的关联映射,是提升罪名预测的准确率与可解释性的有效途径.

图1 法条与犯罪事实对比示例Fig.1 An example of comparison between the articleand the criminal facts

本文提出一个新方法将法条融合到罪名预测模型中. 该方法主要特点为:① 通过法条与事实之间的注意力机制,计算每个事实句的权重,并保留相关事实句,以获得更好的犯罪事实表示; ② 基于事实-罪名预测与法条-罪名预测这两个预测模型构建联合学习框架,从词、 句子、 篇章3个层级准确构建了事实与法条的语义表示. 在3个基准数据集上进行了相关实验与可视化分析,结果表明,与非预训练语言模型相比,本文所提方法取得显著的性能提升; 与BERT预训练语言模型相比,该方法在准确率与可解释性方面也取得了具有竞争性的结果.

1 相关工作

罪名预测的研究已经开展了几十年. 从20世纪50年代开始,研究者们就尝试采用统计分析方法预测罪名. 他们首先分析大量历史案例,找到共同模式与规则,然后构建统计算法来模拟决策过程[1,2,6-8]; 之后,人们又提出基于分类思想利用标准的机器学习算法(如K-最近邻分类器)进行罪名预测[3,9-11]. 但这些方法大多基于浅层的法律文档表示,且训练数据通常较小,因此预测性能较差,不能有效处理复杂的法律案件.

近几年受神经网络在很多自然语言处理任务上取得实质进展的启发[12-15],研究人员尝试将罪名预测任务形式化为一个深层神经网络分类任务来解决. 如Hu等人[5]提出基于属性的注意力机制和多任务学习模型,来提升小样例易混淆罪名的预测准确率; Zhong等人[16]提出拓扑多任务学习框架,将法条、 罪名与刑期之间的依赖关系融合到统一的司法判决框架中,在所有预测子任务上取得了一定的提升; 与Zhong等人[16]类似,为了有效利用法条、 罪名与刑期多个子任务间的依赖关系,Yang等人[17]设计了一个多视角的前向预测和后向验证框架,并通过注意机制将事实描述的词语搭配特征整合到模型中,获得了所有预测任务的改进; Ye等人[18]从自然语言生成的角度,基于序列到序列模型自动生成法院意见; Zhong等人[19]针对可解释性不足的问题,提出了一种通过反复提问和回答的强化学习方法,为判断预测提供可解释的结果. 此外,也有学者尝试从基于外部知识指导的角度,引入法条等知识在预测过程中增加外部语义信息[4,20,21]. 如Luo等人[4]利用法条增强罪名预测:首先构建基于支持向量机(SVM)的法条过滤器[22],筛选出top-k相关法条,然后使用法条注意力模块选择支持度最强的法条,最后将事实和法条表示拼接起来作为罪名预测的输入; Cheng等人[20]提出了一种基于知识注意的神经网络模型,引入有关罪名的法律图式知识,并利用知识的层次表示作为区分易混淆罪名的特征; Xu等人[21]提出一种新的图形神经网络来自动学习易混淆法条之间的细微差别,并设计了一种新的注意机制,充分利用学习到的差别,从事实描述中提取区分性特征.

本文工作受文献[4]启发,但与该文献不同的是:① 文献[4]基于SVM的法条过滤器是独立于罪名预测模型训练的,因此,可能会导致额外的误差; 本文采用联合学习框架,不会引入额外误差. ② 文献[4]只是简单地将事实隐向量和法条隐向量直接拼接得到最终表达,缺乏深层次语义交互; 本文通过注意力机制,对事实与法条建立紧密的互动机制,关注事实句与法条之间的关键语义交互作用,自动调整事实句与法条之间的关联度,然后再基于关联度获得更好的事实隐表示,因此模型获得了更好的法条、 事实的语义表示. 模型在149个常见罪名(罪名种类比文献[4]多了将近3倍)的数据集上取得了更优的性能,表明本文方法更具通用性.

2 方 法

本文提出一个基于事实-法条注意力交互机制的罪名预测方法, 该方法的总体框架结构如图2 所示.

图2 模型总体框架示意图Fig.2 Framework of our model

2.1 事实编码器

本文利用注意力序列编码器对事实进行编码,如图3 所示,该编码器包含Bi-GRU (Bi-directional Gated Recurrent Units)[23]和注意力模块[14]. Bi-GRU是长短期记忆模型(LSTM)的变体[13],它通过门控机制优化参数大小,但保留了LSTM长距离依赖的有效性. 引入Bi-GRU编码器来融合事实-法条中词之间的语义上下文信息. 同时引入注意力机制自动计算和分配词的权重,从而更精确地捕捉重要显著的特征.

图3 注意力序列编码器Fig.3 Attentive sequential encoder

(1)

(2)

(3)

2.2 基于法条-罪名分类器的法条编码器

本文构建注意力交互机制的目标是希望对事实和罪名标签建立直接关联,但罪名是类别标签,通常很短,只包含稀疏或有限的语义信息. 由于法条包含对罪名的详细定义或解释,是罪名的语义扩展,因此引入法条对罪名与事实之间的相容性进行间接建模.

(4)

与事实编码器不同,法条编码器额外增加了一个法条-罪名分类器来实现法条和事实的联合表示. 由于法条是对应罪名的语义延伸,可能会带来一些噪声,从而影响语义表达的准确性. 为了减少由此产生的语义偏差,受自动编码器(Autoencoder,AE)的启发,采用一个预测器,使法条语义与其对应的罪名标签更加一致.

分类器以每个法条的嵌入ak作为输入,并执行罪名预测任务. 此外,利用基于法条的损失函数,通过反向传播对法条向量进行微调,可以使法条的隐表示更快地收敛到一个固定的精确值. 法条-罪名分类器引起的法条-罪名损失与事实-罪名损失通过线性组合,实现联合优化. 该模块在图2中以法条-罪名分类器表示.

2.3 法条-事实注意力交互机制

通常,事实描述包含多个句子,但不是每一句都对罪名预测有用,或都能映射到法条上. 因此,本文设计了一个法条-事实注意力交互机制,自动为每个事实句分配相应权重,去除不相关句子,获得更好的事实表示. 受阅读理解任务原文与问题的相互作用机制[20]的启发,我们采用相似方法来计算“句子-法条”的关联度,并将关联度作为句子重要性的衡量标准. 句子-法条对之间的相关性用式(5)来计算

(5)

该初始关联度仅仅通过事实和法条的隐层表示直接计算得到,难以根据不同上下文动态调整. 为了基于训练数据动态学习高阶关联度(软关联值),采用一层感知机网络MLP(Multi-Layer Perceptron)模块来计算软关联值,并将ReLU激活函数引入非线性,以提升模型拟合能力. 形式上,我们聚合交互特征Ii,:,其中Ii,:代表关联度矩阵I(包含了句子si与法条ak的关联值)的第i行. 软关联值αsi具体按照式(6)~式(8)计算

qi,:=ReLU(WaIi,:+ba),

(6)

ui=MaxPooling(qi,:),

(7)

(8)

式中:qi,:为句子-法条关联值的隐层表示; MaxPooling为最大池化操作,用于完成注意力权重的特征整合; 软关联值αsi可以被视作基于法条约束的第i个事实句子的语义重要程度.

2.4 训练和优化

(9)

(10)

各部分的损失计算如式(11)、 式(12)

(11)

(12)

式中:b代表每批事实输入的批大小(batch-size),c代表法条总数. 将上述两部分结合起来,得到最终的总损失函数

Ltotal=Lfact+γ·Lart,

(13)

式中:γ是法条预测损失部分的权重,具体使用Adam优化算法最小化总损失Ltotal.

3 实验及分析

3.1 数据集

本文采用近期罪名预测工作中经常使用的3个标准数据集,其中的样例来源于中国裁判文书网公开的电子文书,是Hu等人针对小样本和易混淆类罪名预测问题所构建[5]. 3个数据集分别为Criminal-S, Criminal-M和Criminal-L,主要区别在于规模不同,但均包含149个罪名. 数据集具体信息见表 1.

表 1 数据集的划分情况Tab.1 Splitting of the datasets

3.2 实现细节

犯罪事实经常包含数字特征,如:受贿金额、 毒品重量、 犯罪年龄,这些特征不能直接建模. 为提升模型扩展能力,我们构建了离散化步骤,基于这些特征的分布将其转化成类别型特征. 如毒品重量分为3类:轻、 中等、 重; 年龄分为成年、 未成年两类等.

参数设置上,使用skip-gram模型预训练词向量[24],维度设置为256. 基于法条长度的统计,将法条的输入序列长度固定为20. GRU隐状态的size设为128,设定学习率随着训练的进行逐渐衰减,初始学习率为0.001,衰减率为0.8. 使用 dropout策略避免过拟合,dropout rate设为0.5. 优化器使用AdamOptimizer[25].

使用准确率Acc.与Macro-F1(F1)来评价实验中所有方法.

3.3 结果与分析

本文与6个强基线系统进行了对比,包括文本分类模型与罪名预测模型,其中有5个是非预训练语言模型,另一个是Bert预训练语言模型[26]. 具体为:① 基于TFIDF表示的SVM分类模型[27]; ② 具有多个不同卷积与最大池化的CNN事实编码器; ③ 具有最大池化层的两层LSTM编码器; ④ Luo等人提出的罪名预测与法条抽取联合建模的Law Att. 模型[4]; ⑤ Hu等人提出的基于属性的罪名预测模型Attribute Att.[5]; ⑥ 专门为罪名预测精调后的Bert模型.

表 2 与非预训练语言模型的对比结果Tab.2 Comparison results with non pre-trained language model

表 2 给出了本文模型与5个非预训练语言模型的对比结果. 可以看出,本文所提方法在3个数据集上的Acc.与F1值均明显超过其他非预训练语言模型. 尤其是在Criminal-L数据集上,本文方法的F1值比最好的非预训练语言模型(Attribute Att.)高6%.

值得指出的是,Hu构造3个数据集的主要目标是验证模型Attribute Att.在小样本易混淆案罪名上的有效性. 尽管我们不是面向该类问题,但本文方法无论数据集规模如何,都取得了很好的结果.

从表 2 还可看出,本文方法在Criminal-S, Criminal-M, Criminal-L数据集上的F1值分别比Law Att.模型高了13.7%, 6.2%和10.7%. 正如相关工作部分所指出的,尽管Luo等人利用基于浅层文本表示的SVM模型选择top-k个相关法条,但该过程可能会引入错误并进行错误传播. 本文所提方法没有引入额外的法条抽取步骤,而是关注每个事实句与法条的关联交互. 利用这种新的法条-事实交互机制,可以产生相应的关联度矩阵赋予事实相关部分或不相关部分以相应权重,从而获得更好的隐层语义表示. 这一过程很好地模拟了真实世界中人类法官利用相关法条核实事实描述,并给出相应罪名的情况.

表 3 与BERT模型的实验结果对比Tab.3 Comparison results with BERT

表 3 显示了与BERT预训练语言模型的详细比较结果. 可以发现本文模型在Acc.上可以达到与BERT相当的结果. 但是,在Criminal-S 和 Criminal-M数据集上的 F1值与Bert相比具有明显差距. 可能的原因在于:这些不正确罪名出现次数很少; 事实与法条对相同语义的描述差别很大,具体表现为法条用词很抽象,事实用词很具体. 而本文模型不能在小样本条件下学习到准确的事实-法条语义关联.

但是,本文模型结构相对简洁,而且通过利用分层注意机制(如3.6所示)在给定的事实中选择出更富含信息量的词和句子,因此具有更好的可解释性. 此外,本文模型通过采用法条这种重要的领域知识进行决策,这些知识提供了另一种形式的可解释性.

本文的模型参数γ是法条-罪名预测损失权重惩罚因子. 通过敏感性分析,发现该参数对模型性能几乎没有影响,具体见表 4. 这表明本文模型在联合损失优化过程中具有良好的鲁棒性.

表 4 不同惩罚因子γ下获得的实验结果Tab.4 Results with different penalty factor(γ) values

3.4 消融实验

本文方法的特点是法条-事实交互机制与基于事实、 法条联合嵌入表示的预测器的融合. 设计了消融实验来验证这两个模块的有效型. 具体结果如表 5 所示,其中,w/o Joint表示删除联合表示模块(即,法条-罪名预测器),使得Lart不参与总损失最小化的优化过程. 可以观察到,删除法条-罪名预测器后,性能下降,其中F1值下降了2.8%. w/o Article表示删除了法条-事实交互机制,也就是将模型退化成了初始的Bi-GRU编码器. 发现模型性能衰退明显,F1值在Criminal-L数据集上降低了11.6%. 综上可以看出,两个模块在模型中都起到关键作用,其中事实-法条注意力交互机制对最终的预测更为重要.

表 5 消融实验结果Tab.5 Results of ablation

3.5 可视化分析

为了表明本文模型的语义表示能力,使用t-SNE算法[28]在二维平面中对事实向量进行可视化. 如图4 所示,不同数字代表不同罪名,每个点代表一个犯罪事实文本.

图4 犯罪事实表示的t-SNE 示意图Fig.4 Figure of t-SNE of criminal fact representation

可以观察到,同类罪名犯罪事实的语义表示接近,不同罪名的语义表示差异明显. “引诱、 教唆、 欺骗他人吸毒”等罪名与“走私、 贩卖、 运输、 制造毒品”等罪名的空间位置相邻,而与“过失致人死亡”罪的空间位置较远,此结果符合现实中各罪名的真实语义.

图5 给出一个被告被判挪用学校公款的案例. 其中,浅色表示事实句重要程度,深色表示词语重要程度. 可以看出,本文模型准确定位出了“利用” “便利” “挪用” “公款”等关键词及其相应句子. 从图中还可看出,通过法条-事实交互机制获得的句子权重可以引导和约束词-注意力权重.

图5 层次注意力机制的可视化示例Fig.5 Visualization of the hierarchical attentive mechanism

3.6 模型可解释性示例分析

本文模型不仅比现有的大多数方法更精确,而且在给定事实中选择的相关词和相关句子具有更好的解释能力. 如图5所示,将一个案例可视化,并给出直观的解释. 图中每一行都是一个句子(太长的句子只给出一部分示例). 其中,浅色表示句子的权重,深色表示词的权重. 由于本文引入了层次结构,可以通过句子权重来调整约束词的权重,以确保只强调重要句子中的重要词.

图5 所示为被告人挪用公款罪. 很明显,我们的模型可以捕捉到“挪用”、 “公款”及其对应的句子. 此外,含有不相关词语的句子,则不予考虑. 表明从法条-事实交互机制中获得的句子权重可以指导和抑制词的注意权重.

4 结 论

本文提出了一种新方法将法条和事实整合到罪名预测任务中. 该方法首先建立了事实与法条之间的内在交互机制,以衡量事实句与法条之间的关联度; 然后,基于事实-罪名预测与法条-罪名预测这两个预测模型构建联合学习框架,从词、 句子、 篇章3个层级准确构建了事实与法条的语义表示. 在3个基准数据集上的实验结果表明,与现有的非预训练语言模型相比,本文模型取得的效果显著提升,并取得了与预训练语言模型BERT相当的结果. 此外,可视化结果也显示了本文模型具有更好的解释性和有效性.

猜你喜欢

法条罪名编码器
基于FPGA的同步机轴角编码器
旺角暴乱,两人被判暴动罪
基于双增量码道的绝对式编码器设计
从法条的公司法到实践的公司法
从法条的公司法到实践的公司法
论民法对人身权的保护
刑法罪名群论纲*
从法条的公司法到实践的公司法
重新认识滥用职权和玩忽职守的关系*——兼论《刑法》第397条的结构与罪名
JESD204B接口协议中的8B10B编码器设计