本发明涉及计算机自然语言处理,尤其涉及一种基于本体指导和计划采样的重叠事件抽取方法。
背景技术:
1、事件抽取是信息提取领域的一项基础而富有挑战的研究型任务,被广泛应用于信息检索、智能问答、社会事件检测和推荐系统等领域。事件抽取的目标是从给定的非结构化文本中自动地识别出事件的类型、触发词及论元等结构化信息。早期研究工作主要针对非重叠事件抽取,如例句“a减持b公司”中,事件“减持”由触发词“减持”所触发,事件包含的论元有“a”和“b公司”,分别扮演“subject”和“object”角色。
2、随着事件抽取研究的不断深入,重叠事件抽取因具有更高挑战性和实用性引起了研究者的高度关注,并成为目前研究的热点。根据触发词和论元的重叠情形,将重叠事件细分为三种类型:(1)同一触发词同时触发多个事件。如例句“c公司收购了d公司的100%股权”中,“收购”一词同时触发事件“投资”和“股份股权转让”;(2)同一论元在多个事件中扮演角色。如(1)中例句,“d公司”在事件“投资”和“股份股权转让”中分别扮演“object”和“subject”角色;(3)同一论元在一个事件中扮演不同角色。如例句“e公司减少了其总股本的0.05%”中,“e公司”在事件“减持”中同时扮演“subject”和“target”角色。
3、针对重叠事件抽取,近期工作主要采用基于端到端模式的神经网络架构,具体可划分为多阶段模型与单阶段模型。多阶段模型将重叠事件抽取分解为触发词识别、触发词分类、论元识别和论元分类等四个子任务,再分阶段依次完成各子任务并在联合学习框架下协同执行。这类方法虽然能够清晰建模子任务间的依赖关系,但对不同阶段的任务使用相同的语义编码,忽略了子任务自身具有的独立特性。另外,联合框架下子任务间仍存在错误级联传播,并且模型训练的收敛速度慢,泛化能力不强。单阶段模型可在一个独立的阶段同时完成触发词识别和分类、论元识别和分类任务。单阶段方式有效避免错误级联传播的问题,但它将所有子任务在同一阶段完成,对于同一论元在同一事件中扮演多个角色情况,会引发标签冲突而无法处理,并且计算开销大、数据稀疏等。除此之外,事件本体提供了结构化的事件描述和定义,它对事件信息的识别、抽取和理解有非常重要的作用。然而,现有事件抽取方法却忽略了本体知识。
技术实现思路
1、为了解决现有技术中存在的问题,本发明提出基于本体指导和计划采样的重叠事件抽取方法,通过对数据集进行处理,得到事件类型、触发词和论元角色,构建基于本体指导和计划采样的重叠事件抽取模型,完成从非结构化文本中抽取重叠触发词和论元的任务,实现对重叠事件的抽取。
2、为实现上述目的,采用的技术方案为:
3、一种基于本体指导和计划采样的重叠事件抽取方法,包括以下步骤:
4、s1:获取文本数据集并对文本数据集进行预处理,将预处理后的文本数据集按照设定比例划分为训练集、验证集和测试集;所述文本数据集包括若干个数据样本,每个数据样本为一段中文文本;所述预处理包括对文本数据集中的数据样本进行分句、去重、分词和构建字典,并从数据样本中获得事件及事件的触发词和论元;
5、s1.1:获取文本数据集并对文本数据集中的中文文本进行分句得到若干个句子,删除重复的句子并使用中文分词工具对句子进行分词处理,得到目标分词,构建词映射id的字典;所述词映射id的字典将每个目标分词与其唯一的id和该目标分词在中文文本中的位置进行关联;
6、s1.2:使用中文词性标注工具对分词处理后得到的目标分词进行词性的标注,构建词性映射id的字典;所述词性映射id的字典将每个目标分词的词性与其唯一的id进行关联;
7、s1.3:对每个目标分词中的字符构建字符映射id的字典;所述字符映射id将每个字符与其唯一的id和该字符在中文文本中的位置进行关联;
8、s1.4:获取文本数据集中的事件及其触发词和论元,并统计文本数据集中出现的事件类型、触发词和论元,构建事件类型、触发词和论元映射id字典;
9、所述事件类型、触发词和论元映射id字典将每个句子与其唯一的id、事件类型、触发词及触发词的位置、论元的位置和论元的角色信息进行关联;
10、s1.5:按照设定长度对句子进行填充或截断,并将处理后的文本数据集按照设定比例划分为训练集、验证集和测试集;
11、s2:构建基于本体指导和计划采样的重叠事件抽取模型,所述重叠事件抽取模型包括融合本体知识的语义编码模块、事件类型判别模块、触发词标记模块和论元抽取模块;
12、所述融合本体知识的语义编码模块首先使用bert来得到句子的基础编码h,然后为句子的基础编码h融入本体知识,得到一种本体知识增强的编码m,最后在本体知识增强编码m的基础上为事件类型判别模块、触发词标记模块和论元抽取模块分别生成独立的字符编码,包括用于事件类型判别的字符编码用于触发词标记的字符编码和用于论元抽取的字符编码其中i表示句子中字符的序号;
13、所述得到句子的基础编码h的过程为:对于给定的输入的句子s={w1,w2,…,wi,…,wn},wi表示句子的第i个字符,n表示句子中字符的个数,先按照bert的要求对输入添加cls、sep及填充标志,然后将添加cls、sep及填充标志后的句子输入到bert中进行计算和编码,最后输出句子中各字符的语义编码,记为基础编码其中hi为第i个字符的语义编码,l为bert输出的基础编码的维度;
14、所述得到一种本体知识增强的编码m的过程为:采用二维矩阵o来刻画本体层中事件与事件、事件与论元、论元与论元之间的关系,然后通过参数矩阵wf将二维矩阵o注入到基础编码h中,得到本体知识增强的编码表示m;
15、分别生成用于事件类型判别的字符编码用于触发词标记的字符编码和用于论元抽取的字符编码的过程为:针对不同子任务的特点,将本体知识增强编码m中的第i列mi输入三个独立的线性层,分别得到面向三个不同子任务的用于事件类型判别的字符编码用于触发词标记的字符编码和用于论元抽取的字符编码所述子任务包括事件类型判别、触发词标记和论元抽取;
16、所述事件类型判别模块采用注意力机制,利用用于事件类型判别的字符编码得到整个句子在该事件类型下的语义向量表示,并通过sigmoid函数完成当前句子的事件类型预测,得到当前句子的预测的事件类型;
17、具体为:定义随机初始化的矩阵矩阵中的每一列向量为一个事件类型表示,用于表示一种事件类型,其中,h表示每个事件类型表示的特征维度,然后计算矩阵c中第k个事件类型表示ck与用于事件类型判别的字符编码的相关性ui,其中ck∈c,k∈d1;计算得到的相关性通过softmax函数归一化处理得到该事件类型下各字符对应的注意力值αi;按照注意力值大小将用于事件类型判别的字符编码融合得到整个句子在该事件类型下的语义向量表示gc,在得到句子表示gc后,计算gc与第k个事件类型表示ck的相关性,并通过sigmoid激活函数得到预测为第k个事件类型c的概率遍历所有事件类型表示,得到事件类型判别模块的输出向量,向量中的每个元素为当前句子为第k个事件类型的概率,将概率最大的事件类型作为预测的事件类型,完成当前句子的事件类型预测;
18、所述触发词标记模块首先将事件类型判别模块的输出向量与用于触发词标记的字符编码融合并输入到自注意力层和层归一化中进一步处理,最后,利用一对二元标记器完成触发词开始和结束位置的预测,得到当前句子的触发词;
19、具体为:首先将事件类型判别模块的输出向量cinvestment与用于触发词标记的字符编码融合,得到融入事件类型的字符向量ti,将融入事件类型的字符向量ti经自注意力层,并通过层归一化;将层归一化后输出的表示分别输入到两个二元标记器中,分别标记当前句子中的各字符是触发词的开始位置的概率和结束位置的概率遍历所有字符,得到触发词的开始位置预测向量和触发词的结束位置预测向量,所述触发词的开始位置预测向量中的每个元素为各字符是触发词的开始位置的概率,所述触发词的结束位置预测向量中的每个元素为各字符是触发词的结束位置的概率,最终得到当前句子的触发词开始和结束位置预测结果,进而得到当前句子的触发词;
20、所述论元抽取模块计算触发词的开始位置预测向量p和触发词的结束位置预测向量tend的平均值,得到触发词向量表示tacquire将其与用于论元抽取的字符编码融合并输入到自注意力层和层归一化中进一步处理;最后,利用一对二元标记器完成指定角色的论元开始和结束位置的预测,得到当前句子的论元的角色信息;
21、具体为:计算触发词的开始位置预测向量tstart和触发词的结束位置预测向量tend的平均值,得到触发词向量表示tacquire;采用条件层标准化将触发词向量表示tacquire与用于论元抽取的字符编码融合,得到特征增强的字符表示αi;将特征增强的字符表示ai输入到自注意力层和层归一化中进一步处理,得到层归一化后的特征增强的字符表示,接着,引入相对触发词的位置信息以表达各字符在句子中的顺序和距离特征,得到相对位置特征p,所述相对位置特征p为一个向量,其中元素为句子中各个字符相对于触发词的距离,将层归一化后的特征增强的字符表示与相对位置特征p拼接,得到融入位置特征的增强表示序列;将融入位置特征的增强表示序列输入到两个带有事件类型和角色约束的二元标记器中,分别标记各字符是指定角色信息的论元开始位置的概率和结束位置的概率遍历所有字符最终得到当前句子中指定角色信息的论元开始位置预测向量和结束位置预测向量;所述指定角色信息的论元开始位置预测向量中的每个元素为各字符为论元开始位置的概率,所述指定角色信息的论元结束位置预测向量中的每个元素为各字符为论元结束位置的概率,最终得到当前句子的论元开始和结束位置预测结果,进而得到当前句子的论元的角色信息;
22、s3:利用训练集对基于本体指导和计划采样的重叠事件抽取模型进行训练,计算基于本体指导和计划采样的重叠事件抽取模型损失函数,得到训练完成的基于本体指导和计划采样的重叠事件抽取模型;
23、s3.1:将训练集中的句子输入到融合本体知识的语义编码模块,得到用于事件类型判别的字符编码用于触发词标记的字符编码和用于论元抽取的字符编码
24、s3.2:基于用于事件类型判别的字符编码利用事件类型判别模块得到当前句子为第k个事件类型的概率,构成事件类型判别模块的输出向量,进而得到预测的事件类型;
25、s3.3:触发词标记模块利用计划采样策略对预测的事件类型和真实的事件类型进行采样得到采样结果cinvestment',然后,将其与基于用于触发词标记的字符编码融合并输入到自注意力层和层归一化中进一步处理,利用两个二元标记器得到各字符是触发词的开始位置的概率和结束位置的概率最终得到当前句子的触发词开始和结束位置预测结果,进而得到预测的当前句子的触发词;
26、触发词标记模块中的计划采样策略具体为:将预测的事件类型的准确率记为p1,设置采样到预测的事件类型的概率为p1,同时设置采样到真实的事件类型的概率为1-p1后,进行采样,得到采样结果cinvestment',所述采样结果为一个向量,向量中的每个元素为当前句子为第k个事件类型的概率;
27、s3.4:论元抽取模块利用计划采样策略对预测的当前句子的触发词和真实的触发词进行采样,得到采样的触发词,进而得到采样的触发词的开始位置向量tstart'和触发词的结束位置向量tend',计算平均值,得到触发词向量表示tacquire'将其与用于论元抽取的字符编码融合并输入到自注意力层和层归一化中进一步处理,利用一对二元标记器完成指定角色信息的论元开始和结束位置的预测,得到当前句子的论元的角色信息;
28、论元抽取模块中的计划采样策略具体为:将预测的触发词的准确率记为p2,设置采样到预测的触发词的概率为p2,同时设置采样到真实的触发词的概率为1-p2后,进行采样,得到采样的触发词的开始位置向量tstart'和触发词的结束位置向量tend',向量中的元素表示各字符为触发词开始或结束位置的概率;
29、s3.5:重复s3.1-s3.4,计算基于本体指导和计划采样的重叠事件抽取模型损失函数,直至达到设定的训练轮次,得到训练完成的基于本体指导和计划采样的重叠事件抽取模型;
30、采用联合损失函数的方式计算基于本体指导和计划采样的重叠事件抽取模型损失函数
31、s4:利用验证集对基于本体指导和计划采样的重叠事件抽取模型进行测试及参数调整,得到最终的基于本体指导和计划采样的重叠事件抽取模型;
32、具体为:利用验证集对基于本体指导和计划采样的重叠事件抽取模型进行测试记录基于本体指导和计划采样的重叠事件抽取模型的准确率、召回率和f1值,作为检测模型效果的评价指标并加以保存,通过修改超参数对基于本体指导和计划采样的重叠事件抽取模型重复测试,保存测试结果f1值最高的超参数作为模型最终超参数;所述超参数包括学习率、迭代次数;
33、s5:将测试集输入到最终的基于本体指导和计划采样的重叠事件抽取模型,得到预测的事件类型,触发词及其位置和论元的位置及论元的角色信息。
34、与现有技术相比较,本发明的有益效果为:
35、1、本发明提出的一种基于本体指导和计划采样的重叠事件抽取方法,通过融合本体知识的语义编码模块引入了事件本体知识,并且根据不同的子任务生成独立的序列编码,在非结构化文本的重叠事件抽取任务中表现优异。
36、2、本发明采用基于本体指导和计划采样的重叠事件抽取模型,在训练过程中将多阶段的预测看作成联合模型的序列输出,并在子任务间使用计划采样策略,从而减轻训练过程错误的级联传播,加速模型的收敛速度,最后通过联合事件类型判别损失函数、触发词标记损失函数和论元抽取损失函数的方式,能够增强子任务之间的交互作用。
37、3.、本发明采用连续的事件类型判别模块、触发词标记模块和论元抽取模块,能够对重叠目标采用在前阶段特定结果基础上分别提取,因此能够有效解决触发词和论元的重叠问题。
1.一种基于本体指导和计划采样的重叠事件抽取方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于本体指导和计划采样的重叠事件抽取方法,其特征在于,s1中所述预处理包括对文本数据集中的数据样本进行分句、去重、分词和构建字典,并从数据样本中获得事件及事件的触发词和论元。
3.根据权利要求2所述的一种基于本体指导和计划采样的重叠事件抽取方法,其特征在于,s1具体包括:
4.根据权利要求1所述的一种基于本体指导和计划采样的重叠事件抽取方法,其特征在于,s2中所述融合本体知识的语义编码模块首先使用bert来得到句子的基础编码h,然后为句子的基础编码h融入本体知识,得到一种本体知识增强的编码m,最后在本体知识增强编码m的基础上为事件类型判别模块、触发词标记模块和论元抽取模块分别生成独立的字符编码,包括用于事件类型判别的字符编码用于触发词标记的字符编码和用于论元抽取的字符编码其中i表示句子中字符的序号;
5.根据权利要求4所述的一种基于本体指导和计划采样的重叠事件抽取方法,其特征在于,所述得到句子的基础编码h的过程为:对于给定的输入的句子s={w1,w2,…,wi,…,wn},wi表示句子的第i个字符,n表示句子中字符的个数,先按照bert的要求对输入添加cls、sep及填充标志,然后将添加cls、sep及填充标志后的句子输入到bert中进行计算和编码,最后输出句子中各字符的语义编码,记为基础编码其中hi为第i个字符的语义编码,l为bert输出的基础编码的维度;
6.根据权利要求4所述的一种基于本体指导和计划采样的重叠事件抽取方法,其特征在于,所述事件类型判别模块的处理过程具体为:定义随机初始化的矩阵矩阵中的每一列向量为一个事件类型表示,用于表示一种事件类型,其中,h表示每个事件类型表示的特征维度,然后计算矩阵c中第k个事件类型表示ck与用于事件类型判别的字符编码的相关性ui,其中ck∈c,k∈d1;计算得到的相关性通过softmax函数归一化处理得到该事件类型下各字符对应的注意力值αi;按照注意力值大小将用于事件类型判别的字符编码融合得到整个句子在该事件类型下的语义向量表示gc,在得到句子表示gc后,计算gc与第k个事件类型表示ck的相关性,并通过sigmoid激活函数得到预测为第k个事件类型c的概率遍历所有事件类型表示,得到事件类型判别模块的输出向量,向量中的每个元素为当前句子为第k个事件类型的概率,将概率最大的事件类型作为预测的事件类型,完成当前句子的事件类型预测。
7.根据权利要求4所述的一种基于本体指导和计划采样的重叠事件抽取方法,其特征在于,所述触发词标记模块的处理过程具体为:首先将事件类型判别模块的输出向量cinvestment与用于触发词标记的字符编码融合,得到融入事件类型的字符向量ti,将融入事件类型的字符向量ti经自注意力层,并通过层归一化;将层归一化后输出的表示分别输入到两个二元标记器中,分别标记当前句子中的各字符是触发词的开始位置的概率和结束位置的概率遍历所有字符,得到触发词的开始位置预测向量和触发词的结束位置预测向量,所述触发词的开始位置预测向量中的每个元素为各字符是触发词的开始位置的概率,所述触发词的结束位置预测向量中的每个元素为各字符是触发词的结束位置的概率,最终得到当前句子的触发词开始和结束位置预测结果,进而得到当前句子的触发词。
8.根据权利要求4所述的一种基于本体指导和计划采样的重叠事件抽取方法,其特征在于,所述论元抽取模块的处理过程具体为:计算触发词的开始位置预测向量tstart和触发词的结束位置预测向量tend的平均值,得到触发词向量表示tacquire;采用条件层标准化将触发词向量表示tacquire与用于论元抽取的字符编码融合,得到特征增强的字符表示ai;将特征增强的字符表示ai输入到自注意力层和层归一化中进一步处理,得到层归一化后的特征增强的字符表示,接着,引入相对触发词的位置信息以表达各字符在句子中的顺序和距离特征,得到相对位置特征p,所述相对位置特征p为一个向量,其中元素为句子中各个字符相对于触发词的距离,将层归一化后的特征增强的字符表示与相对位置特征p拼接,得到融入位置特征的增强表示序列;将融入位置特征的增强表示序列输入到两个带有事件类型和角色约束的二元标记器中,分别标记各字符是指定角色信息的论元开始位置的概率和结束位置的概率遍历所有字符最终得到当前句子中指定角色信息的论元开始位置预测向量和结束位置预测向量;所述指定角色信息的论元开始位置预测向量中的每个元素为各字符为论元开始位置的概率,所述指定角色信息的论元结束位置预测向量中的每个元素为各字符为论元结束位置的概率,最终得到当前句子的论元开始和结束位置预测结果,进而得到当前句子的论元的角色信息。
9.根据权利要求1所述的一种基于本体指导和计划采样的重叠事件抽取方法,其特征在于,s3具体包括:
10.根据权利要求1所述的一种基于本体指导和计划采样的重叠事件抽取方法,其特征在于,所述s4具体为:利用验证集对基于本体指导和计划采样的重叠事件抽取模型进行测试记录基于本体指导和计划采样的重叠事件抽取模型的准确率、召回率和f1值,作为检测模型效果的评价指标并加以保存,通过修改超参数对基于本体指导和计划采样的重叠事件抽取模型重复测试,保存测试结果f1值最高的超参数作为模型最终超参数;所述超参数包括学习率、迭代次数。