一种基于多任务联合学习的事件检测方法与流程

未命名 08-26 阅读:208 评论:0


1.本发明涉及自然语言处理中信息抽取任务中的事件检测技术领域,特别涉及一种基于多任务联合学习的事件检测方法。


背景技术:

2.事件抽取的目标是自动地从从非结构化文本中识别所出现的事件的触发词、事件类型、事件论元等,是自然语言处理的重要研究领域。事件检测作为事件抽取的子任务之一,旨在从给定文本中识别事件触发词并将其分类到正确的事件类型,触发词指的是标记事件出现的核心词语或短语,事件类型为任务中预定义好的需要检测的事件的类型。
3.目前主流的事件检测方法有以下几种方案:
4.一、基于词典或规则的方法
5.基于词典或规则的方法针对每种事件构造触发词词典或设计触发词检测模板,然后通过匹配来识别触发词和事件类型。
6.二、基于深度学习的方法
7.神经网络模型能够自动地从原始文本中学习与触发词相关的高层次特征表示,因此将原始文本作为输入,使用lstm、transformer等深度学习模型自动地学习文本特征,然后进行字符级别的分类实现触发词识别,并进一步实现事件类型判断。
8.三、多特征融合的方法
9.该方法通常会把句法依存特征、词性特征、词向量特征等多种特征进行融合,然后输入lstm、transformer、gcn(graph convolutional network,图卷积神经网络)等网络进行学习,从而实现触发词识别和分类。句法依存关系可以表示词与词之间的依赖关系,该方法融合了词法、句法等特征,可以更好地定位与触发词最相关的信息,从而实现更好地识别效果。
10.基于词典或规则的方法通常能够获得较高的精确率,但其召回率较低,同时过于依赖规则的有效性,通常泛化性很差。
11.基于深度学习的方法无需人工构建特征,但是由于输入的是全部文本,而文本中多数词对于触发词和事件类型的判断是无关的噪声信息,可能会影响事件检测任务的效果。
12.多特征融合的方法需要使用词法分析、句法分析等工具,但是现有的这些分析工具存在一定比例的解析错误,仍然会造成一部分噪声信息的保留。并且该方法实现上比较困难。
13.因此,提出一种基于多任务联合学习的事件检测方法来解决上述问题很有必要。


技术实现要素:

14.本发明的目的在于提供一种基于多任务联合学习的事件检测方法,以解决上述背景技术中提出的问题。
15.为实现上述目的,本发明提供如下技术方案:一种基于多任务联合学习的事件检测方法,包括以下步骤:
16.s1:样本生成,如某业务场景预定义的事件类型为label=[“受伤”,“判刑”,“盗窃”],对于文本“被告人袁某用拳头将被害人郭某面部打伤”,其中包含的触发词为“打伤”,事件类型为“受伤”,把事件类型与正文拼接,然后分别标注触发词和事件类型,触发词识别作为序列标注任务使用bio标注模式,“b”表示触发词的开始,“i”表示触发词的中间或者结尾,“o”表示不属于触发词;事件类型判断为二分类任务,“1”表示文本中包含该事件类型,“0”表示文本中不包含该事件类型;
[0017]
s2:基于深度预训练模型的多任务联合学习,对触发词识别和事件类型判断联合建模,两个子任务共享神经网络隐层参数,然后针对不同任务构建各自的分类器完成各自任务目标,详细的模型计算步骤如下:
[0018]
a.把事件类型li和文本内容text拼接,并在首尾分别添加“[cls]”和“[sep]”标志,然后进行切分,得到序列x=[[cls],x1,x2,x3,...,xn,[sep]];
[0019]
b.把序列x输入到bert模型,得到表示向量e=[e
[cls]
,e1,e2,e3,...,en,e
[sep]
];
[0020]
c1.触发词识别
[0021]
(1).把文本中每个字符的表示向量en输入全连接神经网络,并经过softmax层后输出,得到该字符属于“bio”中每种类型的概率p=[pb,pi,po];
[0022]
(2).计算每个字符属于每种类型的概率p与真实的触发词标签之间的交叉熵损失loss1;
[0023]
c2.事件类型判断
[0024]
(1).取e中“[cls]”位置的向量e
[cls]
,把e
[cls]
输入全连接神经网络,并经过softmax层后输出,得到事件类型概率p=[p1,p2],p1表示该文本包含事件类型li的概率,p2表示该文本不包含事件类型li的概率;
[0025]
(2).计算文本预测出的事件类型概率p与真实的事件类型之间的交叉熵损失loss2;
[0026]
d.对loss1和loss2进行加权求和得到loss,然后对loss进行反向传播,通过梯度下降法更新模型参数。
[0027]
优选的,所述s1中一条文本会生成三条标注数据,标注数据中text由事件类型和文本内容拼接而成,“[sep]”为两者之间的分隔符,trigger_tag和event_type_tag分别表示触发词和事件类型的标注结果,由于该文本中包含的事件类型为“受伤”,触发词为“打伤”,因此当拼接的事件类型为“受伤”时,event_type_tag为1,“打伤”在拼接后的文本中的起始位置分别为20和21,因此trigger_tag中第20的位置为“b”,第21的位置为“i”,其它所有位置都为“o”。
[0028]
优选的,当拼接的事件类型为“判刑”和“诈骗”时,由于文本中不包含这两种事件类型,因此event_type_tag均为0,trigger_tag中所有位置也都为“o”。
[0029]
本发明的技术效果和优点:
[0030]
1、本发明把事件检测任务拆分为事件类型判断和触发词识别两个子任务,然后对两个子任务进行联合建模学习,模型的输入包含了事件类型和文本内容,通过注意力机制可以更好地学习标签与文本之间的关系,同时利用任务之间的相关性进一步提升模型的学
习效果;
[0031]
2、本发明把事件类型和文本内容拼接后作为模型的输入,然后分别做限定事件类型下的触发词识别和事件类型判断,假设预设的事件类型数量为n,把每种事件类型分别与文本内容拼接,这样每条数据会生成n条样本,既避免了在做模型推理时由于不知道文本的事件类型导致模型的输入与训练阶段模型的输入不一致的问题,又扩充了样本数量,可以让模型得到更充分的学习;
[0032]
3、对于每条由事件类型和文本内容拼接形成的样本,只进行当前事件类型下的触发词的识别和事件类型判断,避免了当一个文本中包含多个事件类型且每个事件类型对应不同的触发词的情况下,无法区分触发词和事件类型的对应关系的问题。
附图说明
[0033]
图1为本发明基于多任务联合学习的事件检测方法步骤图。
具体实施方式
[0034]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035]
本发明提供了如图1所示的一种基于多任务联合学习的事件检测方法,把事件检测拆分为事件类型判断和触发词识别两个子任务,然后对两个子任务联合建模。
[0036]
事件的类型和事件触发词往往密切相关,在给定事件类型的条件下触发词的识别效果会有显著提升。为了在触发词识别子任务中能利用事件类型信息,本提案中把事件类型的标签内容和待检测的文本内容进行拼接作为模型的输入,事件类型标签不再是独立于文本的符号,模型通过注意力机制可以更好地学习标签与文本之间的关系,从而实现更好的识别效果。
[0037]
假设预定义的事件类型标签为lable=[l1,l2,...ln],对于某个具体文本t。把label中的每一个标签li分别与t拼接得到新的文本ti,把ti作为模型的输入,通过深度预训练语言模型bert进行编码,得到ti的表示向量,然后分别做事件类型为li条件下的事件类型判断和触发词识别。其中事件类型判断为二分类任务,只需判断文本中是否包含事件li;触发词识别为字符级的分类任务,只需识别事件类型为li时的触发词。
[0038]
具体步骤包括以下几方面:
[0039]
样本生成
[0040]
如某业务场景预定义的事件类型为label=[“受伤”,“判刑”,“盗窃”],对于文本“被告人袁某用拳头将被害人郭某面部打伤”,其中包含的触发词为“打伤”,事件类型为“受伤”。把事件类型与正文拼接,然后分别标注触发词和事件类型,触发词识别作为序列标注任务使用bio标注模式,“b”表示触发词的开始,“i”表示触发词的中间或者结尾,“o”表示不属于触发词;事件类型判断为二分类任务,“1”表示文本中包含该事件类型,“0”表示文本中不包含该事件类型。
[0041][0042]
生成的样本如上表所示,事件类型有三种,因此一条文本会生成三条标注数据。标注数据中text由事件类型和文本内容拼接而成,“[sep]”为两者之间的分隔符。trigger_tag和event_type_tag分别表示触发词和事件类型的标注结果,由于该文本中包含的事件
类型为“受伤”,触发词为“打伤”,因此当拼接的事件类型为“受伤”时,event_type_tag为1,“打伤”在拼接后的文本中的起始位置分别为20和21,因此trigger_tag中第20的位置为“b”,第21的位置为“i”,其它所有位置都为“o”;当拼接的事件类型为“判刑”和“诈骗”时,由于文本中不包含这两种事件类型,因此event_type_tag均为0,trigger_tag中所有位置也都为“o”。
[0043]
基于深度预训练模型的多任务联合学习
[0044]
对触发词识别和事件类型判断联合建模,两个子任务共享神经网络隐层参数,然后针对不同任务构建各自的分类器完成各自任务目标。详细的模型计算步骤如下:
[0045]
a.把事件类型li和文本内容text拼接,并在首尾分别添加“[cls]”和“[sep]”标志,然后进行切分,得到序列x=[[cls],x1,x2,x3,...,xn,[sep]];
[0046]
b.把序列x输入到bert模型,得到表示向量e=[e
[cls]
,e1,e2,e3,...,en,e
[sep]
];
[0047]
c1.触发词识别
[0048]
(1).把文本中每个字符的表示向量en输入全连接神经网络,并经过softmax层后输出,得到该字符属于“bio”中每种类型的概率p=[pb,pi,po];
[0049]
(2).计算每个字符属于每种类型的概率p与真实的触发词标签之间的交叉熵损失loss1。
[0050]
c2.事件类型判断
[0051]
(1).取e中“[cls]”位置的向量e
[cls]
,把e
[cls]
输入全连接神经网络,并经过softmax层后输出,得到事件类型概率p=[p1,p2],p1表示该文本包含事件类型li的概率,p2表示该文本不包含事件类型li的概率;
[0052]
(2).计算文本预测出的事件类型概率p与真实的事件类型之间的交叉熵损失loss2。
[0053]
d.对loss1和loss2进行加权求和得到loss,然后对loss进行反向传播,通过梯度下降法更新模型参数。

