一种半监督司法实体及事件联合提取方法与流程

文档序号:20769064发布日期:2020-05-15 19:24阅读:284来源:国知局
一种半监督司法实体及事件联合提取方法与流程

本发明属于自然语言处理领域,涉及一种半监督司法实体及事件联合提取方法。



背景技术:

在智能裁判和智能法律咨询机器人系统中,信息提取技术是最为基础和核心的部分。它能将非结构化的裁判文书,问答库等资料转换成结构化的表、关键词、事件链等数据,以便于后续决策算法部署,从而提供更精准的裁判、更切合用户意图的回答。例如下面的案例:

{2015年2月11日x时,在平度路金杨路南约10米处,被告薛xx驾驶的牌号为沪l5xxxx小客车与驾驶电动自行车的原告杨xx发生碰撞,造成杨xx受伤、两车受损的道路交通事故。经上海市公安局浦东分局交通警察支队认定,薛xx未确保安全,承担事故主要责任,杨xx未在非机动车道内行驶,承担次要责任。}

通过手动标注抽取为{原告:杨xx;被告:薛xx;责任认定单位:浦东分局交警支队;事件:交通事故;事件车辆:小客车,电动自行车;事件后果:原告受伤,两车受损;事件责任:被告主要责任,原告次要责任},这种结构化数据比上面的非结构化数据更有条理性,也更易进行结果推理。示例中的抽取包含了实体名识别,事件识别及事件属性(attributes)识别,这三种技术结合在广义上也被称为事件提取。目前事件提取的工作主要集中在事件触发词及其相关属性的预测上,而将实体名识别等工作交由手动标注或者现有ner(实体名识别)工具包完成。这种分层流水线式架构会引起误差放大,例如,实体名提取的错误可能会传播到事件触发词及其相关属性的识别中。最近有工作通过联合预测实体名,事件触发词及其属性来解决这个问题。但是,深度学习的训练过程需要大量带标注的数据,而从零开始进行手动标注成本过高。



技术实现要素:

为了克服现有技术中存在的不足,本发明在于提供了一种避免大量手动标注的问题、极大提高事件提取模型在实际工程上的可用性、降低整体模型的复杂度的半监督司法实体及事件联合提取方法。

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

一种半监督司法实体及事件联合提取方法,其步骤如下:

(1)司法文本以句为单位进行分词处理,形成词列表w=w1,w2,...wi...wn,wi是第i个词,n是词的数量;

(2)司法文本数据多特征嵌入,将分词后的司法文本数据转换成数字向量,所述多特征嵌入包括字符嵌入、词嵌入、词性嵌入和依赖特征嵌入,形成多特征嵌入司法文本向量;

(3)将步骤(2)得到的多特征嵌入司法文本向量输入经过训练的司法实体及事件联合提取模型,提取实体、事件和事件属性,具体包括:所述多特征嵌入司法文本向量输入双向lstm网络,定义实体、事件和事件属性识别任务,在双向lstm网络的输出层实现实体、事件和事件属性联合提取。

进一步,所述司法文本数据多特征嵌入,以词为基准,将词对应的词性特征和依赖特征串联,并将词对应的多个字符向量串联,获得多特征嵌入司法文本向量,形成多特征嵌入司法文本向量序列v=v1,v2,...vi...vn。

进一步,所述多特征嵌入司法文本向量序列v输入双向lstm网络,生成隐藏向量序列h=h1,h2,...hi...hn,hi为传统lstm沿前后方向传递的级联向量:

在每个隐藏向量hi中编码整个句子信息。

进一步,所述实体识别任务,表示为:

min(softmax(l(di,hi))-ei)

其中,min表示最小化函数;softmax为柔性最大化函数;l表示线性函数;di为若干词的多特征嵌入司法文本向量串联构成的上下文级联向量;hi为多特征嵌入司法文本向量输入双向lstm网络生成的隐藏向量;ei为分配给每个词的实体标签,所有实体标签组成实体标签序列e;

所述事件识别任务,表示为:

min(softmax(l(di,hi))-ti)

其中,min表示最小化函数;softmax为柔性最大化函数;l表示线性函数;di为若干词的多特征嵌入司法文本向量串联构成的上下文级联向量;hi为多特征嵌入司法文本向量输入双向lstm网络生成的隐藏向量;ti为分配给每个词的事件标签,所有事件标签组成事件标签序列t;

所述事件属性识别任务,表示为:

min(softmax(l(di,hi,bij))-aij),bij=tanh(μ(hi-hj)+σ)

其中,min表示最小化函数;softmax为柔性最大化函数;l表示线性函数;di为多特征嵌入司法文本向量的上下文级联向量;hi为多特征嵌入司法文本向量输入双向lstm网络生成的隐藏向量;aij为事件属性标签,所有事件属性标签组成事件属性标签序列a;bij为词列表中两个词对应的隐藏向量的相关性,以激活函数tanh表示,μ和σ为可训练的变量系数。

进一步,所述aij通过词列表中两个词的多特征嵌入司法文本向量相似度计算,由其整数值表示wi的属性标签,如果满足以下任一条件,则aij设置为“other”:(1)i=j,(2)wi不是事件触发词,(3)wj不是实体或者属性触发词。

进一步,所述实体、事件和事件属性联合提取,定义目标函数为联合概率p(a,t,e|v,h),p表示贝叶斯概率,输出提取结果a、t、e,此联合概率可以分解为:

p(a,t,e|v,h)=p(t|v,h)*p(e|t,v,h)*p(a|t,e,v,h)。

进一步,所述司法实体及事件联合提取模型的训练步骤,包括:

(a)分别建立实体、事件、事件属性的类型表和触发词汇表;

(b)数据标注:在样本集抽取固定数量样本,按照步骤(a)中的实体触发词汇表、事件触发词汇表及事件属性类型表,手动标注若干个文本,标注出实体、事件、事件属性,并将原始文本和标注文本成对形成的数据集分为训练集和测试集;

(c)所述原始文本按照所述半监督司法实体及事件联合提取方法进行实体、事件和事件属性的预测,对应训练时按批次数据进行联合概率对数最小化的惩罚函数为:

其中,α,β,γ是系数变量,从数据中学习;π表示事件间的共生关系使用。

进一步,所述司法实体及事件联合提取模型的训练采用半监督模型,加入数据增广和批量混合处理,并对惩罚函数修改。

进一步,所述数据增广利用语义不变性,惩罚函数如下:

其中,x,y表示输入和输出,p表示贝叶斯概率,右上+表示为扩增数据,其中y在扩增时保持不变,上方^表示未标注数据。

进一步,所述批量混合是基于相关性的递增混合方式,以批次为单位将未标注样本和标注样本进行混合,未标注样本筛选是在未标注样本数据集中搜索与标注样本相关的数据,相关性以多特征嵌入司法文本向量v的余弦相似度表示,以相关性作为概率判断是否混合入训练数据。

本发明的有益效果:

1、使用基于数据增广和批量数据混合的半监督模型,避免大量手动标注的问题,极大提高事件提取模型在实际工程上的可用性。

2、对实体及事件联合提取模型进行了改进。一方面,使用多种特征融合的方法,改善仅使用字符特征的引起的错误。另一方面,使用序列到序列(seq2seq)的结构改进,直接提取出事件类型,无需中间步骤提取出事件触发词,降低整体模型的复杂度。

附图说明

图1是本发明的实体和事件联合提取模型的建立示意图。

图2是本发明的半监督模型的建立流程示意图。

图3是本发明的实体和事件联合提取模型的实际使用示意图。

图4是本发明的数据扩增示例表。

具体实施方式

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

专业术语解释

双向lstm网络:是传统lstm的扩展,可以提高序列分类问题的模型性能。

word2vec:谷歌2013年提出的词嵌入模型,是目前最常用的文本表示模型之一,可以将单词转换成向量形式。

半监督学习方法:仅使用少部分标注样本取得与使用全部标注样本接近的效果,其结合多种数据增广机制,例如样本混合,语义不变性等。

实施例一

参照图1-3,本实施例提供了一种半监督司法实体及事件联合提取方法,其步骤如下:

1、实体、事件和事件属性提取格式定义及手工标注

在司法领域,由于涉及个人隐私保护,目前公开数据仅有裁判文书和庭审录像,本专利仅针对使用裁判文书进行事件抽取的情况。

首先,定义事件抽取的格式。在案件判决过程中,主体角色、事件链、事件属性是审判推理的三大依据,以上三者以事件为中心。标注中的第一个标志位是事件,文本不包含具体事件,则标注‘other’。二三标志位分别是实体和事件属性。格式如下:

{type:[other,交通事故,责任认定...];role:[原告:承受方,被告:实施方,第三方:认证方,...];attribute:[事故双方:机动车和机动车,物品损坏:后备箱损坏...]}。

而二三标注位与第一位不强制相关,即抽取结果可以为空。

手工标注时,先筛选出案情描述并分句。案情描述在司法文书中通常独立成段,并以‘经审理查明’为前缀。分句以句号等标点符号分割。然后,以句为单位,以抽取格式为标准,对句子进行标注。原始文本和标注结果成对形成训练集。

2、司法文本分词

以句为单位进行分词处理,形成词列表w=w1,w2,...wi...wn,wi是第i个词,n是词的数量。

3、多特征嵌入

将原始文本中字符型元素转变成数字型向量,即特征嵌入。元素可以是词,字符或短语。本专利中以词为元素。

在工程中为提高精度,需采用多特征联合的方式,本专利使用字符,词嵌入,pos(词性),词依赖等多种特征。以词为基准,将词对应的词性和依赖性特征串联,并将词对应的多个字符串联,从而将句子转换成向量v=v1,v2,...vi...vn,

4、双向lstm编码

v输入双向lstm网络,生成隐藏向量序列h=h1,h2,...hi...hn,hi为传统lstm沿前后方向传递的级联向量:

在每个隐藏向量hi中编码整个句子信息。我们利用v和h作为输入值进行实体名,事件的联合抽取。

5、实体、事件、事件属性联合提取

为了解决实体名识别(emd)问题,我们将其转换为序列标签问题,为v和h中的每个元素对应的词wi分配标签ei,组成标签序列e=e1,e2,...en,en取值范围是标注格式中role的约定范围,用于揭示句子中实体提及的实体类型。实体名识别被表示成:min(softmax(l(di,hi))-ei)。其中,min表示最小化函数,softmax为柔性最大化函数,di为多特征嵌入司法文本向量的上下文级联向量,这里使用5个上下文嵌入特征串联构成,l表示线性函数。

关于事件识别(ed)任务,假设事件触发词只是句子中的某个词,我们为wi∈w预测一个事件类型ti(ti可以“other”,以表明wi没有触发任何感兴趣的事件)。w中单词的事件类型标签序列为t=t1,t2,...tn。同样事件识别可以表示为:min(softmax(l(di,hi))-ti)。

在事件属性的识别中,我们需要识别事件的属性变量。但是,事件触发词和事件属性词并不总是同时存在或者一一对应的,因此,需要通过潜在的相关性,挖掘事件属性与事件触发词之间的联系。从而将事件属性识别分解成事件属性的分类,实体及事件属性的归属两个问题。我们将词列表w按词嵌入向量相似度转换为矩阵a=(aij)。在此矩阵中,如果满足以下任一条件,则aij设置为“other”:(1)i=j,(2)wi不是事件触发词,(3)wj不是实体或者属性词。否则,aij将是事件wi对应的候选属性。属性类别由其整数值表示,确定属于事件对应词wi,则数值为m,即第m类属性,否则为0。事件属性识别可以表示为:

min(softmax(l(di,hi,bij))-aij),bij=tanh(μ(hi-hj)+σ)2)

bij是表示两个词对应的隐向量的相关性,以激活函数tanh表示,μ和σ为可训练的变量系数。

最后,我们的目标是联合抽取实体,事件和事件属性,即同时预测e,t和a,因此将目标函数定义为联合概率p(a,t,e|v,h),p为贝叶斯概率。此联合概率可以分解为:

p(a,t,e|v,h)=p(t|v,h)*p(e|t,v,h)*p(a|t,e,v,h)3)

