基于迁移学习的适用法条推荐模型

2021-04-08 02:21杨超群庞彦燕严若冰张世全
关键词:纠纷案件诈骗罪文书

杨超群, 庞彦燕, 严若冰, 张世全, 胡 兵, 王 竹

(1. 四川大学数学学院, 成都 610064; 2. 四川大学法学院, 成都 610207)

1 引 言

随着社会的发展,诉讼案件越来越多,使如何提高案件办理效率成为了一个亟待解决的问题.人工智能在司法领域的应用不断增加正好适应了提高诉讼效率的需求.许多机器学习的模型和算法也开始应用到法律领域,通过人工智能来为法官提供基础的司法辅助工作.

适用法条推荐实质上是一个多标签文本分类任务,最终要达到的效果是对一段描述案情的法律文本给出全面而准确的适用法条. 文本分类是自然语言处理中的经典任务.传统的方法,如 N-gram[1]方法在文本分类上已经取得了较好的结果. 近几年来,研究者开始使用机器学习的方法进行文本分类,如 doc2vec[2],FastText[3-4]和最近的Bert[5],XLNet[6]和ERNIE[7]等. 同时,也有一些研究者在法律领域中尝试着使用文本分类,如Xiao等[8]在大规模数据集上进行了罪名预测、法条推荐和刑期预测.刘宗林等[9]提出了一种多任务学习模型,对罪名预测和法条推荐进行联合建模.王业沛等[10]使用深度学习在裁判文书数据上提出了一个判决结果倾向性分析的模型,张虎等[11]提出了基于多模型融合的法条推荐方法,等等.

上述模型中的罪名预测、法条推荐等均针对所有法律领域的文本.本文则利用中国裁判文书网上对外公开的海量基础数据,聚焦于诈骗罪和离婚纠纷案件,以两个不同案由下的裁判文书共十万余份作为数据集,使用FastText模型对预训练的通用词向量进行迁移学习[14]得到法律词向量,再用法律词向量构建文档向量进行文本分类.

2 数据集

本文使用的数据集包含已分段的诈骗罪案件裁判文书58 999份,共696 M, 离婚纠纷案件裁判文书49 882份,共260 M. 裁判文书中大致分主体基本信息、原告诉求(公诉机关指控)、被告答辩(仅限民事案件)、法院查明事实、法院说理、裁判依据、裁判结果等7个部分.

就法条推荐而言,仅其中法院查明事实、说理、裁判依据部分是有研究价值的. 因此,本文使用上述裁判文书数据时,为了避免不必要信息的干扰首先对裁判文书的不同部分进行了分段,每份分段的裁判文书都能看做一张表,如表1所示.其中第一列的数字代表第三列文本的类别,如[1]代表裁判文书的标题,[3]代表原告被告信息. 在数据预处理中,我们筛选使用了类别5(原告诉称)、6(被告辩称)、7(法院认定事实)、8(法院说理部分)、9(裁判依据)和16(裁判结果),其中类别5、6、7、8和16用于训练词向量,类别7和8用于构建文档向量,类别9用于提取每份文书对应的法条.

表1 分段的裁判文书格式示例

FastText模型原本仅适用于英文.由于中文在每句话内部不存在分隔符,只是一串连续的汉字,故需要将句子拆分成词和空格相间分布的格式. 成熟的中文分词算法能够达到更好的自然语言处理效果,帮助模型理解复杂的中文语言. 本文在对中文语料库进行分词时,直接使用了已有较知名的分词工具——结巴分词对语料库进行分词处理.为了提高分词的效果,这里还使用了清华大学开放中文词库[12]中的法律词汇.

词条归一化(token normalization) 是将表面看起来不完全一致的多个词条归纳成一个等价类,以便在它们之间进行匹配的处理过程. 例如,在一篇裁判文书中有这样一句话:“被告人张三某,男”,则在此文书全文中,“被告人”和“张三某”是等价的.为了维持词之间好的关联,将“张三某”关联到“被告人”是很有必要的.更重要的是,“被告人”在语料库的任何地方的地位都是一样的,而“张三某”可能在此处是被告人,到另一处则是原告人.因而词条归一化提前消除了这些会误导模型的信息.

由于本文使用的是中文法律语料库,相比一般的的语料库其涵盖的词面较窄,所以在进行词条归一化时,我们选取了其中较为重要的类别做归一化. 如将原被告的人名替换成原被告,将形如“xxx, 以下简称x”等进行归一化.

每篇文书的类别9包含了对应案件所用到的全部法条,包括法律法规、司法解释等,这正是法条推荐所需要的标签. 为此,我们编写程序,从每篇裁判文书的类别9中提取出所有的法条,精确到条.例如将“《中华人民共和国刑法》第二百六十六条第一款”提取为“刑法 266”. 这样共得到了诈骗罪案件相关法条864个,离婚纠纷案件相关法条872个.图1以词云的形式给出了两类案件中的频率前两百的法条.

(a)诈骗罪案件法条

(b)离婚纠纷案件法条

3 模型与实验结果

除了以上三种预处理手段,我们还使用网络上公开的停用词表,删去了语料库中标点符号、特殊字符和其他无实意的词语;又删除了文档字数大于三万或小于两百五的极端情况的文书. 经过前述处理,我们得到诈骗罪案件文书57 241份,其中词向量数据集302 M,文档分类数据集237 M;离婚纠纷案件文书46 303份,其中词向量数据集86.6 M,文档分类数据集47.5 M. 对于文档分类模型,在每类案件的文书中分别随机选取2 000件文书用作验证集和测试集,剩余文书用于训练集.

3.1 FastText 模型

FastText模型是Facebook公司于2016年开源的一个词向量计算[3]和文本分类工具[4].在本节中,我们基于迁移学习的思想以FastText预训练的4.2G通用中文词向量为初始向量,使用FastText词嵌入模型在词向量数据集上训练法律词向量,再以此为初始向量,使用FastText文档分类模型对文档分类数据集进行法条推荐.

图2 FastText模型的训练过程Fig.2 Training process of the FastText model

FastText中包含两个词嵌入模型,分别是CBOW模型和Skip-Gram模型,其中CBOW模型利用给定的上下文预测目标词,而Skip-Gram模型则是利用输入中心词来预测上下文.它们充分利用了词的上下文信息,这里我们只选用了Skip-Gram模型来训练词向量. Skip-Gram的模型结构如图3所示.

图3 Skip-Gram 模型的结构Fig.3 Structure of the Skip-Gram model

假设文本序列是“公安机关查获电动车发还被害人”,以“查获”作为中心词,背景窗口大小设为2.Skip-Gram模型所关心的是对中心词“查获”生成与它距离不超过两个词的背景词“公安”、“机关”、“电动车”和“发还”的条件概率,即

更一般地,对长度为T的给定文本序列,在时间步t的词的向量表示为w(t). 假设中心词给定的情况下背景词的生成是相互独立的,则当背景窗口大小为m时对任意给定中心词,生成所有背景词的条件概率为

模型在词向量数据集上训练时利用了已有的词向量结果,以便加快训练速度并得到更好的收敛结果,这里我们采用FastText模型预训练的4.2 G 300维词向量作为训练起始向量,训练20个epoch得到了法律词向量.

相比于词嵌入模型,FastText文档分类模型原理较为简单,图4给出了模型的示意图.它将每篇裁判文书的文档向量化为其中所有词向量的平均,经过一个隐藏层和softmax函数后的结果作为每个法条适用于此文书的条件概率,来计算模型预测出的法条和实际用到的法条之间的误差,并通过梯度下降更新模型的参数和词向量.这样,文档向量同时也得到了更新.

图4 FastText文档的分类模型结构

在训练时,我们使用第2节中构建的验证集作为FastText模型自动调参的输入,以微平均F1为自动调参的优化指标进行超参数的调节,使用微平均F1最高的一组超参数在训练集上训练. 利用训练好的模型,我们对测试集中的每个案件仅读取裁判文书中的7(法院认定事实)和8(法院说理部分)得到文档向量,计算每个法条与它的条件概率,并将大于阈值的法条作为该案件的适用法条推荐. 对于模型自动推荐的法条,我们通过与裁判文书中法官实际使用的法条(分段9裁判依据)对比来计算推荐法条的准确率和召回率.

3.2 结果分析

通过在词向量数据集和文档分类数据集上的训练,我们得到了两组词嵌入模型和文档分类模型,分别适用于诈骗罪案件和离婚纠纷案件. 在图5中,我们分别选取了诈骗罪案件和离婚纠纷案件的词向量列表中前300的词,使用TSNE将每个词的300维词向量投影到二维.可以看出,词性词义相似的词会有相近的分布.

在表2中,我们对给定中心词wc使用余弦相似度

找出最邻近的5个词.可以看出,相同的初始词和相同的模型,在数据集不同的情况下通过迁移学习得到了不同的结果. 在初始状态下,中心词和邻近词只是词义词性相近,而中心词对邻近词是没有“偏好”的. 分别通过诈骗罪案件数据集和离婚纠纷案件数据集训练后,中心词和邻近词的词义词性有所区别,但在邻近词的“偏好”上则体现了各自案件类型的特点. 这一现象表明通过对不同类型案件裁判文书的文本进行学习后所产生的向量是具备一定特殊性、针对性的.

(a)诈骗罪案件 (b)离婚纠纷案件

表2 不同数据集下部分词与其邻进5个词

下文给出了一段分词后诈骗罪案件的裁判文书,当条件概率阈值取为0.5时,模型对此文本预测的法条为刑法 266 刑法 67 刑法 64 办理诈骗刑事案件具体应用法律若干问题解释 1. 该段描述性文字通过本文采用的模型进行分析学习后,不仅准确地预测推荐了刑法第266条诈骗罪的法律条文,而且全面地预测推荐了更具有针对性的司法解释——《关于办理诈骗刑事案件具体应用法律若干问题的解释》第1条. 此法条是关于诈骗罪量刑标准的金额确定,法官看到推荐的这条司法解释就能非常迅速地作出量刑裁判.

