当前位置:首页 期刊杂志

基于法条知识的刑事类案推荐模型

时间:2024-05-04

吴欢栋

摘要:当前中国裁判文书网很难满足用户自定义案情推荐的需求,类案推荐又区别于传统的文本相似性研究,因为裁判文书具有法律专业性强、文本长度较长等特性,传统文本相似性的研究方法在法律领域的可解释性和效果通常都不尽如人意。为此,该文提出了一个基于法条知识的刑事类案推荐模型,使用预训练BERT对文书的文本序列进行编码,同时利用BiLSTM提取其上下文的法条知识特征,演化为多标签分类任务,最终输出对应的法条向量,然后通过与本地的法条向量库进行余弦相似度匹配,挑选与输出向量最相似向量对应的裁判文书作为模型的推荐结果。

关键词:裁判文书;法条知识;类案推荐;BERT-BiLSTM模型

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2022)25-0079-03

开放科学(资源服务) 标识码(OSID) :

由于存在判决年份、地域、法院层级与执法水平等诸多差异因素,导致社会上“类案不同判”的现象时有发生。为此,司法部也在逐步推进“数字法治,智慧司法”建设,上线了以中国裁判文书网为代表的一系列司法网站,急剧增长的司法案件数量导致文书网数据库的规模剧增,而文书网自带的检索系统只能提供关键字检索服务,当司法工作者或者普通用户需要搜索相似案情的判例做参考时,仍需进一步自行筛选相似文书,专业性的筛选给用户带来了极大的不便。

刑事类案推荐即从已有的裁判文书中找出与输入案情在司法角度最相似的文书,属于文本相似度的研究范畴。对于普通文本相似度的数据集,一般的深度学习模型都能有效应对,但是裁判文书有别于普通文本的相似研究,裁判文书存在着文本较长、法律属性强等特点,传统的文本相似度匹配模型在法律领域的效果并不理想。

近些年来,得益于自然语言处理领域中预训练模型的迅速发展,越来越多的文本匹配研究都选择BERT[1]等预训练模型作为词嵌入层。基于此,本文提出一种基于法条语义信息的类案推荐模型,面向特定刑事文书,构建法条属性数据集,模型采用BERT+BiLSTM网络,用于学习用户自定义输入案情对应的法条属性从而来得到法条向量,再利用法條向量与已有的法条向量数据库进行向量匹配,进而给用户推荐相似案例,通过自动理解用户输入案情的法条知识来进行案例推荐,从而降低裁判文书的人工筛选成本。

1 相关研究

类案推荐作为智慧司法的重要研究方向之一,一直受到国内外研究学者的关注。在以判例法为代表的英美等海洋法系国家中,法官主要依据过去的判例对当前案件进行判决,在判决文书中申明对以往判例的引用,自动形成了一个案例引用网络。Dhanani等人[2]提出了一种基于图聚类的法律文件检索系统,在引文网络中找到语义相关的判例,利用社区发现算法来聚类引文网络和利用Doc2Vec 来捕获集群内判例之间的语义相关性。

但是,在成文法为代表的中国构建大规模的引文网络存在一定难度,在词嵌入研究之前,主要以研究词频特征和LDA(Latent Dirichlet Allocation)为主。向李兴[3]通过提取关键词来计算词频,结合TF-IDF和余弦相似性进行相似案件推荐。李锐等人[4]使用SimHash算法利用相似哈希模型查找出同类型判决书中相似度最高的判决书推荐给用户。吕宾等人[5]提出基于LDA主题模型的案例检索算法,挖掘文本隐含语义信息,并采用多粒度特征来表征文本。

随着神经网络的普及和词嵌入模型的逐渐出现,类案推荐也逐渐与深度学习相结合。陈志奎等人[6]构建一个多模态特征融合网络,将Skip-Gram模型与Elmo模型分别产生的词向量构建融合特征向量,再利用核密度估计的方法进行案例聚类检索。许梓涛[7]提出了一种上下文感知类案的推荐方法,其以BERT作为词嵌入层,利用CNN获取上下文的语义信息,得到文本向量再进行类案匹配。但是,裁判文书作为专业属性极强的法律文本,案例相似性和判决结果都直接取决于文本中涉及的法条知识,因此,如果忽略法条知识只关注于文本本身的相似性研究,其法律的可解释性和判决结果的准确性都会存在问题,因此从法条知识的角度来解决类案推荐是非常有必要的。

2 数据集制作

