基于对抗迁移学习的盗窃案件法律文书命名实体识别方法与流程

专利2022-06-29  61


本发明涉及一种法律文书命名实体识别方法,更具体地说,涉及一种基于对抗迁移学习的盗窃案件法律文书命名实体识别方法。



背景技术:

近年来,随着国家司法改革的持续推进,人工智能技术在司法领域中的应用受到了研究者的广泛关注和各方重视,特别是对海量的法律文书进行智能分析和处理已成为司法人工智能研究的重要内容。而法律文书的命名实体识别,作为司法人工智能领域的的重要性、基础性工作,对多人多节案件事实分解、证据关联分析和司法知识图谱构建等任务都有广泛应用。命名实体识别(namedentityrecognition,简称ner),是指识别文本中具有特定意义的实体,在conll-2002、conll-2003会议上将命名实体定义为包含名称的短语。目前中文命名实体识别中常用的数据集有《人民日报》、微软、sighan、ace2005等中文命名实体数据集,这些语料集中在新闻、微博等通用领域,相关命名实体的定义也主要为人名、地名、机构名、时间、日期、货币和百分比等七种通用实体。通用领域命名实体体现了命名实体本质、规律、自然的属性,而司法领域命名实体更强调其对司法业务的服务作用,如表1所示,在通用领域来说“李某”、“周某”都是人名,而在司法领域来说更看重的是“李某”、“周某”犯罪嫌疑人和受害人的属性,而这对后续的司法业务应用是十分重要的。

表1

从表1中可以看出,通用领域命名实体和司法领域命名实体,虽然其领域不同,但其含义和边界却有很多相似或共同的部分,如果有效利用则会对模型的性能有所帮助。目前虽已涌现出许多通用领域的命名实体识别方法,但针对于司法领域的命名实体识别方法的研究仍处在探索阶段,并且对如何利用通用领域命名实体识别结果提升司法领域命名实体的识别性能,目前还没有相关方面的研究。



技术实现要素:

针对现有技术中存在的不足,本发明目的是提供一种基于对抗迁移学习的盗窃案件法律文书命名实体识别方法。该方法基于司法领域的专业知识以及盗窃类案件起诉书文本内容,基于预训练语言模型和对抗学习模型,对盗窃类案件起诉书涉及的司法命名实体进行识别。

为了实现上述发明目的,解决己有技术中存在的问题,本发明采取的技术方案是:一种基于对抗迁移学习的盗窃案件法律文书命名实体识别方法,包括以下步骤:

步骤1、构建法律命名实体数据集,定义所涉及的命名实体含义,构建、标注、调整盗窃类案件命名实体识别数据集并生成训练集、测试集,具体包括以下子步骤:

(a)命名实体的定义,根据司法文书中涉及命名实体所表示的含义和涉及的司法业务,将命名实体区分为自然属性命名实体和司法业务命名实体,自然属性命名实体记做n-ner更侧重于表达实体所代表的的通用、基础的含义,而司法业务命名实体记做l-ner则更多表达司法业务关注的含义;其中自然属性命名实体为时间、地点、人名、物品、货币;司法业务命名实体为时间、地点、犯罪嫌疑人、受害人、其它人、被盗物品、作案工具、其它物品、物品价值、非法获利、实物货币;

(b)根据起诉书文法结构,抽取出部分文书中犯罪事实部分作为数据集,获得有效盗窃类案件犯罪事实数据1900份,按照7:3的比例划分训练集与测试集,训练集与测试集具有相同的数据格式,按照相同的过程完成预处理;

(c)语料的初标注,自然属性标注,对人名、地点、组织利用《人民日报》语料库训练命名实体识别模型进行识别,对时间、货币采用规则的方法进行识别;司法属性标注,在自然属性标注基础上,采用人工标注的方式,将人名区分为犯罪嫌疑人、受害人和其它人,将物品区分为被盗物品、作案工具和其它物品,将货币区分为物品价值,非法获利和实物货币;

