首页> 中国专利> 一种利用基于多层注意力的序列生成网络进行多罪名预测的方法

一种利用基于多层注意力的序列生成网络进行多罪名预测的方法

摘要

本发明涉及一种利用基于多层注意力的序列生成网络进行多罪名预测的方法,在融合神经网络与注意力机制基础上,更好地实现文本之间的上下文内容依赖,从而更准确地进行文本内容的多罪名提取。基于多层注意力机制(词级别和句子级别的attention机制嵌套)的多罪名预测模型对原始数据集进行改造,再通过刑法罪名之间的逻辑联系,从而将罪名间的关联信息融入到模型中。增加法条抽取器,法条文本编码器,引入法条信息,又通过注意力操作,从原始文本中过滤掉对罪名罪名无关的文本信息,增强待预测罪名对应文本的信息表示,从而提升模型对待预测罪名的预测精度。

著录项

  • 公开/公告号CN111026869A

    专利类型发明专利

  • 公开/公告日2020-04-17

    原文格式PDF

  • 申请/专利权人 山东大学;

    申请/专利号CN201911257862.1

  • 发明设计人 李玉军;马宝森;朱孔凡;马浩洋;

    申请日2019-12-10

  • 分类号

  • 代理机构济南金迪知识产权代理有限公司;

  • 代理人许德山

  • 地址 250199 山东省济南市历城区山大南路27号

  • 入库时间 2023-12-17 08:42:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-08-18

    授权

    授权

  • 2020-05-19

    著录事项变更 IPC(主分类):G06F16/35 变更前: 变更后: 申请日:20191210

    著录事项变更

  • 2020-05-12

    实质审查的生效 IPC(主分类):G06F16/35 申请日:20191210

    实质审查的生效

  • 2020-04-17

    公开

    公开

说明书

技术领域

本发明涉及一种利用基于多层注意力的序列生成网络进行多罪名预测的方法,属于自然语言处理技术领域。

背景技术

在人工智能和大数据技术的加持下,法律研究正向智能化、自动化方向迈进。信息化已经对法律检索进行过了一次改造,法律文本、裁判文书等法律资料的数字化,支撑起了市场规模巨大的法律数据库市场。2014年,《最高人民法院关于人民法院在互联网公布裁判文书的规定》正式实施,最高法在互联网设立中国裁判文书网,统一公布各级人民法院的生效裁判文书。

裁判文书的内容数据量大,目前大数据平台汇聚了刑事裁判文书645万。裁判文书经由法官书写,文本质量高,表述严谨规范。且内容标注详细,每份文书都对应详细的标注,如:法条、罪名、量刑结果。

多罪名分类的方法基本上分为两种,一种是将问题转化为传统的分类问题,常用的转化方法有好几种,比如对每个实例确定或随机的分配一个罪名,或只保留只有一个罪名的训练样本,然后用传统的多分类方法去训练。这种方法会导致训练样本的损失,所以不推荐使用。还可以将训练样本按每个罪名构造一个训练集,每个样本属于或不属于这个罪名,对每个罪名单独训练一个分类器,然后将多个分类器的结果合成。还有将每个多罪名单独看做一个新罪名,在一个更多的罪名集上做多分类。当多罪名样本比较少时,这个方法就比较受限。还有对每个有多个罪名的样本,复制该样本,每个样本具有不同的罪名,加入训练集后使用覆盖分类法。二是调整现有的算法来适应多罪名的分类。调整的算法也比较多,比如通过调整kNN、SVM等实现多分类,这些调整通常也会用到上面的转换。其中调整kNN实现的多罪名分类可以加入先验概率,并能对输出罪名排序。基于SVM的算法中,有人在训练集中加入了L个二分类的训练结果,然后再进行一次分类,这个方法考虑到了不同罪名之间的依赖,也是应用栈(Stacking多个分类器的叠加)的一个特殊情况。还有人利用了相关规则挖掘的方法。

多罪名分类是多类分类的一般化,多类分类是将实例精确分类到一个或者多个类别中的单一罪名问题,在多罪名问题中,没有限制说一个实例可以被设置多少个类别.正规点讲就是,多罪名分类是找到一个模型将输入映射到二值向量中.可以将多罪名问题转化成一系列的二元分类问题,然后可以使用多个单罪名分类器进行处理。

相比以上算法,基于深度学习的多罪名罪名预测方法,实现了利用已有数据训练神经网络模型并应用的技术,提升了罪名分类效果,避免人工检查。然而,基于深度学习的罪名分类预测方法虽然克服了传统算法的特征表征性能差、对噪声敏感、任务层次低等缺点,在基本的罪名分类中取得了不错的结果。但是,目前深度学习进行罪名分类的方式局限于先采用递归神经神经网络提取信息再利用双向LSTM进行高维信息提取。此类方法存在以下严重问题:

