CN114741473B - 一种基于多任务学习的事件抽取方法 - Google Patents
一种基于多任务学习的事件抽取方法 Download PDFInfo
- Publication number
- CN114741473B CN114741473B CN202210400676.4A CN202210400676A CN114741473B CN 114741473 B CN114741473 B CN 114741473B CN 202210400676 A CN202210400676 A CN 202210400676A CN 114741473 B CN114741473 B CN 114741473B
- Authority
- CN
- China
- Prior art keywords
- event
- module
- text
- training
- loss
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于多任务学习的事件抽取方法,目的是实现当文本数量庞大时快速高效进行事件抽取。技术方案是先构建由客户端、负样本数据库、事件筛选模块、特征提取模块、事件分类模块、事件触发词和论元抽取模块和事件信息整合器构成的事件抽取系统。然后选择训练集,利用训练集对事件抽取系统进行训练,得到网络权重参数;采用训练后的事件抽取系统对事件进行事件筛选,判断是否是预定义类别的事件,如果是则进行特征提取、事件分类、事件触发词与论元抽取以及事件信息整合,得到事件抽取结果;如果不是则丢弃当前事件。采用本发明可以充分挖掘数据隐含的信息并快速获得文本多领域的分类属性,提升事件抽取的准确率和效率。
Description
技术领域
本发明涉及自然语言处理事件抽取领域,具体涉及一种基于多任务学习对非结构化文本中含有的事件信息进行结构化处理的方法,属于一种事件抽取方法。
背景技术
自然语言作为是一种由人蓄意为某些特定目的而创造的语言,是区分人类和其他动物的本质特征。自然语言是人类的智慧结晶,人类绝大部分的知识是以语言文字为载体保存流传,文字作为语言的记录工具,它能够保存记录丰富的语义信息和特征内容,帮助人们记录和表达所想要传达的信息。如何让机器识别理解自然语言所记录的丰富语义特征是如今信息化时代科学家们重点研究的内容,自然语言处理学科应运而生,自然语言处理(Natural Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。
事件抽取(Event Extraction,EE)是NLP领域中一种经典的信息抽取任务,在商业、军事等领域的情报工作中应用非常广泛。因此,事件抽取问题一直是热门的研究课题之一。事件抽取是要求我们用自动智能的方法从半结构化、非结构化数据中,将与我们的目标相关的事件的重要元素识别出来。具体来说,事件抽取技术是从非结构化信息中抽取出用户感兴趣的事件以及重要元素,并以结构化呈现给用户,这些用户感兴趣的事件可以是一段时间的天气,体育比赛情况,不和谐的行为和言论等等事件。通过获取的结构化事件文本,用户可以按照一定的序列对其进行分析,获取其中用户感兴趣的信息以及规律,例如,我们可以将一段时间开店的事件聚合起来,分析盈亏状况,进而了解其商业能力。规范化结构化文本是分析一类事件并得到某种信息规律的前提。因此对事件抽取技术展开研究是十分必要的。
事件抽取是要求我们用自动智能的方法从半结构化、非结构化数据中,将与我们的目标相关的事件的重要元素识别出来。所以事件抽取任务的直接目标,就是识别特定类型的事件,并把事件中担任既定角色的要素找出来。一般来说,我们会按照任务的需求,制定一个事件类型体系,并根据研究对象的特点,规定各类事件里重要的角色。任务类型体系和各类型事件的角色清单,就是我们的预测目标。
事件抽取的操作对象是事件,组成事件的各元素包括:触发词、事件类型和事件论元。事件触发词表示事件发生的核心词,多为动词或名词;事件类型则是该事件的类别;事件论元是事件的参与者,主要包括事件主体、事件客体、时间和地点等。事件抽取任务按元素划分可以分为事件触发词抽取、事件类型判断和事件论元抽取。
现有的事件抽取方法往往先进行事件纲要schema的设计,之后通过关键词匹配找到事件的触发词,再根据触发词对schema中的类别进行事件类别判断,最后进行事件论元抽取。这种方法有较高的准确性,但对于schema设计者的专业水平要求较高,且容易丢失信息,可移植性差。随着深度学习领域的发展,对于抽取事件触发词、类型和论元等信息的能力越来越强。但事件抽取对底层的子任务结果有很大的依赖性,由于实体识别、深层句法分析等底层技术还不成熟,因此造成了误差传递;并且分段的抽取方法在数据量较大时抽取时间较长。如何利用事件各类信息之间的强相关性,提升事件抽取的准确性并减少时间成为事件抽取领域的一个重要研究点。
现有的事件抽取技术多采用分段抽取的方法,而忽略了事件抽取各子任务间的相关性。多任务学习是指能够结合相关联的两个或者多个任务之间共通的信息来得到更有泛化性的参数和特征的方法,另外,由于使用多任务学习训练的模型的一部分参数是共享的,在一定程度上弱化了网络能力,有效防止了过拟合。当前基于多任务学习的事件抽取方法大多利用事件触发词抽取任务和事件论元抽取任务来联合训练模型,而忽略了事件的分类信息,将事件分类任务引入事件抽取的联合训练过程,能够有效地提高事件抽取的准确率、召回率、F1值。
如何利用事件抽取各子任务共通的信息,结合多任务学习,提供一种准确率、召回率、F1值更高并且更加高效的事件抽取方法是本领域技术人员正在探讨的热点问题。
发明内容
本发明要解决的技术问题是提供一种基于多任务学习的事件抽取方法。此方法基于深度学习的算法,利用多个相关联的对事件抽取有帮助的任务对事件抽取模型进行联合训练,并且利用任务之间蕴含的丰富的关联关系来提高事件抽取的准确率、召回率和F1值,实现当文本数量庞大时也能快速高效进行事件抽取的要求。
为解决上述技术问题,本发明技术方案是:构建由客户端、负样本数据库、事件筛选模块、特征提取模块、事件分类模块、事件触发词和论元抽取模块和事件信息整合器构成的事件抽取系统。然后选择“2020科大讯飞事件抽取挑战赛”发布的数据集作为事件筛选模块、特征提取模块、事件分类模块和事件触发词与论元抽取模块的训练集,利用多任务学习对特征提取模块、事件分类模块和事件触发词与论元抽取模块进行训练,得到这些模块的网络权重参数。最后采用训练后的事件抽取系统对事件进行事件筛选,判断是否是预定义类别的事件,如果是则进行特征提取、事件分类、事件触发词与论元抽取以及事件信息整合,最终得到事件的结构化信息;如果不是则丢弃当前事件。
本发明主要包括以下具体步骤:
第一步:构建事件抽取系统。事件抽取系统由客户端、负样本数据库、事件筛选模块、特征提取模块、事件分类模块、事件触发词与论元抽取模块和事件信息整合器组成。
客户端与事件筛选模块和事件信息整合器相连,将用户输入的事件文本X送入事件筛选模块和事件信息整合器。
负样本数据库存储由互联网等渠道获取的文本集合,包含P条文本,P为正整数且P>3000,与事件筛选模块相连。负样本数据库供事件筛选模块读取。负样本数据库中的文本集合D={D1,D2,...,Dp,...,DP},Dp表示D中第p个文本; N为正整数,Dp表示长度为N的文本(以字符为单位,Dp长度为N说明Dp包含N个字符)。
事件筛选模块是基于CNN(卷积神经网络)的二分类器,由字符嵌入模块、CNN编码器和二分类器组成。字符嵌入模块选择北京师范大学和中国人民大学合作开源的中文字符向量(网址为:https://pan.baidu.com/s/1svFOwFBKnnlsqrF1t99Lnw,2018-5-25,如有更新则使用更新后的中文字符向量)对事件文本X进行字符嵌入,得到字符嵌入结果Em(X)。CNN编码器共包含3个卷积层,1个池化层,共4层,卷积层为前3层,池化层为第4层,CNN编码器对字符嵌入结果Em(X)进行编码,得到事件编码结果En(X)。二分类器为1个全连接层加1个归一化层,对编码结果En(X)进行全连接和归一化后得到一个2维向量,2维向量的和为1,将2维向量中较大值的索引作为事件文本的价值判断u(u∈{0,1})。事件筛选模块与客户端和特征提取模块相连,事件筛选模块从客户端接收用户输入的事件文本X,X={x1,x2,...,xn,...,xN},其中1≤n≤N,N为正整数,X表示长度为N的文本(以字符为单位,X长度为N说明X包含N个字符),xn为X中的第n个字符,对X进行筛选,得到事件文本的价值(用户是否关心此类事件)判断u,若u=1,说明X是用户关心的事件,需要对X进一步抽取信息,将X输入发送给特征提取模块;若u=0,说明X不是用户关心的事件,丢弃X。
特征提取模块与事件筛选模块、事件分类模块、事件触发词与论元抽取模块相连,当从事件筛选模块接收到事件文本X时,特征提取模块使用RoBERTa预训练语言模型(见文献“RoBERTa:A Robustly Optimized BERT Pretraining Approach”,RoBERTa:一种稳健优化的BERT预训练方法,arXiv,2019)对事件文本X中的知识进行特征提取,得到X中N个字符的特征表示F(X)={F(xcls),F(x1),F(x2),...,F(xn),...,F(xN),F(xsep)},其中[CLS]和[SEP]为预训练语言模型特有的标识符,F(xcls)和F(xsep)分别表示[CLS]和[SEP]在X中的特征向量,因此,F(X)包含N+2个特征向量。使用F(xcls)和F(xsep)这两个标识符的特征向量表示X的整体特征信息Ff(X), 表示向量拼接操作。将Ff(X)送入事件分类模块,将F(X)送入事件触发词与论元抽取模块。
事件分类模块与特征提取模块、事件触发词与论元抽取模块和事件信息整合器相连。令事件的分类方式集合为C,C={C1,C2,...,Cr,...,CR},其中1≤r≤R,R为正整数,表示共有R种事件分类方式,Cr表示第r种事件分类方式,其中1≤a≤A,A为正整数,表示第r种事件分类方式中共有A个类别(每个事件分类方式中包含的类别数量不一定一样,即A不是一个定值),表示第r种事件分类方式的第a个类别。事件分类模块包含R个分类模型,分别对应R个事件分类方式,R个分类模型表示为net1,net2,...,netr,...,netR,第r个分类模型netr包含一个全连接层和一个归一化层,对X的整体特征信息Ff(X)进行全连接和归一化后得到一个A维向量,A维向量的和为1,得到A维向量中最大值的索引作为事件文本X在第r种事件分类方式下的类别vr(vr∈[0,A-1])。当从特征提取模块接收到Ff(X)时,事件分类模块对R个事件分类方式同时进行分类,得到事件分类结果集合V=(v1,v2,...,vr,...,vR),其中vr表示事件文本X在第r种事件分类方式下的类别。将V送入事件信息整合器中。事件分类模块使用多个分类模型对事件按多种分类方式进行分类,能够充分挖掘数据隐含的信息并快速获得文本多领域的分类属性。
事件触发词与论元抽取模块与特征提取模块和事件信息整合器相连。事件触发词与论元抽取模块需要抽取的要素有事件主体(subject)、事件客体(object)、事件触发词(trigger)、事件时间(time)和事件地点(location)等信息。将这些事件要素的抽取建模为序列标注任务,每种要素作为一个要素类别进行抽取,使用事件触发词与论元抽取模块一次性抽取所有的事件要素,避免误差传递。事件触发词与论元抽取模块由下游编码器BiLSTM网络(即双向长短时记忆循环网络,见文献“Bidirectional LSTM-CRF Models forSequence Tagging.”,用于序列标记的双向LSTM-CRF模型,arXiv,2015)和解码器CRF(即条件随机场,见文献“Conditional Random Fields:Probabilistic Models for Segmentingand Labeling SequenceData.”,条件随机场:用于分割和标记序列数据的概率模型,ICML(International Conferenceon Machine Learning),2001)网络构成。事件触发词与论元抽取模块从特征提取模块接收F(X),对F(X)进行下游编码和解码操作,得到X的预测序列标签Y(X),Y(X)={ycls,y1,y2,...,yn,...,yN,ysep},yn表示X中第n个字符xn的预测标签,将Y(X)送入事件信息整合器,ycls表示“[CLS]”的预测标签,ysep表示“[SEP]”的预测标签。
事件信息整合器与客户端、事件分类模块和事件触发词与论元抽取模块相连,从客户端接收用户输入的事件文本X,从事件分类模块获得V,从事件触发词与论元抽取模块获得Y(X),将Y(X)中各元素与X中的字符对应起来,获得事件的触发词(trigger)、事件主体(subiect)、事件客体(obiect)、事件时间(time)以及事件地点(location)等信息,将这些事件要素使用事件要素五元组E来表示,E=(list1,...,listb,...,list5)来表示,其中1≤b≤5,分别对应5个事件要素类别(trigger,subject,object,time,location)。结合V和E得到事件文本X的结构化信息,即对X事件抽取的结果S。
第二步:准备训练事件抽取系统的数据集。数据集包括三部分,一是用来训练事件筛选模块的数据集,二是用来训练事件分类模块的数据集,三是用来训练事件触发词与论元抽取模块的数据集,方法是:
2.1选择来自同一领域的数据集(如来自“2020科大讯飞事件抽取挑战赛”的事件抽取数据集,包含4000条标注样本(此时L=4000))作为原始训练集。每条标注样本包含一条文本X和其对应的实际标签T,每个实际标签T包含真实事件类别标签VV,以及真实事件要素标签EE,要求原始训练集中标注样本条数L为正整数且L>3000;
2.2初始化负样本数据库。在互联网上爬取与数据集不相关领域的事件文本共P(P≥L)条,构成负样本数据库的文本集合D,D={D1,D2,...,Dp,...,DP}(其中 1≤n≤N,N为正整数,Dp表示D中第p个长度为N的文本,以字符为单位,Dp长度为N说明Dp包含N个字符)。
2.3构建事件筛选模块训练集。将原始训练集里的L条标注样本的每条事件文本添加标签“1”,得到事件筛选模块的正样本集合;将负样本数据库中的P(P≥L)条事件文本添加标签“0”,得到事件筛选模块的负样本集合;混合正样本集合和负样本集合,作为事件筛选模块的训练集。训练集包括事件文本集合以及对应事件文本的标签集合1≤o≤O,O为正整数,表示训练集样本共O个,O=L+P, 若为0,则表示不需要进一步抽取,若为1,则表示需要进一步抽取。
2.4构建事件分类模块训练集。将原始训练集的L条标注样本作为初始训练集。事件分类模块训练集包括来自事件标注数据的事件文本集合X1,X2,...,Xl,...,XL以及对应的真实事件类别标签VV1,VV2,...,VVl,...,VVL,1≤l≤L,,表示事件分类模块训练集样本共L个, 表示第l个样本在第r种事件分类方式下的类别标签。
2.5构建事件触发词与论元抽取模块训练集,事件触发词与论元抽取模块训练集包括事件文本X1,X2,...,Xl,...,XL以及对应的真实事件要素标签EE1,EE2,...,EEl,...,EEL,EEl=(triggerl,subjectl,objectl,timel,locationl),为了训练方便,将EEl转化为序列标签Y(Xl)(序列标签Y(Xl)采用BIOES标注方式,B表示要素头部标签,I表示要素中部标签,O表示非要素标签,E表示要素尾部标签,S表示单要素标签,每个标签还包含要素类型信息,分别以tr,s,o,ti,l表示事件触发词(trigger)、事件主体(subject)、事件客体(object)、事件时间(time)以及事件地点(location),如标签“B-tr”表示标签对应的字符为要素头部,且字符所在的要素属于事件触发词(trigger)),转化EE1,EE2,...,EEl,...,EEL得到L个真实事件要素的序列标签集合Y(X1),Y(X2),...,Y(Xl),...,Y(XL)。
第三步:使用事件筛选模块训练集对事件筛选模块进行训练,得到事件筛选模块的网络权重参数。具体方法如下:
3.1初始化事件筛选模块的网络权重参数。将CNN编码器的网络权重参数集合WCNN中所有元素值都初始化为[0,1]之间的随机数;将二分类器的网络权重参数集合WD中所有元素值都初始化为[0,1]之间的随机数。
3.2设置网络训练超参数,包括:网络模型学习率(leamingRate)、批处理尺寸(batchsize)、文本最大长度(maxlen)、随机种子(Seed,实验中设置为2022),实验证明,令leamingRate=0.0005,batchsize=32,maxlen=512时,筛选的准确率最高。
3.3迭代计算二分类器的输出分布与真实筛选模块标签分布的差距,得到损失值,最小化损失值并更新网络参数,直到满足迭代阈值要求,得到权重参数。具体方法如下:
3.3.1初始化训练迭代参数itretation1=1;初始化迭代阈值Epoch1为[1,30]内的整数,优选Epoch1为10(此时事件筛选的准确率最高)。
3.3.2事件筛选模块的字符嵌入模块使用开源的中文字符向量(网址为:https://pan.baidu.com/s/1svFOwFBKnnlsqrF1t99Lnw,2018-05-25,如有更新则使用更新后的中文字符向量)对事件筛选模块训练集中的事件文本集合进行字符嵌入,得到事件文本集合的字符嵌入集合其中事件文本集合的字符嵌入集合 表示中第n个字符的字符嵌入;CNN编码器对字符嵌入集合进行编码,得到事件编码集合其中表示事件文本集合的编码;二分类器对事件编码集合进行分类,得到当前参数下网络模型对于标签预测的输出分布,使用分类模型常用的交叉熵损失函数计算预测的输出分布与真实标签集合的差距,得到损失值lossf,并使用Adam优化算法(见文献“Kingma D P,Ba J.Adam:A method for stochastic optimization[J].arXivpreprint arXiv:1412.6980,2014”,Kingma的论文:Adam,一种随机优化方法)对lossf最小化以更新一次WCNN和WD。
3.3.3令itretationl=itretationl+1,如果itretation1≤迭代阈值Epoch1,转3.3.2;否则说明训练满足迭代次数要求,训练结束,将训练后的WCNN作为CNN编码器的权重参数集合,将训练后的WD作为二分类器的权重参数集合,得到训练好的事件筛选模块,转第四步。
第四步:使用事件分类模块训练集和事件触发词与论元抽取模块训练集基于多任务学习对特征提取模块、事件分类模块和事件触发词与论元抽取模块进行联合训练,得到特征提取模块、事件分类模块和事件触发词与论元抽取模块的网络权重参数。具体方法如下:
4.1初始化权重参数,使用哈尔滨工业大学发布的预训练模型参数(网址为:https://pan.baidu.com/s/1Rk_QWqd7-wBTwycr91bmug,2019-09-08,如有更新,则使用更新后的参数)初始化特征提取模块的RoBERTa预训练语言模型权重参数集合WR中的所有元素值;将事件分类模块的net1,net2,...,netr,...,netR的网络权重参数集合Wnet中所有元素都初始化为[0,1]之间的随机数;将事件触发词与论元抽取模块中的下游编码器BiLSTM网络权重参数集合WB中所有元素值都初始化为[0,1]之间的随机数;将事件触发词与论元抽取模块中的解码器CRF网络权重参数集合WCRF中所有元素值都初始化为[0,1]之间的随机数;
4.2设置网络训练超参数,包括:RoBERTa预训练语言模型学习率(learningRate-RoBERTa)、其他网络模型学习率(learningRate-Other),批处理尺寸(batchsize)、文本最大长度(maxlen)、损失平衡参数(α)、随机种子(Seed,实验中设置为2022),实验证明,learningRate-RoBERTa=0.00001,leamingRate-Other=0.0002,batchsize=32,maxlen=512,α=0.3时,事件分类的准确率最高,事件要素信息抽取的F1值最高。
4.3事件分类模块迭代计算R个分类模型(即net1,net2,...,netr,...,netR)的输出分布与R个真实事件类别标签集合VV1,VV2,...,VVl,...,VVL(其中 )的差距,得到损失值loss1,loss2,...,lossr,...,lossR;事件触发词与论元抽取模块计算事件触发词与论元抽取模块的输出分布与真实事件要素的序列标签集合Y(X1),Y(X2),...,Y(Xl),...,Y(XL)的差距,得到损失值losse。总损失计算方式为loss=α(loss1+loss2+...+lossr+…+lossR)+(1-α)losse,α是用来平衡两部分损失值的超参数,0<α<1,实验证明α=0.3时效果最好。最小化总损失值loss并更新网络参数,直到满足迭代次数要求,得到权重参数。具体方法如下:
4.3.1初始化训练迭代参数itretation2=1;初始化迭代阈值Epoch2为[1,30]内的整数,Epoch2优选为15(此时事件分类的准确率最高,事件要素信息抽取的F1值最高);
4.3.2特征提取模块从事件分类模块训练集读取接收事件文本集合X1,X2,...,Xl,...,XL,使用RoBERTa预训练语言模型对事件文本集合进行特征提取,得到事件文本每个字符的特征表示集合F(X1),F(X2),...,F(Xl),...,F(XL)以及事件文本整体的特征表示集合Ff(X1),Ff(X2),...,Ff(Xl),...,Ff(XL),其中F(Xl)表示第l个事件文本Xl中每个字符的特征表示, 表示第l个事件文本Xl中的第n个字符的特征表示,表示第l个事件文本集合Xl的第一个特征表示,第l个事件文本集合Xl的第二个特征表示;表示第l个事件文本Xl整体的特征表示,表示向量拼接操作。
4.3.3事件分类模块接收特征提取模块的整体特征表示集合Ff(X1),Ff(X2),...,Ff(Xl),...,Ff(XL),采用多分类的交叉熵损失函数计算net1,net2,...,netr,...,netR的输出分布与R个真实事件类别标签集合VV1,VV2,...,VVl,...,VVL的差距,得到损失值loss1,loss2,...,lossr,...,lossR,其中第r种分类方式下的损失值 表示第l个事件文本Xl的整体特征表示Ff(Xl)经过netr后得到的输出分布与第l个事件文本Xl在第r种分类方式下的标签的损失;事件触发词与论元抽取模块从特征提取模块接收每个字符的特征表示集合,下游编码器BiLSTM进行编码,得到每个字符的下游编码集合,解码器CRF对下游编码集合进行解码,得到当前参数下网络模型对于标签的输出分布,CRF计算事件触发词与论元抽取模块的输出分布与真实事件要素标签集合Y(X1),Y(X2),...,Y(Xl),...,Y(XL)的差距,得到损失值losse。
4.3.4对事件分类模块得到的损失值loss1,loss2,...,lossr,...,lossR和事件触发词与论元抽取模块得到的损失值losse进行加权平均,得到特征提取模块、事件分类模块和事件触发词与论元抽取模块整体的损失loss=α(loss1+loss2+...+lossr+...+lossR)+losse,使用Adam优化算法对整体损失loss最小化以更新一次WR、Wnet、WB和WCRF。
4.3.5令itretation2=itretation2+1,如果itretation2≤迭代阈值Epoch2,转4.3.2;否则说明训练满足迭代次数要求,训练结束,将训练后的WR作为特征提取模块的RoBERTa预训练语言模型的权重参数集合,将训练后的Wnet作为事件分类模块的net1,net2,...,netr,...,netR的权重参数集合,将训练后的WB作为事件触发词与论元抽取模块的BiLSTM网络的权重参数集合,将训练后的WCRF作为事件触发词与论元抽取模块的CRF的权重参数集合,得到训练好的特征提取模块、事件分类模块和事件触发词与论元抽取模块,转第五步。
第五步,使用训练后的事件抽取系统对用户从客户端输入的文本X进行事件抽取,X表示长度为N的文本(以字符为单位,X长度为N说明X包含N个字符),X={x1,x2,...,xn,...,xN},xn表示文本X的第n个字符。具体方法为:
5.1事件筛选模块对事件文本X进行筛选:事件筛选模块的字符嵌入模块使用开源的中文字符向量对X进行字符嵌入,得到X的字符嵌入Em(X),;CNN编码器对字符嵌入Em(X)进行编码,得到X的编码表示En(X),;二分类器对编码表示En(X)进行分类,得到X的价值(用户是否关心此类事件)判断u;若u=1,则说明X是用户关心的事件,需要对X进一步抽取信息,将X发送给特征提取模块,转5.2;若u=0,则说明X不是用户关心的事件,丢弃X,转第六步。
5.2特征提取模块对文本X进行特征提取:训练后的RoBERTa网络对X进行编码,得到X中每个字符的表示F(X)={F(xcls),F(x1),F(x2),...,F(xn),...,F(xN),F(xsep)}和X的整体特征信息Ff(X), 表示向量拼接操作。将Ff(X)送入事件分类模块,将F(X)送入事件触发词与论元抽取模块。
5.3事件分类模块从特征提取模块接收Ff(X),使用训练后的net1,net2,...,netr,...,netR按R个事件分类方式同时对Ff(X)进行分类,得到R个事件分类结果集合V=(v1,v2,...,vr,...,vR),vr表示X在第r种事件分类方式下的类别,将V送入事件信息整合器;同时事件触发词与论元抽取模块从特征提取模块接收F(X),使用训练后的BiLSTM网络对F(X)进行下游编码并使用训练后的CRF网络对下游编码的结果进行解码,得到X的事件要素预测序列标签Y(X), 表示X中第n个字符xn的预测标签,将Y(X)送入事件信息整合器。
5.4事件信息整合器对X的V和Y(X)进行整合,得到事件抽取结果S。具体方法如下:
5.4.1将Y(X)中X的首字符“[CLS]”和尾字符“[SEP]”的预测标签结果去除,保留长度为N的预测序列标签。
5.4.2将Y(X)与X对应,得到每个要素类别的要素列表。具体方法如下:
5.4.2.1初始化包含5个空列表的五元组E,用E=(list1,...,listb,...,list5)表示,1≤b≤5,分别对应5个事件要素类别{tr,s,o,ti,l},其中tr表示触发词(trigger)、s表示事件主体(subject)、o表示事件客体(object)、ti表示事件时间(time)以及l表示事件地点(location),初始化变量n=1,初始化预测要素字符序列entity为空字符,entity用来暂时存储预测的要素字符序列。
5.4.2.2如果n≤N,令n=n+1,转5.4.2.3;如果n>N,说明已经对全部标签进行了判别,得到了5个事件要素类别对应的事件要素列表,即对X中事件要素的识别结果,每个事件要素列表对应一个要素类别,一个事件要素列表中的所有要素为同一类别的要素,转5.4.3。
5.4.2.3根据Y(X)的第n个预测标签执行不同的操作。如果则表示为非要素标签,转5.4.2.2;如果是“B-tag”或“I-tag”的形式,其中tag∈{tr,s,o,ti,l},则表示为tag类事件要素的要素头部标签或tag类事件要素的要素中部标签,将对应的X中字符xn插入到entity尾部,转5.4.2.2;如果是“E-tag”或“S-tag”的形式,则表示为tag类事件要素的要素尾部标签或tag类事件要素的单要素标签,将对应的X中字符xn插入到entity尾部,并将entity加入tag类事件要素对应的事件要素列表listb中,之后令entity为空字符,转5.4.2.2。
5.4.3将事件文本X的事件要素五元组E=(list1,...,listb,...,list5)与事件分类结果集合V进行结构化整合,得到事件文本X的事件抽取结果,使用一个词典S来表示,即 其中list1表示X中触发词(trigger)要素的结果列表,list2表示X中主体(subject)要素的结果列表,list3表示X中客体(object)要素的结果列表,list4表示X中时间(time)要素的结果列表,list5表示X中地点(location)要素的结果列表,Dec(r)表示第r种事件分类方式的描述,vr表示按照第r种事件分类方式进行分类时事件文本X的类别。
第六步,结束。
采用本发明可以达到以下技术效果:
1.本发明第一步构建了一个完整的事件抽取系统,融合了负样本数据库、事件筛选模块、特征提取模块、事件分类模块、事件触发词与论元抽取模块和事件信息整合器。事件筛选模块基于CNN卷积神经网络模型构建,对事件文本的价值(用户是否关心此类事件)进行判断,能够以较小的代价避免对无关事件进行抽取;特征提取模块使用RoBERTa预训练语言模型对输入文本进行特征提取,能够获得输入文本中深层次的知识;事件分类模块使用多个分类模型对事件按多种分类方式进行分类,能够充分挖掘数据隐含的信息并快速获得文本多领域的分类属性;事件触发词与论元抽取模块将事件要素抽取建模为序列标注任务,一次性抽取所有的事件要素,避免了误差传递。
2.本发明第四步采用多任务学习对特征提取模块、事件分类模块和事件触发词与论元抽取模块进行联合训练,事件分类模块和事件触发词与论元抽取模块共享了特征提取模块,占用内存量减少,通过共享信息,相互补充,优化模型,通过多任务之间不相关的部分的相互作用,有助于逃离局部极小值点;而多任务之间相关的部分则有利于底部共享层对通用特征表示的学习。
3.本发明第二步通过获取互联网上的事件信息构建了一个负样本数据库,这个数据库能够使事件筛选模块更好区分哪些事件文本是有价值的,从而提升系统效率和事件抽取的准确率。
附图说明:
图1为本发明第一步构建的事件抽取系统逻辑结构图。
图2为本发明总体流程图。
图3为本发明将事件分类任务引入事件抽取的联合训练过程对事件抽取整体精确率(Precision)、召回率(Recall)和F1值影响的示意图。
图4为本发明训练事件筛选模块时负样本数量对事件筛选准确率的影响的示意图。
具体实施方式
图2是本发明整体流程图;如图2所示,本发明包括以下步骤:
第一步:构建事件抽取系统。事件抽取系统由客户端、负样本数据库、事件筛选模块、特征提取模块、事件分类模块、事件触发词与论元抽取模块和事件信息整合器组成。
客户端与事件筛选模块和事件信息整合器相连,将用户输入的事件文本X送入事件筛选模块和事件信息整合器。
负样本数据库存储由互联网等渠道获取的文本集合,包含P条文本,P为正整数且P>3000,与事件筛选模块相连。负样本数据库供事件筛选模块读取。负样本数据库中的文本集合D={D1,D2,...,Dp,...,DP},Dp表示D中第p个文本; N为正整数,Dp表示长度为N的文本(以字符为单位,Dp长度为N说明Dp包含N个字符)。
事件筛选模块是基于CNN(卷积神经网络)的二分类器,由字符嵌入模块、CNN编码器和二分类器组成。字符嵌入模块选择北京师范大学和中国人民大学合作开源的中文字符向量(网址为:https://pan.baidu.com/s/1svFOwFBKnnlsqrF1t99Lnw,2018-5-25,如有更新则使用更新后的中文字符向量)对事件文本X进行字符嵌入,得到字符嵌入结果Em(X)。CNN编码器共包含3个卷积层,1个池化层,共4层,卷积层为前3层,池化层为第4层,CNN编码器对字符嵌入结果Em(X)进行编码,得到事件编码结果En(X)。二分类器为1个全连接层加1个归一化层,对编码结果En(X)进行全连接和归一化后得到一个2维向量,2维向量的和为1,将2维向量中较大值的索引作为事件文本的价值判断u(u∈{0,1})。事件筛选模块与客户端和特征提取模块相连,事件筛选模块从客户端接收用户输入的事件文本X,X={x1,x2,...,xn,...,xN},其中1≤n≤N,N为正整数,X表示长度为N的文本(以字符为单位,X长度为N说明X包含N个字符),xn为X中的第n个字符,对X进行筛选,得到事件文本的价值(用户是否关心此类事件)判断u,若u=1,说明X是用户关心的事件,需要对X进一步抽取信息,将X输入发送给特征提取模块;若u=0,说明X不是用户关心的事件,丢弃X。
特征提取模块与事件筛选模块、事件分类模块、事件触发词与论元抽取模块相连,当从事件筛选模块接收到事件文本X时,特征提取模块使用RoBERTa预训练语言模型(见文献“RoBERTa:A Robustly Optimized BERT Pretraining Approach”,RoBERTa:一种稳健优化的BERT预训练方法,arXiv,2019)对事件文本X中的知识进行特征提取,得到X中N个字符的特征表示F(X)={F(xcls),F(x1),F(x2),...,F(xn),...,F(xN),F(xsep)},其中[CLS]和[SEP]为预训练语言模型特有的标识符,F(xcls)和F(xsep)分别表示[CLS]和[SEP]在X中的特征向量,因此,F(X)包含N+2个特征向量。使用F(xcls)和F(xsep)这两个标识符的特征向量表示X的整体特征信息Ff(X), 表示向量拼接操作。将Ff(X)送入事件分类模块,将F(X)送入事件触发词与论元抽取模块。
事件分类模块与特征提取模块、事件触发词与论元抽取模块和事件信息整合器相连。令事件的分类方式集合为C,C={C1,C2,...,Cr,...,CR},其中1≤r≤R,R为正整数,表示共有R种事件分类方式,Cr表示第r种事件分类方式,其中1≤a≤A,A为正整数,表示第r种事件分类方式中共有A个类别(每个事件分类方式中包含的类别数量不一定一样,即A不是一个定值),表示第r种事件分类方式的第a个类别。事件分类模块包含R个分类模型,分别对应R个事件分类方式,R个分类模型表示为net1,net2,...,netr,...,netR,第r个分类模型netr包含一个全连接层和一个归一化层,对X的整体特征信息Ff(X)进行全连接和归一化后得到一个A维向量,A维向量的和为1,得到A维向量中最大值的索引作为事件文本X在第r种事件分类方式下的类别vr(vr∈[0,A-1])。当从特征提取模块接收到Ff(X)时,事件分类模块对R个事件分类方式同时进行分类,得到事件分类结果集合V=(v1,v2,...,vr,...,vR),其中vr表示事件文本X在第r种事件分类方式下的类别。将V送入事件信息整合器中。事件分类模块使用多个分类模型对事件按多种分类方式进行分类,能够充分挖掘数据隐含的信息并快速获得文本多领域的分类属性。
事件触发词与论元抽取模块与特征提取模块和事件信息整合器相连。事件触发词与论元抽取模块需要抽取的要素有事件主体(subject)、事件客体(object)、事件触发词(trigger)、事件时间(time)和事件地点(location)等信息。将这些事件要素的抽取建模为序列标注任务,每种要素作为一个要素类别进行抽取,使用事件触发词与论元抽取模块一次性抽取所有的事件要素,避免误差传递。事件触发词与论元抽取模块由下游编码器BiLSTM网络(即双向长短时记忆循环网络,见文献“Bidirectional LSTM-CRF Models forSequence Tagging.”,用于序列标记的双向LSTM-CRF模型,arXiv,2015)和解码器CRF(即条件随机场,见文献“Conditional Random Fields:Probabilistic Models for Segmentingand Labeling Sequence Data.”,条件随机场:用于分割和标记序列数据的概率模型,ICML(International Conference on Machine Learning),2001)网络构成。事件触发词与论元抽取模块从特征提取模块接收F(X),对F(X)进行下游编码和解码操作,得到X的预测序列标签Y(X),Y(X)={ycls,y1,y2,...,yn,...,yN,ysep},yn表示X中第n个字符xn的预测标签,将Y(X)送入事件信息整合器,ycls表示“[CLS]”的预测标签,ysep表示“[SEP]”的预测标签。
事件信息整合器与客户端、事件分类模块和事件触发词与论元抽取模块相连,从客户端接收用户输入的事件文本X,从事件分类模块获得V,从事件触发词与论元抽取模块获得,将Y(X)中各元素与X中的字符对应起来,获得事件的触发词(trigger)、事件主体(subject)、事件客体(object)、事件时间(time)以及事件地点(location)等信息,将这些事件要素使用事件要素五元组E来表示,E=(list1,...,listb,...,list5)来表示,其中1≤b≤5,分别对应5个事件要素类别(trigger,subject,object,time,location)。结合V和E得到事件文本X的结构化信息,即对X事件抽取的结果S。
第二步:准备训练事件抽取系统的数据集。数据集包括三部分,一是用来训练事件筛选模块的数据集,二是用来训练事件分类模块的数据集,三是用来训练事件触发词与论元抽取模块的数据集,方法是:
2.1选择来自同一领域的数据集(如来自“2020科大讯飞事件抽取挑战赛”的事件抽取数据集,包含4000条标注样本(此时L=4000))作为原始训练集。每条标注样本包含一条文本X和其对应的实际标签T,每个实际标签T包含真实事件类别标签VV,以及真实事件要素标签EE,要求原始训练集中标注样本条数L为正整数且L>3000;
2.2初始化负样本数据库。在互联网上爬取与数据集不相关领域的事件文本共P(P≥L)条,构成负样本数据库的文本集合D,D={D1,D2,...,Dp,...,DP}(其中 N为正整数,Dp表示D中第p个长度为N的文本,以字符为单位,Dp长度为N说明Dp包含N个字符)。
2.3构建事件筛选模块训练集。将原始训练集里的L条标注样本的每条事件文本添加标签“1”,得到事件筛选模块的正样本集合;将负样本数据库中的P(P≥L)条事件文本添加标签“0”,得到事件筛选模块的负样本集合;混合正样本集合和负样本集合,作为事件筛选模块的训练集。训练集包括事件文本集合以及对应事件文本的标签集合1≤o≤O,O为正整数,表示训练集样本共O个,O=L+P, 为0,则表示不需要进一步抽取,若为1,则表示需要进一步抽取。
2.4构建事件分类模块训练集。将原始训练集的L条标注样本作为初始训练集。事件分类模块训练集包括来自事件标注数据的事件文本集合X1,X2,...,Xl,...,XL以及对应的真实事件类别标签VV1,VV2,...,VVl,...,VVL,1≤l≤L,,表示事件分类模块训练集样本共L个, 表示第l个样本在第r种事件分类方式下的类别标签。
2.5构建事件触发词与论元抽取模块训练集,事件触发词与论元抽取模块训练集包括事件文本X1,X2,...,Xl,...,XL以及对应的真实事件要素标签EE1,EE2,...,EEl,...,EEL,EEl=(triggerl,subjectl,objectl,timel,locationl),为了训练方便,将EEl转化为序列标签Y(Xl)(序列标签Y(Xl)采用BIOES标注方式,B表示要素头部标签,I表示要素中部标签,O表示非要素标签,E表示要素尾部标签,S表示单要素标签,每个标签还包含要素类型信息,分别以tr,s,o,ti,l表示事件触发词(trigger)、事件主体(subject)、事件客体(object)、事件时间(time)以及事件地点(location),如标签“B-tr”表示标签对应的字符为要素头部,且字符所在的要素属于事件触发词(trigger)),转化EE1,EE2,...,EEl,...,EEL得到L个真实事件要素的序列标签集合Y(X1),Y(X2),...,Y(Xl),...,Y(XL)。
第三步:使用事件筛选模块训练集对事件筛选模块进行训练,得到事件筛选模块的网络权重参数。具体方法如下:
3.1初始化事件筛选模块的网络权重参数。将CNN编码器的网络权重参数集合WCNN中所有元素值都初始化为[0,1]之间的随机数;将二分类器的网络权重参数集合WD中所有元素值都初始化为[0,1]之间的随机数。
3.2设置网络训练超参数,包括:网络模型学习率(learningRate)、批处理尺寸(batchsize)、文本最大长度(maxlen)、随机种子(Seed,实验中设置为2022),实验证明,令learningRate=0.0005,batchsize=32,maxlen=512时,筛选的准确率最高。
3.3迭代计算二分类器的输出分布与真实筛选模块标签分布的差距,得到损失值,最小化损失值并更新网络参数,直到满足迭代阈值要求,得到权重参数。具体方法如下:
3.3.1初始化训练迭代参数itretation1=1;初始化迭代阈值Epoch1为[1,30]内的整数,优选Epoch1为10(此时事件筛选的准确率最高)。
3.3.2事件筛选模块的字符嵌入模块使用开源的中文字符向量(网址为:https://pan.baidu.com/s/1svFOwFBKnnlsqrF1t99Lnw,2018-05-25,如有更新则使用更新后的中文字符向量)对事件筛选模块训练集中的事件文本集合进行字符嵌入,得到事件文本集合的字符嵌入集合其中事件文本集合的字符嵌入集合 表示中第n个字符的字符嵌入;CNN编码器对字符嵌入集合进行编码,得到事件编码集合其中表示事件文本集合的编码;二分类器对事件编码集合进行分类,得到当前参数下网络模型对于标签预测的输出分布,使用分类模型常用的交叉熵损失函数计算预测的输出分布与真实标签集合的差距,得到损失值lossf,并使用Adam优化算法(见文献“Kingma D P,Ba J.Adam:A method for stochastic optimization[J].arXivpreprint arXiv:1412.6980,2014”,Kingma的论文:Adam,一种随机优化方法)对lossf最小化以更新一次WCNN和WD。
3.3.3令itretation1=itretation1+1,如果itretation1≤迭代阈值Epoch1,转3.3.2;否则说明训练满足迭代次数要求,训练结束,将训练后的WCNN作为CNN编码器的权重参数集合,将训练后的WD作为二分类器的权重参数集合,得到训练好的事件筛选模块,转第四步。
第四步:使用事件分类模块训练集和事件触发词与论元抽取模块训练集基于多任务学习对特征提取模块、事件分类模块和事件触发词与论元抽取模块进行联合训练,得到特征提取模块、事件分类模块和事件触发词与论元抽取模块的网络权重参数。具体方法如下:
4.1初始化权重参数,使用哈尔滨工业大学发布的预训练模型参数(网址为:https://pan.baidu.com/s/1Rk_QWqd7-wBTwycr91bmug,2019-09-08,如有更新,则使用更新后的参数)初始化特征提取模块的RoBERTa预训练语言模型权重参数集合WR中的所有元素值;将事件分类模块的net1,net2,...,netr,...,netR的网络权重参数集合Wnet中所有元素都初始化为[0,1]之间的随机数;将事件触发词与论元抽取模块中的下游编码器BiLSTM网络权重参数集合WB中所有元素值都初始化为[0,1]之间的随机数;将事件触发词与论元抽取模块中的解码器CRF网络权重参数集合WCRF中所有元素值都初始化为[0,1]之间的随机数;
4.2设置网络训练超参数,包括:RoBERTa预训练语言模型学习率(learningRate-RoBERTa)、其他网络模型学习率(learningRate-Other),批处理尺寸(batchsize)、文本最大长度(maxlen)、损失平衡参数(α)、随机种子(Seed,实验中设置为2022),实验证明,learningRate-RoBERTa=0.00001,leamingRate-Other=0.0002,batchsize=32,maxlen=512,α=0.3时,事件分类的准确率最高,事件要素信息抽取的F1值最高。
4.3事件分类模块迭代计算R个分类模型(即net1,net2,...,netr,...,netR)的输出分布与R个真实事件类别标签集合VV1,VV2,...,VVl,...,VVL(其中 )的差距,得到损失值loss1,loss2,...,lossr,...,lossR;事件触发词与论元抽取模块计算事件触发词与论元抽取模块的输出分布与真实事件要素的序列标签集合Y(X1),Y(X2),...,Y(Xl),...,Y(XL)的差距,得到损失值losse。总损失计算方式为loss=α(loss1+loss2+...+lossr+...+lossR)+(1-α)losse,α是用来平衡两部分损失值的超参数,0<α<1,实验证明α=0.3时效果最好。最小化总损失值loss并更新网络参数,直到满足迭代次数要求,得到权重参数。具体方法如下:
4.3.1初始化训练迭代参数itretation2=1;初始化迭代阈值Epoch2为[1,30]内的整数,Epoch2优选为15(此时事件分类的准确率最高,事件要素信息抽取的F1值最高);
4.3.2特征提取模块从事件分类模块训练集读取接收事件文本集合X1,X2,...,Xl,...,XL,使用RoBERTa预训练语言模型对事件文本集合进行特征提取,得到事件文本每个字符的特征表示集合F(X1),F(X2),...,F(Xl),...,F(XL)以及事件文本整体的特征表示集合Ff(X1),Ff(X2),...,Ff(Xl),...,Ff(XL),其中F(Xl)表示第l个事件文本Xl中每个字符的特征表示, 表示第l个事件文本Xl中的第n个字符的特征表示,表示第l个事件文本集合Xl的第一个特征表示,第l个事件文本集合Xl的第二个特征表示;表示第l个事件文本Xl整体的特征表示,表示向量拼接操作。
4.3.3事件分类模块接收特征提取模块的整体特征表示集合Ff(X1),Ff(X2),...,Ff(Xl),...,Ff(XL),采用多分类的交叉熵损失函数计算net1,net2,...,netr,...,netR的输出分布与R个真实事件类别标签集合VV1,VV2,...,VVl,...,VVL的差距,得到损失值loss1,loss2,...,lossr,...,lossR,其中第r种分类方式下的损失值 表示第l个事件文本Xl的整体特征表示Ff(Xl)经过netr后得到的输出分布与第l个事件文本Xl在第r种分类方式下的标签的损失;事件触发词与论元抽取模块从特征提取模块接收每个字符的特征表示集合,下游编码器BiLSTM进行编码,得到每个字符的下游编码集合,解码器CRF对下游编码集合进行解码,得到当前参数下网络模型对于标签的输出分布,CRF计算事件触发词与论元抽取模块的输出分布与真实事件要素标签集合Y(X1),Y(X2),...,Y(Xl),...,Y(XL)的差距,得到损失值losse。
4.3.4对事件分类模块得到的损失值loss1,loss2,...,lossr,...,lossR和事件触发词与论元抽取模块得到的损失值losse进行加权平均,得到特征提取模块、事件分类模块和事件触发词与论元抽取模块整体的损失loss=α(loss1+loss2+...+lossr+...+lossR)+losse,使用Adam优化算法对整体损失loss最小化以更新一次WR、Wnet、WB和WCRF。
4.3.5令itretation2=itretation2+1,如果itretation2≤迭代阈值Epoch2,转4.3.2;否则说明训练满足迭代次数要求,训练结束,将训练后的WR作为特征提取模块的RoBERTa预训练语言模型的权重参数集合,将训练后的Wnet作为事件分类模块的net1,net2,...,netr,...,netR的权重参数集合,将训练后的WB作为事件触发词与论元抽取模块的BiLSTM网络的权重参数集合,将训练后的WCRF作为事件触发词与论元抽取模块的CRF的权重参数集合,得到训练好的特征提取模块、事件分类模块和事件触发词与论元抽取模块,转第五步。
第五步,使用训练后的事件抽取系统对用户从客户端输入的文本X进行事件抽取,X表示长度为N的文本(以字符为单位,X长度为N说明X包含N个字符),X={x1,x2,...,xn,...,xN},xn表示文本X的第n个字符。具体方法为:
5.1事件筛选模块对事件文本X进行筛选:事件筛选模块的字符嵌入模块使用开源的中文字符向量对X进行字符嵌入,得到X的字符嵌入Em(X),;CNN编码器对字符嵌入Em(X)进行编码,得到X的编码表示En(X),;二分类器对编码表示En(X)进行分类,得到X的价值(用户是否关心此类事件)判断u;若u=1,则说明X是用户关心的事件,需要对X进一步抽取信息,将X发送给特征提取模块,转5.2;若u=0,则说明X不是用户关心的事件,丢弃X,转第六步。
5.2特征提取模块对文本X进行特征提取:训练后的RoBERTa网络对X进行编码,得到X中每个字符的表示F(X)={F(xcls),F(x1),F(x2),...,F(xn),...,F(xN),F(xsep)}和X的整体特征信息Ff(X), 表示向量拼接操作。将Ff(X)送入事件分类模块,将F(X)送入事件触发词与论元抽取模块。
5.3事件分类模块从特征提取模块接收Ff(X),使用训练后的net1,net2,...,netr,...,netR按R个事件分类方式同时对Ff(X)进行分类,得到R个事件分类结果集合V=(v1,v2,...,vr,...,vR),vr表示X在第r种事件分类方式下的类别,将V送入事件信息整合器;同时事件触发词与论元抽取模块从特征提取模块接收F(X),使用训练后的BiLSTM网络对F(X)进行下游编码并使用训练后的CRF网络对下游编码的结果进行解码,得到X的事件要素预测序列标签Y(X), 表示X中第n个字符xn的预测标签,将Y(X)送入事件信息整合器。
5.4事件信息整合器对X的V和Y(X)进行整合,得到事件抽取结果S。具体方法如下:
5.4.1将Y(X)中X的首字符“[CLS]”和尾字符“[SEP]”的预测标签结果去除,保留长度为N的预测序列标签。
5.4.2将Y(X)与X对应,得到每个要素类别的要素列表。具体方法如下:
5.4.2.1初始化包含5个空列表的五元组E,用E=(list1,...,listb,...,list5)表示,1≤b≤5,分别对应5个事件要素类别{tr,s,o,ti,l},其中tr表示触发词(trigger)、s表示事件主体(subject)、o表示事件客体(object)、ti表示事件时间(time)以及l表示事件地点(location),初始化变量n=1,初始化预测要素字符序列entity为空字符,entity用来暂时存储预测的要素字符序列。
5.4.2.2如果n≤N,令n=n+1,转5.4.2.3;如果n>N,说明已经对全部标签进行了判别,得到了5个事件要素类别对应的事件要素列表,即对X中事件要素的识别结果,每个事件要素列表对应一个要素类别,一个事件要素列表中的所有要素为同一类别的要素,转5.4.3。
5.4.2.3根据Y(X)的第n个预测标签执行不同的操作。如果则表示为非要素标签,转5.4.2.2;如果是“B-tag”或“I-tag”的形式,其中tag∈{tr,s,o,ti,l},则表示为tag类事件要素的要素头部标签或tag类事件要素的要素中部标签,将对应的X中字符xn插入到entity尾部,转5.4.2.2;如果是“E-tag”或“S-tag”的形式,则表示为tag类事件要素的要素尾部标签或tag类事件要素的单要素标签,将对应的X中字符xn插入到entity尾部,并将entity加入tag类事件要素对应的事件要素列表listb中,之后令entity为空字符,转5.4.2.2。
5.4.3将事件文本X的事件要素五元组E=(list1,...,listb,...,list5)与事件分类结果集合V进行结构化整合,得到事件文本X的事件抽取结果,使用一个词典S来表示,即 其中list1表示X中触发词(trigger)要素的结果列表,list2表示X中主体(subject)要素的结果列表,list3表示X中客体(object)要素的结果列表,list4表示X中时间(time)要素的结果列表,list5表示X中地点(location)要素的结果列表,Dec(r)表示第r种事件分类方式的描述,vr表示按照第r种事件分类方式进行分类时事件文本X的类别。
第六步,结束。
图3为本发明将事件分类任务引入事件抽取的联合训练过程对事件抽取整体精确率(Precision)、召回率(Recall)和F1值影响的示意图。
选择“2020科大讯飞事件抽取挑战赛”的验证集作为事件抽取测试集,实验的软件系统环境为乌班图18.04版本(即Ubuntu18.04,Linux系统的一个版本),搭载英特尔XeonGold系列6154中央处理器,处理频率为3.0Hz,另外配有四块英伟达Tesla V100显卡,每块显卡CUDA核心数为5120个,显存容量为32GB。在本实验环境下,图3比较了本发明使用的事件分类模块和事件触发词与论元抽取模块联合抽取事件与分别抽取事件类别、事件触发词与论元(先抽取事件类别,再使用事件类别指导抽取事件触发词和论元:Type+Argument;先抽取,再使用事件触发词和论元指导抽取事件类别:Argument+Type)的精确率(Precision)、召回率(Recall)和F1值三种事件抽取任务常用的评价指标。其中精确率,即查准率,表示真正正确的占所有预测为正的比例;召回率,即查全率,表示真正正确的占所有实际为正的比例;F1值=精确率×召回率×2/(精确率+召回率),是对Precision和Recall进行的整体评价。这三种评价指标越大,说明命名实体识别系统的性能越好。在本实验中,只有当事件分类和事件触发词与论元均正确时,才认为正确抽取出了事件。通过图3可以看出,分开进行事件分类和事件触发词与论元抽取时最好的F1值(Type+Argument)为64.72,使用事件分类任务联合训练过程后F1值提升至65.84。由于本实验要求只有当事件的所有信息均正确时,才认为事件被正确抽取,因此F1值的提升相当可观,说明本发明采用的将事件分类任务引入事件抽取联合训练过程的方法是确实有效的。
采用图3的实验环境,探究本发明训练事件筛选模块时负样本数量对事件筛选准确率的影响。具体来说,分别使用P=L/5=800、P=L/2=2000、P=L=4000、P=2L=8000和P=5L=20000个事件负样本结合L个事件正样本对事件筛选模块进行训练,并在使用测试集中进行测试。图4为本发明训练事件筛选模块时负样本数量对事件筛选准确率影响的示意图。
图4中横坐标是训练事件筛选模块时负样本数量,纵坐标是事件筛选的准确率,准确率指判断正确的事件数量和所有事件数量的比值。从图4中可以看出,随着负样本数量的增多,模型看到的信息越多,学到的正样本和负样本之间的知识就越多,准确率也越来越好,当P≥L时可以达到90%以上,但当负样本数量超过一定数量时,准确率也会有下降。所以得出结论,本发明的事件筛选模块能够很好将有价值的事件筛选出来,从而在现实场景中快速高效地筛选事件。
以上对本发明所提供的一种基于预训练语言模型的事件抽取方法进行了详细介绍。本文对本发明的原理及实施方式进行了阐述,以上说明用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通研究人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种基于多任务学习的事件抽取方法,其特征在于包括以下步骤:
第一步:构建事件抽取系统,事件抽取系统由客户端、负样本数据库、事件筛选模块、特征提取模块、事件分类模块、事件触发词与论元抽取模块和事件信息整合器组成;
客户端与事件筛选模块和事件信息整合器相连,将用户输入的事件文本X送入事件筛选模块和事件信息整合器;
负样本数据库存储由互联网等渠道获取的文本集合,包含P条文本,P为正整数,与事件筛选模块相连;负样本数据库供事件筛选模块读取;负样本数据库中的文本集合D={D1,D2,...,Dp,...,DP},Dp表示D中第p个文本;N为正整数,Dp表示长度为N的文本;
事件筛选模块是基于卷积神经网络CNN的二分类器,由字符嵌入模块、CNN编码器和二分类器组成;字符嵌入模块选择中文字符向量对事件文本X进行字符嵌入,得到字符嵌入结果Em(X);CNN编码器对字符嵌入结果Em(X)进行编码,得到编码结果En(X);二分类器对En(X)进行全连接和归一化,进而得到事件文本的价值判断u;事件筛选模块与客户端和特征提取模块相连,事件筛选模块从客户端接收用户输入的事件文本X,X={x1,x2,...,xn,...,xN},其中1≤n≤N,N为正整数,X表示长度为N的文本,xn为X中的第n个字符,对X进行筛选,得到事件文本的价值判断u;
特征提取模块与事件筛选模块、事件分类模块、事件触发词与论元抽取模块相连,当从事件筛选模块接收到事件文本X时,特征提取模块使用RoBERTa预训练语言模型对事件文本X中的知识进行特征提取,得到X中N个字符的特征表示F(X)={F(xcls),F(x1),F(x2),...,F(xn),...,F(xN),F(xsep)},其中[CLS]和[SEP]为预训练语言模型特有的标识符,F(xcls)和F(xsep)分别表示[CLS]和[SEP]在X中的特征向量,F(X)包含N+2个特征向量;使用F(xcls)和F(xsep)这两个标识符的特征向量表示X的整体特征信息Ff(X), 表示向量拼接操作;将Ff(X)送入事件分类模块,将F(X)送入事件触发词与论元抽取模块;
事件分类模块与特征提取模块、事件触发词与论元抽取模块和事件信息整合器相连;令事件的分类方式集合为C,C={C1,C2,...,Cr,...,CR},其中1≤r≤R,R为正整数,表示共有R种事件分类方式,Cr表示第r种事件分类方式,其中1≤a≤A,A为正整数,表示第r种事件分类方式中共有A个类别,表示第r种事件分类方式的第a个类别;事件分类模块包含R个分类模型,分别对应R个事件分类方式,R个分类模型表示为net1,net2,...,netr,...,netR,第r个分类模型netr对X的整体特征信息Ff(X)进行全连接和归一化,进而得到X在第r种事件分类方式下的类别vr;当从特征提取模块接收到Ff(X)时,事件分类模块对R个事件分类方式同时进行分类,得到事件分类结果V=(v1,v2,...,vr,...,vR),将V送入事件信息整合器中;
事件触发词与论元抽取模块与特征提取模块和事件信息整合器相连;将事件触发词与论元抽取模块需要抽取的事件要素的抽取建模为序列标注任务,每种要素作为一个要素类别进行抽取,使用事件触发词与论元抽取模块一次性抽取所有的事件要素;事件触发词与论元抽取模块由下游编码器BiLSTM网络和解码器CRF网络构成;事件触发词与论元抽取模块从特征提取模块接收F(X),对F(X)进行下游编码和解码操作,得到X的预测序列标签Y(X),Y(X)={ycls,y1,y2,...,yn,...,yN,ysep},yn表示X中第n个字符xn的预测标签,将Y(X)送入事件信息整合器,ycls表示“[CLS]”的预测标签,ysep表示“[SEP]”的预测标签;
事件信息整合器与客户端、事件分类模块和事件触发词与论元抽取模块相连,从客户端接收用户输入的事件文本X,从事件分类模块获得V,从事件触发词与论元抽取模块获得Y(X),将Y(X)中各元素与X中的字符对应起来,获得事件要素五元组E;结合V和E得到事件文本X的结构化信息,即对X事件抽取的结果S;
第二步:准备训练事件抽取系统的数据集;数据集包括三部分,一是用来训练事件筛选模块的数据集,二是用来训练事件分类模块的数据集,三是用来训练事件触发词与论元抽取模块的数据集,方法是:
2.1;选择来自同一领域的数据集为原始训练集;每条标注样本包含一条文本X和其对应的实际标签T,每个实际标签T包含真实事件类别标签VV,以及真实事件要素标签EE,原始训练集中标注样本条数L为正整数;
2.2初始化负样本数据库;在互联网上爬取与数据集不相关领域的事件文本共P条,构成负样本数据库的文本集合D,其中P≥L;
2.3构建事件筛选模块训练集;将原始训练集里的L条标注样本的每条事件文本添加标签“1”,得到事件筛选模块的正样本集合;将负样本数据库中的P条事件文本添加标签“0”,得到事件筛选模块的负样本集合;混合正样本集合和负样本集合,作为事件筛选模块的训练集;训练集包括事件文本集合以及对应事件文本的标签集合O为正整数,表示训练集样本共O个,O=L+P,若为0,则表示不需要进一步抽取,若为1,则表示需要进一步抽取;
2.4构建事件分类模块训练集;将原始训练集的L条标注样本作为初始训练集;事件分类模块训练集包括来自事件标注数据的事件文本集合X1,X2,...,Xl,...,XL以及对应的真实事件类别标签VV1,VV2,...,VVl,...,VVL,1≤l≤L,表示事件分类模块训练集样本共L个, 表示第l个样本在第r种事件分类方式下的类别标签;
2.5构建事件触发词与论元抽取模块训练集,事件触发词与论元抽取模块训练集包括事件文本X1,X2,...,Xl,...,XL以及对应的真实事件要素标签EE1,EE2,...,EEl,...,EEL,将EEl转化为序列标签Y(Xl),转化EE1,EE2,...,EEl,...,EEL得到L个真实事件要素的序列标签集合Y(X1),Y(X2),…,Y(Xl),…,Y(XL);
第三步:使用事件筛选模块训练集对事件筛选模块进行训练,得到事件筛选模块的网络权重参数,方法如下:
3.1初始化事件筛选模块的网络权重参数;将CNN编码器的网络权重参数集合WCNN中所有元素值都初始化为[0,1]之间的随机数;将二分类器的网络权重参数集合WD中所有元素值都初始化为[0,1]之间的随机数;
3.2设置网络训练超参数,包括:网络模型学习率learningRate、批处理尺寸batchsize、文本最大长度maxlen、随机种子Seed;
3.3迭代计算二分类器的输出分布与真实筛选模块标签分布的差距,得到损失值,最小化损失值并更新网络参数,直到满足迭代阈值要求,得到权重参数;具体方法如下:
3.3.1初始化训练迭代参数itretation1=1;初始化迭代阈值Epoch1为[1,30]内的整数;
3.3.2事件筛选模块的字符嵌入模块使用中文字符向量对事件筛选模块训练集中的事件文本集合进行字符嵌入,得到事件文本集合的字符嵌入集合其中事件文本集合的字符嵌入集合 表示中第n个字符的字符嵌入;CNN编码器对字符嵌入集合进行编码,得到事件编码集合其中表示事件文本集合的编码;二分类器对事件编码集合进行分类,得到当前参数下网络模型对于标签预测的输出分布,使用分类模型常用的交叉熵损失函数计算预测的输出分布与真实标签集合的差距,得到损失值lossf,并使用Adam优化算法对lossf最小化以更新一次WCNN和WD;
3.3.3令itretation1=itretation1+1,如果itretationl≤迭代阈值Epoch1,转3.3.2;否则说明训练满足迭代次数要求,训练结束,将训练后的WCNN作为CNN编码器的权重参数集合,将训练后的WD作为二分类器的权重参数集合,得到训练好的事件筛选模块,转第四步;
第四步:使用事件分类模块训练集和事件触发词与论元抽取模块训练集基于多任务学习对特征提取模块、事件分类模块和事件触发词与论元抽取模块进行联合训练,得到特征提取模块、事件分类模块和事件触发词与论元抽取模块的网络权重参数,方法如下:
4.1初始化权重参数,使用预训练模型参数初始化特征提取模块的RoBERTa预训练语言模型权重参数集合WR中的所有元素值;将事件分类模块的net1,net2,...,netr,...,netR的网络权重参数集合Wnet中所有元素都初始化为[0,1]之间的随机数;将事件触发词与论元抽取模块中的下游编码器BiLSTM网络权重参数集合WB中所有元素值都初始化为[0,1]之间的随机数;将事件触发词与论元抽取模块中的解码器CRF网络权重参数集合WCRF中所有元素值都初始化为[0,1]之间的随机数;
4.2设置网络训练超参数,包括:RoBERTa预训练语言模型学习率learningRate-RoBERTa、其他网络模型学习率learningRate-Other,批处理尺寸batchsize、文本最大长度maxlen、损失平衡参数α、随机种子,要求0<α<1;
4.3事件分类模块迭代计算R个分类模型即net1,net2,...,netr,...,netR的输出分布与R个真实事件类别标签集合VV1,VV2,...,VVl,...,VVL的差距,得到损失值loss1,loss2,…,lossr,…,lossR,事件触发词与论元抽取模块计算事件触发词与论元抽取模块的输出分布与真实事件要素的序列标签集合Y(X1),Y(X2),...,Y(Xl),...,Y(XL)的差距,得到损失值losse;总损失计算方式为loss=α(loss1+loss2+…+lossr+…+lossR)+(1-α)losse;最小化总损失值loss并更新网络参数,直到满足迭代次数要求,得到权重参数;具体方法如下:
4.3.1初始化训练迭代参数itretation2=1;初始化迭代阈值Epoch2为[1,30]内的整数;
4.3.2特征提取模块从事件分类模块训练集读取接收事件文本集合X1,X2,...,Xl,...,XL,使用RoBERTa预训练语言模型对事件文本集合进行特征提取,得到事件文本每个字符的特征表示集合F(X1),F(X2),...,F(Xl),...,F(XL)以及事件文本整体的特征表示集合Ff(X1),Ff(X2),...,Ff(Xl),...,Ff(XL),其中F(Xl)表示第l个事件文本Xl中每个字符的特征表示, 表示第l个事件文本Xl中的第n个字符的特征表示,表示第l个事件文本集合Xl的第一个特征表示,第l个事件文本集合Xl的第二个特征表示;表示第l个事件文本Xl整体的特征表示,表示向量拼接操作;
4.3.3事件分类模块接收特征提取模块的整体特征表示集合Ff(X1),Ff(X2),...,Ff(Xl),...,Ff(XL),采用多分类的交叉熵损失函数计算net1,net2,...,netr,...,netR的输出分布与R个真实事件类别标签集合VV1,VV2,...,VVl,...,VVL的差距,得到损失值loss1,loss2,...,lossr,...,lossR,其中第r种分类方式下的损失值 表示第l个事件文本Xl的整体特征表示Ff(Xl)经过netr后得到的输出分布与第l个事件文本Xl在第r种分类方式下的标签的损失;事件触发词与论元抽取模块从特征提取模块接收每个字符的特征表示集合,下游编码器BiLSTM进行编码,得到每个字符的下游编码集合,解码器CRF对下游编码集合进行解码,得到当前参数下网络模型对于标签的输出分布,CRF计算事件触发词与论元抽取模块的输出分布与真实事件要素标签集合Y(X1),Y(X2),...,Y(Xl),...,Y(XL)的差距,得到损失值losse;
4.3.4对事件分类模块得到的损失值loss1,loss2,...,lossr,...,lossR和事件触发词与论元抽取模块得到的损失值losse进行加权平均,得到特征提取模块、事件分类模块和事件触发词与论元抽取模块整体的损失loss=α(loss1+loss2+…+lossr+…+lossR)+losse,使用Adam优化算法对整体损失loss最小化以更新一次WR、Wnet、WB和WCRF;
4.3.5令itretation2=itretation2+1,如果itretation2≤迭代阈值Epoch2,转4.3.2;否则说明训练满足迭代次数要求,训练结束,将训练后的WR作为特征提取模块的RoBERTa预训练语言模型的权重参数集合,将训练后的Wnet作为事件分类模块的net1,net2,...,netr,...,netR的权重参数集合,将训练后的WB作为事件触发词与论元抽取模块的BiLSTM网络的权重参数集合,将训练后的WCRF作为事件触发词与论元抽取模块的CRF的权重参数集合,得到训练好的特征提取模块、事件分类模块和事件触发词与论元抽取模块,转第五步;
第五步,使用训练后的事件抽取系统对用户从客户端输入的文本X进行事件抽取,X表示长度为N的文本,X={x1,x2,...,xn,...,xN},xn表示文本X的第n个字符,方法为:
5.1事件筛选模块对事件文本X进行筛选:事件筛选模块的字符嵌入模块使用中文字符向量对X进行字符嵌入,得到X的字符嵌入Em(X);CNN编码器对字符嵌入Em(X)进行编码,得到X的编码表示En(X);二分类器对编码表示En(X)进行分类,得到X的价值判断u;若u=1,说明X是用户关心的事件,需要对X进一步抽取信息,将X发送给特征提取模块,转5.2;若u=0,说明X不是用户关心的事件,丢弃X,转第六步;
5.2特征提取模块对文本X进行特征提取:训练后的RoBERTa网络对X进行编码,得到X中每个字符的表示F(X)={F(xcls),F(x1),F(x2),…,F(xn),…,F(xN),F(xsep)}和X的整体特征信息Ff(X), 表示向量拼接操作;将Ff(X)送入事件分类模块,将F(X)送入事件触发词与论元抽取模块;
5.3事件分类模块从特征提取模块接收Ff(X),使用训练后的net1,net2,...,netr,...,netR按R个事件分类方式同时对Ff(X)进行分类,得到R个事件分类结果V=(v1,v2,...,vr,...,vR),vr表示X在第r种事件分类方式下的类别,将V送入事件信息整合器;同时事件触发词与论元抽取模块从特征提取模块接收F(X),使用训练后的BiLSTM网络对F(X)进行下游编码并使用训练后的CRF网络对下游编码的结果进行解码,得到X的事件要素预测序列标签Y(X), 表示X中第n个字符xn的预测标签,将Y(X)送入事件信息整合器;
5.4事件信息整合器对X的V和Y(X)进行整合,得到对X进行事件抽取的抽取结果S,方法如下:
5.4.1将Y(X)中X的首字符“[CLS]”和尾字符“[SEP]”的预测标签结果去除,保留长度为N的预测序列标签;
5.4.2将Y(X)与X对应,得到每个事件要素类别的事件要素列表,方法如下:
5.4.2.1初始化5个空列表集合,用{list1,...,listb,...,list5}表示,1≤b≤5,分别对应5个事件要素类别{tr,s,o,ti,l},其中tr表示触发词trigger、s表示事件主体subject、o表示事件客体object、ti表示事件时间time以及1表示事件地点location,初始化变量n=1,初始化预测要素字符序列entity为空字符,entity用来暂时存储预测的要素字符序列;
5.4.2.2如果n≤N,令n=n+1,转5.4.2.3;如果n>N,说明已经对全部标签进行了判别,得到了5个事件要素类别对应的事件要素列表,即对X中事件要素的识别结果,每个事件要素列表对应一个事件要素类别,一个事件要素列表中的所有要素为同一类别的要素,转5.4.3;
5.4.2.3根据Y(X)的第n个预测标签执行不同的操作;如果则表示为非要素标签,转5.4.2.2;如果是“B-tag”或“I-tag”的形式,其中tag∈{tr,s,o,ti,l},表示为tag类事件要素的要素头部标签或tag类事件要素的要素中部标签,将对应的X中字符xn插入到entity尾部,转5.4.2.2;如果是“E-tag”或“S-tag”的形式,表示为tag类事件要素的要素尾部标签或tag类事件要素的单要素标签,将对应的X中字符xn插入到entity尾部,并将entity加入tag类事件要素对应的事件要素列表listb中,之后令entity为空字符,转5.4.2.2;
5.4.3将事件文本X的事件要素列表集合{list1,...,listb,...,list5}与事件分类结果V进行结构化整合,得到事件文本X的事件抽取结果,使用一个词典S来表示,即 其中list1表示X中触发词(trigger)要素的结果列表,list2表示X中主体(subject)要素的结果列表,list3表示X中客体(object)要素的结果列表,list4表示X中时间(time)要素的结果列表,list5表示X中地点(location)要素的结果列表,Dec(r)表示第r种事件分类方式的描述,vr表示按照第r种事件分类方式进行分类时事件文本X的类别;
第六步,结束。
2.如权利要求1所述的一种基于多任务学习的事件抽取方法,其特征在于所述负样本数据库中存储文本条数P>3000;所述负样本数据库中的文本集合D中的Dp以字符为单位,Dp长度为N指Dp包含N个字符;所述原始训练集中标注样本条数L>3000。
3.如权利要求1所述的一种基于多任务学习的事件抽取方法,其特征在于所述事件筛选模块中的CNN编码器共包含3个卷积层,1个池化层,卷积层为前3层,池化层为第4层;二分类器为1个全连接层加1个归一化层,二分类器对编码结果En(X)进行全连接和归一化后得到一个2维向量,2维向量的和为1,将2维向量中较大值的索引作为事件文本的价值判断u,u∈{0,1};所述事件分类模块中的第r个分类模型netr包含一个全连接层和一个归一化层,第r个分类模型netr对X的整体特征信息Ff(X)进行全连接和归一化后得到一个A维向量,A维向量的和为1,得到A维向量中最大值的索引作为事件文本X在第r种事件分类方式下的类别vr,vr∈[0,A-1]。
4.如权利要求1所述的一种基于多任务学习的事件抽取方法,其特征在于所述事件触发词与论元抽取模块需要抽取的事件要素有事件主体subject、事件客体object、事件触发词trigger、事件时间time和事件地点location;所述事件信息整合器生成的事件要素五元组E=(trigger,subject,object,time,location)。
5.如权利要求1所述的一种基于多任务学习的事件抽取方法,其特征在于2.1步所述同一领域的数据集指来自“2020科大讯飞事件抽取挑战赛”的事件抽取数据集,包含4000条标注样本。
6.如权利要求1所述的一种基于多任务学习的事件抽取方法,其特征在于2.5步所述真实事件要素标签EEl=(triggerl,subjectl,objectl,timel,locationl),所述序列标签Y(Xl)采用BIOES标注方式,B表示要素头部标签,I表示要素中部标签,O表示非要素标签,E表示要素尾部标签,S表示单要素标签,每个标签还包含要素类型信息,分别以tr,s,o,ti,l表示事件触发词trigger、事件主体subject、事件客体object、事件时间time以及事件地点location。
7.如权利要求1所述的一种基于多任务学习的事件抽取方法,其特征在于3.2步所述设置网络训练超参数的方法是:令learningRate=0.0005,batchsize=32,maxlen=512,令Seed为2022;4.2步所述设置网络训练超参数的方法是:令learningRate-RoBERTa=0.00001,learningRate-Other=0.0002,batchsize=32,maxlen=512,α=0.3,令Seed为2022。
8.如权利要求1所述的一种基于多任务学习的事件抽取方法,其特征在于3.3.1步所述Epoch1设置为10;4.3.1步所述Epoch2设置为15。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210400676.4A CN114741473B (zh) | 2022-04-17 | 2022-04-17 | 一种基于多任务学习的事件抽取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210400676.4A CN114741473B (zh) | 2022-04-17 | 2022-04-17 | 一种基于多任务学习的事件抽取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114741473A CN114741473A (zh) | 2022-07-12 |
CN114741473B true CN114741473B (zh) | 2023-04-18 |
Family
ID=82280915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210400676.4A Active CN114741473B (zh) | 2022-04-17 | 2022-04-17 | 一种基于多任务学习的事件抽取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114741473B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115600602B (zh) * | 2022-12-13 | 2023-02-28 | 中南大学 | 一种长文本的关键要素抽取方法、系统及终端设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312916A (zh) * | 2021-05-28 | 2021-08-27 | 北京航空航天大学 | 基于触发词语态学习的金融文本事件抽取方法及装置 |
CN113886601A (zh) * | 2021-09-30 | 2022-01-04 | 武汉大学 | 电子文本事件抽取方法、装置、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111967268B (zh) * | 2020-06-30 | 2024-03-19 | 北京百度网讯科技有限公司 | 文本中的事件抽取方法、装置、电子设备和存储介质 |
CN112069811B (zh) * | 2020-08-24 | 2024-01-26 | 武汉大学 | 多任务交互增强的电子文本事件抽取方法 |
US20220100963A1 (en) * | 2020-09-30 | 2022-03-31 | Amazon Technologies, Inc. | Event extraction from documents with co-reference |
-
2022
- 2022-04-17 CN CN202210400676.4A patent/CN114741473B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312916A (zh) * | 2021-05-28 | 2021-08-27 | 北京航空航天大学 | 基于触发词语态学习的金融文本事件抽取方法及装置 |
CN113886601A (zh) * | 2021-09-30 | 2022-01-04 | 武汉大学 | 电子文本事件抽取方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114741473A (zh) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134757B (zh) | 一种基于多头注意力机制的事件论元角色抽取方法 | |
CN110969020B (zh) | 基于cnn和注意力机制的中文命名实体识别方法、系统及介质 | |
Perez-Martin et al. | Improving video captioning with temporal composition of a visual-syntactic embedding | |
CN107526785A (zh) | 文本分类方法及装置 | |
CN111985247B (zh) | 一种基于多粒度文本特征表示的微博用户兴趣识别方法和系统 | |
CN107085581A (zh) | 短文本分类方法和装置 | |
CN110188195B (zh) | 一种基于深度学习的文本意图识别方法、装置及设备 | |
CN113806494B (zh) | 一种基于预训练语言模型的命名实体识别方法 | |
CN110297888B (zh) | 一种基于前缀树与循环神经网络的领域分类方法 | |
CN112507699A (zh) | 一种基于图卷积网络的远程监督关系抽取方法 | |
CN112749274B (zh) | 基于注意力机制和干扰词删除的中文文本分类方法 | |
CN113515632B (zh) | 基于图路径知识萃取的文本分类方法 | |
CN111159485A (zh) | 尾实体链接方法、装置、服务器及存储介质 | |
CN115952292B (zh) | 多标签分类方法、装置及计算机可读介质 | |
CN114896388A (zh) | 一种基于混合注意力的层级多标签文本分类方法 | |
CN111597340A (zh) | 一种文本分类方法及装置、可读存储介质 | |
CN113051914A (zh) | 一种基于多特征动态画像的企业隐藏标签抽取方法及装置 | |
CN114691864A (zh) | 文本分类模型训练方法及装置、文本分类方法及装置 | |
CN109614611B (zh) | 一种融合生成非对抗网络与卷积神经网络的情感分析方法 | |
CN114692605A (zh) | 一种融合句法结构信息的关键词生成方法及装置 | |
Aziguli et al. | A robust text classifier based on denoising deep neural network in the analysis of big data | |
CN114722835A (zh) | 基于lda和bert融合改进模型的文本情感识别方法 | |
CN114547230A (zh) | 一种智能行政执法案例信息抽取和案由认定方法 | |
CN116775872A (zh) | 一种文本处理方法、装置、电子设备及存储介质 | |
CN113836896A (zh) | 一种基于深度学习的专利文本摘要生成方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |