北京物流信息联盟

【干货】AI法官:CCF BDCI综合特别奖方案有哪些过人之处

2022-06-26 11:36:58


在2017 CCF BDCI大赛中,有一个最跨界的团队组合,过关斩将,一举获得一等奖,并将综合特别奖收入囊中。这个队伍的名字叫方唐镜,让我们一起看看他们的方案有哪些过人之处。


——编者语 

团队名称:方唐镜

所获奖项:

让AI当法官赛题一等奖、2017 CCF BDCI综合特等奖


团队特点:

最跨界

团队由跨单位,跨专业背景的四名成员组成。其中张建队长和田言飞来自北京航空航天大学计算机学院,杨子清来自科大讯飞大数据研究院,孙毅长时间从事法律信息化相关工作。

团队中既有人工智能、自然语言处理理论基础扎实的高校博士,也有经验丰富、动手能力强的企业员工,更有经验丰富、熟悉赛题数据的法律工作者。在队长合理分工下,深入理解赛题数据本身,改进并应用了国内外最新模型算法,并深入思考了具体的应用场景与商业价值,真正做到了人工智能与领域知识的深度融合。


从左至右:孙毅、张建、田言飞、杨子清


一、赛题分析


本题为2017 CCF BDCI大数据与计算智能大赛的赛题三,即让AI当法官。随着人工智能技术的发展以及司法大数据应用的广泛开展,人们希望通过机器阅读大量的案件事实,自动给出该案件中犯罪嫌疑人所处罚金的范围、适用条款,以提高审判效率。同时,也可以对案件审判的质量进行评价,发现法官的习惯性偏差,有利于提高审判质量,促进公正执法。

 

因此,本赛题的任务分为两个子任务,即对给定的法律案件描述,分别预测出案件的罚金额度范围和对应的相关法律条文。

 

在数据已经成为战略资源及经济资产的今天,通过数据挖掘和机器学习方法来分析海量数据,鼓励学科交叉跨界合作,探索以大数据为基础,涉及政府治理、产业升级等的计算方法及解决方案已经成为时代的发展的迫切需求。而在司法中的大数据仍缺乏一定的智能化方法的探索。有效地利用这些数据能够减轻业务人员的负担,提高办案效率,同时,、不同法官在判决时的倾向或习惯性偏差、错误等,提高审判质量,促进公正执法。本方案就此题目,利用并改进现有的自然语言处理技术,结合深度学习的方法,对于新的法律案件自动判罚取得了不错的效果。实验表明,本方案提出的模型在罚金判罚与法律条文预测上均具有良好的表现,并且具有进一步提升与应用的潜力。


二、比赛思路


数据分析:

1)  本次比赛要求预测罚金与法条。其中准确预测罚金具有较高的难度,通过查阅相关资料可知罚金与犯罪性质、非法所得数额、嫌疑人经济状况、地区经济发展水平等多种因素相关,并且法官有较大的自由裁量权,本题目中判决书仅给出了其中部分信息。通过关键词筛选和关键句义、文档整体特征等可以在一定程度上预测出罚金的范围。

2)  预测法条相对简单,特别是涉及到罪名的条款,因为大部分判决书已经明确给出的罪名,其对应条款也比较单一,其他条款的引用在判决书中也有具体的行为或情境对应,可以通过关键词筛选和关键句义做出预测。另外通过对训练数据的统计分析发现其中少量的条款占了被引用的绝大部分,准确预测这些条款是核心问题。

      在数据提取方面,考虑到刑事法律文书属于格式文书,其书写有严格的规范,用词标准,可以依靠正则表达式按照层次和关键字提取出特征,并准确给出对应条款,但会丢弃掉部分语义与语言习惯等信息,对于某些定性模糊的条款和识别不同法官个人倾向等存在难度。而通过分词、词向量、RNN模型等方法,则可以保留关键句义、文档整体特征等信息,有利于提高预测准确率,后边的实践也进一步证明了这个判断。



数据预处理:

主要包括分词、过滤、划分验证集、数据截断。

1)  分词:对所有原始数据进行分词(训练、验证、法律条文),并提取最高频的十万个词,把其余词标记成<UNK>,并在词典中增加<PAD>标识,用以标志补齐位。一个重要的点是我们对文中出现的所有金额按照罚金类别的范围做了标记LV1~LV8,否则在分词后这些数字是要么是低频词,统一被当做<UNK>处理,要么每个不同的数字被embedding到了不同的向量,大大增加了训练难度模型很难学到东西,所谓rubbish in rubbish out。这么处理后在罚金预测问题上各个模型性能均有不同程度提升。

2)  清洗:过滤了一些乱码和无意义的文档,还过滤了长度过短的文档。

3)  划分验证集:训练集合验证集比例约为10:1。

4)  数据截断:原始数据中样本长度不一,最长的能有数万词,最短的有几十词,平均长度八百词左右。针对CNN模型,我们采用了一种特殊的截断法:若长度小于2000词,那么取样本全文,并在前部补上<PAD>至2000词;若长度大于2000词,则取起始处的500词和结尾处的1500词。这么做是因为发现一些典型的犯罪名称在样本前几句话就会出现。实验表明这样做截断比直接截取2000字在法条预测的得分上能提升0.6%左右。

 

模型部分:

包括预测罚金和法律条文两个任务。对于任务一,我们将其看作典型的文本多分类任务,可直接用模型多分类输出;对于任务二,经过我们的分析后,一些法律条文从未出现过,因此将原始的数字标签看作词语,对其进行编码处理,之后实现多二值分类的模型。在总体思路上,我们希望各个方法侧重于不同的方面,如:结构化信息、关键词、关键句义、文档整体特征等等。


因此,在模型的选择上,我们有三种思路。第一,基于搜索的方法。也就是对于罚金预测,通过搜索案件文档中的公诉机关、金额得到判罚,该方法仅适用于二审的案件;对于法条的预测,我们希望搜索出罪名,并且与原始的法律条文中的罪名进行文本匹配,从而得到罪名的判罚条文。第二,基于机器学习的文本分类方法。该方法首先需要提取一些文本特征,比如利用TFIDF或者N-gram得到关键词信息,然后用Naïve Bayes、KNN、SVM等分类器对案件文档进行分类。实验表明N-gram+ SVM的方法取得了不错的效果,但仍然有很大待提升的空间。第三,基于深度学习的文本分类方法。针对于关键词、关键语义以及文档语义的获取,我们采用CNN、RNN以及Structured模型(一种层次化的RNN),具体结构会在下文中介绍。在最终的模型选择上,经过我们的实验对比,只选取了深度学习方法的三个模型。

 

融合部分:

分为罚金融合与法条融合两部分。首先是罚金的融合。由于在softmax分类之后,概率最大值对应的下标即为罚金等级,我们的融合策略是对CNN、RNN、Structured模型的输出概率相加,取最大值,如公式所述:      

而在法条的融合上,由于各个标签不具有“排斥性”,需要设定阈值来判断是否预测为该标签,因此我们有两种思路。第一点,是对CNN、RNN模型的输出概率相加,设定阈值取对应下标,对应公式如下:

这里不包含Structured模型,主要原因是考虑到Structured模型在预测几百个标签上训练时间相对于CNN、RNN多了很多,不便于实际应用。第二点,是对两个模型的输出概率设定权重,利用权重遍历或者神经网络的方法学习出该权重,作为最终加权融合时的权重,流程如下图所示。


然而,由于时间原因,仅做了简单的实验验证,线下有略微的提升,线上却并没有带来提升,这一方面可能是因为过拟合,另一方面也与缺乏规范的测试有关。


三、算法模型


按照上文思路,我们选择融合CNN、RNN以及Structured模型来预测罚金判罚,而选择融合CNN、RNN模型来预测法律条文。

 

CNN模型:

本方案中的CNN模型指的是TextCNN,侧重于提取案件中的关键词/短语,如罪名、地名等。它的基本思想是用不同大小的卷积核去capture不同的ngram特征,并用maxpooling提取位置无关的信息,最后输出给softmax或logitstic分类器做决策。本方案的CNN结构如下图。


对于罚金预测任务,embedding层200维,采用kernel_size = {3,4,5}三种卷积核,每个卷积核输出维度500。maxpooling拼接后,经过两层MLP = [750, 8] ,最后softmax做多分类。我们在模型的多个位置上都加上了dropout=0.1。

对于法条的预测任务,我们用了三种不同的embedding+kernel配置,在拼接maxpooling的输出后直接接321层+sigmoid作为输出。相对于罚金预测的结构少了一个隐层。

 

训练时的early stopping策略与learning rate decay策略:每个epoch在验证集上验证4次。当连续两次验证集得分不升,learning rate减半;如果继续两次验证集得分不升,训练停止。将得分最高的模型拿来对测试集作预测。