在某些情况下,我们需要更多的上下文信息。当我们想要预测“I grew up inFrance…I speakfluent French.”中的未知单词,也就是"French",根据前面的信息“Ispeak fluent”可以知道,下一个单词应该是一种语言,但是是哪种语言必须从更前面的语句“I grew up in France“得到更多的信息,而相关信息与需要信息的位置之间的距离非常大,当距离增加,RNN变得无法连接相关信息,丢失了大量关键信息。因此,如果能有效利用较长距离间的上下文关系为神经网络模型的训练提供有效的监督,在实际应用中,能够更加精确地对罪名内容进行合理检测。

多罪名预测的主要困难:多罪名学习的主要难点在于输出空间的爆炸增长。假设存在20个罪名,输出空间就有220,为了应对指数复杂度的罪名空间,需要挖掘罪名之间的相关性。比方说,一名罪犯犯走私、贩卖毒品罪,那么他同时犯容留他人吸毒罪的可能性就很高,但是犯贪污受贿罪的可能性就非常小。有效的挖掘罪名之间的相关性,是多罪名学习成功的关键。

发明内容

针对现有技术的不足,基于文本状态概念,本发明提供了一种利用基于多层注意力的序列生成网络进行多罪名预测的方法;

本发明提出了一种基于多层注意力的序列生成网络结合法条相关信息、罪名关联进行多罪名预测方法,可以有效、合理地融合神经网络与注意力机制,并结合法律法条信息的相关专业领域知识辅助有机地结合文本之间的上下文内容依赖,从而更准确地进行裁判文书文本内容的多罪名提取。

术语解释:

1、CBOW神经网络模型,CBOW模型的训练输入是某一个特征词的上下文相关的词对应的词向量,而输出就是这特定的一个词的词向量。比如“an efficient method forlearning high qualitydistributed vector”,上下文大小取值为4,特定的这个词是"Learning",也就是需要的输出词向量,上下文对应的词有8个,前后各4个,这8个词是模型的输入。由于CBOW使用的是词袋模型,因此,这8个词都是平等的,也就是不考虑他们和我们关注的词之间的距离大小,只要在我们上下文之内即可。在这个CBOW的例子里,我们的输入是8个词向量,输出是所有词的softmax概率(训练的目标是期望训练样本特定词对应的softmax概率最大),对应的CBOW神经网络模型输入层有8个神经元,输出层有词汇表大小个神经元。隐藏层的神经元个数我们可以自己指定。通过反向传播算法,我们可以求出模型的参数,同时得到所有的词对应的词向量。这样当我们有新的需求,要求出某8个词对应的最可能的输出中心词时,我们可以通过一次前向传播算法并通过softmax激活函数找到概率最大的词对应的神经元即可。

2、skipgram神经网络模型,Skip-Gram模型和CBOW的思路是反着来的,即输入是特定的一个词的词向量,而输出是特定词对应的上下文词向量。还是上面的例子“anefficient method for learning high quality distributed vector”,我们的上下文大小取值为4,特定的这个词"Learning"是我们的输入,而这8个上下文词是我们的输出。

这样我们这个Skip-Gram的例子里,我们的输入是特定词,输出是softmax概率排前8的8个词,对应的Skip-Gram神经网络模型输入层有1个神经元,输出层有词汇表大小个神经元。隐藏层的神经元个数我们可以自己指定。通过反向传播算法,我们可以求出模型的参数,同时得到所有的词对应的词向量。这样当我们有新的需求,要求出某1个词对应的最可能的8个上下文词时,我们可以通过一次前向传播算法得到概率大小排前8的softmax概率对应的神经元所对应的词即可。

3、层级注意力网络,网络可以被看作为两部分,第一部分为词“注意”部分,另一部分为句“注意”部分。整个网络通过将一个句子分割为几部分(例如可以用“,”讲一句话分为几个小句子),对于每部分,都使用双向RNN结合“注意力”机制将小句子映射为一个向量,然后对于映射得到的一组序列向量,我们再通过一层双向RNN结合“注意力”机制实现对文本的分类(在本发明中使用的是LSTM结合“注意力”机制)。层级注意力网络结构如图3所示。首先,通过一个线性层对双向LSTM的输出进行变换,然后通过softmax公式计算出每个单词的重要性,最后通过对双向LSTM的输出进行加权平均得到每个句子的表示。

4、LSTM:Long Short-Term Memory,是长短期记忆网络,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。

