法律文书的相似度怎么算?中国法研杯蚂蚁金服冠军解决方案解读

第十八届中国计算语言学大会(CCL2019)中国法研杯相似案例匹配评测研讨会在云南昆明开展,今年评测研讨会的评测任务是中国法研杯(CAIL2019)相似案例匹配。蚂蚁金服团队大安全风险与决策中心参加了CAIL2019的法律文书“相似案例匹配”赛道,并获得了单项第一名的成绩,赛题是“针对多篇法律文书进行相似度的计算和判断”。在这篇文章中,他们分享了自己的解决方案。

图1 大赛排名GitHub开源项目地址:https://github.com/GuidoPaul/CAIL2019

中国法研杯司法人工智能挑战赛,Chinese AI & Law Challenge(CAIL),简称法研杯,是司法科技行业的最高比赛,参与者涵盖了司法科技行业内几乎所有重要单位与组织,例如最高人民法院、司法大数据研究院、司法科技公司、NLP研究领域顶尖学者等。

法律科技旨在借助科技的力量来协助司法行业提升工作效率、减少不一致性、辅助法理研究等,助力深化司法体制改革,不断完善和发展国家司法制度。近些年来,随着以裁判文书为代表的司法大数据不断公开,以及自然语言处理技术的不断突破,如何将人工智能技术应用在司法领域,来提高司法人员在案件处理环节的效率逐渐成为法律科技研究的热点。

本赛题共有711个队伍报名参加,参与总人数有1003人。参赛的队伍包括南京擎盾、北京华宇元典等司法科技公司,京东平安科技等大厂,以及同济大学、南京大学等高校。

1 赛题介绍

大赛共有三个赛道,蚂蚁金服(队伍名为AlphaCourt)参加了其中的法律文书“相似案例匹配”赛道。相似案例匹配赛题是针对多篇法律文书进行相似度的计算和判断。数据集是“中国裁判文书网”公开的民间借贷相关法律文书,每组数据由三篇法律文书组成。文书主要为案件的事实描述部分,选手需要从两篇候选集文书中找到与询问文书案件性质更为相似的一篇文书。

比赛分三个阶段。第一阶段训练数据有500组三元文书,用(A, B, C)表示一条数据中的三篇文书。每条数据中A与B的相似度大于A与C的相似度。第二阶段有5102组训练数据,第三阶段为封闭式评测阶段。每个阶段如果预测正确,那么该测试数据可以得到1分,否则是0分。每个阶段成绩为在该阶段的平均准确率。最终成绩计算方式: 第二阶段的成绩 * 0.3 + 第三阶段的成绩 * 0.7。

2 整体思路

2.1 思路框架

2.1.1 二分类模型思路

由于赛题明确地保证文书数据A与B的相似度是大于A与C的相似度,这里AlphaCourt团队做了一个简单的假设,可以把该赛题转化为一个绝对相似问题。假定文书数据A和文书数据B之间是符合绝对的相似,同时文书数据A和文书数据C之间是符合绝对的不相似,即原先的三元组数据拆分成两两文书数据之间是否绝对相似的问题,此时可以使用二分类模型来解决此类问题。将文书数据A和文书数据B的相似度标签标为1,文书数据A和文书数据C的相似度标签标为0。

对于二分类模型的特征,可以从结构化特征和文本特征两部分来分别考虑提取文书对应的特征。其中包括文书A、B、C的结构化特征、文本特征,以及两两之间(AB与AC)的求和、差值、余弦相似度等相关性的结构化特征。模型可以是Wide and Deep的深度网络模型结合结构化特征的二分类网络模型。

但实际上在第二阶段检查数据时发现,之前的绝对相似假设有一定问题。虽然数据(A,B,C)保证了文书数据A与B的相似度是大于A与C的相似度,但是另一条数据中会出现(A,D,B)的情况,当把这两条三元组样例同时拆分成两两对比相似的数据时,会发现产生数据的标签会产生冲突,即(A,B)的标签既有1,也有0。因此,AlphaCourt在第一阶段使用二分类模型思路后,重新考虑三元组的相对相似问题。

2.1.2 Rank 模型思路

AlphaCourt考虑采用Rank的模型来解决此类相对相似的问题,从两两文本之间的相似距离来评估两两文本之间相似度。对于Rank模型,他们主要从模型的损失函数和模型特征入手。他们选取损失函数Triplet Loss,提取的模型特征主要保留文书A、B、C的结构化特征、文本特征,其中结构化特征包括正则表达式提取的结构化特征和TF-IDF提取的文本词频统计特征。图2 两种模型思路框架

2.2 损失函数

Triplet Loss[1]它本身是一个用来训练人脸识别模型的标准方法之一,能够通过精细调参得到不错的模型效果。Triplet Loss的输入是一个三元组形式,刻画的是两个候选元与询问元之间的距离差。在模型训练时,通过最小化triplet loss使询问文书A和两篇候选集文书中相似的文书B越来越相似,而和不相似的文书C越来越不相似。

具体来说,Triplet Loss输入的参数是一个三元组向量,包括anchor锚点向量,positive正样本向量和negative负样本向量,具体的计算公式如下。

