一种基于司法文本的涉案财物计算方法与流程

文档序号:26007522发布日期:2021-07-23 21:26阅读:92来源:国知局
一种基于司法文本的涉案财物计算方法与流程

本发明属于自然语言处理领域,具体涉及一种基于司法文本的涉案财物计算方法。



背景技术:

随着大规模数据的出现,计算资源和算法的支持,同时各行各业也需要各个维度经营投资等决策。特别是在司法领域方面,不管是审判文书、调解协议书、还是日常市民报警诉求记录中,都记载相关涉案财物的得与失以及诉讼请求,例如在审判文书中记载着不同费用项的原告诉请金额、判决金额以及相关财物的损害等数据信息,这些数据信息在自动断案、案件预判、律师画像、律师胜诉率分析以及判决倾向性分析等方面起着重要的作用。

然而,大多数记录在库的这些司法文本数据都为非结构化数据,导致司法人员无法在短时间内得到大批量案件涉案财物、金额信息,毫无疑问,对以后司法工作及司法决策都是一个很大的障碍。目前,对于司法文本涉案财物数据都是基于人工工程和规则进行提取的,这无疑增加了大量的人力和时间投入。当然也有些专利进行相关的研究,例如专利号cn201510867476.x公开了一种裁判文书的金额解析方法及装置,主要实现裁判文书的金额提取;专利号cn201811237399.x公开了一种基于文档嵌入的长文本案件罚金范围分类预测方法。

关于司法文本涉案财物求解过程中,其中题目语义理解是比较难得,其中涉及到司法领域的知识,有些属性是隐藏在文本中。同时将语义理解转化为数学表达式,进行自动计算也是重中之难。



技术实现要素:

针对上述背景技术介绍中存在的问题,本发明的目的在于提供了一种得到准确率较高的词性标注、提高语义理解性、增加预测的准确性的基于司法文本的涉案财物计算方法。

本发明采用的技术方案是:

一种基于司法文本的涉案财物计算方法,其具体步骤包括:

s1,获取需要计算涉案财物的待求解司法文本,进行预处理,所述预处理包括分词处理、词性标注、动词操作类别标注;

s2,对预处理后的待求解司法文本进行编码,包括:构建司法文本的实体图g=(n,a),实体图由节点列表n和节点的邻接矩阵a组成,节点包括词语、词语类别,邻接矩阵为词语和词语类别的归属关系矩阵;计算待求解司法文本的向量表示;

s3,对编码后的待求解司法文本进行解码,包括:构建解码器的表达式树,其中数值为叶子节点,运算符为非叶子节点,得到基于树结构的解码器的预测模型;将待求解司法文本的向量表示输入基于树结构的解码器的预测模型,生成待求解司法文本的涉案财物的计算表达式。

进一步,步骤s1词性标注的具体步骤如下:

s1.2.1,用词性标注器m1,进行初步词性标注,其中词性标注器m1采用监督学习模型在词性标注训练集的基础上进行优化获得;

s1.2.2,用词性修正规则集s,修正词性,其中词性修正规则集s获得方法:用词性标注器m1获得词性初步标注,根据词性初步标注和真实标注进行修正规则设置。

进一步,步骤s1.2.2词性修正规则集s获得方法:

1)用词性标注器m1,进行词性初步标注;

词性标注器m1的获取方法:采用如cnn、lstm、或rnn监督学习模型作为词性标注器基础模型,词性标注训练集data_m1,包括词语及词语真实词性,提取词语及词语真实词性的向量表示,输入基础模型进行训练,采用梯度下降方法对基础模型进行优化,当基础模型输出的预测词性与真实词性之间的差距满足基础模型训练要求时,该基础模型作为词性标注器m1;

2)用词性修正规则集s,修正词性;

词性修正规则集s的获取方法:词性修正训练集data_s1、data_s2、…、data_sn,data_s1包括词语x_s1及词语真实词性y_s1,提取词语及词语对应的词性的向量表示,

(1)词性修正训练集data_s1的词语x_s1输入词性标注器m1,获得词性初步标注m1(x_s1),比对词性初步标注m1(x_s1)和词语真实词性y_s1,输出与词语真实词性y_s1不相同的词性初步标注m1(x_s10),x_s10表示词性初步标注与真实词性不同的词语;

(2)基于词性初步标注与真实词性不同的词语x_s10和词语真实词性y_s10,人工编写修正规则f1、f2、…、fn,作为词性修正规则预备集s0;

(3)词性修正训练集data_s2的词语x_s2输入词性标注器m1,获得词性初步标注m1(x_s2),利用词性修正规则集s修正词性,获得修正词性(m1(x_s2),s),根据贝叶斯公式p(xc|yc)=p(xc1|yc1)*p(xc2|yc2,yc1)...p(xci|yci,yci-1,...,yc1)和一阶hmm独立性假设,可得到p(xc|yc)=p(xc1|yc1)*p(xc2|yc2),...,p(xci|yci)为计算修正词性的正确率为所有词性类别正确率的乘积,又根据即对应公式为p(x_s2|y_s2)为词语x_s2和其对应真实词性y_s2的正确率,为与词语真实词性y_s2相同的该词性的词语个数除以真实词性y_s2中该词性的总个数。如果修正词性的正确率满足修正阈值条件,则该词性修正规则预备集s0作为修正词性规则集s;否则,输出与词语真实词性y_s2不相同的修正词性标注(m1(x_s20),s),m1(x_s20)表示修正词性标注与真实词性不同的词语;

(4)基于词性修正标注与真实词性不同的词语x_s20和词语真实词性y_s20,人工编写修正规则fn+1、fn+2、…、,加入词性修正规则预备集s0,作为新的词性修正规则预备集s0;

以此重复(3)、(4)步骤,获得修正词性规则集s。

进一步,步骤s1中的动词操作类别标注过程:以逗号或句号切分待求解司法文本,作为分句,筛选含数字和动词类别词性的分句,用动词操作类别分类器m2进行动词操作类别分类标注;其中,动词操作类别分类包括:

①评论类:问题文本中某个的初始化状态,出现在数学问题文本第一句;

②积极类:说明实体参数更新了动作,并且为增加了数量;

③消极类:说明实体参数更新了动作,并且为减少了数量;

④正迁移类:说明第二个实体参数将数量转移到第一个实体参数中;

⑤负迁移类:说明第一个实体参数将数量转移到第二个实体参数中;

⑥构成类:说明两个实体参数的数量都在增加;

⑦消失类:说明两个实体参数的数量都在减少。

进一步,步骤s2的具体步骤如下:

s2.1,计算节点列表中每个节点的初始向量表示,初始向量表示为中文语料环境下文字转化为数字的向量表示,包括:字符嵌入向量表示、单词嵌入向量表示、上下文嵌入向量表示、标签嵌入向量表示及其组合;

s2.2,计算节点列表中每个节点的图向量表示,图向量表示为初始向量表示经实体图学习后的向量表示;

s2.3,根据数值、运算符在待求解司法文本的位置,提取数值、运算符的初始向量表示、图向量表示。

进一步,步骤s2.1中初始向量表示的计算方法,包括以下方法:

1)对文字x进行onehot编码x_onehot,分别乘以字符嵌入e1_embedding、词嵌入矩阵e2_embedding、词性标签嵌入矩阵e3_embedding,获得文字x的词性标签嵌入向量表示、单词嵌入向量表示、字符嵌入向量表示;

2)采用bilstm神经网络、rnn神经网络、或lstm神经网络构建词性标签嵌入向量表示提取模型、单词嵌入向量表示提取模型、字符嵌入向量表示提取模型,文字x输入模型,输出文字x对应的词性标签嵌入向量表示、单词嵌入向量表示、字符嵌入向量表示。

进一步,步骤s2.2的具体步骤如下:

1)短语类别构建,结合司法领域的知识库,将几个短语与属同一类别的词语相结合,得到类别c;

2)节点列表的生成,从待求解司法文本得到n个词语、m个类别构成一个实体图,其节点列表用n={h1,h2,...,hn,c1,c2,...,cm}表示,有n+m个节点;

3)短语类别的向量表示,在实体图中,类别c初始化表示方法采用与其相邻意义词语向量平均值,实体图中节点列表初始向量其中为词语向量表示,为类别向量表示;

4)利用图嵌入学习模型,学习一个函数映射fgraph(),通过该映射图中的节点可以聚合它自己的初始向量表示与它的邻居的初始向量表示学习来生成节点的图向量表示,图嵌入学习模型包括:图卷积网络、图注意力网络、图自编码器、图生成网络和图时空网络。

进一步,步骤s3的具体步骤如下:

s3.1,树结构初始化;

s3.2,基于图双注意力机制表示以获得上下文向量,并使用该向量更新解码器的状态;

s3.3,前序遍历方式来构造表达式树;

s3.4,采用相邻节点的动词类别标签cverb和递归聚合来更新表达式中节点状态;

s3.5,树结构解码器预测模型的生成。

进一步,步骤s3.1的树结构初始化具体如下:

为了启动树结构生成过程,对待求解司法文本的向量表示进行最大池化后得到基于树结构解码器的根节点y1,将作为根节点的初始目标向量s1;

对于待求解的司法文本x中的目标词汇表vdec中的每个y,将某一个e(y|x)的表示定义为:将属于运算符的词y表征定义为e(y,op),将属于常量数值的词y表征定义为e(y,con),将属于文本中数值的词y表征为,e(y|x)=[e(y,op),e(y,con),zloc(y,p)]为目标词典的嵌入向量;x为题干文本hnumloc(y,x)中的词的序列集合,是数字位置从hs-k中提取得到;

解码器中的表达式树包含三种节点:运算符、常量和出现在x中的数词,常量和数量词nx数字设置为叶子节点,运算操作符为非叶子节点;对于待求解的司法文本x的目标词汇表vdec中的每个预测值y,将e(y|x)的表示定义为:

对于nx中的数值嵌入向量从输入特征ii中获取相应的隐藏状态其中loc(y,x)是y在p中的索引位置,e(y,con)与e(y,op)表示的是常量嵌入和运算符嵌入;

步骤s3.2的具体步骤如下:

解码器端时,将待求解司法文本的节点向量采用注意力机制计算上下文全局向量ct,即使用编码器的文本表示hs-k来获得ct,定义如下

其中we、wm、ws都为矩阵权重,αti表示编码器端文本输入表示hs-k的注意力分布;

步骤s3.3的具体步骤如下:

10)树解码器以自上向下的方式生成左子节点,基于父节点st和全局向量ct的生成左子节点状态st,l,其编码器左节点生成公式为:

st,l=σ(wleft[st:ct:rt:(e(y|p)]),(7)

其中,wleft为训练参数,σ为sigmoid函数,rt表示部分表达式中每个节点的上下文状态,ct为全局向量;

如果生成左子节点状态预测为运算符,则创建两个空子节点位置,将继续执行步骤10);

如果生成左子节点状态预测为一个常量或者数量,则进行步骤20);

20)树解码器基于当前父节点st生成新的右子节点状态st,r,由于前序遍历,在每个解码步骤中,我们都使用左子节点生成状态st,l、全局向量ct和一个子树嵌入参数t作为生成模块的输入,生成右子节点st,r和预测值yr,其编码器右节点生成公式为:

st,r=σ(wright[st,l:ct:rt:t:(e(y|x)]),(8)

其中,wright为训练参数,st,l为对应左子节点生成状态,σ为sigmoid函数,rt表示部分表达式中每个节点的上下文状态,ct为全局向量,t表示子树嵌入参数;

30)判断左节点是否需要嵌入子树,判断步骤20)中生成的右节点对应的左节点所预测的词是否为运算符还是数值,若是运算符,则根据以下公式获取嵌入参数t;若是数值,则进入步骤40),

如果预测y为运算符,这说明有2个子树tr,tl,那么t嵌入参数需要融合运算符y、tr,tl的信息进行计算,按照以下公式计算:

comb(tl,tr,y)=σ(wgt[tl,tr,e(y|x)])同或tanh(wct[tl,tr,e(y|x)])(10)

其中wgtwct为训练参数,σ为sigmoid函数,tanh为双曲正切函数,tr,tl为右子节点对应的左节点作为父节点时对应生成左子节点和右子节点的嵌入参数,同或指的是两者进行同或运算;

40)模型进行迭代预测,找到新的空右节点位置,如果模型找不到新的空右节点位置,则生成完成,如果空的右节点位置仍然存在,则返回到步骤20);

50)建立数字栈,从右到左遍历生成的解题等式树,对遍历到的数字,将其入栈;对于遍历到的运算符,则将栈顶数字弹出来,即将后遍历数字放在等式前面,并和运算符合并写入到等式中去,进而通过解题等式树得到解题表达式。

进一步,步骤s3.4的具体步骤如下:

在每个时间步骤都与表达式树中的邻居节点递归地聚合,在时间步骤t中,所有生成的节点(rt)0={s1,s2,...,st}都用两层图卷积网络聚合,聚合函数如下:

(rt)γ+1=σ(d-1aexp(rt)γwr).kii(13)

其中wr是参数矩阵向量;aexp是生成的部分表达式的相邻矩阵,如果yi是yj的子节点或父节点,或者i=j,则aexp矩阵是没有正则化的,需要对其进行正则化,使得每一行的和都为1,d是度矩阵,表示每个节点的为相邻节点,使用d-1a进行正则化a;

kii表示每个预测yi节点所在句子的动词标签情况,如果含有属于第一类评论类,则说明该节点为不变标签,设置为0;如果含有属于积极类、构成类、正迁移类,则说明该节点如果是增加,设置为1;如果含有属于消极类、消失类、负迁移类,则设置为-1;

σ是softmax函数,rt为每个节点的上下文状态。

进一步,步骤s3.5的具体步骤如下:

解码器预测模型从两方面进行,一是从词汇向量表生成,二是从待求解司法文本中选择复制,则按照以下公式进行:

pgen(yt)=softmax(wg[st:ct:rt])(14)

pcopg(yt)=softmax(wp[st:ct:rt:hloc(y,x)num])(15)

βt=σ(wz[st:ct:rt:hloc(y,x)num])(16)

其中wg,wp是权重矩阵;βt∈[0,1]是一个门值,0用来确定是从词汇中生成一个词语,1表示从待求解的司法文本中选择一个数字;y<t表示t时刻已解码得到部分表达式;rt表示部分表达式中每个节点的上下文状态,最终p(yt|y<t,x)是生成pgen(yt)或者复制pcopg(yt)的概率分布分数。

本发明与现有技术相比,其显著优点包括:

(1)本发明采用基于机器学习的规则自动标注词性,在基础工具包的基础上通过错误启发方式不断迭代修正中间标注结果得到规则,再将规则进行机器学习训练得到准确率较高的词性标注。

(2)本发明在编码端首先引入词语组合的短语类别、结合字符级向量表示、字符词性嵌入、词语嵌入向量表示作为初始输入,然后才有双层图注意网络的节点列表隐藏向量表示进入二次输入,进一步提高语义理解性。

(3)本发明在解码端,采用基于图双注意力机制表示以获得上下文向量更新解码器的状态和动词类别标签cverb来修改树解码器隐藏状态向量,增加预测的准确性。

附图说明

图1是本发明的流程示意图。

图2是本发明的词性标注自动提取过程流程图。

图3是本发明的短语类别示例示意图。

图4是本发明的基于图双神经网络的编码层示意图。

图5是本发明的编码端的图注意力机制的结构示意图。

图6是本发明的基于树结构的解码端的结构示意图。

具体实施方式

下面结合具体实施例来对本发明进行进一步说明,但并不将本发明局限于这些具体实施方式。本领域技术人员应该认识到,本发明涵盖了权利要求书范围内所可能包括的所有备选方案、改进方案和等效方案。

参见图1-6,本实施例提供了一种基于司法文本的涉案财物计算方法,其具体步骤包括:

s1,获取需要计算涉案财物的司法文本,进行预处理,所述预处理包括分词处理、词性标注、动词操作类别标注;本实施例中司法文本数据为裁判文书、调解协议书、法援记录信息、110报警诉求记录信息。本文的训练数据为30万多条裁判文书判决结果以及20万法援求助信息或者10万多条110报警诉求记录信息,文本数量不超过200个字。

具体如下:

s1.1,分词处理,预先设置用户词典和自定义规则,对待求解司法文本进行分词分割,得到由n个词语组成的词串xc={xc1,xc2,...,xcn};由于待求解司法文本中存在大量字母、数字、符号组成的数学标记,用普通的分词工具难以分割准确。因此需要预先设置用户词典和自定义规则,然后再采用基于词的n元语法模型方法,是清华大学开源模型,解决了分词切割过程中歧义存在的难题,降低了中文分词的错误率和不一致性,结合自定义的规则和用户词典,可以满足对数学文本题分割。

s1.2,词性标注,基于机器学习的规则自动标注词性,得到词串xc对应的标注串yc={yc1,yc2,...,ycn},其中ycn是xcn对应的词性,词性包括动词、数量词、其他词,其中动词反映运算符;词性标注的具体步骤如下:

s1.2.1,用词性标注器m1,进行初步词性标注,其中词性标注器m1采用监督学习模型在词性标注训练集的基础上进行优化获得;

s1.2.2,用词性修正规则集s,修正词性,其中词性修正规则集s获得方法:用词性标注器m1获得词性初步标注,根据词性初步标注和真实标注进行修正规则设置。

具体如下:

1)用词性标注器m1,进行词性初步标注。

词性标注器m1的获取方法:采用如cnn、lstm、rnn等监督学习模型作为词性标注器基础模型,词性标注训练集data_m1,包括词语及词语真实词性,提取词语及词语真实词性的向量表示,输入基础模型进行训练,采用梯度下降方法对基础模型进行优化,当基础模型输出的预测词性与真实词性之间的差距满足基础模型训练要求时,该基础模型作为词性标注器m1。

2)用词性修正规则集s,修正词性。

词性修正规则集s的获取方法:词性修正训练集data_s1、data_s2、…、data_sn,data_s1包括词语x_s1及词语真实词性y_s1,提取词语及词语对应的词性的向量表示,

(1)词性修正训练集data_s1的词语x_s1输入词性标注器m1,获得词性初步标注m1(x_s1),比对词性初步标注m1(x_s1)和词语真实词性y_s1,输出与词语真实词性y_s1不相同的词性初步标注m1(x_s10),x_s10表示词性初步标注与真实词性不同的词语;