5、softmax分类器,假设我们有一个数组V,Vi表示V中的第i个元素,那么这个元素的softmax值就是:Softmax函数如图1所示:图1中,若输入为3,1,-1,经过softmax函数后映射为(0,1)区间内的值,这些值的累计和为1(满足概率性质,我们可以把它理解为概率),最后选取输出结点的时候选取概率最大的结点作为分类预测目标。

6、多罪名分类:每个裁判文书样本中一个罪犯可能同时触犯多条法律,多条法律涉及到罪犯会被判处单项罪名或者多项罪名,多罪名分类就是对此类文本内容进行分析,以实现文书内容的多罪名分类。

7、多层注意力:对文本内容分别进行词级别和句子级别的attention操作,得到犯罪事实文本中的关键字词和关键句信息表征,从而提高模型的建模能力和预测效果。

8、序列生成网络:在解码过程中,首先需要一个标识符表示一句话的开始,然后接着将其输入网络得到第一个输出作为第一个罪名,接着通过得到的第一个罪名作为网络的下一个输入,得到的输出作为第二个罪名,不断循环,通过这种方式来得到最后网络输出的罪名标识。

本发明的技术方案为:

一种利用基于多层注意力的序列生成网络进行多罪名预测的方法,包括步骤如下:

(1)数据预处理:

因为数据集是原始数据集,不符合模型的输入要求,需对数据进行预处理。对原始数据进行筛选,原始数据为裁判文书,将裁判文书中包含的犯罪事实描述部分利用正则表达式匹配的方法抽取出来,做中文分词处理,得到裁判文书的全部数据集;将裁判文书的全部数据集打乱后,分成若干份,设定为N,N-1份做训练数据集,剩下1份做测试数据集;

(2)训练词向量,获取语义信息,语义信息是指词向量:

将上述步骤(1)得到的训练数据集输入skipgram神经网络模型或CBOW神经网络模型进行训练,得到训练数据集中每一个词相应的词向量,构成词向量表;

(3)编码:

采用层级注意力网络进行编码,是指:因为犯罪事实文本属于长篇章级别,内容除了犯罪信息外同时包含一些与罪名预测无关的信息,因此对长文本进行注意力降维操作,使得我们在保留重要内容的同时筛除掉对罪名预测无用的信息。将原始文本切分为句子级别,原始文本是指步骤(1)抽取出来经过分词处理的犯罪事实描述部分;首先,对每个句子进行词级别的LSTM+注意力操作,实现对每个句子的特征提取;然后,进行句子级别的LSTM+注意力操作,来获得整篇原始文本的特征表示;

(4)注意力操作:

通过注意力机制实现注意力操作,获取特征向量;

(5)解码:

采用LSTM作为基本解码单元;步骤(3)生成的特征向量送入LSTM,结合注意力机制送来的特征向量,进行罪名的预测,并借鉴机器翻译,通过人为设置启动的罪名,将预测罪名的过程转化为罪名序列生成的过程,包括:

a、设置一个标识符“sos”,表示某一罪名的开始;

b、将标识符“sos”输入LSTM,LSTM作为基本解码单元的网络,得到第一个输出,第一个输出作为第一个罪名特征向量;接着,第一个罪名特征向量作为网络的下一个输入,得到的输出作为第二个罪名特征向量,不断循环,直至当基本解码单元遇到“eos”标识符,得到网络最后输出的罪名;“eos”标识符表示最后输出的罪名标识。

一方面将罪名之间的逻辑关系融入到模型中,另一方面又通过增加encoder和decoder之间的attention机制加强encoder-decoder信息流动,更有效地完成在每一个罪名预测过程中对应关键词关键句信息整合,从而完成最终的多罪名预测。

根据本发明优选的,所述步骤(3)之后进行法条抽取,包括:首先,用法条抽取器选出前k个法条,然后,获取这k个法条的特征向量来表示语义信息,把特征向量送入注意力机制中。

法条抽取部分是根据数据集内容设置的,在后面的实验中有提到,CJO数据集中有法律信息,可以增加法条抽取模块,CAIL数据集中没有法律信息,模型中就没有添加法条抽取部分;

本发明还增加了法条抽取部分,以数据中的法条信息作为辅助手段预测相关罪名。通过进一步结合刑法罪名之间的逻辑关联,模型使用罪名之间的逻辑关联来进一步提升罪名预测效果。

根据本发明优选的,所述步骤(1)中,所述原始数据包括CJO数据集(中国裁判文书网多罪名罪名数据集)和CAIL数据集(法研杯多罪名罪名数据集)。

根据本发明优选的,所述步骤(2)中,skipgram神经网络模型中,训练窗口大小为8(即考虑一个词的前八个和后八个),每个词的向量维度可以自行指定,词的向量维度是200,迭代次数是15次。