(d)语料的标注后处理,由于语料的初标注采用的是人工标注和自动标注结合的策略,造成语料精度难以保证,所以在语料初标注的基础上,由经培训的志愿者进行语料的校准调整,校准后进行一致性检验,以一个志愿者的标注为标准集,另一个志愿者的标注为预测集,采用常规的p/r/f1指数来评估嵌套命名实体语料库标注的一致性,其中p为准确率,r为召回率,f1为两者的调和平均值,经过两个阶段的调整,最后f1达到98.42%说明语料标注的一致性高,最后将语料标注结果保存至xml文件中;

(e)产生批量数据,运用神经网络进行命名实体识别模型训练时,由于所采用的参数优化方法为随机梯度下降,因此需要将批量数据样本送入语料库以训练命名实体识别模型,为了减小局部数据的其他因素影响,编写函数随机选择了相应数量的数据样本作为训练命名实体识别模型的输入;

步骤2、搭建对抗迁移学习神经网络模型,根据司法文本本身的特点并结合自然语言处理领域的先进模型,搭建合适的语料库训练命名实体识别模型结构,具体包括以下子步骤:

(a)bert字向量层,对于数据集给定的句子输入x={x1,x2,x3,…,xn},通过bert预训练语言模型获得输入每个字xi的向量表示记作

(b)特征提取层,利用双向长短时记忆神经网络bilstm,对输入的字向量xi进行编码以提取语义特征,其中lstm的计算,通过公式(1)、(2)、(3)进行描述,

hi=oi⊙tanh(ci)(3)

式中,ij、oj和fj分别代表输入门、输出门和遗忘门,wt和b为模型训练参数,h为lstm单元隐藏层状态,记做lstm(h),则bilstm的隐藏层状态,通过公式(4)、(5)、(6)进行描述,

式中,分别代表前向和后向lstm在位置i的隐藏层状态,代表拼接操作,模型分别为任务k∈{n-ner,l-ner}提供两个私有特征提取bilstm层进行编码,用于提取各自任务的特征,而用一个共享特征提取bilstm层用于学习共享的单词边界,对于任务k的任意输入句子x,其私有的隐藏层状态和共有的隐藏层状态通过公式(7)、(8)进行描述,

其中,θs和θk分别为共享bilstm层和任务k的私有bilstm层的训练参数;

(c)多头自注意力层,利用自注意力机制来学习句子中任意两个字符之间的依赖关系,并获取句子的内部结构信息,用h={h1,h2,…,hn}表示私有bilstm层的输出,s={s1,s2,…,sn}表示共享bilstm层的输出,注意力机制的计算,通过公式(9)进行描述,

自注意力机制可以描述为一个查询q与一系列键(k)-值(v)对起映射成一个输出,其中,这里,q=k=v=h,d为bilstm的隐藏单元输出,维度为2dh,为缩放因子;多头注意力首先使用不同的线性投影,将输入h映射到个不同的线性子空间,然后对这个线性空间并行的计算缩放点积注意力权值,最后,这些注意力的权值计算结果拼接起来,得到输入h新的表示h′,通过公式(10)、(11)进行描述,

headi=attention(qwiq,kwik,vwiv)(10)

这里是可训练的模型参数,同样也是可训练的模型参数;

(c)特定任务的条件随机场层,对于任务k来说,它在这一层的输入,是由经过自注意力机制层计算后的共享空间和私有空间表征拼接而来的,通过公式(12)进行描述,

其中,h′k和s′k分别是任务k的私有自注意力机制层和共享自注意力机制层的输出,考虑到标签彼此之间的依赖关系,引入crf来学习标签路径的概率分布,对于给定的输入x={c1,c2,c3,…,cn}和预测的标签序列y={y1,y2,…,yn},crf标签预测的过程,通过公式(13)、(14)、(15)进行描述,

oi=wsh″i bs(13)

其中,是可训练的参数,|t|是输出标签的数量,表示的对于xi的第yi个标签的打分函数,t则表示的是相邻两个标签的概率转移矩阵,最后,使用维特比算法来获得预测的标签序列训练过程中,引入最大似然方法,把其负的对数似然作为损失函数,其真实标签序列的概率函数服从指数分布,通过公式(16)进行描述,

其中表示准确的标签序列,yx是指对于给定的句子x所有可能的标签序列,对于给定的t个训练样本其损失函数ltask,通过公式(17)进行描述,

训练时利用梯度反向传播方法来求最小化损失函数;