2.1 裁判文书爬取

在我国,司法文书的下载网站包括中国裁判文书网、OpenLaw等,后者的文书数量远少于前者,而裁判文书网存在下载量上限、滑块校验等反爬限制,本文通过IP代理池使用Selenium框架爬取文书网近5年的盗窃罪文书共计4300份,利用docx库进行数据清洗并转成csv格式,每个案例对应表中的一行,包含案件序号和案情描述等列。

2.2 法条知识标注

在我国,每种刑事犯罪的判决都是依据《中华人民共和国刑法》法条而定,而每条法条包含的知识要点与输入案情之间的关联程度直接决定了判决结果,因此,为了更好地表征输入案情涉及的法条知识,我们需要在爬取的案情中标注出其中涉及的法条知识用于后续训练。在我国,刑法犯罪的量刑都有相应的建议性指导文件,在参考《关于常见犯罪的量刑指导意见(试行) 2021年》和总结盗窃罪涉及的刑法条文之后,可以得出下列一些相关的法条知识,如表1所示,共计22种。

虽然裁判文书属于非结构性数据,但是通常其格式和措辞都具有固定形式,因此可以利用正则库re,对案情描述文本进行标注,例如通过re.compile(“供述”||“供认不讳”||“坦白”||“交代”)便可以得到“坦白”对应的标签,然后依次类似操作后,每个裁判文书可以得出一个1[×]22大小的法条标签,从而得到对应数据集。

3 刑事类案推荐模型

3.1 词嵌入层

词嵌入层主要功能是将输入文本转化为文本向量,常用的文本编码技术包含one-hot、Word2vec和BERT等,one-hot生成的向量会存在高维度性、稀疏性、无法体现词语的顺序性等缺点,Word2vec相比one-hot可以获得低维稠密的词向量表征,但该种方案属于静态生成,无法适用于多义词的场景。

因此,目前词嵌入层通常是采用BERT模型,其是由Google AI研究院在2018年10月提出的一种预训练模型,完美地解决一词多义的问题。BERT的主体是基于Transformer架构的双向编码网络,采用了前者的编码器部分,通过掩码语言模型和下文预测两个任务进行预训练。BERT由通用语料库训练而来,因此,只需要微调输出层的参数便可用来提取每个案情序列对应的词向量。

3.2 特征提取网络

在自然语言处理领域,常用于特征提取的网络包括CNN模型、RNN模型及上述两类的有关演化变种,例如TextCNN、LSTM、BiLSTM、GRU和BiGRU等。TextCNN由输入层、卷积层、池化层和输出层组成,它比传统CNN更加简单,卷积层和池化层的层数更少,前一层的输出作为当前层的输入,但是经过卷积和池化操作后容易丢失词汇顺序等;RNN作为早期的时序神经网络,主要应用于自然语言处理领域,在RNN的反向传播过程中,随着序列过长和网络层数的增加,容易出现梯度爆炸和梯度消失的情况。因此,便逐渐出现LSTM、GRU等一系列RNN的演化网络。

LSTM是RNN的一种变种,能够学习长距离依赖关系,主要由输入门、遗忘门和输出门三部分组成,结构如图1所示,随着单元状态在时间序列上的传递,通过门控机制来决定信息的丢弃或保留,三个门控单元都有各自的权重矩阵,从而实现对不同信息的选择。但是,单向LSTM无法编码从后向前的信息,很多场景又需要后向语义,因此出现了由一个前向的LSTM和一個后向的LSTM组成的BiLSTM网络,其兼顾双向语义,特征提取效果往往优于单向的LSTM。

GRU(Gated Recurrent Unit) 是RNN的另一种变种,GRU主要包含重置门和更新门两部分,更新门类似于LSTM中的遗忘门和输入门的结合,前者决定要丢弃的信息,后者决定需要向下传递的信息,由于它的张量操作和相关参数矩阵更少,在同等情况下,该模型的训练难度比LSTM小,通常也会与LSTM一起进行性能比较。BiGRU与BiLSTM类似,是一个双向的GRU组合网络,效果也一般优于单向的GRU。

3.3 全连接层

在经过特征提取层之后,词向量需要全连接层进行输出,常用的激活函数包含Softmax和Sigmod等,前者适用于二分类、多分类,后者适用于多标签分类;由于22项法条知识中的大部分知识在一个判例中是可以同时存在的,比如被告人既是累犯、又有立功情节且自首,于是法条知识的表征问题便可以演化为一个多标签文本分类问题,因此选用Sigmod作为全连接层的激活函数,其对应的交叉熵损失函数L的计算公式如下所示。