CBOW神经网络模型中使用的参数大小可根据具体模型的需要自行指定。

根据本发明优选的,所述步骤(2)中,训练模型中,构造损失函数即交叉熵函数,交叉熵是指两个概率分布之间的距离,通过概率分布q来表达概率分布p的困难程度,p代表正确答案,q代表的是预测值,交叉熵越小,两个概率的分布越接近。

进一步优选的,预测值和真实罪名之间的交叉熵损失作为损失函数,损失函数如式(Ⅰ)所示:

式(Ⅰ)中,yi代表真实罪名,pi代表模型对应第i个罪名的预测概率。

根据本发明优选的,所述步骤(3)中,对每个句子进行词级别的LSTM+注意力操作,实现对每个句子的特征提取,包括步骤如下:

词编码:词编码器的特征抽取模块以双向LSTM作为基本的特征抽取器,输入原始文本和前导罪名,词编码的实现公式如式(II)-(Ⅷ)所示:

it=σ(Wihht-1+Wixxt+bi)>

ft=σ(Wfhht-1+Wfxxt+bf)>

ot=σ(Wohht-1+Woxxt+bo)>

gt=tanh(Wghht-1+Wgxxt+bg)>

ct=it⊙gt+ft⊙ct-1>

ht=ot⊙tanh(ct)(Ⅶ)

式(II)-(Ⅷ)中,ht-1表示当前时刻的前一时间步的隐藏状态表示向量,xt表示从步骤(2)中得到的词向量,bi、bf、bo、bg为偏置向量,Wih、Wix、Wfh、Wfx、Woh、Wox、Wgh、Wgx表示权重矩阵,it,ft和ot分别代表LSTM的输入门,遗忘门和输出门;σ,tanh分别代表sigmoid激活函数和双曲正切函数⊙代表对应元素相乘。W,b分别代表LSTM内部训练矩阵和偏置向量;ht-1,xt分别代表在时间步t-1时的隐藏层状态和时间步t时的输入;hbi代表前向隐藏层状态和后向隐藏层状态的级联向量;

词级别注意力操作:首先把词表示hit送入一个全连接层获得hit的隐藏表示uit,接着用词级别的注意力权重向量Uw计算词的的重要性,并进行标准化处理,计算句子向量si作为基于权重的单词表示的加权和;实现公式如式(IX)-(Ⅺ)所示:

uit=tanh(Wwhit+bw)>

si=∑tαithit(Ⅺ)

式(IX)-(Ⅺ)中,Ww和Uw代表注意力权重矩阵,bw代表偏置向量,hit表示第i个句子在时序t时的隐藏状态,在注意力机制里,首先使用一个单层的神经网络对隐藏向量hit处理后得到一个隐藏表示uit,然后用这个隐藏表示uit经过softmax函数(公式(X))得到权重αit,最终一个句子的表示句子向量si就是权重αit与编码向量hit的和;

根据本发明优选的,所述步骤(3),进行句子级别的LSTM+注意力操作,来获得整篇原始文本的特征表示,包括步骤如下:

句子编码:句子编码器的特征抽取模块以双向LSTM作为基本的特征抽取器,输入原始文本和前导罪名,句子编码的实现公式如式(Ⅻ)-(XVIII)所示:

it,2=σ(Wih,2ht-1,2+Wix,2xt,2+bi,2)>

ft,2=σ(Wfh,2ht-1,2+Wfx,2xt,2+bf,2)>

ot,2=σ(Woh,2ht-1,2+Wox,2xt,2+bo,2)>

gt,2=tanh(Wgh,2ht-1,2+Wgx,2xt,2+bg,2)>

ct,2=it,2⊙gt,2+ft,2⊙ct-1,2>

ht,2=ot,2⊙tanh(ct,2)>

式(Ⅻ)-(XVIII)中,ht-1,2表示当前时刻的前一时间步的隐藏状态表示向量,xt,2表示从词编码器中传送过来的表示向量,bi,2、bf,2、bo,2、bg,2为偏置向量,Wih,2、Wix,2、Wfh,2、Wfx,2、Woh,2、Wox,2、Wgh,2、Wgx,2表示权重矩阵,it,2,ft,2和ot,2分别代表LSTM的输入门,遗忘门和输出门;σ,tanh分别代表sigmoid激活函数和双曲正切函数⊙代表对应元素相乘;hbi,2代表前向隐藏层状态和后向隐藏层状态的级联向量;

句子级别的注意力操作:首先把词表示hi送入一个全连接层获得hi的隐藏表示ui,接着,用词级别的注意力权重向量Us计算词的重要性,并进行标准化处理,计算句子向量v作为基于权重的单词注释的加权和,实现公式如式(XIX)-(XXI)所示:

ui=tanh(Wshi+bs)>

v=∑iαihi>

式(XIX)-(XXI)中,Ws和Us代表句子级别注意力权重矩阵,bs代表偏置向量,hi表示第i个句子的隐藏状态,在注意力机制里,首先使用一个单层的神经网络对隐藏向量hi处理后得到一个隐藏表示ui,然后用这个隐藏表示ui经过softmax函数得到权重αi,最终一个句子的表示子向量v就是权重αi与编码向量hi的和。

在Encoder部分,本发明采用了LSTM结合层级注意力网络。首先我们对对每个句子进行词级别的“LSTM+注意力”操作进行每个句子的特征提取,然后进行句子级别的“LSTM+注意力”操作来获得整篇文章的特征表示,通过这种层级注意力操作的组合,可以得到犯罪事实文本中的关键字词和关键句信息,从而提高模型的建模能力和预测效果。这样既解决了长文本的建模问题,又可以得到关键句子关键词的表征,提升模型的信息表征能力。

根据本发明优选的,所述步骤(4)中,通过注意力机制实现注意力操作,获取特征向量,实现公式如式(XXII)-(XXV)所示:

hj=[ot,k]>

uj=tanh(Wahj+ba)>

a=∑jαjhj>

式(XXII)-(XXV)中,Ot是指LSTM在t时刻的输出,k是指法条抽取器抽取的前k个法条的特征向量;Wa和Ua代表注意力机制中的注意力权重矩阵,ba代表偏置向量,hj表示预测第j个罪名时的隐藏状态;首先,把词表示hj送入一个全连接层获得hj的隐藏表示uj,接着用注意力权重向量Ua计算文本篇章向量在预测这个罪名时篇章向量每一部分的各自权重αi,并进行标准化处理,计算特征向量向量a作为基于权重的向量注释的加权和;是指隐藏表示uj的向量转置。

根据本发明优选的,所述步骤(5)中,采用LSTM作为基本解码单元进行解码,包括:

LSTM操作,如式(XXVI)-(XXXII)所示:

it,3=σ(Wih,3ht-1,3+Wix,3xt,3+bi,3)(XXVI)

ft,3=σ(Wfh,3ht-1,3+Wfx,3xt,3+bf,3)(XXVII)

ot,3=σ(Woh,3ht-1,3+Wox,3xt,3+bo,3)(XXVIII)

gt,3=tanh(Wgh,3ht-1,3+Wgx,3xt,3+bg,3)(XXIX)

ct,3=it,3gt,3+ft,3⊙ct-1,3(XXX)

ht,3=ot,3⊙tanh(ct,3)>

式(XXVI)-(XXXII)中,ht-1,3表示当前时刻的前一时间步的隐藏状态表示向量,xt,3表示当前时间步从注意力机制传来的表示向量,bi,3、bf,3、bo,3、bg,3为偏置向量,Wih,3、Wix,3、Wfh,3、Wfx,3、Woh,3、Wox,3、Wgh,3、Wgx,3表示权重矩阵,it,3,ft,3和ot,3分别代表LSTM的输入门,遗忘门和输出门;σ,tanh分别代表sigmoid激活函数和双曲正切函数⊙代表对应元素相乘;hbi,3代表前向隐藏层状态和后向隐藏层状态的级联向量;

输出部分融合后得到的特征输入到全连接层,实现公式如式(XXXIII)所示:

x=f(WvA)(XXXIII)

式(XXXIII)中,W全连接层的待训练矩阵,vA代表decoder中的输出向量,f()表示全连接层只对特征向量vA做了恒等映射,x为特征经过恒等映射后得到的特征输出;

全连接层得到的向量输入到softmax层,实现公式如式(XXXIV)所示:

式(XXXIV)中,xi代表全连接层对应第i个罪名的输出值,K代表罪名数量,pi表示预测第i个罪名的概率。

本发明的有益效果为:

1、本发明采用encoder-decoder的模型,在encoder部分采用了层级嵌套的attention机制,对裁判文书的长文本内容进行有效的信息提取,解决了长篇章文本的建模问题

2、在模型进行多罪名分类时考虑了各罪名的共现可能性,将模型预测罪名的过程转化为罪名序列生成的过程,增加了罪名之间的信息关联,有效解决了样本罪名空间过大的问题。

3、本发明同时引入了法条抽取模块,处理法律法条获得有效的语义信息,把语义信息作为辅助手段提高模型的多罪名预测准确程度

附图说明

图1是Softmax函数的示意图;

图2是本发明利用基于多层注意力的序列生成网络进行多罪名预测的方法的流程框图;

图3是采用层级注意力网络进行编码的流程框图;