(d)任务鉴别层,为了使模型共享空间能够更多的学习到两个任务的共享特征,避免任务k私有特征对共享空间的影响,保证该模块仅仅抽取对两个任务都有用的特征,引入一个对抗网络作为任务鉴别器,最大程度让捕捉到的共享特征保持纯净,通过公式(18)、(19)进行描述,

m′k=maxpooling(s′k)(18)

d(m′k;θd)=softmax(wdm′k bd)(19)

其中,θd表示任务鉴别层的参数,是可训练参数,k是任务的数目,这里取任务数为2,具体来说,每当一个样本经过bert字向量层、共享bilstm层之后,对其求最大池化,得到一个输入样本新的向量化表示m′k,将m′k输入判别器网络模块softmax分类器,要求判别器预测该特征向量来源于2个任务中的哪一个,这是判别器的初始目标,但是如果判别器能够准确预测每一个共享特征的来源任务,则说明这些共享特征中混入了太多的私有信息,这与最初保持共享特征纯净的目的不符,所以引入对抗损失ladv,反过来为共享bilstm层设定一个目标,让它跟判别器对抗,想办法让判别器预测不准,假如共享bilstm模块成功让判别器分不清特征向量来自哪个任务,意味着已经把私有特征剥离出去了,从而保证了共享特征向量的纯净性,对抗损失ladv的计算方法,通过公式(20)进行描述,

其中,θs表示共享bilstm的可训练参数,es表示共享特征提取器,tk是训练任务的数量,是任务k的第i个样本,通过ladv使共享的bilstm层生成一个表示来误导任务鉴别器,而鉴别器尽最大努力来正确地确定任务的类型;

(e)模型训练,最终的损失函数,通过公式(21)进行描述,

l=ln-ner·i(x) ll-ner·(1-i(x)) λladv(21)

其中,λ是训练超参,ln-ner和ll-ner能够根据公式(17)计算得出,i(x)是一个二项式的函数,用于判断输入来自于哪个任务,通过公式(22)进行描述,

其中,分别代表自然属性命名实体识别和法律属性命名实体识别数据集,训练过程中,首先轮流从{n-ner,l-ner}选择任务,然后输入该任务的数据集中的训练样本进入模型以进行迭代参数,采用的优化器为adam算法进行优化损失,上述两个任务有不同的收敛速度,最后根据l-ner的训练性能来结束模型训练过程;

步骤3、测试模型,利用测试数据进行盗窃类案件法律命名实体的识别,观察模型在测试集数据上的表现,确定模型的泛化能力,具体包括以下子步骤:

(a)以步骤1中生成的测试集作为模型的测试样本,并利用预训练模型bert将测试样本进行向量化表示作为模型的输入;

(b)将子步骤(a)中的向量化表示输入步骤2中的对抗迁移神经网络模型,经模型计算后,得到测试集的命名实体识别结果;

(c)比较上述输出值与真实值之间的差异,并计算模型的准确率、召回率以及f值,通过这几个评价指标,检验出该模型的性能及泛化能力;

步骤4、结果讨论,得到步骤3中的评价指标之后,进行结果讨论,定位到模型预测发生错误的语料,进行错误分析,并结合分析结果,确定模型的改进方向,具体包括以下子步骤:

(a)编写函数获取模型当前处理的数据样本的实体识别结果,与模型的输出结果进行对比,如果错误率超过预定阈值,则返回步骤2,调节参数或改变模型结构,重新进行训练;

(b)如果错误率在阈值之内,则代表模型在整体的数据集中取得了良好的效果,因此,需要对每一个错误的数据样本进行分析,分析错误语料的特殊性以及规律性,利用大规模语料中的自定义词典或者编写规则进行处理,以完成对这些特殊的命名实体的识别;

(c)完成步骤4子步骤(b)之后,模型便具备了解决盗窃类案件的命名实体的识别能力。

本发明有益效果是:一种基于对抗迁移学习的盗窃案件法律文书命名实体识别方法,包括以下步骤:(1)构建法律命名实体数据集,(2)搭建对抗迁移学习神经网络模型,(3)测试模型,(4)结果讨论。与已有技术相比,本发明方法切实可行且结构清晰,具有参考价值,可以提升法律命名实体识别的精准度,基于法律命名实体识别,可以面向法律知识图谱的构建,可以面向多人多节案件事实分解、证据关联分析和司法知识图谱构建等方面中的应用。