[p=Sigmodz=11+e-z]

[L=-zlogp+1-zlog (1-p)]

3.4 网络架构

本类案推荐模型主要由输入层、词嵌入层、特征提取层、全连接层和输出层等五层组成,输入层为用户自定义输入的案情文本,删除停用词;词嵌入层选用的BERT_BASE模型,模型输出的词向量为768维;词向量序列经过特征提取层和全连接层处理后,输出22维向量,便可与法条向量库中的向量进行余弦相似度匹配,然后再推荐出与输入案情最相似的判例。

4 实验模块

4.1 评价标准与模型比较

由于爬取的文书数据集的规模相对较小,共计4300份裁判文书,因此设置训练集与测试集的比例为7:3。模型的评价标准采用机器学习中常见的准确率P、召回率R和F1值,其定义分别如下:

[P=TpTp+Fp×100%]

[R=TpTp+Fn×100%]

[F1=2PRP+R×100%]

为了挑选出最佳模型组合,总共设计了5组对照实验,分别为BERT-TextCNN、BERT-LSTM、BERT-BiLSTM、BERT-GRU和BERT-BiGRU;由于BERT最多只能接受510个token的输入,而文书的平均长度在832字,采用头尾截断的方法进行处理。最终,各模型的实验结果如表2所示:

从上述的实验结果可以看出,TextCNN的效果不如循环神经网络,BiLSTM的模拟效果最佳,可能与其兼顾双向语义的特性有关,而LSTM与BiGRU的效果基本相近,因此最终选用F1值最高的BERT-BiLSTM模型作为特征提取网络。

4.2 类案推荐模块

由于此时BERT-BiLSTM模型已经具有表征盗窃罪文书相关法条的能力,当用户向模型中输入盗窃类案情时,模型通过识别其中的法条知识,输出一个22维的法条向量X,即[x1,x2,…,x22 T],然后将X与本地已存在的4300条法条向量集合Y中的第i条向量Yi,即[yi_1,yi_2,…,yi_22 T],进行特征向量相似度的度量就可以进行判例相似比较,常见的相似度度量方法包括杰卡德相似系数、余弦相似度和欧氏距离等。此处,选择余弦相似度作为评判标准,最终,从4300条法条向量中挑选出与X之间的余弦相似度取得最大值的向量Yi,其对应的裁判文书i作为推荐系统的推荐结果。

5 结束语

本文提出了一种基于法条知识的形式类案推荐算法模型,首先使用BERT模型将头尾截断的文本序列转化为词向量,词向量输入至BiLSTM网络来学习其上下文信息,根据对应的法条知识标签来训练BiLSTM的参数矩阵,最后输出对应的法条向量。然后通过向量的余弦相似度,从本地的法条向量库中选取相似度最大的判例文书作为最终模型的推荐结果。由于本模型只针对盗窃类的刑事案件,如果要扩展到通用的单人单罪的类案推荐任务,可以先进行罪名预测任务得到罪名,然后根据量刑文件总结该罪名的法条知识,后续的训练和预测流程则与本文基本一致。

参考文献:

[1] Devlin J,Chang M W,Lee K,et al.BERT:pre-training of deep bidirectional transformers for language understanding[EB/OL]. 2018:arXiv:1810.04805.https://arxiv.org/abs/1810.04805

[2] Dhanani J,Mehta R,Rana D.Legal document recommendation system:a cluster based pairwise similarity computation[J].Journal of Intelligent & Fuzzy Systems,2021,41(5):5497-5509.

[3] 向李兴.基于自然语义处理的裁判文书推荐系统设计与实现[D].南京:南京大学,2015.

[4] 李锐,游景扬,刘稳,等.基于SimHash算法的案件辅助判决系统研究[J].湖北工业大学学报,2017,32(5):67-72.

[5] 吕宾,侯伟亮.基于主题模型的法院文本典型案例推荐[J].微电子学与计算机,2018,35(2):128-132.

[6] 陈志奎,刘振娇,原旭,等.基于深度多模态与核密度估计的法律文书推荐模型[J].西北师范大学学报(自然科学版),2021,57(1):31-37.

[7] 许梓涛,黄炳森,潘微科,等.一个新的上下文感知类案匹配与推荐方法[J].太原理工大学学报,2022,53(1):80-88.

【通联编辑:光文玲】

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!