图4是采用LSTM作为基本解码单元进行解码的流程框图。

具体实施方式

下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。

实施例1

一种利用基于多层注意力的序列生成网络进行多罪名预测的方法,如图2所示,包括步骤如下:

(1)数据预处理:

因为数据集是原始数据集,不符合模型的输入要求,需对数据进行预处理。对原始数据进行筛选,原始数据为裁判文书,将裁判文书中包含的犯罪事实描述部分利用正则表达式匹配的方法抽取出来,做中文分词处理,得到裁判文书的全部数据集;将裁判文书的全部数据集打乱后,分成若干份,设定为N,N-1份做训练数据集,剩下1份做测试数据集;

(2)训练词向量,获取语义信息,语义信息是指词向量:

将上述步骤(1)得到的训练数据集输入skipgram神经网络模型或CBOW神经网络模型进行训练,得到训练数据集中每一个词相应的词向量,构成词向量表;

(3)编码:

采用层级注意力网络进行编码,如图3所示,是指:因为犯罪事实文本属于长篇章级别,内容除了犯罪信息外同时包含一些与罪名预测无关的信息,因此对长文本进行注意力降维操作,使得我们在保留重要内容的同时筛除掉对罪名预测无用的信息。将原始文本切分为句子级别,原始文本是指步骤(1)抽取出来经过分词处理的犯罪事实描述部分;首先,对每个句子进行词级别的LSTM+注意力操作,实现对每个句子的特征提取;然后,进行句子级别的LSTM+注意力操作,来获得整篇原始文本的特征表示;

(4)注意力操作:

通过注意力机制实现注意力操作,获取特征向量;

(5)解码:

采用LSTM作为基本解码单元,如图4所示,步骤(3)生成的特征向量送入LSTM,结合注意力机制送来的特征向量,进行罪名的预测,并借鉴机器翻译,通过人为设置启动的罪名,将预测罪名的过程转化为罪名序列生成的过程,包括:

a、设置一个标识符“sos”,表示某一罪名的开始;

b、将标识符“sos”输入LSTM,LSTM作为基本解码单元的网络,得到第一个输出,第一个输出作为第一个罪名特征向量;接着,第一个罪名特征向量作为网络的下一个输入,得到的输出作为第二个罪名特征向量,不断循环,直至当基本解码单元遇到“eos”标识符,得到网络最后输出的罪名;“eos”标识符表示最后输出的罪名标识。

一方面将罪名之间的逻辑关系融入到模型中,另一方面又通过增加encoder和decoder之间的attention机制加强encoder-decoder信息流动,更有效地完成在每一个罪名预测过程中对应关键词关键句信息整合,从而完成最终的多罪名预测。

实施例2

根据实施例1所述的一种利用基于多层注意力的序列生成网络进行多罪名预测的方法,其区别在于:

步骤(3)之后进行法条抽取,包括:首先,用法条抽取器选出前k个法条,然后,获取这k个法条的特征向量来表示语义信息,把特征向量送入注意力机制中。

法条抽取部分是根据数据集内容设置的,在后面的实验中有提到,CJO数据集中有法律信息,可以增加法条抽取模块,CAIL数据集中没有法律信息,模型中就没有添加法条抽取部分;

本发明还增加了法条抽取部分,以数据中的法条信息作为辅助手段预测相关罪名。通过进一步结合刑法罪名之间的逻辑关联,模型使用罪名之间的逻辑关联来进一步提升罪名预测效果。

步骤(1)中,原始数据包括CJO数据集(中国裁判文书网多罪名罪名数据集)和CAIL数据集(法研杯多罪名罪名数据集)。

步骤(2)中,skipgram神经网络模型中,训练窗口大小为8(即考虑一个词的前八个和后八个),每个词的向量维度可以自行指定,词的向量维度是200,迭代次数是15次。

CBOW神经网络模型中使用的参数大小可根据具体模型的需要自行指定。

步骤(2)中,训练模型中,构造损失函数即交叉熵函数,交叉熵是指两个概率分布之间的距离,通过概率分布q来表达概率分布p的困难程度,p代表正确答案,q代表的是预测值,交叉熵越小,两个概率的分布越接近。预测值和真实罪名之间的交叉熵损失作为损失函数,损失函数如式(Ⅰ)所示:

式(Ⅰ)中,yi代表真实罪名,pi代表模型对应第i个罪名的预测概率。

步骤(3)中,对每个句子进行词级别的LSTM+注意力操作,实现对每个句子的特征提取,包括步骤如下:

词编码:词编码器的特征抽取模块以双向LSTM作为基本的特征抽取器,输入原始文本和前导罪名,词编码的实现公式如式(II)-(Ⅷ)所示:

it=σ(Wihht-1+Wixxt+bi)>

ft=σ(Wfhht-1+Wfxxt+bf)>

ot=σ(Wohht-1+Woxxt+bo)>

gt=tanh(Wghht-1+Wgxxt+bg)>

ct=it⊙gt+ft⊙ct-1>

ht=ot⊙tanh(ct)>

式(II)-(Ⅷ)中,ht-1表示当前时刻的前一时间步的隐藏状态表示向量,xt表示从步骤(2)中得到的词向量,bi、bf、bo、bg为偏置向量,Wih、Wix、Wfh、Wfx、Woh、Wox、Wgh、Wgx表示权重矩阵,it,ft和ot分别代表LSTM的输入门,遗忘门和输出门;σ,tanh分别代表sigmoid激活函数和双曲正切函数⊙代表对应元素相乘。W,b分别代表LSTM内部训练矩阵和偏置向量;ht-1,xt分别代表在时间步t-1时的隐藏层状态和时间步t时的输入;hbi代表前向隐藏层状态和后向隐藏层状态的级联向量;

词级别注意力操作:首先把词表示hit送入一个全连接层获得hit的隐藏表示uit,接着用词级别的注意力权重向量Uw计算词的的重要性,并进行标准化处理,计算句子向量si作为基于权重的单词表示的加权和;实现公式如式(IX)-(XI)所示:

uit=tanh(Wwhit+bw)>

si=∑tαithit>

式(IX)-(XI)中,Ww和Uw代表注意力权重矩阵,bw代表偏置向量,hit表示第i个句子在时序t时的隐藏状态,在注意力机制里,首先使用一个单层的神经网络对隐藏向量hit处理后得到一个隐藏表示uit,然后用这个隐藏表示uit经过softmax函数(公式(X))得到权重αit,最终一个句子的表示句子向量si就是权重αit与编码向量hit的和;

步骤(3),进行句子级别的LSTM+注意力操作,来获得整篇原始文本的特征表示,包括步骤如下:

句子编码:句子编码器的特征抽取模块以双向LSTM作为基本的特征抽取器,输入原始文本和前导罪名,句子编码的实现公式如式(XII)-(XVIII)所示:

it,2=σ(Wih,2ht-1,2+Wix,2xt,2+bi,2)(XII)

ft,2=σ(Wfh,2ht-1,2+Wfx,2xt,2+bf,2)>

ot,2=σ(Woh,2ht-1,2+Wox,2xt,2+bo,2)>

gt,2=tanh(Wgh,2ht-1,2+Wgx,2xt,2+bg,2)(XV)

ct,2=it,2gt,2+ft,2⊙ct-1,2>

ht,2=ot,2⊙tanh(ct,2)>

式(Ⅻ)-(XVIII)中,ht-1,2表示当前时刻的前一时间步的隐藏状态表示向量,xt,2表示从词编码器中传送过来的表示向量,bi,2、bf,2、bo,2、bg,2为偏置向量,Wih,2、Wix,2、Wfh,2、Wfx,2、Woh,2、Wox,2、Wgh,2、Wgx,2表示权重矩阵,it,2,ft,2和ot,2分别代表LSTM的输入门,遗忘门和输出门;σ,tanh分别代表sigmoid激活函数和双曲正切函数⊙代表对应元素相乘;hbi,2代表前向隐藏层状态和后向隐藏层状态的级联向量;

句子级别的注意力操作:首先把词表示hi送入一个全连接层获得hi的隐藏表示ui,接着,用词级别的注意力权重向量Us计算词的重要性,并进行标准化处理,计算句子向量v作为基于权重的单词注释的加权和,实现公式如式(XIX)-(XXI)所示:

ui=tanh(Wshi+bs)>

v=∑iαihi>

式(XIX)-(XXI)中,Ws和Us代表句子级别注意力权重矩阵,bs代表偏置向量,hi表示第i个句子的隐藏状态,在注意力机制里,首先使用一个单层的神经网络对隐藏向量hi处理后得到一个隐藏表示ui,然后用这个隐藏表示ui经过softmax函数得到权重αi,最终一个句子的表示子向量v就是权重αi与编码向量hi的和。

在Encoder部分,本发明采用了LSTM结合层级注意力网络。首先我们对对每个句子进行词级别的“LSTM+注意力”操作进行每个句子的特征提取,然后进行句子级别的“LSTM+注意力”操作来获得整篇文章的特征表示,通过这种层级注意力操作的组合,可以得到犯罪事实文本中的关键字词和关键句信息,从而提高模型的建模能力和预测效果。这样既解决了长文本的建模问题,又可以得到关键句子关键词的表征,提升模型的信息表征能力。