附图说明

图1是本发明方法步骤流程图。

图2是本发明中的对抗迁移学习神经网络模型图。

具体实施方式

下面结合附图对本发明作进一步说明。

如图1所示,一种基于对抗迁移学习的盗窃案件法律文书命名实体识别方法,包括以下步骤:

步骤1、构建法律命名实体数据集,定义所涉及的命名实体含义,构建、标注、调整盗窃类案件命名实体识别数据集并生成训练集、测试集,具体包括以下子步骤:

(a)命名实体的定义,根据司法文书中涉及命名实体所表示的含义和涉及的司法业务,将命名实体区分为自然属性命名实体和司法业务命名实体,自然属性命名实体记做n-ner更侧重于表达实体所代表的的通用、基础的含义,而司法业务命名实体记做l-ner则更多表达司法业务关注的含义;其中自然属性命名实体为时间、地点、人名、物品、货币;司法业务命名实体为时间、地点、犯罪嫌疑人、受害人、其它人、被盗物品、作案工具、其它物品、物品价值、非法获利、实物货币;

(b)根据起诉书文法结构,抽取出部分文书中犯罪事实部分作为数据集,获得有效盗窃类案件犯罪事实数据1900份,按照7:3的比例划分训练集与测试集,训练集与测试集具有相同的数据格式,按照相同的过程完成预处理;

(c)语料的初标注,自然属性标注,对人名、地点、组织利用《人民日报》语料库训练命名实体识别模型进行识别,对时间、货币采用规则的方法进行识别;司法属性标注,在自然属性标注基础上,采用人工标注的方式,将人名区分为犯罪嫌疑人、受害人和其它人,将物品区分为被盗物品、作案工具和其它物品,将货币区分为物品价值,非法获利和实物货币;

(d)语料的标注后处理,由于语料的初标注采用的是人工标注和自动标注结合的策略,造成语料精度难以保证,所以在语料初标注的基础上,由经培训的志愿者进行语料的校准调整,校准后进行一致性检验,以一个志愿者的标注为标准集,另一个志愿者的标注为预测集,采用常规的p/r/f1指数来评估嵌套命名实体语料库标注的一致性,其中p为准确率,r为召回率,f1为两者的调和平均值,经过两个阶段的调整,最后f1达到98.42%说明语料标注的一致性高,最后将语料标注结果保存至xml文件中;

(e)产生批量数据,运用神经网络进行命名实体识别模型训练时,由于所采用的参数优化方法为随机梯度下降,因此需要将批量数据样本送入语料库以训练命名实体识别模型,为了减小局部数据的其他因素影响,编写函数随机选择了相应数量的数据样本作为训练命名实体识别模型的输入;

步骤2、搭建对抗迁移学习神经网络模型,根据司法文本本身的特点并结合自然语言处理领域的先进模型,搭建合适的语料库训练命名实体识别模型结构,具体包括以下子步骤:

(a)bert字向量层,对于数据集给定的句子输入x={x1,x2,x3,…,xn},通过bert预训练语言模型获得输入每个字xi的向量表示记作

(b)特征提取层,利用双向长短时记忆神经网络bilstm,对输入的字向量xi进行编码以提取语义特征,其中lstm的计算,通过公式(1)、(2)、(3)进行描述,

hi=oi⊙tanh(ci)(3)

式中,ij、oj和fj分别代表输入门、输出门和遗忘门,wt和b为模型训练参数,h为lstm单元隐藏层状态,记做lstm(h),则bilstm的隐藏层状态,通过公式(4)、(5)、(6)进行描述,

式中,分别代表前向和后向lstm在位置i的隐藏层状态,代表拼接操作,模型分别为任务k∈{n-ner,l-ner}提供两个私有特征提取bilstm层进行编码,用于提取各自任务的特征,而用一个共享特征提取bilstm层用于学习共享的单词边界,对于任务k的任意输入句子x,其私有的隐藏层状态和共有的隐藏层状态通过公式(7)、(8)进行描述,