(2)基于词性初步标注与真实词性不同的词语x_s10和词语真实词性y_s10,人工编写修正规则f1、f2、…、fn,作为词性修正规则预备集s0;

(3)词性修正训练集data_s2的词语x_s2输入词性标注器m1,获得词性初步标注m1(x_s2),利用词性修正规则集s修正词性,获得修正词性(m1(x_s2),s),根据贝叶斯公式p(xc|yc)=p(xc1|yc1)*p(xc2|yc2,yc1)...p(xci|yci,yci-1,...,yc1)和一阶hmm独立性假设,可得到p(xc|yc)=p(xc1|yc1)*p(xc2|yc2),...,p(xci|yci)为计算修正词性的正确率为所有词性类别正确率的乘积,又根据即对应公式为p(x_s2|y_s2)为词语x_s2和其对应真实词性y_s2的正确率,为与词语真实词性y_s2相同的该词性的词语个数除以真实词性y_s2中该词性的总个数。如果修正词性的正确率满足修正阈值条件,则该词性修正规则预备集s0作为修正词性规则集s;否则,输出与词语真实词性y_s2不相同的修正词性标注(m1(x_s20),s),m1(x_s20)表示修正词性标注与真实词性不同的词语;

(4)基于词性修正标注与真实词性不同的词语x_s20和词语真实词性y_s20,人工编写修正规则fn+1、fn+2、…、,加入词性修正规则预备集s0,作为新的词性修正规则预备集s0;

以此重复(3)、(4)步骤,获得修正词性规则集s。

s1.3,动词操作类别分类,词串xc对应的动作操作类别cverbs={cverb1,cverb2,...,cverbn},其中cverbn是xcn对应的动词操作类别。文本描述中的动词在描述状态和信息传达过程中起着重要的作用,可以从浅层语义解析中获取有意义的信息,在司法文本数据中,有些句子表面上没有描述是何种操作,但是从动词/动词的短语结构中可以体现,例如,甲方要赔偿乙方财产损失费x元,但是乙方也必须补偿相应的房款差价y元。因此为了自动理解文本中词语的含义,需要为每个句子训练动词分类,训练动词类别采用机器学习算法完成。训练动词类别以预测句子中每个(单位、动词)对的标签(增加、减少或不变)。该步骤主要用于解码器端,作为解码器的一个硬性决策开关,决定用于隐藏状态计算的参数集。动词操作类别分类包括:

①评论类:问题文本中某个的初始化状态,出现在数学问题文本第一句;

②积极类:说明实体参数更新了动作,并且为增加了数量;

③消极类:说明实体参数更新了动作,并且为减少了数量;

④正迁移类:说明第二个实体参数将数量转移到第一个实体参数中;

⑤负迁移类:说明第一个实体参数将数量转移到第二个实体参数中;

⑥构成类:说明两个实体参数的数量都在增加;

⑦消失类:说明两个实体参数的数量都在减少。

表1动词分类表

动词操作类别分类过程如下:

(1)训练数据选择与预处理data_m2

首先选择大量司法文本数据,用逗号隔开作为一个样本。

然后采用步骤s1.2中基于机器学习的规则自动标注词性方法标注选择的数据,然后对其进行筛选,保证每个样本中必须含有数字和动词类别词性的词语,否则就舍去,不能作为训练样本数据。

其次采用人工结合构建词典方法进行训练样本数据七种动词操作类别标注,构建词典包括情感词典、否定词词典、程度副词词典等,其词典构建的方法是采用word2vec是利用词语间的语义关系,将词语转化为词向量,然后利用词向量之间的语义距离关系,自动识别司法文本词语语义关系;

(2)构建动词操作类别分类器m2,对句子中的动词进行操作类别分类。

采用如svm、cnn、lstm、rnn等监督学习算法作为动词操作类别分类器进行训练,得到分类器m2模型,再对待求解司法文本进行动作操作类别分类。本实施例步骤s1中的预处理还包括:

短文本清洗,由于语料库来源或者待求解的司法文本中可能存在全半角混用、不可见字符、中英文标点混用等问题,为了去除噪声,降低输入的复杂性,则需要对文本进行清洗操作。清洗主要包括:全半角转换、不可见字符去除、多余空格去除、中英文标点统一,数字大小写转换、表征单位词的统一替换等,以此增强数据的规范性。

数字实体识别及统一转换,针对数学文本含有较多数学专业知识,可以使用数学命名实体识别,识别方法可选择基于条件随机场模型的工具,同时对这些专业的实体进行同义词处理,将同类型的实体统一为相同的表示。

常量的收集,收集表征常量的词以及与其对应的数字,例如,圆周率、π的实际数词是3.14。

s2,对预处理后的待求解司法文本进行编码,包括:构建司法文本的实体图g=(n,a),实体图由节点列表n和节点的邻接矩阵a组成,节点包括词语、词语类别,邻接矩阵为词语和词语类别的归属关系矩阵;计算待求解司法文本的向量表示;

具体步骤如下:

s2.1,计算节点列表中每个节点的初始向量表示,初始向量表示为中文语料环境下文字转化为数字的向量表示,包括但不限于:字符嵌入向量表示、单词嵌入向量表示、上下文嵌入向量表示、标签嵌入向量表示及其组合;

一个实施方式,词语节点的初始向量表示:词性标签嵌入向量表示、单词嵌入向量表示、字符嵌入向量表示的串联向量表示,词语类别节点的初始向量表示:单词嵌入向量表示、字符嵌入向量表示的串联向量表示。

一个优选的实施方式,词语节点的初始向量表示:词性标签嵌入向量表示、单词嵌入向量表示、字符嵌入向量表示的级联向量表示,词语类别节点的初始向量表示:存在归属关系的词语节点的初始向量表示的平均向量表示。

初始向量表示的计算方法,可以采用以下方法:

1)对文字x进行onehot编码x_onehot,分别乘以字符嵌入e1_embedding、词嵌入矩阵e2_embedding、词性标签嵌入矩阵e3_embedding,获得文字x的词性标签嵌入向量表示、单词嵌入向量表示、字符嵌入向量表示;

2)采用bilstm神经网络、rnn神经网络、lstm神经网络等构建词性标签嵌入向量表示提取模型、单词嵌入向量表示提取模型、字符嵌入向量表示提取模型,文字x输入模型,输出文字x对应的词性标签嵌入向量表示、单词嵌入向量表示、字符嵌入向量表示;

具体如下:

获得待求解司法文本x的词语嵌入和字符嵌入向量表示hw:首先使用bilstm神经网络对短文本进行字符级别向量表示hword和词语级别的向量hterm表示

nw=mw+l

nt=mt+l

其中d表示向量的维数,mw、mt表示词语数量,l表示数词的个数;

使用词性标签嵌入、单词嵌入和字符嵌入的组合作为输入特征(i)hs的总和,如以下公式(1)所示:

其中||是向量级联;wipk分别是每个词语的初始向量表示和对应的词性标记嵌入表示。(word)i是每个字符在特定词语中的字符级别嵌入。i,j,k分别表示每个词语中字符数、每个句级中词语数、数据集中定义的词性标记嵌入数。另外表示。

s2.2,计算节点列表中每个节点的图向量表示,图向量表示为初始向量表示经实体图学习后的向量表示;

每个待求解司法文本对应一个实体图g=(n,a),其中n是节点列表,a为节点的邻接矩阵,将词语作为节点。如果待求解司法文本text中的多个单词在知识库中属于同一个类别c,我们将类别c设为图g中的一个节点,并将这些词语与其类别连接起来。例如,“费用”和“花费”都属于“消费”类别”。

具体如下:

1)短语类别构建,结合司法领域的知识库,可以将几个短语与属同一类别的词语相结合。具体方法:先为短语构建一个短语类别c',并将c'设置为一个节点,例如“住院费”、“药品费”被合并在同一个类别的词语“住院”、“药品”和同一个词语“费用”中,构建了一个为“医疗费用”的短语类别。然后将这个短语类别c'连接到它相关短语的第一个和最后一个词语。

2)节点列表生成:从待求解司法文本得到n个词语、m个类别构成一个实体图,其节点列表用n={h1,h2,...,hn,c1,c2,...,cm}表示,有n+m个节点。

3)短语类别的向量表示,在实体图中,类别c初始化表示方法采用与其相邻意义词语向量平均值,实体图中节点列表初始向量其中为词语向量表示,为类别向量表示;例如,短语类别c1“消费”的初始化表示,采用其相邻意义词语“花费”、“费用”、“费用”的词语向量表示的平均值,如其中的词语向量表示。

4)利用图嵌入学习模型,学习一个函数映射fgraph(),通过该映射图中的节点可以聚合它自己的初始向量表示与它的邻居的初始向量表示学习来生成节点的图向量表示,图嵌入学习模型包括但不限于:图卷积网络(graphconvolutionnetworks,gcn)、图注意力网络(graphattentionnetworks)、图自编码器(graphautoencoders)、图生成网络(graphgenerativenetworks)和图时空网络(graphspatial-temporalnetworks)。

一个实施方式,采用图注意网络,具体如下:

使用图注意网络来获得这些节点列表的隐藏向量,如下:

其中wh,wk是可训练的权重向量和矩阵;||是级联操作;lrelu是一个leakyrelu激活函数;k是图注意网络头数,和aij=1说明节点i和节点j之间存在边。