如图3所示,在词编码器中,表示双向LSTM中对于处理的文本内容里第2句话的第1个时刻的正向隐藏表示,表示双向LSTM中对于处理的文本内容里第2句话的第1个时刻的反向隐藏表示,o1表示双向LSTM在第1时刻的输出表示,uw代表“词级别注意力”权重矩阵;

在句子编码器中,表示双向LSTM中对于处理的文本内容里第2句话的第1个时刻的正向隐藏表示,表示双向LSTM中对于处理的文本内容里第2句话的第1个时刻的反向隐藏表示,o1表示双向LSTM在第1时刻的输出表示,us代表“句子级别注意力”权重矩阵,

步骤(4)中,通过注意力机制实现注意力操作,获取特征向量,实现公式如式(XXII)-(XXV)所示:

hj=[ot,k]>

uj=tanh(Wahj+ba)(XXIII)

a=∑jαjhj(XXV)

式(XXII)-(XXV)中,Ot是指LSTM在t时刻的输出,k是指法条抽取器抽取的前k个法条的特征向量;Wa和Ua代表注意力机制中的注意力权重矩阵,ba代表偏置向量,hj表示预测第j个罪名时的隐藏状态;首先,把词表示hj送入一个全连接层获得hj的隐藏表示uj,接着用注意力权重向量Ua计算文本篇章向量在预测这个罪名时篇章向量每一部分的各自权重αi,并进行标准化处理,计算特征向量向量a作为基于权重的向量注释的加权和;是指隐藏表示uj的向量转置。

步骤(5)中,采用LSTM作为基本解码单元进行解码,包括:

LSTM操作,如式(XXVI)-(XXXII)所示:

it,3=σ(Wih,3ht-1,3+Wix,3xt,3+bi,3)>

ft,3=σ(Wth,3ht-1,3+Wfx,3xt,3+bf,3)>

ot,3=σ(Woh,3ht-1,3+Wox,3xt,3+bo,3)>

gt,3=tanh(Wgh,3ht-1,3+Wgx,3xt,3+bg,3)(XXIX)

ct,3=it,3gt,3+ft,3⊙ct-1,3(XXX)

ht,3=ot,3⊙tanh(ct,3)>

式(XXVI)-(XXXII)中,ht-1,3表示当前时刻的前一时间步的隐藏状态表示向量,xt,3表示当前时间步从注意力机制传来的表示向量,bi,3、bf,3、bo,3、bg,3为偏置向量,Wih,3、Wix,3、Wfh,3、Wfx,3、Woh,3、Wox,3、Wgh,3、Wgx,3表示权重矩阵,it,3,ft,3和ot,3分别代表LSTM的输入门,遗忘门和输出门;σ,tanh分别代表sigmoid激活函数和双曲正切函数⊙代表对应元素相乘;hbi,3代表前向隐藏层状态和后向隐藏层状态的级联向量;

输出部分融合后得到的特征输入到全连接层,实现公式如式(XXXIII)所示:

x=f(WvA)(XXXIII)

式(XXXIII)中,W全连接层的待训练矩阵,vA代表decoder中的输出向量,f()表示全连接层只对特征向量vA做了恒等映射,x为特征经过恒等映射后得到的特征输出;

全连接层得到的向量输入到softmax层,实现公式如式(XXXIV)所示:

式(XXXIV)中,xi代表全连接层对应第i个罪名的输出值,K代表罪名数量,pi表示预测第i个罪名的概率。

如图4所示,“特征向量”为图3中“句子级别注意力”输出的“特征向量”,Tj表示预测的第j个罪名。

通过数据集CAIL和CJO(CJO数据集中有法律信息,增加了法条抽取器作为对照,wo指模型中没有添加法条抽取模块;CAIL数据集中没有法律信息,没有添加法条抽取模块),并以Binary Relevance(BR)、Classifier Chains(CC)、Label Powerset(LP)、Hierarchical Attention Networks多罪名分类算法和Predict Charges for CriminalCases with Legal Basis论文中的模型为对比,数据集CJO的实验结果如表1所示,数据集CAIL的实验结果如表2所示,本发明提出的利用基于多层注意力的序列生成网络进行多罪名预测的方法在CAIL和CJO两个数据集中的效果要优于其他几个模型。

表1

表2

表1、表2中,BR、CC、LP是传统多罪名分类算法,fact_law是论文“Learning toPredict Charges for Criminal Cases with Legal Basis”提出的模型算法,wo指模型中没有添加法条抽取模块。

CAIL数据集中没有法律信息,因此没有添加法条抽取模块作为对比;HAN是论文“Hierarchical Attention Networks for Document Classification”提出的模型算法。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号