此外,我们也尝试了Attentive Convolution,如上图所示。Attentive Convolution出自论文arXiv:1710.00519v1 ,在Yelp 数据集上取得了sota的成绩。我们这里借鉴了它的Attentive Convolution Light的结构,将论文中的卷积核相加改成了拼接,也等价与一个双卷积核的TextCNN,一个kernel_size=3,另一个为一个Attentive卷积。我们在罚金预测问题上训练了这个模型,然而它的单模型表现并不如TextCNN。

经过对原始公式的修改,线下效果有了一定的提升。而最终由于在最后一天才把该模型融合并提交线上,可能一些细节并未处理好,因此最终并没有带来效果的提升,这也略微有点遗憾。

 

RNN模型:

本方案的RNN模型用于提取文档的上下文与全局语义特征,并以此进行分类。由于传统的RNN分类做法仅仅以最后一个单元的输出作为最终的语义向量,这在文档分类时显然会丢失很多中间信息。因此,我们将其改进为一种全局注意力的RNN模型。该模型的结构如下图。


其中,RNN单元我们使用GRU来尽可能地保留每一个时间步的语义信息,并且对这些语义信息进行加权处理,即时间步分布式的全连接层,每一个单元的输出是一个全局注意的语义向量,组合成feature map。结合任务的需求,即语序关系对判别影响不大且极大特征(如罪名等)与判罚的强关联性,所以我们使用Max Pooling来对获取到的特征矩阵进行全局池化,得到单个向量。最后利用全连接层与不同的激活函数作为分类器。

                                                                                        

事实上,我们也尝试了利用现在较为火爆的Attention+ RNN、以及将GRU换成LSTM或改成双向等等。实验表明效果均不如上述的方法。这一方面是由于Attention机制仍然在长文档的特征提取中丢失了很多语义信息,另一方面则表明在数据量不太大(本赛题的约15W的数据量)的情况下,参数的增多对效果会产生负面影响。

 

Structured模型:

本方案中Structured模型用于提取关键句义信息。在预处理时,按照“。?!”分割成句子,每个文本截断前100个句子。每个句子截断前100个词。同时过滤掉空白文本。因此,该模型能够捕获到上述两个模型在原始数据层丢失的语义信息,但作为交换的是训练时间较长(约13小时)。

 

该模型出自论文TACL 2017 “Learning Structured Text Representations”,在Yelp数据集上取得了准确度68.6的成绩。我们使用了该模型用于比赛中罚金预测的任务。该模型通过句子中词向量,先得到句子的向量表示;再通过文档中句子的向量表示,得到文档的向量表示;最终用该向量表示来做罚金类别预测。该模型在比赛初期,单模型线上效果的Micro-Averaged F1值为0.54。在最终提交的最佳结果中,该模型结果的两次平均,作为Structured模型对罚金的预测,再与其他模型融合。

 

该模型首先建立对句子表示的模型,如下图。对于句子T=[u0,u1,..., un],其中ui是句子中第i个词的向量表示,输入到双向LSTM网络中,对于每个的输出hi向量分成两部分ei和di,即hi=[ei, di],这两部分分别用来表示语义信息和结构注意力信息。然后通过结构注意力机制,获得每个词的新的向量表示[r0, r1,..., rn]。


句子表示模型

对于一个有n个句子的文本[s0, s1, ..., sn],对于每一个句子si,通过上面的句子表示模型,我们由[u0,u1,..., un]获得了新的语义向量表示[r0, r1,..., rn]。然后我们在新的语义向量表示中做pooling操作,对于每一个句子si获得了一个固定长度的向量表示vi。如下图,类似的,我们把文本看成由句子向量组成的序列,输入到双向LSTM网络中。然后同样应用结构注意力机制来得到句子的新的语义向量[q0,q1,..., qn],再次应用pooling操作来得到最终的文本表示y。


文本表示模型

具体到比赛中的罚金类别预测任务。该模型的结构图如下,对于每个句子,输入其中的词向量,通过LSTM网络、注意力机制和pooling操作,获得其句子的向量表示;再对所有的句子向量,做类似上面的操作,得到最终文本的向量表示。然后在文本向量后添加两个全连接层,最终做softmax,就可以得到对于8个罚金类别的预测概率。在具体实现上,我们采用的是max-pooling,全连接层dropout=0.3。


罚金预测任务中的Structured模型

各模型性能估算:

在进行线上提交时,因为两个任务同时评测,即使单独提交也难以非常准确地得到真实分数,所以我们在已知的分数上进行粗略的推算,得到了如下表的模型结果。



四、方案潜力与应用价值


端到端的深度学习方法