其中是锚点与正样本之间的距离,是锚点与负样本之间的距离,是计算得到的损失值,通过margin加大类间距离,并且保证损失值是一个大于等于0的值。

对于距离度量可以有多种方式,包括两两之间L1范式距离、L2范式距离、L3范式距离、杰卡德距离和余弦距离等。通过实验发现L2范式距离计算得到的Triplet Loss对本赛题提供的数据集产生最佳的结果。具体的计算公式如下:

其中a是锚点通过模型生成的向量,b是正样本通过模型生成的向量,C是负样本通过模型生成的向量。

2.3 模型特征

2.3.1结构化特征

AlphaCourt提取的特征包括两类:一类为文本统计类特征,如各种文本长度特征与词频统计特征,另一类为业务理解抽象特征,例如:原告被告特征、担保特征、利息特征以及其他的有业务含义的特征。

长度特征里包括文书第一部分单词长度、第二部分单词长度、两部分单词长度比率、第一部分字长度、第二部分字长度和两部分字长度比率等。长度特征如下图所示。图3 长度特征模块图词频统计类特征使用TF-IDF提取文本数据的词频统计特征。由于TF-IDF提取的词频统计特征会比较稀疏,可以通过奇异值分解SVD对词频统计特征进行降维处理。通过分别计算两两文本生成特征的差值可以得到词频统计特征的差值和SVD降维特征的差值。以上生成的四种特征向量都可以计算其对应的总和值、平均值、大于0的个数以及L1范式和L2范式等计算特征值。图4 词频统计类特征模块图最后是业务理解抽象特征。业务理解抽象特征是很适合法律文书的特征。因为法律文书有固定结构且用词严谨语义唯一,再加上案件打标也是服从了一套标准制度,所以会比较重要,这也是AlphaCourt和其他参赛队伍最大的区别点。在构建业务理解抽象特征时他们主要参考了合同法、担保法、婚姻法及相关司法解释,总结出了原告/被告是否是自然人、担保类型(一般、连带)、借款用途、出借意图、计息方式、约定借期利率、约定逾期利率、借款交付形式、还款交付形式、借款合意凭据等十个特征。

最终根据可行性以及数据表现,选用了原告被告特征、担保特征、利息特征等特征。原告被告特征包括原告是否属于公司、原告人数、被告是否属于公司和被告人数。担保特征包括文书中是否包含担保人、担保人个数、文书中是否包含抵押物和抵押物的个数。利息特征包括文书中是否包含利息和对利息金额的转换。其他业务特征包括文书中被告间是否存在夫妻关系和被告的死亡情况。具体提取的结构化特征如下图所示。

图5 业务理解抽象特征模块图2.3.2深度学习模型特征

常见的深度学习模型特征包括Bert[2]、Bi-LSTM、Bi-GRU以及Text-CNN。由于Bert模型在很多NLP任务中都表现出较好的性能,因此本赛题直接考虑以Bert模型作为Baseline模型效果,并在此基础上进一步探索更好的模型结果。图6 深度学习模型特征图

2.4 整体网络模型

整体的网络模型结构如下图所示:图7 整体的网络模型结构图其中需要注意的两点:第一点,各网络层之间的权重是共享的,包括Bert网络层和全联接网络层的权重。第二点,由于文书的长度过长,并且文书中重要的信息包括法律案件的事实描述、法院判决结果等都在文书的后半部分,因此AlphaCourt从文书的后半部分开始截取文书的内容作为Bert网络层输入的信息。

3 优化Trick

3.1 深度学习模型优化及多模型融合

AlphaCourt尝试将Bert模型作为Baseline模型,对Bert模型进行进一步优化。

方案一

对Bert模型内部的网络层输出进行提取,通过提取最后二层或三层中每层的第一个状态输出向量,尝试与原先的Bert模型的输出进行拼接,可以得到一个更加全面的特征向量,如下图二、三所示:

方案二:

结合上文提到的结构化特征,包括正则表达式提取的结构化特征和TF-IDF提取文本数据的词频统计特征,与Bert模型的输出进行拼接,结合结构化特征的特征合理性得到更加优化的特征向量,如下图四所示:

方案三:

Bert模型的除了输出特征向量外还提供了模型的状态信息,该模型状态信息可连接更深层的网络模型,如Bi-LSTM和Bi-GRU网络模型。通过更深层的网络模型可以提取文本的更高维度特征。通过池化和提取隐藏层状态等操作聚合Bi-GRU网络层的输出特征和隐藏层状态的特征。

如下图所示:

图8 深度学习模型特征优化图通过以上构造的五种网络模型,进行多模型离线的多模型融合可以进一步提高相似匹配的准确率,如下图所示:

图9 多模型融合图

3.2 过拟合解决方案

由于样本按照三元组形式输入,即默认询问文书数据A与文书数据B的相似度大于询问文书数据A与文书数据C的相似度。此时在训练过程中可能会出现一种极端的情况,即模型结果无脑输出B,就会出现过拟合问题。