其中,θs和θk分别为共享bilstm层和任务k的私有bilstm层的训练参数;

(c)多头自注意力层,利用自注意力机制来学习句子中任意两个字符之间的依赖关系,并获取句子的内部结构信息,用h={h1,h2,…,hn}表示私有bilstm层的输出,s={s1,s2,…,sn}表示共享bilstm层的输出,注意力机制的计算,通过公式(9)进行描述,

自注意力机制可以描述为一个查询q与一系列键(k)-值(v)对起映射成一个输出,其中,这里,q=k=v=h,d为bilstm的隐藏单元输出,维度为2dh,为缩放因子;多头注意力首先使用不同的线性投影,将输入h映射到个不同的线性子空间,然后对这个线性空间并行的计算缩放点积注意力权值,最后,这些注意力的权值计算结果拼接起来,得到输入h新的表示h′,通过公式(10)、(11)进行描述,

headi=attention(qwiq,kwik,vwiv)(10)

这里是可训练的模型参数,同样也是可训练的模型参数;

(c)特定任务的条件随机场层,对于任务k来说,它在这一层的输入,是由经过自注意力机制层计算后的共享空间和私有空间表征拼接而来的,通过公式(12)进行描述,

其中,h′k和s′k分别是任务k的私有自注意力机制层和共享自注意力机制层的输出,考虑到标签彼此之间的依赖关系,引入crf来学习标签路径的概率分布,对于给定的输入x={c1,c2,c3,…,cn}和预测的标签序列y={y1,y2,…,yn},crf标签预测的过程,通过公式(13)、(14)、(15)进行描述,

oi=wsh″i bs(13)

其中,是可训练的参数,|t|是输出标签的数量,表示的对于xi的第yi个标签的打分函数,t则表示的是相邻两个标签的概率转移矩阵,最后,使用维特比算法来获得预测的标签序列训练过程中,引入最大似然方法,把其负的对数似然作为损失函数,其真实标签序列的概率函数服从指数分布,通过公式(16)进行描述,

其中表示准确的标签序列,yx是指对于给定的句子x所有可能的标签序列,对于给定的t个训练样本其损失函数ltask,通过公式(17)进行描述,

训练时利用梯度反向传播方法来求最小化损失函数;

(d)任务鉴别层,为了使模型共享空间能够更多的学习到两个任务的共享特征,避免任务k私有特征对共享空间的影响,保证该模块仅仅抽取对两个任务都有用的特征,引入一个对抗网络作为任务鉴别器,最大程度让捕捉到的共享特征保持纯净,通过公式(18)、(19)进行描述,

m′k=maxpooling(s′k)(18)

d(m′k;θd)=softmax(wdm′k bd)(19)

其中,θd表示任务鉴别层的参数,是可训练参数,k是任务的数目,这里取任务数为2,具体来说,每当一个样本经过bert字向量层、共享bilstm层之后,对其求最大池化,得到一个输入样本新的向量化表示m′k,将m′k输入判别器网络模块softmax分类器,要求判别器预测该特征向量来源于2个任务中的哪一个,这是判别器的初始目标,但是如果判别器能够准确预测每一个共享特征的来源任务,则说明这些共享特征中混入了太多的私有信息,这与最初保持共享特征纯净的目的不符,所以引入对抗损失ladv,反过来为共享bilstm层设定一个目标,让它跟判别器对抗,想办法让判别器预测不准,假如共享bilstm模块成功让判别器分不清特征向量来自哪个任务,意味着已经把私有特征剥离出去了,从而保证了共享特征向量的纯净性,对抗损失ladv的计算方法,通过公式(20)进行描述,

其中,θs表示共享bilstm的可训练参数,es表示共享特征提取器,tk是训练任务的数量,是任务k的第i个样本,通过ladv使共享的bilstm层生成一个表示来误导任务鉴别器,而鉴别器尽最大努力来正确地确定任务的类型;

(e)模型训练,最终的损失函数,通过公式(21)进行描述,

l=ln-ner·i(x) ll-ner·(1-i(x)) λladv(21)

其中,λ是训练超参,ln-ner和ll-ner能够根据公式(17)计算得出,i(x)是一个二项式的函数,用于判断输入来自于哪个任务,通过公式(22)进行描述,