在本方案中,我们使用了较为多样的深度学习的端到端模型,能够完全自动化的提取案件中的不同层次的语义特征,因此在预测结果的融合中有很大幅度的提升效果。此外,各个单模型的性能也较为优越,并且很接近。在预测时,可进一步探索使用structured模型预测法律条文,并且合理调整融合权重。


另外,因为罚金通常与相关法律条文有关,由于时间关系,我们未来得及实现一种multi-task模型:模型首先预测相关法律条文,之后再进一步预测罚金。在有法律条文的监督训练的辅助下,对罚金的预测可能会更准确。

 

所以,我们认为本方案还有一定的提升空间。


可解释性   

尽管现在的模型取得了优秀的预测结果,然而,其中的可解释性可进一步挖掘,这对一个产品的使用来说是不可忽视的方面之一。本方案提及到的搜索匹配式方法以及提取的特征,虽然对最终的预测结果没有起到帮助,但仍然可以将其作为产品的一部分。并且,针对这三种模型,可根据其权重分布,将关键词或句子可视化为热力图,以达到更理想的解释目的。

 

部署与价值

本方案中的模型均可以先训练后保存模型,在预测时的响应速度是非常迅速的。并且,得益于所使用的Keras等框架,这些模型在面对新的数据时仍可进一步训练,法条词典也可以进一步扩充,因此具有一定的可扩展性。

 

就本方案解决的问题来讲,可以将我们使用的模型等部署到云端,为Web或手机App提供预测服务与应用。这些应用可以作为辅助量刑或者普及法律知识等等。

 

体现了AI技术的绝对优势,可作为法官的补充与监督

我们比赛中也试验了基于大量法律知识的规则提取方法,但预测准确率低于基于深度学习模型的方法。说明新技术的优势,会给法律工作带来巨大的革命。特别是本方案中我们发现对不同的法条的预测准确度有很大的不同,排除掉模型本身的误差外,的确发现了部分法条引用的随意性较强和不规范的问题,对我们规范执法具有重大的意义。


五、总结与展望


本方案意在更好地解决如何利用AI技术实现司法案件的自动判罚问题。在解决这个问题的过程中,我们首先有较好的数据处理,也就是进行数据统计分析、数据清洗与转化。在模型的选择上,我们选择了性能卓越的深度学习模型,并且侧重于不同层面。从解决两个子任务的策略上来讲,我们将其进行了区分处理与评测,从结果来看是相对合理的。最后本团队在整个过程中有较为融洽的协作,分工很明确,执行力较强。


但本方案也有一些需要改进的地方,如对于被引用次数较少的条款,由于样本数量少,各个模型预测的准确率偏差均较大,需要结合规则部分进行修正,因为比赛时间关系,只是进行部分研究与测试,并未实际应用。

另外可以尝试使用搜索的方法解决部分问题,使用更多样的模型(如RCNN、HAN等),融合方法也需要进一步探索。

 

在未来的工作中,我们希望设计更加有效的模型,并且提升自身以及团队整体的实力,以实行更好的团队协作。同时,也会设想新颖的应用场景,使本方案具有更高的商业价值。


致谢


感谢CCF、DataFountain作为主办方为我们提供的良好的比赛环境。同时,我们也十分感谢明略数据提供了这样精彩的赛题,让我们在解决该问题的过程中提升了自我,并且有了诸多的思考。希望以后有机会能够继续参加此类比赛,为AI技术的进步贡献自己的一份力量!



关于“DF数据竞赛平台(DataFountain,DF)”

DF数据竞赛平台(DataFountain,DF)——智能数据人才服务平台。致力建设为中国最具影响力和权威的大数据与人工智能竞赛平台及数据科学家社区。


依托于时下最具吸引力的数据竞赛模式,致力于提供以比赛为核心,社群为依托,结合人才认证、高端教育、智能招聘等,提供一体化数据人才成长及输出方案。平台依托中科院计算所技术团队、,在深度打磨赛题、输出优质课程、精准人才服务方面优势独到,将为国内外知名企业、创新创业企业精准培养、输出优质大数据及人工智能人才,为中国十万亿元大数据与人工智能产业赋能!


DF数据竞赛平台(DataFountain,DF)已汇聚上千所高校、上千家大数据和人工智能创新创业企业,近5万名数据科学家,汇聚智力、聚集人才、众学众智、众创众包。通过“四众”模式及智能人才数据及服务系统,重新定义商业之道。


DF平台官网:http://www.datafountain.cn/

DF数据竞赛平台(DataFountain,DF)

数据驱动世界,算法决胜未来!

扫一扫关注
了解更多大数据资讯


友情链接

Copyright © 2023 All Rights Reserved 版权所有 北京物流信息联盟