为了表示待求解司法文本中的n个词语,我们只需选hknow'的前n列作为隐藏向量表示,即hknow=hknow'[0:n]。

将输入特征向量ihs和节点隐藏向量hknow进行串联,得到输入特征向量ii表示,即hs-k=[hs:hknow],并将其反馈到树结构解码器。

s2.3,根据数值、运算符在待求解司法文本的位置,提取数值、运算符的初始向量表示、图向量表示。待求解司法文本x中数量词nx应根据它们在文本中的位置进行提取。根据这些数字位置从hs-k中提取hinumloc(y,x)是第i数字表示。

s3,对编码后的待求解司法文本进行解码,包括:构建解码器的表达式树,其中数值为叶子节点,运算符为非叶子节点,得到基于树结构的解码器的预测模型;将待求解司法文本的向量表示输入基于树结构的解码器的预测模型,生成待求解司法文本的涉案财物的计算表达式。

本实施例解码的思路是将数值作为基于树结构神经网络的解码器叶子节点,将运算符作为非叶子节点。在时间步t,如果生成yt是一个运算符,说明为一个内部节点,还需要生成该节点的左右子节点。如果生成yt是一个数值,说明为叶节点。

本实施例采用树结构解码器的同时还需增加:1)基于图双注意力机制表示以获得上下文向量,并使用该向量更新解码器的状态;2)从词汇表中自适应地选择一个词语或从待求解的司法文本中选择一个数字以供生成;3)采用动词类别标签cverb来修改树解码器隐藏状态向量,它作为一个硬决策开关,决定用于隐藏状态计算的参数集。

具体步骤如下:

s3.1,树结构初始化;

为了启动树结构生成过程,对待求解司法文本的向量表示进行最大池化后得到基于树结构解码器的根节点y1,将作为根节点的初始目标向量s1;

对于待求解的司法文本x中的目标词汇表vdec中的每个y,将某一个e(y|x)的表示定义为:将属于运算符的词y表征定义为e(y,op),将属于常量数值的词y表征定义为e(y,con),将属于文本中数值的词y表征为,e(y|x)=[e(y,op),e(y,con),zloc(y,p)]为目标词典的嵌入向量;x为题干文本hnumloc(y,x)中的词的序列集合,是数字位置从hs-k中提取得到;

解码器中的表达式树包含三种节点:运算符、常量和出现在x中的数词,常量和数量词nx数字设置为叶子节点,运算操作符为非叶子节点;对于待求解的司法文本x的目标词汇表vdec中的每个预测值y,将e(y|x)的表示定义为:

对于nx中的数值嵌入向量从输入特征ii中获取相应的隐藏状态其中loc(y,x)是y在p中的索引位置,e(y,con)与e(y,op)表示的是常量嵌入和运算符嵌入;它们的表示是通过2个独立的嵌入矩阵mcon和mop,这两个矩阵通过查找与具体求解问题无关的可训练嵌入矩阵。因此,数值的e(y,con)嵌入取决于它们发生的特定问题。s3.2,基于图双注意力机制表示以获得上下文向量,并使用该向量更新解码器的状态;

解码器端时,将待求解司法文本的节点向量采用注意力机制计算上下文全局向量ct,即使用编码器的文本表示hs-k来获得ct,定义如下

其中we、wm、ws都为矩阵权重,αti表示编码器端文本输入表示hs-k的注意力分布。

s3.3,前序遍历方式来构造表达式树;

10)树结构的解码器以自上向下的方式生成左子节点,基于父节点st和全局向量ct的生成左子节点状态st,l,其编码器左节点生成公式为:

st,l=σ(wleft[st:ct:rt:(e(y|p)]),(7)

其中,wleft为训练参数,σ为sigmoid函数,rt表示部分表达式中每个节点的上下文状态,ct为全局向量;

如果生成左子节点状态预测为运算符,则创建两个空子节点位置,将继续执行步骤10);

如果生成左子节点状态预测为一个常量或者数量,则进行步骤20);

20)树解码器基于当前父节点st生成新的右子节点状态st,r,由于前序遍历,在每个解码步骤中,我们都使用左子节点生成状态st,l、全局向量ct和一个子树嵌入参数t作为生成模块的输入,生成右子节点st,r和预测值yr,其编码器右节点生成公式为:

st,r=σ(wright[st,l:ct:rt:t:(e(y|x)]),(8)

其中,wright为训练参数,st,l为对应左子节点生成状态,σ为sigmoid函数,rt表示部分表达式中每个节点的上下文状态,ct为全局向量,t表示子树嵌入参数;

31)判断左节点是否需要嵌入子树,判断步骤20)中生成的右节点对应的左节点所预测的词是否为运算符还是数值,若是运算符,则根据以下公式获取嵌入参数t;若是数值,则进入步骤40),