其中,分别代表自然属性命名实体识别和法律属性命名实体识别数据集,训练过程中,首先轮流从{n-ner,l-ner}选择任务,然后输入该任务的数据集中的训练样本进入模型以进行迭代参数,采用的优化器为adam算法进行优化损失,上述两个任务有不同的收敛速度,最后根据l-ner的训练性能来结束模型训练过程;

步骤3、测试模型,利用测试数据进行盗窃类案件法律命名实体的识别,观察模型在测试集数据上的表现,确定模型的泛化能力,具体包括以下子步骤:

(a)以步骤1中生成的测试集作为模型的测试样本,并利用预训练模型bert将测试样本进行向量化表示作为模型的输入;

(b)将子步骤(a)中的向量化表示输入步骤2中的对抗迁移神经网络模型,经模型计算后,得到测试集的命名实体识别结果;

(c)比较上述输出值与真实值之间的差异,并计算模型的准确率、召回率以及f值,通过这几个评价指标,检验出该模型的性能及泛化能力;

步骤4、结果讨论,得到步骤3中的评价指标之后,进行结果讨论,定位到模型预测发生错误的语料,进行错误分析,并结合分析结果,确定模型的改进方向,具体包括以下子步骤:

(a)编写函数获取模型当前处理的数据样本的实体识别结果,与模型的输出结果进行对比,如果错误率超过预定阈值,则返回步骤2,调节参数或改变模型结构,重新进行训练;

(b)如果错误率在阈值之内,则代表模型在整体的数据集中取得了良好的效果,因此,需要对每一个错误的数据样本进行分析,分析错误语料的特殊性以及规律性,利用大规模语料中的自定义词典或者编写规则进行处理,以完成对这些特殊的命名实体的识别;

(c)完成步骤4子步骤(b)之后,模型便具备了识别盗窃类案件命名实体的能力。


技术特征:

1.一种基于对抗迁移学习的盗窃案件法律文书命名实体识别方法,其特征在于包括以下步骤:

步骤1、构建法律命名实体数据集,定义所涉及的命名实体含义,构建、标注、调整盗窃类案件命名实体识别数据集并生成训练集、测试集,具体包括以下子步骤:

(a)命名实体的定义,根据司法文书中涉及命名实体所表示的含义和涉及的司法业务,将命名实体区分为自然属性命名实体和司法业务命名实体,自然属性命名实体记做n-ner更侧重于表达实体所代表的的通用、基础的含义,而司法业务命名实体记做l-ner则更多表达司法业务关注的含义;其中自然属性命名实体为时间、地点、人名、物品、货币;司法业务命名实体为时间、地点、犯罪嫌疑人、受害人、其它人、被盗物品、作案工具、其它物品、物品价值、非法获利、实物货币;

(b)根据起诉书文法结构,抽取出部分文书中犯罪事实部分作为数据集,获得有效盗窃类案件犯罪事实数据1900份,按照7:3的比例划分训练集与测试集,训练集与测试集具有相同的数据格式,按照相同的过程完成预处理;

(c)语料的初标注,自然属性标注,对人名、地点、组织利用《人民日报》语料库训练命名实体识别模型进行识别,对时间、货币采用规则的方法进行识别;司法属性标注,在自然属性标注基础上,采用人工标注的方式,将人名区分为犯罪嫌疑人、受害人和其它人,将物品区分为被盗物品、作案工具和其它物品,将货币区分为物品价值,非法获利和实物货币;

(d)语料的标注后处理,由于语料的初标注采用的是人工标注和自动标注结合的策略,造成语料精度难以保证,所以在语料初标注的基础上,由经培训的志愿者进行语料的校准调整,校准后进行一致性检验,以一个志愿者的标注为标准集,另一个志愿者的标注为预测集,采用常规的p/r/f1指数来评估嵌套命名实体语料库标注的一致性,其中p为准确率,r为召回率,f1为两者的调和平均值,经过两个阶段的调整,最后f1达到98.42%说明语料标注的一致性高,最后将语料标注结果保存至xml文件中;

(e)产生批量数据,运用神经网络进行命名实体识别模型训练时,由于所采用的参数优化方法为随机梯度下降,因此需要将批量数据样本送入语料库以训练命名实体识别模型,为了减小局部数据的其他因素影响,编写函数随机选择了相应数量的数据样本作为训练命名实体识别模型的输入;

步骤2、搭建对抗迁移学习神经网络模型,根据司法文本本身的特点并结合自然语言处理领域的先进模型,搭建合适的语料库训练命名实体识别模型结构,具体包括以下子步骤:

(a)bert字向量层,对于数据集给定的句子输入x={x1,x2,x3,…,xn},通过bert预训练语言模型获得输入每个字xi的向量表示记作

(b)特征提取层,利用双向长短时记忆神经网络bilstm,对输入的字向量xi进行编码以提取语义特征,其中lstm的计算,通过公式(1)、(2)、(3)进行描述,

hi=oi⊙tanh(ci)(3)

式中,ij、oj和fj分别代表输入门、输出门和遗忘门,wt和b为模型训练参数,h为lstm单元隐藏层状态,记做lstm(h),则bilstm的隐藏层状态,通过公式(4)、(5)、(6)进行描述,

式中,分别代表前向和后向lstm在位置i的隐藏层状态,⊕代表拼接操作,模型分别为任务k∈{n-ner,l-ner}提供两个私有特征提取bilstm层进行编码,用于提取各自任务的特征,而用一个共享特征提取bilstm层用于学习共享的单词边界,对于任务k的任意输入句子x,其私有的隐藏层状态和共有的隐藏层状态通过公式(7)、(8)进行描述,

其中,θs和θk分别为共享bilstm层和任务k的私有bilstm层的训练参数;

(c)多头自注意力层,利用自注意力机制来学习句子中任意两个字符之间的依赖关系,并获取句子的内部结构信息,用h={h1,h2,…,hn}表示私有bilstm层的输出,s={s1,s2,…,sn}表示共享bilstm层的输出,注意力机制的计算,通过公式(9)进行描述,

自注意力机制可以描述为一个查询q与一系列键(k)-值(v)对起映射成一个输出,其中,这里,q=k=v=h,d为bilstm的隐藏单元输出,维度为2dh,为缩放因子;多头注意力首先使用不同的线性投影,将输入h映射到个不同的线性子空间,然后对这个线性空间并行的计算缩放点积注意力权值,最后,这些注意力的权值计算结果拼接起来,得到输入h新的表示h′,通过公式(10)、(11)进行描述,

headi=attention(qwiq,kwik,vwiv)(10)

这里是可训练的模型参数,同样也是可训练的模型参数;

(c)特定任务的条件随机场层,对于任务k来说,它在这一层的输入,是由经过自注意力机制层计算后的共享空间和私有空间表征拼接而来的:

h″k=h′k⊕s′k(12)

其中,h′k和s′k分别是任务k的私有自注意力机制层和共享自注意力机制层的输出,考虑到标签彼此之间的依赖关系,引入crf来学习标签路径的概率分布,对于给定的输入x={c1,c2,c3,…,cn}和预测的标签序列y={y1,y2,…,yn},crf标签预测的过程,通过公式(13)、(14)、(15)进行描述,

oi=wsh″i bs(13)

其中,是可训练的参数,|t|是输出标签的数量,表示的对于xi的第yi个标签的打分函数,t则表示的是相邻两个标签的概率转移矩阵,最后,使用维特比算法来获得预测的标签序列训练过程中,引入最大似然方法,把其负的对数似然作为损失函数,其真实标签序列的概率函数服从指数分布,通过公式(16)进行描述,

其中表示准确的标签序列,yx是指对于给定的句子x所有可能的标签序列,对于给定的t个训练样本其损失函数ltask,通过公式(17)进行描述,

训练时利用梯度反向传播方法来求最小化损失函数;

(d)任务鉴别层,为了使模型共享空间能够更多的学习到两个任务的共享特征,避免任务k私有特征对共享空间的影响,保证该模块仅仅抽取对两个任务都有用的特征,引入一个对抗网络作为任务鉴别器,最大程度让捕捉到的共享特征保持纯净,通过公式(18)、(19)进行描述,

m′k=maxpooling(s′k)(18)