上述事实 被告 开庭审理 过程 中 无异议 物证 手机 部 被害人 黄某 陈述 证人 辛某 彭某 唐某 证言 书证 归案 情况 户籍 证明 通话记录 微信 聊天记录 截图 陌陌 聊天记录 截图 银行 流水 随案移送 物品 清单 刑事判决书 辨认 笔录 监控 录像 被告 供述 证据 证实 足以认定 本院认为 被告 非法占有 为目 虚构事实 骗取 人财物 数额较大 其行 诈骗罪 公诉机关 指控 罪名 成立 本院 应予 支持 被告 涉嫌犯罪 强制措施 期间 实施 犯罪行为 主观恶性 社会危害性 较大 酌定 从重处罚 鉴于 被告 自愿 认罪 如实 供述 犯罪事实 悔罪 表现 酌情 从轻处罚

表3给出了模型在诈骗罪案件和离婚纠纷案件测试集上的结果,其准确率P和召回率R由如下公式给出:

其中TPi表示模型预测出法条i且法条i确为适用法条,FPi表示模型预测出法条i但法条i不是适用法条,FNi表示模型未预测出法条i但法条i为适用法条.

表3 不同条件概率阈值下的准确率与召回

显然,模型在两类案件上准确率都明显高于召回率.离婚纠纷案件的准确率要稍高于诈骗罪案件,但离婚纠纷案件的召回率显著低于诈骗罪案件的召回率,这可以由图6给出解释.图中“高频到低频”线上第i个点表示将此类案件所有法条按频数从高到低排序,前i个法条的频数和占总频数和的比例,“低频到高频”线上的点有对应定义. 为突出主要部分,我们只展示了两种排列首尾各50个法条的对应值,图中间的跳跃部分为省却的法条.

另外,图中两条“高频到低频”线的交点的值为91.1%,对应的两条“低频到高频”线的交点的值为8.9%. 这表明高频法条分布中离婚纠纷案件的被少数几个法条占据主导地位,这有助于预测出的法条中有更多正确的法条,即离婚纠纷案件的准确率要稍高于诈骗罪案件.

图6 法条频数分布[13]Fig.6 Distribution of the law articles’ frequency[13]

究其原因,主要有三条.其一,离婚纠纷案件中所涉及的法条相对集中,常见的就是《婚姻法》和三部《婚姻法》司法解释,而诈骗罪所涉及的法条却很繁杂,虽然诈骗罪的刑法法条较为单一,但诈骗罪涉及的司法解释很多且更为分散,不同类型的司法解释均有. 其二,离婚纠纷案件的案情一般较为简单,仅针对离婚争议,基本仅涉及财产分割、债务承担和子女抚养三个大类,而诈骗罪案件所涉及的案情类型非常多,生活中存在着大量不同类型的诈骗行为,所对应的法条也各不相同. 其三,离婚纠纷都是单纯的一个民事法律关系,但诈骗罪案件中可能会涉及到数罪案件,也就是同一案件中被告人涉及多项犯罪,所以裁判文书中会涉及到多个罪名的案件事实、法条引用,最终会成为影响正确率的因素.

还应看到,在低频法条的分布中,随着频数的降低离婚纠纷案件的低频法条比诈骗罪案件占据更多比例,而模型在预测低频法条时会更容易遗漏,所以离婚纠纷案件的召回率显著低于诈骗罪案件的召回率.

4 结 论

首先,本算法是有效的. 根据上述结果分析显示,无论诈骗罪案件还是离婚纠纷案件中,经过本文采用的迁移学习方式后,均能够做到准确地针对案情描述性文本推送适用法条. 在将来的智慧司法发展过程中,还可以将本文成功的经验扩展到其它民事、刑事案件中,最终形成整个庭审辅助系统可以对不同案由的案件提供针对性的法条推荐.

其次,本算法具有针对性. 通过对比诈骗罪案件和离婚纠纷案件所产生的的不同向量以及不同测试结果,可以看出不同类型案件由于自身特征的不同,在向量训练和最终法条推送过程中都存在着不同. 因此,在同一案由案件裁判文书的训练下进行迁移学习是非常有针对性的.

再次,本算法方式迁移学习具有全面性. 为了有效地帮助法官实现法条的全方位推荐适用,尤其是具有针对性的法规、司法解释,本文在数据预处理中加入了裁判文书中引用的所有法条,并且在实验模型的建立中实现了输出包含法规、司法解释在内的不同类型适用法条.

最后,本算法还具有可拓展性. 随着迁移学习模式的不断完善,可尝试利用这种模式开展对裁判文书数据进行其它方面的迁移学习,比如证据推送、量刑预测等等,进一步为人工智能提供司法辅助工作开拓新的思路.

猜你喜欢
纠纷案件诈骗罪文书
活学活用
浅析合同诈骗罪与诈骗罪的区分
超六成金融诈骗案被告人为初高中文化
“近因原则”在保险合同纠纷案件中的适用
实务中循环贸易纠纷的研究与思考
我的小天地
除了合理、最强、高效“3+1文书写作法”的代名词还有什么?
建没工程造价司法鉴定热点问题分析
诈骗罪
新版民事诉讼文书样式将投入使用