如果预测y为运算符,这说明有2个子树tr,tl,那么t嵌入参数需要融合运算符y、tr,tl的信息进行计算,按照以下公式计算:

comb(tl,tr,y)=σ(wgt[tl,tr,e(y|x)])同或tanh(wct[tl,tr,e(y|x)])(10)

其中wgtwct为训练参数,σ为sigmoid函数,tanh为双曲正切函数,tr,tl为右子节点对应的左节点作为父节点时对应生成左子节点和右子节点的嵌入参数,同或指的是两者进行同或运算;

40)模型进行迭代预测,找到新的空右节点位置,如果模型找不到新的空右节点位置,则生成完成,如果空的右节点位置仍然存在,则返回到步骤20);

50)建立数字栈,从右到左遍历生成的解题等式树,对遍历到的数字,将其入栈;对于遍历到的运算符,则将栈顶数字弹出来,即将后遍历数字放在等式前面,并和运算符合并写入到等式中去,进而通过解题等式树得到解题表达式。

s3.4,采用相邻节点的动词类别标签cverb和递归聚合来更新表达式中节点状态;

在每个时间步骤中,本文更新生成表达式中所有节点,主要是通过其相邻节点的递归聚合和相邻节点动词短语情况来更新节点状态。通过多次迭代聚合,可以使用与表达式关联的全局信息生成下一个节点,从而实现更好的预测。

在每个时间步骤都与表达式树中的邻居节点递归地聚合,在时间步骤t中,所有生成的节点(rt)0={s1,s2,...,st}都用两层图卷积网络聚合,聚合函数如下:

(rt)γ+1=σ(d-1aexp(rt)γwr).kii(13)

其中wr是参数矩阵向量;aexp是生成的部分表达式的相邻矩阵,如果yi是yj的子节点或父节点,或者i=j,则aexp矩阵是没有正则化的,需要对其进行正则化,使得每一行的和都为1,d是度矩阵,表示每个节点的为相邻节点,使用d-1a进行正则化a;

kii表示每个预测yi节点所在句子的动词标签情况,如果含有属于第一类评论类,则说明该节点为不变标签,设置为0;如果含有属于积极类、构成类、正迁移类,则说明该节点如果是增加,设置为1;如果含有属于消极类、消失类、负迁移类,则设置为-1;例如:如果yi含有正迁移类的动词,而且yj含有关于第二个实体参数,那么说明yj数量是向yi转移,yi应该属于增加,因此

σ是softmax函数。经过两级gcn计算,我们得到了部分表达式中每个节点的上下文状态rt。

s3.5,树结构解码器预测模型的生成;

对数字进行生成位置标识符,因此预测的时候可以直接复制数字即可;解码器预测模型从两方面进行,一是从词汇向量表生成,二是从待求解司法文本中选择复制,则按照以下公式进行:

pgen(yt)=softmax(wg[st:ct:rt])(14)

pcopg(yt)=softmax(wp[st:ct:rt:hloc(y,x)num])(15)

βt=σ(wz[st:ct:rt:hloc(y,x)num])(16)

其中wg,wp是权重矩阵;βt∈[0,1]是一个门值,0用来确定是从词汇中生成一个词语,1表示从待求解的司法文本中选择一个数字;y<t表示t时刻已解码得到部分表达式;rt表示部分表达式中每个节点的上下文状态,最终p(yt|y<t,x)是生成pgen(yt)或者复制pcopg(yt)的概率分布分数。

将待求解涉案财物的司法文本x当做一个长度为m的自然语言语句x=(x1,x2,...,xm),以一定的概率将其转化为其意义表示y=(y1,y2,...,yn),其中长度为n。对于条件概率p(y|x)计算公式如(18)所示,其中y<t=y1,y2,...,yt-1表示在t时刻已解码得到部分表达式。该模型是通过最大似然估计来学习参数θ。

其中,p(yt,l|y<t,x)是子节点损失;在时间步t,只使用左子状态st,l和右子状态st,r来计算各自的p(yt,l|y<t,x)和p(yt,r|y<t,x),如公式(17)所示。

本发明采用基于机器学习的规则自动标注词性,在基础工具包的基础上通过错误启发方式不断迭代修正中间标注结果得到规则,再将规则进行机器学习训练得到准确率较高的词性标注。本发明在编码端首先引入词语组合的短语类别、结合字符级向量表示、字符词性嵌入、词语嵌入向量表示作为初始输入,然后才有双层图注意网络的节点列表隐藏向量表示进入二次输入,进一步提高语义理解性。本发明在解码端,采用基于图双注意力机制表示以获得上下文向量更新解码器的状态和动词类别标签cverb来修改树解码器隐藏状态向量,增加预测的准确性。

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