对应训练时按批次数据进行联合概率对数最小化的惩罚函数为:

其中,α,β,γ是系数变量,从数据中学习。第一项中π表示事件间的共生关系使用,而实体和属性项相互之间独立,因此使用和函数表示。

6、半监督模型

利用上面的模型,可以同时提取实体名及事件属性等,但其前提条件是有足够多的样本进行模型训练。然而,当前公开的事件提取常用ace2005数据库,仅包括几千个样本,数据库多样性不足,无法迁移到其他任务,这就意味着要从零开始进行数据标注。半监督学习可以大幅度降低标注成本,且司法文本相比其他语料,用语的规范性和结构性好,这为半监督学习的应用提供了前提条件。文献2的半监督模型基于数据增广技术,并利用数据混合和语义不变性--又称数据自洽性(selfconsistency)。本专利也采用数据混合机语义不变性,但文献2的数据混合方法仅用于图片,我们针对文本提出了新的数据混合方法。

半监督系统如图2所示,包括标注集,未标注集,数据增广模块,数据混合模块和惩罚项计算。首先,利用语义不变性进行数据增广,这是指对一个句子进行小幅语义变换,变换后的样本各部分属性基本保持不变。例如样本‘张某驾驶卡车撞伤了横穿马路的王某’,将‘卡车’替换为‘机动车’不会改变事件的类型。类似的通过调换短语,将原句改为‘横穿马路的王某被张某驾驶卡车撞伤了’,也不会改变事故的责任双方关系。语义不变性数据增广采用基于word2vec词替换,还原翻译,句式调整等技术。而还原翻译,通过汉译英再译汉的方式,利用翻译器的近似还原性,实现句子的改写。语义不变性惩罚项公式如下:

其中,x,y表示输入和输出,对照公式4),x实际为嵌入向量v、隐藏向量h,y实际为标注的a,t,e,p表示贝叶斯概率,右上+表示为扩增数据,其中y在扩增时保持不变,,上方^表示未标注数据。惩罚项的目的是最小化扩增前后的贝叶斯概率误差。

数据混合是指将两个不同的样本按比例混合后,其预测类型的概率值与原类型的比例保持一致。例如将猫类图片和狗类图片混合成一幅图片,那么对此图片的预测为猫和狗概率比预测为其他类的概率都要高。对于文本的混合,无法使用类似图片样本按比例混合的方式。我们使用基于相关性的递增混合方式,以批次为单位进行混合。假定,训练组一批为64个样本,其中有若干有标注样本,余下为未标注样本。未标注样本筛选方法是在未标注数据集中,搜索与有标注样本相关的数据,相似度以嵌入特征v的余弦相关度表示,以相似度为概率判断是否放入训练组。例如:样本与有标注某样本相似,值为0.95,那么此样本被放入训练组的概率设为95%。训练过程中,训练组中未标注样本的比例有序增涨,最高比例限定为80%。同时,未标注样本要利用当前模型的预测输出值作为真值y,保证模型精度可迭代提升,从未标注集中学习到越来越多的正确特征,公式5的后半部分就是对数据混合的不变性惩罚。利用半监督可以解决因语言的灵活性引起的歧义,提高模型的精度。

7、模型训练及精度验证

本步骤的模型是指半监督模型和实体、事件联合模型的结合模型。训练和评估都需使用手动标注数据集,将数据集按比例8:2分为训练集和测试集。训练时使用训练集,以嵌入向量v为输入,结合抽取模型和半监督模型,以预测结果a,t,e为输出,并使用预测输出及真实标注之间的误差最小化方法,逐渐修正模型参数。测试时使用测试集,复用训练步骤,以预测输出值与真实标注值之间的误差表示模型误差。

本发明以交通事故类裁判文书为例,进一步进行算法步骤详细说明。

1.建立实体名及事件类型表:

使用自动提取结合人工筛选的方法准备实体,事件触发词汇表及相关类型表。其中,类型表需根据数据分布及法规管辖范围手工构建。针对交通事故类文书,实体名类别共包含6种,分别为{原告,被告,责任认定部门,医院,伤残鉴定部门,保险公司}。事件(触发词)类别包括:{交通事故,医疗,事故责任认定,伤残鉴定,事故赔偿,医疗支付,保险赔偿}。事件(触发词)属性包括:{机动车,行人,非机动车,医药费,鉴定费,工资,误工费...}。触发词汇表作用在于限定语义范围,避免引入噪声词,同时增加对语义多样性的适应。例如对应事件类别‘交通事故’,相关触发词汇包括{碰撞,撞伤,刮擦,碰,撞上...}。词汇表通过同义词扩展和自动关键词提取等结果组合而成。

2.数据标注:

在训练中使用半监督算法,仅需对训练样本中随机抽取的小部分样本进行标注。通常抽取固定数量样本,例如100条或总数据数量的百分之五。按照步骤1的类型表,手动标注若干文本,标注出实体类型,事件类型,事件属性类型。手动标注数据集被分为训练集和测试集,以进行下一环节的模型训练和模型评估。

3.实体和事件联合提取模型

此处仅进行有监督训练,训练过程分两步,第一,进行数据预处理,第二,模型训练及评估。

1)数据预处理

数据预处理实际是将文本进行字符,词嵌入,词性嵌入,词嵌入上下文特征及依赖特征嵌入等。词嵌入需先对训练文本进行分词,为此使用开源分词工具hanlp。嵌入过程利用公开发布的word2vec预训练包,可将词语转成200维的向量。词嵌入上下文是将句子中连续多个词的词嵌入向量串联而成。词性嵌入和依赖特征嵌入分别利用hanlp工具的词性分析和句子依赖分析功能,获得词语的词性与上下文的依赖关系,然后转换成向量。词向量,词嵌入上下文向量和词性,依赖性等嵌入都基于词对齐,可以直接串联成统一长度的向量。但是词包含字符数量不定,字符向量与词向量简单串联会引起向量维度不统一,这里先定字符长度为四,少于此长度则进行零值填充。然后,再进行向量串联,保证不同词的多特征合成向量维度统一。

2)模型训练与评估

构建序列双向lstm网络,将上一步骤的多特征嵌入向量作为输入,如图3所示。图中,输入层文本需倒序排列,原文是‘张某驾驶卡车撞了横穿马路的王某’,输出层为正序排列。输入数据经神经网络处理,得到隐含向量h。然后,配合嵌入特征d,在输出层进行实体名和事件类别预测。

4.半监督训练

半监督训练在有监督训练的基础上进行部分调整,主要是加入数据增广和批量混合部分,并对loss函数修改。数据增广采用基于word2vec词替换,还原翻译,句式调整等技术,如图4所示。数据增广可将样本数量成倍扩增,并保证数据的多样性。从而,使输入值尽可能的体现语义的灵活性,避免过拟合及模型偏差现象出现。

批量混合阶段,要逐级增加未标注样本在训练集中的比例。开始阶段,此比例为0,仅使用有标注样本进行训练。下一阶段,按训练轮回数线性提高未标注样本在训练集中的比例,直到此比例达到80%。未标注样本筛选策略:基于文本相关性筛选并排序,与有标注样本相关性高的排序高。这些样本以相似度为概率被加入训练集,从而使训练集中的样本多样性有序扩张。不至于因未标注样本的加入导致误差激增,进而引起模型退化。

训练时,模型中预处理和神经网络部分复用有监督模型,改动主要在loss函数。具体地,加入增广数据语义不变性惩罚项,使扩增变形后数据经过神经网络处理后,输出结果能与扩增前数据的输出结果保持一致。如下式表示事件识别的模型的loss函数:

min(softmax(l(di,hi))-softmax(l(di+,hi+)))

式中,l为线性函数,+号表示扩增,贝叶斯概率p被近似消除。

5.模型训练及精度验证

模型训练和评估使用常规深度学习的训练和验证方法,将数据集按比例8:2分为训练集和测试集。利用测试集对训练所得模型进行精度评估,判断模型效果。这里注意训练的早期中断和断点训练策略,当若干轮次训练loss不降低时要进行训练中断,且保存当前模型。而断点训练是指载入中断的模型,继续进行训练。

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