一种基于语义相似度的相似案件匹配方法与流程

文档序号:19424483发布日期:2019-12-17 15:01阅读:400来源:国知局
一种基于语义相似度的相似案件匹配方法与流程

本发明是一种基于语义相似度的案件匹配方法,属于法律人工智能领域。



背景技术:

随着信息时代的到来,人类每天接触的信息量越来越大,逐渐从信息匮乏时代走向信息过载时代,如何从中获得有效的信息显得尤为重要。目前各种法律数据库已经存储了大量电子数据,由于数据库仅能做简单的案件分类,通过数据库查询相似案件显得费时费力。如何从海量的法律案件中更快更有效地查询相似案件是一项值得探讨的工作。随着互联网技术的发展,已经有一些与机器学习相关的法律案件检索技术,这些技术将更快查询相似案件,提高效率、降低时间和人力成本。文本语义相似度计算是法律案件检索中一个重要的环节,文本语义相似度旨在比较文档对的相似程度,所以相似案件的检索可以归结为查询文本与数据库中文档的语义相似度计算问题。

目前,裁判文书网、无讼网和法信网等网站都提供相似案件检索服务,很大程度上方便用户查询相似案件,但是案件文本语义相似度算法还不成熟。现有的案件检索系统采用的主要方法是,使用案件的关键词进行匹配,但是非法律专业的普通用户很难提取案件中的关键信息,所以很难利用这些系统进行高效的检索。

此外与普通文本相比,法律案例文本具有其特殊性,其文本涉及法律专业的很多用语,因此法律文本对预处理的要求更高。传统的文本语义相似度计算方法依据特定的研究任务,需要人工定义和抽取特征,所以我们不能简单的将其他任务的文本语义相似度计算的方法引入到法律案例文本语义相似度算法中。但是神经网络模型可以自动从训练数据中抽取特征,也就是说抽取特征是模型的一部分,从而忽视案件文本的特殊性。

因此本发明选择使用word2vec模型,作为神经网络模型的一种,它可以节省人工定义和抽取特征过程,忽视案件文本的特殊性,训练得到案件词向量,在此基础上实现了自动抽取描述案件的关键词,再通过多示例转成单示例,将多个关键词向量转化成描述案件的fisher向量,最后通过计算余弦距离完成相似案件匹配。



技术实现要素:

本发明针对普通用户无法有效提取法律文书中的关键词及传统语义相似度算法需要人工定义和抽取特征的问题,提出了一种基于word2vec的案件词向量模型,并在此基础上自动抽取描述案件的关键词,通过多示例转成单示例,将多个关键词向量转化成描述案件的fisher向量进行语义相似度计算,主要过程包含案件词向量生成过程、基于案件词向量的语义相似度计算方法。

鉴于此,本发明的技术方案是一种基于语义相似度的相似案件匹配方法,包括如下步骤:

步骤1:建立案件库:获取裁判文书,进行结构化处理并存储,形成案件库;

步骤2:案件词向量生成;案件语料整理,剔除信息量低的内容;通过分词、剔除停用词、低频词等操作后,使用word2vec训练得到案件词向量模型;

步骤3:基于案件词向量的语义相似度计算方法,在案件词向量模型的基础上,抽取案件中的关键词后,通过多示例转成单示例,得到描述案件的fisher向量后,计算余弦距离,判断是否是相似案件,并得到相似度判断阈值;

步骤4:相似案件匹配:将用户输入的案件描述或者导入的审判文书,进行预处理并存储;依次获取案件的词向量和关键词向量,将关键词向量转化为fisher向量后,带入案件库中进行匹配,将匹配到的类似案件按照相似程度进行排序,并展示给用户。

本发明的有益效果:

1、使用基于word2vec的案件词向量模型,节省了人工定义和抽取特征的过程,并且基于100万条案件大语料的训练,使得案件词向量模型泛化性能更优。

2、基于案件词向量模型,实现了描述案件的关键词提取,从而使普通用户只需要输入案件描述或者裁判文书就可以获得相似案件,使其可使用性大大增强。

附图说明

图1为本发明系统的构架图。

图2为本发明的方法流程图。

具体实施方式

以下结合说明书附图1对本发明作进一步的详细说明。