AlphaCourt使用的解决方案是部分修改文本数据B和文本数据C的顺序,使一半的数据变成(A,C,B)形式的三元组数据,即可以同时存在B和C的标签。具体的操作流程如下所示。

图10 过拟合解决方案图在构建训练和验证数据集Datasets时,在第奇数个三元组样本附带一个变量op,值为1。将第偶数个三元组样本的文书数据B和文书数据C进行交换,并附带一个变量op,值为-1。构建的数据集经过数据加载器DataLoader会默认将数据集进行打乱,因此不会学习到数据的标签规律。最后学习到特征向量经过Triplet Loss计算时,只要计算过程中附带了变量op,调整两者欧式距离的正负结果,就可以保证Triplet Loss的计算结果保持正确。

4 相似案例匹配可视化

司法AI领域中,由于涉及到法律的公正透明性,一般对结果的可解释性要求较高,虽然此次赛题未对可解释性做硬性要求,但AlphaCourt还是从实际使用的角度对模型的可解释性通过可视化的方法做了一定探索。第一点是高亮案例文本,它可以提高人工查看案例文本的效率,第二点是两两相似案例的关键词筛选显示,它可以给出两两案例相似的合理解释。

4.1 高亮案例文本

图11 高亮词展示4.2 相似案例可视化

图12 两两相似案例的关键词筛选显示5 讨论与展望

数据处理方面,文中讨论了二分类的数据标签和三元组形式的距离度量标签,但比赛中还没有使用到标签增广的方案,仍有待优化。损失函数方面,Triplet Loss在三元组的相似匹配方案中起到很重要的作用,但仍可能存在更优的损失函数,如Margin-based Loss[3],或者更佳的距离度量方式。网络模型方面,比赛中没有尝试ESIM[4],它可关注到两两文本之间交互的信息,可以对相似匹配模型会有更近一步的优化。

参考文献

[1] Schroff F, Kalenichenko D, Philbin J. Facenet: A unified embedding for face recognition and clustering[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 815-823.

[2] Devlin J, Chang M W, Lee K, et al. Bert: Pre-training of deep bidirectional transformers for language understanding[J]. arXiv preprint arXiv:1810.04805, 2018.

[3] Wu C Y, Manmatha R, Smola A J, et al. Sampling matters in deep embedding learning[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 2840-2848.

[4] Chen Q, Zhu X, Ling Z, et al. Enhanced lstm for natural language inference[J]. arXiv preprint arXiv:1609.06038, 2016.

产业CCL 2019竞赛法律文书蚂蚁金服
2
相关数据
平安科技机构

平安科技负责开发并运营集团的关键平台和服务,支持集团的保险、银行、投资和互联网业务高效发展,同时还是集团的技术孵化器,在云、人工智能和大数据方面有着强劲的研究和开发能力。平安科技通过“科技+互联网+金融”模式,在技术研究和储备方面,拥有超过18项新技术及全球研究和开发AI内部的能力,包括微表情、图像和语音识别及语义理解。

http://www.cstia.org.cn/
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

人脸识别技术

广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。 人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

奇异值分解技术

类似于特征分解将矩阵分解成特征向量和特征值,奇异值分解(singular value decomposition, SVD)将矩阵分解为奇异向量(singular vector)和奇异值(singular value)。通过分解矩阵,我们可以发现矩阵表示成数组元素时不明显的函数性质。而相比较特征分解,奇异值分解有着更为广泛的应用,这是因为每个实数矩阵都有一个奇异值分解,但未必都有特征分解。例如,非方阵型矩阵没有特征分解,这时只能使用奇异值分解。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

降维技术

降维算法是将 p+1 个系数的问题简化为 M+1 个系数的问题,其中 M<p。算法执行包括计算变量的 M 个不同线性组合或投射(projection)。然后这 M 个投射作为预测器通过最小二乘法拟合一个线性回归模型。两个主要的方法是主成分回归(principal component regression)和偏最小二乘法(partial least squares)。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

蚂蚁金服机构

蚂蚁金服是一家旨在为世界带来普惠金融服务的科技企业。蚂蚁金服起步于 2004 年成立的支付宝。2014 年 10 月,蚂蚁金服正式成立。 蚂蚁金服以“为世界带来更多平等的机会”为使命,致力于通过科技创新能力,搭建一个开放、共享的信用体系和金融服务平台, 为全球消费者和小微企业提供安全、便捷的普惠金融服务。

https://www.antfin.com/
京东机构

京东(股票代码:JD),中国自营式电商企业,创始人刘强东担任京东集团董事局主席兼首席执行官。旗下设有京东商城、京东金融、拍拍网、京东智能、O2O及海外事业部等。2013年正式获得虚拟运营商牌照。2014年5月在美国纳斯达克证券交易所正式挂牌上市。 2016年6月与沃尔玛达成深度战略合作,1号店并入京东。

文本生成技术

文本生成是生成文本的任务,其目的是使人类书写文本难以区分。

Facenet技术

FaceNet 是一种通用于人脸识别和聚类的嵌入方法,该方法使用深度卷积网络,其最重要的部分在于整个系统的端到端学习。

暂无评论
暂无评论~