技术特征:
1.一种基于多任务联合学习的事件检测方法,其特征在于:包括以下步骤:s1:样本生成,如某业务场景预定义的事件类型为label=[“受伤”,“判刑”,“盗窃”],对于文本“被告人袁某用拳头将被害人郭某面部打伤”,其中包含的触发词为“打伤”,事件类型为“受伤”,把事件类型与正文拼接,然后分别标注触发词和事件类型,触发词识别作为序列标注任务使用bio标注模式,“b”表示触发词的开始,“i”表示触发词的中间或者结尾,“o”表示不属于触发词;事件类型判断为二分类任务,“1”表示文本中包含该事件类型,“0”表示文本中不包含该事件类型;s2:基于深度预训练模型的多任务联合学习,对触发词识别和事件类型判断联合建模,两个子任务共享神经网络隐层参数,然后针对不同任务构建各自的分类器完成各自任务目标,详细的模型计算步骤如下:a.把事件类型l
i
和文本内容text拼接,并在首尾分别添加“[cls]”和“[sep]”标志,然后进行切分,得到序列x=[[cls],x1,x2,x3,...,x
n
,[sep]];b.把序列x输入到bert模型,得到表示向量e=[e
[cls]
,e1,e2,e3,...,e
n
,e
[sep]
];c1.触发词识别(1).把文本中每个字符的表示向量e
n
输入全连接神经网络,并经过softmax层后输出,得到该字符属于“bio”中每种类型的概率p=[p
b
,p
i
,p
o
];(2).计算每个字符属于每种类型的概率p与真实的触发词标签之间的交叉熵损失loss1;c2.事件类型判断(1).取e中“[cls]”位置的向量e
[cls]
,把e
[cls]
输入全连接神经网络,并经过softmax层后输出,得到事件类型概率p=[p1,p2],p1表示该文本包含事件类型l
i
的概率,p2表示该文本不包含事件类型l
i
的概率;(2).计算文本预测出的事件类型概率p与真实的事件类型之间的交叉熵损失loss2;d.对loss1和loss2进行加权求和得到loss,然后对loss进行反向传播,通过梯度下降法更新模型参数。2.根据权利要求1所述的一种基于多任务联合学习的事件检测方法,其特征在于:所述s1中一条文本会生成三条标注数据,标注数据中text由事件类型和文本内容拼接而成,“[sep]”为两者之间的分隔符,trigger_tag和event_type_tag分别表示触发词和事件类型的标注结果,由于该文本中包含的事件类型为“受伤”,触发词为“打伤”,因此当拼接的事件类型为“受伤”时,event_type_tag为1,“打伤”在拼接后的文本中的起始位置分别为20和21,因此trigger_tag中第20的位置为“b”,第21的位置为“i”,其它所有位置都为“o”。3.根据权利要求2所述的一种基于多任务联合学习的事件检测方法,其特征在于:当拼接的事件类型为“判刑”和“诈骗”时,由于文本中不包含这两种事件类型,因此event_type_tag均为0,trigger_tag中所有位置也都为“o”。

技术总结
本发明公开了一种基于多任务联合学习的事件检测方法,涉及到自然语言处理中信息抽取任务中的事件检测技术领域,包括以下步骤:S1:样本生成,S2:基于深度预训练模型的多任务联合学习。本发明把事件检测任务拆分为事件类型判断和触发词识别两个子任务,然后对两个子任务进行联合建模学习,模型的输入包含了事件类型和文本内容,通过注意力机制可以更好地学习标签与文本之间的关系,同时利用任务之间的相关性进一步提升模型的学习效果。关性进一步提升模型的学习效果。


技术研发人员:袁丁 程龙龙 崔丙剑 田野 曹琉
受保护的技术使用者:中电云脑(天津)科技有限公司
技术研发日:2022.12.30
技术公布日:2023/8/23
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