步骤1:建立案件库:获取裁判文书,进行预处理并存储,形成案件库;

步骤2:案件词向量生成;案件语料整理,剔除信息量低的内容;通过分词、剔除停用词、低频词操作后,使用word2vec训练得到案件词向量模型;

步骤3:基于案件词向量的语义相似度计算方法,在案件词向量模型的基础上,抽取案件中的关键词后,通过多示例转成单示例,得到描述案件的fisher向量后,计算余弦距离,判断是否是相似案件,并得到相似度判断阈值;

步骤4:相似案件匹配:将用户输入的案件描述或者导入的审判文书,进行预处理并存储;依次获取案件的词向量和关键词向量,将关键词向量转化为fisher向量后,带入案件库中进行匹配,将匹配到的类似案件按照相似程度进行排序,并展示给用户。

进一步,步骤1中把裁判文书进行结构化处理,使裁判文书可以用标题、相关公司、法院名称、判决类型、案号、当事人、审理经过、原告诉求、被告答辩等字段描述。

上述步骤2和步骤3的模型建立过程是通过两步优化,首先是案件语料整理,剔除信息量低的内容,保留审理经过、原告诉求、本院认为、判决结果等字段,通过word2vec模型训练得到案件词向量。然后再根据案件词向量,计算描述案件各个词在语句中的重要程度,即计算条件概率p(s|wi)的值,这里的s代表着一段文本,wi是文本中的某个词,如果wi是文本的关键词,那么应该使得上述概率最大,条件概率值越大,代表其越有可能是关键词,我们对句子中所有的词,算一遍上述概率,然后降序排列,选取前k个关键词,再通过多示例转单示例,得到描述案件的fisher向量。最后通过计算两个案件fisher向量之间的语义相似度,通过阈值判断是否为相似案件。

作为优选,上述阈值选取0.8。

上述步骤4案件匹配过程就是从用户输入的案件描述或者导入的审判文书中自动抽取关键词,再将关键词向量转成fisher向量,使用fisher向量去案件库中进行语义相似度计算,最后将匹配到的类似案件按照相似程度进行排序,并展示给用户。

如图2所示,本发明提供了一种基于word2vec模型的案件词向量训练方法及基于案件词向量的语义相似度计算方法,该方法具体实施步骤包括如下:

案件词向量生成过程

案件词向量模型的训练过程是从裁判文书网上爬取约100万条案件数据作为训练集,运用word2vec将大量案件信息数据训练成词向量。word2vec是将单词训练成实数值向量的高效工具,它是在训练语言模型的同时,顺便得到词向量的,它可以根据上下文预测当前词,也可以根据当前词预测上下文语境。

以下是已知上下文信息,估算当前词语的语言模型。其学习目标是最大化对数似然函数:

l=∑w∈clogp(w|context(w))(1)

其中,c为语料库,也就是本发明中的100万条案件数据,w表示语料库c中任意一个词,context为词w的上下文语境。

此模型有输入层、投影层和输出层,输入层为上下文的词语的词向量(训练开始的时候,词向量是个随机值,随着训练的进行不断被更新)。投影层就是对输入的词向量相加求和。输出层对应为huffman树,也就是除了根结点以外树中的每个结点都取0、1编码,每个叶子结点代表语料库中的一个词语,各词在语料中出现的次数作为每个结点的权值。对于词库中的词w,huffman树中必存在一条从根结点到词w对应叶子结点的路径pw,此路径上存在bw-1个分支,即为bw-1个0、1编码,每个分支看成一次二分类,每次分类就会产生一个概率,计算目标词产生的概率就是从根结点到目标词w的结点这条路径上每次二分类概率的乘积。因此,w的条件概率可以转化为:

其中,xw为输入层向量的累加和,就是投影层的向量,bw为路径中包含结点的个数,表示路径pw中第i个结点对应的编码,表示路径pw中第i个节点的父结点对应的向量,因为根节点无编码,故编码从下标2开始,对应的参数向量下标从1开始(根节点为1)。每一项是个二分类将编码为0的结点定义为正类,编码为1的结点定义为负类,也就是:

二分类问题可以用逻辑斯谛回归表示,正类表示为σ(x),则负类为1-σ(x),因此,每个结点产生的概率可以表示为:

于是目标函数l=∑w∈clogp(w|context(w))转化为:

为了最大化目标函数,采用随机梯度下降法,就是对目标函数中的相关参数xw、做一次更新,因此需要考虑关于这些向量的梯度。

为方便求梯度,将上式中求和符号内的内容简化为l(w,i)

计算l(w,i)关于的梯度:

于是,的更新公式为:

其中α表示学习率。接下来l(w,i)关于xw的梯度:

不过xw是上下文的词向量的和,不是上下文单个词的词向量,因此采取的是直接将xw的更新量整个应用到每个单词的词向量上去:

其中,代表上下文中某一个单词的词向量。运用此模型能够得到案件信息的词向量。

基于案件词向量的语义相似度计算方法

根据生成的案件词向量,计算描述案件各个词在语句中的重要程度,即计算条件概率p(s|wi)的值,这里的s代表着一段文本,wi是文本中的某个词的词向量,如果wi是文本的关键词,那么应该使得上述概率最大。

如果s由n个词w1,w2,...,wn组成,那么

这样,只需要估算词与词之间的转移概率p(wk|wi),就可以得到条件概率p(s|wi)了,从而完成关键词的提取。

本发明对案件描述中所有的词,算一遍上述概率,然后降序排列,选取前k个关键词,得到案件的关键词描述。

上述案件的k个关键词向量可以看成同一个案件的多个示例,现需要将这些多示例转化成单示例,即用一个向量来表示。

解决多示例转化成单示例的一个重要问题是需要充分考虑到每一个示例对包的贡献。将一个包中的多个示例压缩成单示例会造成一定的信息损失,但是使得多示例问题得以简化,提高了算法效率。本发明中采用将多示例转化为一个fisher向量。

fisher向量是将原始样本映射到特征空间上得到的特征向量,它能把各个大小不同的描述子集转化成大小一致的一个向量,可以应用于多示例组成的包转化为一个特征向量表达。利用fisher向量来代替原本的包,这就完成了对多示例的压缩。对于包它的fisher向量计算方式如下:

由于包中的示例都是独立同分布的,因此使用混合高斯模型,包xi取自这个混合高斯模型的概率为:

其中,p是整个样本集的概率密度函数,ωk是混合权重,μk是平均向量,∑k是第k个高斯过程的协方差对角矩阵。通过在样本集上进行最大似然估计得到混合高斯模型的参数λ={ωk,μk,∑k,k=1,...,k},假设通过混合高斯模型得到了k个高斯分布,pk为第k个高斯模型的概率密度函数,则有:

ωk需要满足以下条件:

由贝叶斯定理得到第xij个示例取自第k个高斯分布的概率为:

接下来利用以上的概率密度函数计算n的fisher向量:

fisher向量实际上描述的是混合高斯模型该如何调整参数λ,才能使得xi完全取自混合高斯模型分布。

本发明将描述案件关键词中所有的特征向量转化为一个fisher单一向量描述。

最后通过计算两个案件fisher向量之间的语义相似度,如下所示:

其中x,y为描述案件的fisher向量,通过阈值判断是否为相似案件,这里阈值选取为0.8。

本发明的有益效果概括如下:

(1)本发明使用基于word2vec的案件词向量模型,节省了人工定义和抽取特征的过程,并且基于100万条案件大语料的训练,使得案件词向量模型的泛化能力更优。

传统的文本语义相似度计算方法需要依据特定的研究任务,进行人工定义和抽取特征,所以我们不能简单的将其他任务的文本语义相似度计算的方法引入到法律案件文本语义相似度算法中。但是神经网络模型可以自动从训练数据中抽取特征,也就是说抽取特征是模型的一部分,从而忽视案件文本的特殊性,word2vec作为神经网络模型中的一种,节省了人工定义和抽取特征的过程,并且基于100万条案件大语料的训练,使得案件词向量模型泛化性能更优。

(2)本发明基于案件词向量模型,实现了自动提取案件的关键词,从而使普通用户只需要输入案件描述或者裁判文书就可以获得相似案件,使其可使用性大大增强。

本发明实现了从案件描述或者裁判文书自动抽取关键词,使得非法律专业的普通用户也可以提取案件中的关键信息,从而高效的进行相似案件检索。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1