d(m′k;θd)=softmax(wds′k bd)(19)

其中,θd表示任务鉴别层的参数,是可训练参数,k是任务的数目,这里取任务数为2,具体来说,每当一个样本经过bert字向量层、共享bilstm层之后,对其求最大池化,得到一个输入样本新的向量化表示m′k,将m′k输入判别器网络模块softmax分类器,要求判别器预测该特征向量来源于2个任务中的哪一个,这是判别器的初始目标,但是如果判别器能够准确预测每一个共享特征的来源任务,则说明这些共享特征中混入了太多的私有信息,这与最初保持共享特征纯净的目的不符,所以引入对抗损失ladv,反过来为共享bilstm层设定一个目标,让它跟判别器对抗,想办法让判别器预测不准,假如共享bilstm模块成功让判别器分不清特征向量来自哪个任务,意味着已经把私有特征剥离出去了,从而保证了共享特征向量的纯净性,对抗损失ladv的计算方法,通过公式(20)进行描述,

其中,θs表示共享bilstm的可训练参数,es表示共享特征提取器,tk是训练任务的数量,是任务k的第i个样本,通过ladv使共享的bilstm层生成一个表示来误导任务鉴别器,而鉴别器尽最大努力来正确地确定任务的类型;

(e)模型训练,最终的损失函数,通过公式(21)进行描述,

l=ln-ner·i(x) ll-ner·(1-i(x)) λladv(21)

其中,λ是训练超参,ln-ner和ll-ner能够根据公式(17)计算得出,i(x)是一个二项式的函数,用于判断输入来自于哪个任务,通过公式(22)进行描述,

其中,分别代表自然属性命名实体识别和法律属性命名实体识别数据集,训练过程中,首先轮流从{n-ner,l-ner}选择任务,然后输入该任务的数据集中的训练样本进入模型以进行迭代参数,采用的优化器为adam算法进行优化损失,上述两个任务有不同的收敛速度,最后根据l-ner的训练性能来结束模型训练过程;

步骤3、测试模型,利用测试数据进行盗窃类案件法律命名实体的识别,观察模型在测试集数据上的表现,确定模型的泛化能力,具体包括以下子步骤:

(a)以步骤1中生成的测试集作为模型的测试样本,并利用预训练模型bert将测试样本进行向量化表示作为模型的输入;

(b)将子步骤(a)中的向量化表示输入步骤2中的对抗迁移神经网络模型,经模型计算后,得到测试集的命名实体识别结果;

(c)比较上述输出值与真实值之间的差异,并计算模型的准确率、召回率以及f值,通过这几个评价指标,检验出该模型的性能及泛化能力;

步骤4、结果讨论,得到步骤3中的评价指标之后,进行结果讨论,定位到模型预测发生错误的语料,进行错误分析,并结合分析结果,确定模型的改进方向,具体包括以下子步骤:

(a)编写函数获取模型当前处理的数据样本的实体识别结果,与模型的输出结果进行对比,如果错误率超过预定阈值,则返回步骤2,调节参数或改变模型结构,重新进行训练;

(b)如果错误率在阈值之内,则代表模型在整体的数据集中取得了良好的效果,因此,需要对每一个错误的数据样本进行分析,分析错误语料的特殊性以及规律性,利用大规模语料中的自定义词典或者编写规则进行处理,以完成对这些特殊的命名实体的识别;

(c)完成步骤4子步骤(b)之后,模型便具备了解决盗窃类案件的命名实体的识别能力。

技术总结
本发明涉及一种法律文书命名实体识别方法,一种基于对抗迁移学习的盗窃案件法律文书命名实体识别方法,包括以下步骤:(1)构建法律命名实体数据集,(2)搭建对抗迁移学习神经网络模型,(3)测试模型,(4)结果讨论。本发明方法切实可行且结构清晰,具有参考价值,可以提升法律命名实体识别的精准度,基于法律命名实体识别,可以面向法律知识图谱的构建,可以面向多人多节案件事实分解、证据关联分析和司法知识图谱构建等方面中的应用。

技术研发人员:孙媛媛;李春楠;许策;王小鹏
受保护的技术使用者:大连理工大学
技术研发日:2020.01.04
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-54750.html

最新回复(0)