一种基于词汇增强的事件抽取方法、装置及存储介质转让专利

申请号 : CN202210195683.5

文献号 : CN114330354B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 姜伟浩张浩

申请人 : 杭州海康威视数字技术股份有限公司

摘要 :

本申请提供一种基于词汇增强的事件抽取方法、装置及存储介质,涉及自然语言处理技术领域,能够提高事件抽取系统的性能,从而提高事件抽取结果的准确性。该方法包括:获取文本信息中包括的事件类型;采用事件元素抽取模型,获取文本信息中每个句子的事件元素,其中,事件元素抽取模型中基于词汇增强模型对字符向量及词语向量进行上下文编码,词语向量是基于外部语料采用词向量模型获取,上下文编码采用相对位置编码;根据文本信息中每个句子的事件元素,采用分类算法分别获取每种事件类型的关键句;将每种事件类型的关键句的事件元素,分别填充至每种事件类型对应的事件记录模板中,得到每种事件类型的事件记录。

权利要求 :

1.一种基于词汇增强的事件抽取方法,其特征在于,包括:

获取文本信息中包含的事件类型,一个所述事件类型用于指示一个目标事件;

采用事件元素抽取模型,获取所述文本信息中每个句子的事件元素,其中,所述事件元素抽取模型基于词汇增强模型对字符向量及词语向量进行上下文编码,所述词语向量是基于外部语料采用词向量模型获取,所述上下文编码采用相对位置编码;

根据所述文本信息中每个句子的事件元素,采用分类算法分别获取每种事件类型的关键句;

将所述每种事件类型的关键句的事件元素,分别填充至所述每种事件类型对应的事件记录模板中,得到所述每种事件类型的事件记录;其中,一个事件类型对应的事件记录模板用于记录该事件类型的关键句的事件元素;

其中,所述分类算法用于限定所述每种事件类型的关键句中所包含所述每种事件类型的核心事件元素的数量和/或所述每种事件类型的全部事件元素的数量,所述用分类算法分别获取每种事件类型的关键句,包括:基于所述每种事件类型的核心事件元素的数量和/或所述每种事件类型的全部事件元素的数量,确定所述每种事件类型的关键句。

2.根据权利要求1所述的方法,其特征在于,所述分类算法采用预设规则;

根据所述文本信息中每个句子的事件元素,采用分类算法分别获取每种事件类型的关键句,包括:获取所述每种事件类型的核心事件元素和其他事件元素;

将所述文本信息中,满足第一事件类型的预设规则的句子,确定为所述第一事件类型的关键句,所述第一事件类型的预设规则包括:包含的所述第一事件类型的核心事件元素数量大于或等于第一阈值,且包含的全部事件元素的数量大于或等于第二阈值;所述第一事件类型为任一事件类型。

3.根据权利要求1所述的方法,其特征在于,所述分类算法采用关键句识别模型;

根据所述文本信息中每个句子的事件元素,采用分类算法分别获取每种事件类型的关键句,包括:将所述事件类型和所述文本信息中每个句子的特征集合,输入所述关键句识别模型中,获取所述关键句识别模型输出的事件类型的关键句,所述特征集合包括句子索引、长度、事件元素数目、核心事件元素数目以及其他事件元素数目中的一项或多项。

4.根据权利要求2或3所述的方法,其特征在于,所述获取文本信息中包括的事件类型,包括:将所述文本信息输入文本分类模型,获取所述文本信息中包含M种事件类型中每种目标事件类型的概率;M为正整数;

将概率大于或等于预设概率的事件类型,确定为所述文本信息中包括的事件类型。

5.根据权利要求4所述的方法,其特征在于,将所述文本信息输入文本分类模型,获取所述文本信息中包含M种事件类型中每种目标事件类型的概率,包括:采用预训练模型计算所述文本信息中每个句子的全部字符的嵌入向量;

根据所述每个句子的全部字符的嵌入向量,确定所述文本信息的嵌入向量;

根据所述文本信息的嵌入向量,确定所述文本信息中包含M种事件的概率。

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

若一个事件类型的关键句中,缺少所述一个事件类型的事件记录模板中的第一事件元素,从所述一个事件类型的关键句的上下文中获取所述第一事件元素。

7.一种基于词汇增强的事件抽取装置,其特征在于,包括:

获取模块,用于获取文本信息中包含的事件类型,一个所述事件类型用于指示一个目标事件;

抽取模块,用于采用事件元素抽取模型,获取所述文本信息中每个句子的事件元素,其中,所述事件元素抽取模型基于词汇增强模型对字符向量及词语向量进行上下文编码,所述词语向量是基于外部语料采用词向量模型获取,所述上下文编码采用相对位置编码;

关键句识别模块,用于根据所述文本信息中每个句子的事件元素,采用分类算法分别获取每种事件类型的关键句;

填充模块,用于将所述每种事件类型的关键句的事件元素,分别填充至所述每种事件类型对应的事件记录模板中,得到所述每种事件类型的事件记录;其中,一个事件类型对应的事件记录模板用于记录该事件类型的关键句的事件元素;

其中,所述分类算法用于限定所述每种事件类型的关键句中所包含所述每种事件类型的核心事件元素的数量和/或所述每种事件类型的全部事件元素的数量,所述关键句识别模块,具体用于基于所述每种事件类型的核心事件元素的数量和/或所述每种事件类型的全部事件元素的数量,确定所述每种事件类型的关键句。

8.根据权利要求7所述的装置,其特征在于,所述分类算法采用预设规则;所述关键句识别模块具体用于:获取所述每种事件类型的核心事件元素和其他事件元素;

将所述文本信息中,满足第一事件类型的预设规则的句子,确定为所述第一事件类型的关键句,所述第一事件类型的预设规则包括:包含的所述第一事件类型的核心事件元素数量大于或等于第一阈值,且包含的全部事件元素的数量大于或等于第二阈值;所述第一事件类型为任一事件类型。

9.根据权利要求7所述的装置,其特征在于,所述分类算法采用关键句识别模型;所述关键句识别模块具体用于:将所述事件类型和所述文本信息中每个句子的特征集合输入所述关键句识别模型中,获取所述关键句识别模型输出的事件类型的关键句,所述特征集合包括句子索引、长度、事件元素数目、核心事件元素数目以及其他事件元素数目中的一项或多项。

10.根据权利要求8或9所述的装置,其特征在于,所述获取模块具体用于:将所述文本信息输入文本分类模型,获取所述文本信息中包含M种事件类型中每种目标事件类型的概率;M为正整数;

将概率大于或等于预设概率的事件类型,确定为所述文本信息中包括的事件类型。

11.一种基于词汇增强的事件抽取装置,其特征在于,包括:

一个或多个处理器;

一个或多个存储器;

其中,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述基于词汇增强的事件抽取装置执行权利要求1至6任一项所述的方法。

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行权利要求1至6任一项所述的方法。

说明书 :

一种基于词汇增强的事件抽取方法、装置及存储介质

技术领域

[0001] 本申请涉及自然语言处理技术领域,更具体地,涉及一种基于词汇增强的事件抽取方法、装置及存储介质。

背景技术

[0002] 事件抽取是自然语言处理领域的重要任务之一。该任务是从文本中自动抽取事件信息,包括事件涉及的人物、机构、发生时间、发生地点、事件名称以及相应的事件描述等。
[0003] 现有的事件抽取系统大多采用来自变换器的双向编码器表征量(Bidirectional Encoder Representations from Transformer,BERT)对文本进行表征,由于BERT的通用性,BERT是对针对所有语言设计的,没有专门针对中文语料设计,无法利用中文语料中的词语信息和领域词典的实体信息,从而导致事件抽取的结果与理想的结果不同。
[0004] 因此,如何提高事件抽取系统的性能,是业界丞待解决的问题。

发明内容

[0005] 本申请提供一种基于词汇增强的事件抽取方法、装置及存储介质,能够提高事件抽取系统的性能,从而提高事件抽取结果的准确性。
[0006] 第一方面,提供一种基于词汇增强的事件抽取方法,包括:获取文本信息中包含的事件类型,一个事件类型用于指示一个目标事件;采用事件元素抽取模型,获取文本信息中每个句子的事件元素;根据文本信息中每个句子的事件元素,采用分类算法分别获取每种事件类型的关键句;将每种事件类型的关键句的事件元素,分别填充至每种事件类型对应的事件记录模板中,得到每种事件类型的事件记录;其中,一个事件类型对应的事件记录模板用于记录该事件类型的关键句的事件元素。其中,事件元素抽取模型中基于词汇增强模型对字符向量及词语向量进行上下文编码,词语向量是基于外部语料采用词向量模型获取,上下文编码采用相对位置编码,一个事件类型对应的事件记录模板用于记录该事件类型的关键句的事件元素。
[0007] 基于本申请提供的技术方案,至少可以产生以下有益效果:本申请通过事件元素抽取模型获取文本信息中每个句子包含的事件元素,根据文本信息中包含的事件类型获取每种事件类型对应的关键句,将每种事件类型对应的关键句的事件元素,填充至每种事件类型对应的事件记录模板中,就可以得到每种事件类型的事件记录。由于本申请中的事件元素抽取模型中融合了词汇增强模型,引入了中文词语信息,将字符向量和词语向量相结合,利用相对位置编码获取字符向量和词语向量之间的位置信息,提高了处理中文文本信息时抽取的事件元素的准确度,使事件抽取的结果更符合对于中文文本信息识别的实际需求,提高了事件抽取结果的准确性,从而提高了事件抽取系统的性能。同时增加了关键句识别步骤,当文本信息为篇章级文本时,通过获取文本信息中包含的每种事件类型对应的关键句,由于关键句可以体现每种事件类型包含的核心事件元素,可以仅根据事件类型对应的关键句获取事件类型对应的事件记录,无需从全部的文本信息中提取,将处理过程简单化,解决了篇章级文本事件抽取问题,从而进一步提高了事件抽取系统的性能。
[0008] 可选的,当分类算法采用预设规则时,根据文本信息中每个句子的事件元素,采用分类算法分别获取每种事件类型的关键句,包括:获取每种事件类型的核心事件元素和其他事件元素;将文本信息中,满足第一事件类型的预设规则的句子,确定为第一事件类型的关键句,第一事件类型的预设规则包括:包含的第一事件类型的核心事件元素数量大于或等于第一阈值,且包含的全部事件元素的数量大于或等于第二阈值;第一事件类型为任一事件类型。通过采用预设规则,减少模型训练的过程,提高处理效率。
[0009] 可选的,当分类算法采用关键句识别模型时,根据文本信息中每个句子的事件元素,采用分类算法分别获取每种事件类型的关键句,包括:将事件类型和文本信息中每个句子的特征集合,输入关键句识别模型中,获取关键句识别模型输出的事件类型的关键句,特征集合包括句子索引、长度、事件元素数目、核心事件元素数目以及其他事件元素数目中的一项或多项。通过采用关键句识别模型,节省识别时间,更加方便快捷。
[0010] 可选的,获取文本信息中包括的事件类型,包括:将文本信息输入文本分类模型,获取文本信息中包含M种事件类型中每种目标事件类型的概率;M为正整数;将概率大于或等于预设概率的事件类型,确定为文本信息中包括的事件类型。将概率大于或等于预设概率的事件类型保留下来,作为本文信息包括的事件类型,也即将概率小于预设概率的事件类型剔除,为后续处理节省了不必要的繁琐。
[0011] 可选的,将文本信息输入文本分类模型,获取文本信息中包含M种事件类型中每种目标事件类型的概率,包括:采用预训练模型计算文本信息中每个句子的全部字符的嵌入向量;根据每个句子的全部字符的嵌入向量,确定文本信息的嵌入向量;根据文本信息的嵌入向量,确定文本信息中包含M种事件的概率。
[0012] 可选的,在进行填充时,若一个事件类型的关键句中,缺少一个事件类型的事件记录模板中的第一事件元素,从一个事件类型的关键句的上下文中获取第一事件元素。由于事件类型关键句的上下文与关键句衔接最紧密。因此,从关键句的上下文中寻找第一事件元素,可以较为准确的获取第一事件元素。
[0013] 其中,关键句的上下文可以为关键句的前N句和/或后X句,N为大于或等于1的整数,X为大于或等于1的整数。
[0014] 可选的,词汇增强模型包括FLAT模型,词向量模型包括Wor2Vec模型。通过采用FLAT模型来代替传统命名实体识别模型中的BiLSTM模块,可以有效地加入中文词汇信息,利用外部词汇信息可以极大地提升事件抽取系统的性能。
[0015] 可选的,通过相对位置编码可以更好的学习字符和词语之间的距离信息,极大地提升事件元素抽取模型的性能。
[0016] 可选的,文本分类模型在训练过程中进行Fine‑tuning,以更好的学习任务语料的嵌入向量。
[0017] 第二方面,提供一种基于词汇增强的事件抽取装置,包括获取模块、抽取模块、关键句识别模块以及填充模块,其中:
[0018] 获取模块,用于获取文本信息中包含的事件类型,一个事件类型用于指示一个目标事件;
[0019] 抽取模块,用于采用事件元素抽取模型,获取文本信息中每个句子的事件元素,其中,事件元素抽取模型基于词汇增强模型对字符向量及词语向量进行上下文编码,词语向量是基于外部语料采用词向量模型获取,上下文编码采用相对位置编码;
[0020] 关键句识别模块,用于根据文本信息中每个句子的事件元素,采用分类算法分别获取每种事件类型的关键句;
[0021] 填充模块,用于将每种事件类型的关键句的事件元素,分别填充至每种事件类型对应的事件记录模板中,得到每种事件类型的事件记录;其中,一个事件类型对应的事件记录模板用于记录该事件类型的关键句的事件元素。
[0022] 可选的,当分类算法采用预设规则时,关键句识别模块具体用于:获取每种事件类型的核心事件元素和其他事件元素;将文本信息中,满足第一事件类型的预设规则的句子,确定为第一事件类型的关键句。其中,第一事件类型的预设规则包括:包含的第一事件类型的核心事件元素数量大于或等于第一阈值,且包含的全部事件元素的数量大于或等于第二阈值;第一事件类型为任一事件类型中的一项或多项。
[0023] 可选的,当分类算法采用关键句识别模型时,关键句识别模块具体用于:将事件类型和文本信息中每个句子的特征集合输入关键句识别模型中,获取关键句识别模型输出的事件类型的关键句,特征集合包括句子索引、长度、事件元素数目、核心事件元素数目以及其他事件元素数目中一项或多项。
[0024] 可选的,获取模块,具体用于将文本信息输入文本分类模型,获取文本信息中包含M种事件类型中每种目标事件类型的概率;M为正整数;将概率大于或等于预设概率的事件类型,确定为文本信息中包括的事件类型。
[0025] 可选的,获取模块,具体用于采用预训练模型计算文本信息中每个句子的全部字符的嵌入向量;根据每个句子的全部字符的嵌入向量,确定文本信息的嵌入向量;根据文本信息的嵌入向量,确定文本信息中包含M种事件的概率。
[0026] 可选的,填充模块,还用于若一个事件类型的关键句中,缺少一个事件类型的事件记录模板中的第一事件元素,从一个事件类型的关键句的上下文中获取第一事件元素。
[0027] 可选的,词汇增强模型包括FLAT模型,词向量模型包括Wor2Vec模型。
[0028] 需要说明的是,本申请第二方面提供的装置,用于执行上述第一方面或任一种可能的实现提供的方法,具体实现可以参考上述第一方面或任一种可能的实现提供的方法,此处不再赘述。
[0029] 第三方面,提供一种基于词汇增强的事件元素抽取装置,包括:一个或多个处理器;一个或多个存储器;其中,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,基于词汇增强的事件元素抽取装置执行上述第一方面及其可选的方法。
[0030] 第四方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行上述第一方面及其可选的方法。
[0031] 本申请中第二方面至第四方面的描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。

附图说明

[0032] 图1为本申请实施例提供的一种事件抽取系统的结构示意图;
[0033] 图2为本申请实施例提供的一种计算装置的结构图;
[0034] 图3为本申请实施例提供的一种基于词汇增强的事件抽取方法的流程示意图;
[0035] 图4为本申请实施例提供的另一种基于词汇增强的事件抽取方法的流程示意图;
[0036] 图5为本申请实施例提供的一种获取事件类型的方法的流程示意图;
[0037] 图6为本申请实施例提供的一种事件抽取模型的算法框架图;
[0038] 图7为本申请实施例提供的一种获取事件元素的方法的流程示意图;
[0039] 图8本申请实施例提供的一种基于词汇增强的事件抽取装置的组成示意图。

具体实施方式

[0040] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0041] 在本申请的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
[0042] 需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
[0043] 此处先对本申请涉及的相关技术术语进行解释说明。
[0044] 1、事件抽取:从非结构化的文本中,将目标事件(如:股权质押)中我们感兴趣的事件元素(人名、机构名、金额、时间等)抽取出来,组成一条事件记录。
[0045] 2、事件类型:反映事件元素(实体)在事件中的信息类型。
[0046] 3、事件元素(实体):反映文本信息中包含的事件要素。
[0047] 4、命名实体识别(Named Entity Recognition,NER):是信息提取、问答系统、句法分析、机器翻译等应用领域的重要基础工具,在自然语言处理技术走向实用化的过程中占有重要地位。一般来说,命名实体识别的任务就是识别出待处理文本中三大类(实体类、时间类和数字类)、七小类(人名、机构名、地名、时间、日期、货币和百分比)命名实体。
[0048] 5、词汇增强:一种中文命名实体识别算法,在识别实体时引入中文的词语信息,以提升命名实体识别的性能。
[0049] 6、BERT模型:一种语言模型,利用大规模无标注语料训练获得目标文本的语义表示,然后将文本的语义表示在特定NLP(Nature Language Procession,自然语言处理)任务中作微调后最终应用于该NLP任务。
[0050] 7、文本分类模型:输入为待分类的文本信息,输出预测得到的文本信息中包括的事件类型。
[0051] 8、嵌入向量:将一个单词转换成固定长度的向量表示,从而便于进行数学处理。
[0052] 9、word2vec模型:是从大量文本中以无监督学习的方式学习语义知识的模型,其本质就是通过学习文本来用词向量的方式表征词的语义信息,通过嵌入空间将语义上相似的单词映射到距离相近的地方。即将单词从原先所属的空间映射到新的多维空间中。
[0053] 10、预训练模型:深度学习架构,已经过训练以执行大量数据上的特定任务(例如,识别图片中的分类、语义的识别等问题),在训练结束时确定比较好的一组权重值,研究人员分享出来供其他人使用,以提高后续模型训练效率。
[0054] 11、微调(Fine‑tuning):预训练模型的模型结构不变,将所有的权重随机初始化,根据自己的数据集进行训练。
[0055] 由于本申请实施例涉及大量模型,各个模型可以采用深度学习模型或机器学习模型实现,例如采用神经网络实现,为了便于理解,下面对神经网络等相关概念进行介绍。
[0056] 1、神经网络(neural network,NN)
[0057] 神经网络是机器学习模型,是一种模拟人脑的神经网络以能够实现类人工智能的机器学习技术。可以根据实际需求配置神经网络的输入及输出,并通过样本数据对神经网络训练,以使得其输出与样本数据对应的真实输出的误差最小。神经网络可以是由神经单元组成的,神经单元可以是指以 和截距1为输入的运算单元,该运算单元的输出可以为:
[0058]
[0059] 其中,s=1、2、……n,n为大于1的自然数, 为 的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
[0060] 2、深度神经网络
[0061] 深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式: ,其中, 是输入向量, 是输出向量,b是偏移向量,W是权重矩阵(也称系数), 是激活函数。
每一层仅仅是对输入向量 经过如此简单的操作得到输出向量 。由于DNN层数多,则系数W和偏移向量 的数量也就很多了。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为
。上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
总结就是:第L−1层的第k个神经元到第L层的第j个神经元的系数定义为 。需要注意的
是,输入层是没有 参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
[0062] 3、卷积神经网络
[0063] CNN是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
[0064] 卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
[0065] 4、循环神经网络(recurrent neural networks,RNN)是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,RNN能够对任何长度的序列数据进行处理。对于RNN的训练和对传统的CNN或DNN的训练一样。同样使用误差反向传播算法,不过有一点区别:即,如果将RNN进行网络展开,那么其中的参数,如W,是共享的;而如上举例上述的传统神经网络却不是这样。并且在使用梯度下降算法中,每一步的输出不仅依赖当前步的网络,还依赖前面若干步网络的状态。该学习算法称为基于时间的反向传播算法Back propagation Through Time (BPTT)。
[0066] 5、损失函数
[0067] 在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
[0068] 如背景技术所述,现有的事件抽取系统大多采用BERT对文本进行表征,由于BERT的通用性,BERT是对针对所有语言设计的,没有专门针对中文语料设计,无法利用中文语料中的词语信息,从而导致事件抽取的结果与理想的结果不同。
[0069] 基于上述问题,本申请提供了一种基于词汇增强的事件抽取方法,通过事件元素抽取模型获取文本信息中每个句子包含的事件元素,根据文本信息中包含的事件类型获取每种事件类型对应的关键句,将每种事件类型对应的关键句的事件元素,填充至每种事件类型对应的事件记录模板中,就可以得到每种事件类型的事件记录。由于本申请中的事件元素抽取模型中融合了词汇增强模型,引入了中文词语信息,将字符向量和词语向量相结合,利用相对位置编码获取字符向量和词语向量之间的位置信息,提高了处理中文文本信息时抽取的事件元素的准确度,使事件抽取的结果更符合对于中文文本信息识别的实际需求,提高了事件抽取结果的准确性,从而提高了事件抽取系统的性能。同时增加了关键句识别,当文本信息为篇章级文本时,通过获取文本信息中包含的每种事件类型对应的关键句,由于关键句可以体现每种事件类型包含的核心事件元素,可以仅根据事件类型对应的关键句获取事件类型对应的事件记录,无需从全部的文本信息中提取,将处理过程简单化,解决了篇章级文本抽取问题,从而进一步提高了事件抽取系统的性能。
[0070] 如图1所示,本申请实施例提供了一种事件抽取系统的示意图。该事件抽取系统包括:服务器110、终端设备120以及数据库130。其中,服务器110、终端设备120以及数据库130之间相互连接。
[0071] 服务器110可以用于管理资源,以及处理来自本系统至少一个组件或外部数据源(例如,云数据中心)的数据和/或信息。例如,服务器110可以获取来自终端设备120上传的文本信息,从文本信息中抽取事件,并将事件抽取结果返回给终端设备120。
[0072] 在一些实施例中,服务器110可以是一个单个的服务器或者一个服务器群。服务器群可以是集中式的或分布式的(例如,服务器110可以是一分布式的系统)。在一些实施例中,服务器110可以是本地的或远程的。在一些实施例中,服务器110可以在一个云端平台上实现,或者以虚拟方式提供。仅仅作为示例,云端平台可以包括私有云、公共云、混合云、社区云、分布云、跨云、多云等或上述举例的任意组合。在一些实施例中,服务器110可以在一个计算设备上实现,该计算设备可以包括一个或多个部件。
[0073] 终端设备120可以用于输入数据和信息,和/或,获取数据和信息。例如,用户可以通过终端设备120输入要公告的文章或信息等。
[0074] 在一些实施例中,终端设备120可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra‑mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等。
[0075] 数据库130可以用于储存数据和/或指令。例如,可以存储本说明书相关模型的训练数据,或者存储训练好的模型参数,又或者可以存储抽取得到的事件及其相关事件元素。在一些实施例中,数据库130可以在单个中央服务器、通过通信链路连接的多个服务器或多个个人设备中实现。
[0076] 在一些实施例中,数据库130可以包括大容量存储器、可移动存储器、挥发性读写存储器(例如,随机存取存储器(RAM)、只读存储器(ROM)等或上述举例的任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。在一些实施例中,数据库130可以在一个云端平台上实现。仅仅作为示例,云端平台可以包括私有云、公共云、混合云、社区云、分布云、跨云、多云等或上述举例的任意组合。
[0077] 上述服务器110和终端设备120的基本硬件结构类似,都包括图2所示计算装置所包括的元件。下面以图2所示的计算装置为例,介绍服务器110和终端设备120的硬件结构。
[0078] 如图2所示,计算装置可以包括处理器21,存储器22、通信接口23、总线24。处理器21,存储器22以及通信接口23之间可以通过总线24连接。
[0079] 处理器21是计算装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器21可以是一个通用CPU,也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
[0080] 作为一种实施例,处理器21可以包括一个或多个CPU,例如图2中所示的CPU 0和CPU 1。
[0081] 存储器22可以是只读存储器(read‑only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read‑only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0082] 一种可能的实现方式中,存储器22可以独立于处理器21存在,存储器22可以通过总线24与处理器21相连接,用于存储指令或者程序代码。处理器21调用并执行存储器22中存储的指令或程序代码时,能够实现本公开下述实施例提供的高度检测方法。
[0083] 在本公开实施例中,对于服务器110和终端设备120而言,存储器22中存储的软件程序不同,所以服务器110和终端设备120实现的功能不同。关于各设备所执行的功能将结合下面的流程图进行描述。
[0084] 另一种可能的实现方式中,存储器22也可以和处理器21集成在一起。
[0085] 通信接口23,用于计算装置与其他设备通过通信网络连接,所述通信网络可以是以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。通信接口23可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
[0086] 总线24,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0087] 需要指出的是,图2中示出的结构并不构成对该计算装置的限定,除图2所示部件之外,该计算装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0088] 下面结合说明书附图,对本申请提供的实施例进行具体介绍。
[0089] 本申请实施例提供的基于词汇增强的事件抽取方法可以由事件抽取装置来执行,该事件抽取装置可以为图1所示的事件抽取系统中的服务器110,或者服务器110的处理器。
[0090] 如图3所示,本申请实施例提供了一种基于词汇增强的事件抽取方法,该方法包括以下步骤:
[0091] S101、事件抽取装置获取文本信息中包含的事件类型。
[0092] 其中,文本信息可以为一个句子,或者为两个或两个以上的句子构成的篇章级文本。
[0093] 句子是指由词、词组(短语)构成的,可以表达一个完整意思的文本。在一些实施例中,句子可以包括但不限于汉字、字符、符号、数字等一种或多种。
[0094] 例如,文本信息可以为与股市行情、物价上涨、通货膨胀、市场经济等主题相关的文章。当然,文本信息可以为各种行业或专业领域的文章,本申请实施例对此不做限制。
[0095] 在一些实施例中,文本信息可以包括新闻资讯、官方通知/公告、研究报告等类型的文章。
[0096] 可选的,文本信息可以是服务器从终端设备120和/或数据库130等中获取的,或者,文本信息还可以是服务器从开源数据库中获取的。例如,服务器可以从公众号、期刊、报纸、杂志、新闻播报、博客、数据库等渠道获取文本信息。
[0097] 可选的,一个文本信息中可以包括一个或多个事件类型,一个事件类型用于指示一个目标事件。
[0098] 其中,事件类型可以根据用户的需求而定,本申请实施例不予具体限定。例如,事件类型可以是“股权质押”“发生火灾”、“组织春游”、“举办足球比赛”等等。
[0099] 作为一种可能的实现方式,如图4所示,可以通过步骤S1011‑S1012获取文本信息中包括的事件类型:
[0100] S1011、将文本信息输入文本分类模型,获取文本信息中包含M种事件类型中每种目标事件类型的概率,M为正整数。
[0101] 其中,本申请实施例中的文本分类模型是用于根据事件类型对文本信息进行分类并预测文本信息包含事件类型的概率的机器学习模型。文本分类模型的事件类型可以预先被设定,其分类规则和方法可通过模型训练进行优化,本申请实施例对于文本分类模型的具体实现不予限定。
[0102] 在本申请实施例中,文本分类模型可以是在获取文本信息之前,根据训练集预先训练好的模型,也可以是在接收到文本信息后,从数据库130中获取训练集进行实时训练的模型。
[0103] 可选的,本申请实施例中的文本分类模型优选采用BERT模型,当然也可以采用其它任意合适的文本分类模型,本发明并不对采用的文本分类模型的类型作任何限定。
[0104] 可选的,将文本信息输入文本分类模型之后,文本分类模型对文本信息进行处理,并得到文本信息中包含M种事件类型中每种目标事件类型的概率。
[0105] 下面对文本分类模型的处理过程进行简要介绍:
[0106] 步骤1、采用预训练模型,计算文本信息中每个句子的全部字符的嵌入向量。
[0107] 其中,预训练模型是深度学习架构,已经过训练以执行大量数据上的特定任务(例如,识别图片中的分类、语义的识别等问题),在训练结束时确定比较好的一组权重值,研究人员分享出来供其他人使用,以提高后续模型训练效率。
[0108] 针对预训练模型,该模型的参数不再是随机初始化,而是先有一个任务进行训练得到一套模型参数,然后用这套参数对模型进行初始化,再进行训练,自重词向量也可以看成是第一层即嵌入层进行了预训练,在无需再修改其网络结构加快语言模型的获取效率。
[0109] 在本申请实施例中,预训练模型优选采用bert预训练模型。
[0110] 可选的,通过 计算文本信息中每个句子的全部字符的嵌入向量,其中, 表示文本信息中第i个句子中第k个字符的嵌入向量,bert表示预训练模型, 表示文本信息中第i个句子中的第k个字符。
[0111] 步骤2、根据每个句子的全部字符的嵌入向量,确定文本信息的嵌入向量。
[0112] 可选的,根据每个句子的全部字符的嵌入向量,首先确定每个句子的嵌入向量,进而,根据每个句子的嵌入向量确定整篇文本信息的嵌入向量。
[0113] 优选的,利用最大池化层算法计算每个句子的嵌入向量和整篇文本信息的嵌入向量。
[0114] 示例性的,根据 确定每个句子的嵌入向量,其中,表示文本信息中第i个句子的嵌入向量。根据 确定文本信息的嵌入向量,其中,e表示文
本信息的嵌入向量,表示文本信息中第N个句子的嵌入向量。
[0115] 应理解,和e均属于d维向量。
[0116] 步骤3、根据文本信息的嵌入向量,确定文本信息中包含M种事件的概率。
[0117] 可选的,根据公式 确定文本信息中包含M种事件的概率,其中,W表示映射矩阵,b表示截距,e表示文本信息的嵌入表征,σ表示sigmoid函数。
[0118] 其中,映射矩阵W和截距b是利用Adam算法迭代收敛得到,本申请实施例在此不再进行详细描述。
[0119] 在本申请实施例中,文本分类模型在训练过程中采用Fine‑tunning的方式进行训练,以便更好的学习文本信息的嵌入向量。
[0120] S1012、将概率大于或等于预设概率的事件类型,确定为文本信息中包括的事件类型。
[0121] 可选的,文本信息中包括的事件类型的数目可能为0,也可能为1,或者两个及两个以上。
[0122] 示例性的,当文本信息中不存在概率大于或等于预设概率的事件类型时,文本信息中包括的事件类型的数目为0。
[0123] 可选的,得到的事件类型对应的概率越大,表示文本信息包含该事件类型的可能性越高;得到的事件类型对应的概率越小,表示文本信息包含该事件类型的可能性越低。因此,将概率大于或等于预设概率的事件类型确定为文本信息包含的事件类型。
[0124] 在本申请实施例中,预设概率可以是用户根据需求实际确定的。当用户想要获取更多额事件类型时,可以将预设概率设置的较小,当用户想要获取更准确的事件类型时,可以将预设概率设置的偏大一些。
[0125] 可选的,在本申请实施例中,预设概率可以设置为0.5。
[0126] 示例性的,某一文本信息经文本分类模型处理后,得到的各个事件类型的概率为:事件类型“股权质押”的概率为0.9,事件类型“股权变更”的概率为0.7,事件类型“发生火灾”的概率的0.1,假设预设概率设置为0.5,则将事件类型:股权质押和股权变更,确定为该文本信息中包括的事件类型。
[0127] 下面结合具体实施例介绍文本信息中事件类型的获取过程,如图5所示:
[0128] 当事件抽取装置获取到文本信息时,将文本信息包括的N个句子输入到文本分类模型中,通过文本分类模型计算文本信息中包含M个事件的概率,判断M个事件的概率是否大于0.5,输出事件概率大于0.5的事件类型,文本分类模型结束分类。若M个事件类型的概率均小于0.5,则不输出任何事件类型,文本分类模型结束分类。
[0129] S102、采用事件元素抽取模型,事件抽取装置获取文本信息中每个句子的事件元素。
[0130] 其中,事件元素抽取模型基于词汇增强模型对字符向量及词语向量进行上下文编码。
[0131] 值得注意的是,本申请实施例中的事件元素抽取模型是在传统的命名实体识别模型的基础上结合词汇增强模型得到的。当然,事件元素抽取模型可以是通过训练集预先训练好的,也可以是在初次接收到文本信息时通过训练集及时训练的,本申请实施例在此不做限定。
[0132] 可选的,词汇增强可以看作是一种融入外部知识库的方法,传统的命名实体识别方法都是在挖掘输入文本中的特征,比如词性、上下位字符、依存关系等等,而词汇增强则通过外部的词典,加入了不能从文本中直接挖掘出来的信息,可以更准确的获取文本中包含的事件元素,从而能够提高本申请实施例中事件元素抽取模型的抽取性能。
[0133] 其中,词汇增强模型根据融合词语信息的方式不同又可以分为动态框架(Dynamic Architecture)和自适应编码(Adaptive Embedding)。其中,Dynamic Architecture主要通过设计一个能够兼容词语输入的动态框架。Adaptive Embedding主要基于词语信息,构建自适应编码,在编码过程中,融入词语信息。
[0134] 进一步的,Dynamic Architecture又分为Lattice LSTM模型,MG Lattice LSTM模型,LR‑CNN模型,CGN模型以及FLAT模型等。Adaptive Embedding主要包括Simple‑Lexicon模型、Muliti‑disgraph模型以及WC‑LSTM模型。
[0135] 可选的,由于FLAT模型没有设计或改变原生编码结构,通过设置位置向量就融合了词语信息,相较于其他词汇增强模型,FLAT模型的结构简单,输出结果准确,输出效率高,因此,本申请实施例中的词汇增强模型优选采用FLAT模型。
[0136] 可选的,FLAT模型中的词语向量是基于外部语料采用词向量模型获取的。
[0137] 其中,词向量(word embedding)模型是将单词从一维空间映射成更低维度的稠密向量,即单词通过向量表示,形成向量空间,将文字信息嵌入到数学空间中,可用作底层输入表示,属于词嵌入层。另外,训练字、词向量的语料要与研究领域数据紧密结合,数据量丰富且全面。
[0138] 词向量模型包括LSA矩阵分解模型、PLSA潜在语义分析概率模型、LDA文档生成模型以及Word2Vector模型。
[0139] 可选的,由于词向量模型中的word2vec模型训练速度快、使用广泛、效果较好,可以采用word2vec模型训练外部语料数据的字、词向量,字向量用于表征字符序列信息,词向量用于表征词序列信息。
[0140] 进一步的,word2vec模型又包括CBOW模型和Skip‑gram模型,其中心思想是一个词的含义可用其周围词来表示。
[0141] 其中,CBOW模型的目标是根据上下文来预测当前词语的概率。Skip‑gram模型的目标是根据当前词语来预测上下文的概率。这两种模型都是利用人工神经网络作为它们的分类算法,起初,每个单词都是一个随机N维向量,经过训练之后,该算法利用CBOW模型或者Skip‑gram 模型获得了每个单词的最优向量。在本申请实施例中,对word2vec模型的具体实现方式不做限定。
[0142] 下面对事件元素抽取模型的具体实现过程进行简要介绍:
[0143] 步骤一、通过特征提取获取字符向量、词语向量以及位置向量。
[0144] 可选的,对于文本信息序列s,本申请实施例使用BERT的Tokenizer模块来对输入序列“[CLS]+字符序列+[SEP]”进行编码,从而得到每个字符的字符向量 ,并将其作为事件抽取模型的输入。其中,[CLS]和[SEP]是句子分隔标志。
[0145] 具体的,每个字符的字符向量可以采用公式(1)得到:
[0146]   公式(1)
[0147] 对于词语向量,预先利用外部语料训练word2vec模型,得到与外部语料中每个分词对应的初始词向量集合。其中,外部语料表示经科学取样和加工的大规模电子文本库。
[0148] 进一步的,将初始词向量集合存储在事件抽取系统中,当获取到一篇新的文本信息后,将文本分句分词后,将分词结果与预先存储的外部词向量集合进行匹配对比,得到每个句子包含的词语序列w,通过lookup查表的方式,从外部词向量集合中获取词语向量,并将其作为事件抽取模型的输入。
[0149] 具体的,词语向量 可以采用公式(2)得到:
[0150]  公式(2)
[0151] 对于位置向量,首先将每个句子中的文本信息序列s和词语序列w拼接,得到序列“[CLS]+字符序列+[SEP]+词语序列+[SEP]”,该序列中即包含字符向量又包含词语向量。
[0152] 本申请实施例提出使用相对位置编码来提取字符和词语的位置信息,来控制词语信息和字符信息的融合,
[0153] 下面对相对位置编码进行简要介绍:针对句子中任意两个字符或词语:和 ,采用以下四个公式来计算两个字符或词语的相对位置关系:
[0154]
[0155] 其中,head[i]和tail[i]表示第i个字符或者词语向量 的头尾位置,head[j]和tail[j] 表示第j个字符或者词语向量 的头尾位置, 表示 的开始位置到
的开始位置的距离, 表示 的开始位置到 的结束位置的距离, 表示
的结束位置到 的开始位置的距离, 表示 的结束位置到 的结束位置的距离。
[0156] 其中,任意两个字符或者词语向量 和 之间的位置编码 可以由公式(3)表示,其具体由4个相对距离 、 、 和 以绝对位置编码形式拼接后经过
一个激活函数为ReLU的全连接得到:
[0157]     公式(3)
[0158] 其中, 是一个待训练参数,表示拼接, , , d指代 、 、 和 ,k是位置编码向量内部的维度索引(k∈[0,( )/
2]), ( 是多头注意力机制每一头的维度,总共H头)。
[0159] 步骤二、利用自注意力机制进行词汇增强和上下文表征。
[0160] 可选的,由于词语信息有利于识别事件元素等实体的边界,例如:董事这个词代表了某个人的职位,因此可以使用词语信息对相应的字符信息进行补充。
[0161] 可选的,本申请实施例提出一种引入相对位置编码的自注意力机制来实现词语信息和字符信息的融合,同时提取上下文特征,完成对整个句子语义的表征。首先,将字符序列s和词语序列w拼接,得到新的输入序列 ,然后通过公式(3)计算序列中每个元素两两之间的位置编码,最终将序列向量 和位置编码向量 输入事件元素
抽取模型,通过自注意力机制计算两个字符或词语之间的语义相似性矩阵,从而将外部词语信息引入到字符信息中,来更好的识别我们感兴趣的事件元素。
[0162] 可选的,基于位置编码向量 的自注意力机制满足下述公式(4)、(5)、(6):
[0163]   公式(4)
[0164]   公式(5)
[0165]   公式(6)
[0166] 其中, 表示待训练的参数, 的前两项表示两个字符或者词语之间的语义交互和位置交互,后两项为全局内容偏置和全局位置偏置,Q、K、V表示经序列向量 处理后得到的向量。
[0167] 此外,除了通过位置编码的方式实现字符信息和词语信息的融合,还可以通过门控机制或线性映射的方式直接实现字符和词语信息的融合,然后利用BiLSTM、Transformer等编码器提取上下文特征。
[0168] 可选的,对于给定文本信息序列s,及字符向量 ,通过匹配外部词语向量,匹配得到词语序列w和词语向量 。假设文本序列中位于位置[i:j]的字符可以和外部词语向量相匹配,则可以通过门控机制或线性映射的方式实现词汇增强。
[0169] 具体的,门控机制的计算公式如下:
[0170]   公式(7)
[0171] 其中, 表示经过词汇增强后的字符特征, 表示文本信息序列s中位于位置[i:j]的字符向量, 表示字符向量 匹配的词语向量,W和b表示可学习的参数,σ表
示sigmoid函数。线性映射的计算公式如下:
[0172]   公式(8)
[0173] 其中, 表示经过词汇增强后的字符特征, 表示文本信息序列s中位于位置[i:j]的字符向量, 表示字符向量 匹配的词语向量,W和b表示可学习的参数,σ
表示sigmoid函数。
[0174] 通过以上两种方式融合后,均可利用BiLSTM、Transformer等编码器提取上下文特征,得到最终的表征结果。
[0175] 步骤三、标签解码层预测输入序列的最佳标签序列,并提取事件元素
[0176] 本申请实施例使用线性链条件随机场来对标签分数进行解码。条件随机场通过上下文编码层获取的分数矩阵和自身的条件概率矩阵来计算和预测某个标签序列的概率。根据条件随机场预测的字符序列的BIO标签序列,通过一定的处理,可以提取出字符序列中包含的各种事件元素。
[0177] 作为一种可能的实现方式,图6示例性地给出了一种事件元素抽取模型的算法框架。
[0178] 如图6所示,事件元素抽取模型包括前处理层610、编码层620以及解码层630。
[0179] 其中,前处理层610用于获取文本信息以及文本信息中的字符向量和词语向量。
[0180] 在一些实施例中,前处理层610可以接收来自数据库130或终端设备120的文本信息。在一些实施例中,前处理层610可以提取文本信息中的一个或多个句子,基于一个或多个句子获取其中的一个或多个字符向量和词语向量。
[0181] 编码层620用于通过相对位置编码对字符向量、词语向量以及位置向量进行编码,获取字符向量和词语向量之间的相对距离。在本申请实施例中,主要在FLAT编码模块611中进行上下位编码。
[0182] 解码层630用于获取编码层620中经FLAT编码模块611编码输出的字符向量,并对字符向量进行解码,输出文本信息中每个句子包含的事件元素。
[0183] 如图6所示,当事件元素抽取模型提取到文本信息中的一个句子为:董明先生辞去董事职务,前处理层根据该句子获取到“董”“明”“先”“生”“辞”“去”“董”“事”“职”“务”10个字符向量以及“先生”“董事”“职务”3个词语向量。10个字符向量经过BERT编码和线性层处理变换后输入至FLAT编码层611,3个词语向量经过线性层处理变换后同样输入至FLAT编码层。在FLAT编码层611中,FLAT模型对10个字符向量、3个词语向量以及字符与词语之间的位置向量进行编码,获取字符向量和词语向量之间的相对距离,最终输出字符向量至解码层630,经解码层630解码后,输出该句子包含的事件元素:董明先生、董事、职务。
[0184] 可选的,事件元素抽取模型输出的事件元素包括实体和实体类型。
[0185] 其中,实体可以用于反映文本信息中包含的事件要素。例如,实体可以包括但不限于文本信息中包含的人物、时间、地点等中的一种或多种。在一些实施例中,实体可以包括数字、词、词组等一种或多种。
[0186] 进一步的,实体类型可以反映实体在事件中的信息类型。例如,实体类型可以反映实体是属于事件中的名称、或公告时间、或受理法院、或标的金额等。
[0187] 在一些实施例中,针对某一特定的领域,如金融领域,可以预先确定若干事件以及每个事件下面的实体类型。仅作为示例,预先确定的事件可以包括“股权质押”、“破产清算”等。对于“股权质押”事件,其又可以具有“质押人”、“质押股份”、“质权人”等实体类型。对于“破产清算”事件,其进一步可以包括“受理法院”、“公司名称”、“公告事件”等实体类型。
[0188] 为了更清楚的说明本申请实施例获取事件元素的过程,图7示例性的给出了获取事件元素的流程图:
[0189] 如图7所示,事件抽取装置获取到一篇文本信息,将文本信息包含的N个句子输入到事件元素抽取模型中,经事件元素抽取模型处理,输出文本信息中每个句子包含的事件元素(包括实体和实体类型)。
[0190] S103、事件抽取装置根据文本信息中每个句子的事件元素,采用分类算法分别获取每种事件类型的关键句。
[0191] 其中,事件关键句表示事件类型在文本信息中对应的主要句子,也即包含核心事件元素的句子。
[0192] 示例性的,以股权质押为例,核心事件元素包括出质人、质押股票份额和质权人等。除核心事件元素外的事件元素称为其他事件元素,例如,开始日期、结束日期、解冻日期以及持股数目等。
[0193] 可选的,分类算法包括预设规则和关键句识别模型。
[0194] 其中,预设规则可以是人为设置的规则。关键句识别模型为预先训练好的模型。
[0195] 示例性的,关键句识别模型可以是多层感知器(Multi‑Layer Perceptron,MLP)等分类模型。
[0196] 作为一种可能的实现方式,当分类算法采用预设规则时,首先获取每种事件类型的核心事件元素和其他事件元素,然后将文本信息中,满足第一事件类型的预设规则的句子,确定为第一事件类型的关键句。
[0197] 其中,第一事件类型的预设规则包括:包含的第一事件类型的核心事件元素数量大于或等于第一阈值,且包含的全部事件元素的数量大于或等于第二阈值。第一事件类型为任一事件类型。
[0198] 应理解,随着事件类型的不同,第一阈值和第二阈值也可能不同。
[0199] 示例性的,第一事件类型为股权质押,核心事件元素包括出质人、质押股票份额和质权人,其他事件元素包括开始日期、结束日期、解冻日期以及持股数目,第一阈值为2,第二阈值为5。现文本信息中存在一句子“张先生在2022年2月10日将自己所持有的5000股中的3000股作为质押,质押给李先生”,其中,核心事件元素中出质人为张先生,质押股票份额为3000股,质权人为李先生;其他事件元素中开始日期为2022年2月10日,持股数目为5000股。由此可知,该句子中的核心事件元素为3,大于第一阈值,该句子包括5个事件元素,与第二阈值相等。因此,该句子为股权质押的关键句。
[0200] 作为另一种可能的实现方式,当分类算法采用关键句识别模型时,将事件类型和文本信息中每个句子的特征集合输入关键句识别模型中,获取关键句识别模型输出的事件类型的关键句。
[0201] 其中,特征集合包括句子索引、长度、事件元素数目、核心事件元素数目以及其他事件元素数目中的一项或多项。
[0202] S104、事件抽取装置将每种事件类型的关键句的事件元素,分别填充至每种事件类型对应的事件记录模板中,得到每种事件类型的事件记录
[0203] 其中,一个事件类型对应的事件记录模板用于记录该事件类型的关键句的事件元素。
[0204] 作为一种可能的实现方式,股权质押对应的事件记录模板可以如表1所示:
[0205] 表1
[0206]
[0207] 需要说明的是,事件记录模板可以为其他形式,表1仅以举例的方式进行说明,并不构成具体限定。例如,事件记录模板可以为事件元素空缺的句子。
[0208] 示例性的,在文本信息中,若股权质押对应的关键句为:张先生于2022年2月1号在中国银行质押3000股,其事件元素为:张先生、2022年2月1日、中国银行、3000股。则根据该句子的事件元素,填充表1示意的股权质押对应的事件记录模板,得到股权质押的事件记录可以如表2所示。
[0209] 表2
[0210]
[0211] 示例性的,在一篇文本信息中,若股权质押对应的关键句为两句,两句关键句的事件元素分别为:张先生、2022年1月1日、中国银行、3000股;李先生、2022年10月1日、1000股,根据该每个关键句的事件元素,填充表1示意的股权质押对应的事件记录模板,得到股权质押的事件记录可以如表3所示。
[0212] 表3
[0213]
[0214] 可选的,若一个事件类型的关键句中,缺少一个事件类型的事件记录模板中的第一事件元素,从一个事件类型的关键句的上下文中获取第一事件元素。
[0215] 其中,第一事件元素可以为一个或多个。
[0216] 关键句的上下文可以为文本信息中,该关键句的前N句,和/或,后X句。其中,N为大于或等于1的整数,X为大于或等于1的整数。
[0217] 在一些实施例中,首先从事件类型的关键句的前一句和后一句查找第一事件元素,若事件类型的关键句的前一句和后一句不存在第一事件元素,则从事件类型的关键句的前两句和后两句中查找第一事件元素,以此类推,直至获取第一事件元素。
[0218] 在另一些实施例中,若事件类型的关键句的上下文中存在多个第一事件元素,则获取每个第一事件元素的数量,根据每个第一事件元素的数量确定第一事件元素。
[0219] 可选的,将事件类型的关键句的上下文中出现次数最多的第一事件元素作为事件记录模板中的第一事件元素。
[0220] 示例性的,现有一个事件类型的事件记录模板中缺少人物,从该事件类型对应的关键句的上下文中获取了两个人物,分别是张先生和李先生,其中,张先生出现了5次,李先生出现了2次,则将张先生作为第一事件元素填充至事件记录模板中。
[0221] 本申请实施例通过事件元素抽取模型获取文本信息中每个句子包含的事件元素,根据文本信息中包含的事件类型获取每种事件类型对应的关键句,将每种事件类型对应的关键句的事件元素,填充至每种事件类型对应的事件记录模板中,就可以得到每种事件类型的事件记录。由于本申请中的事件元素抽取模型中融合了词汇增强模型,引入了中文词语信息,将字符向量和词语向量相结合,利用相对位置编码获取字符向量和词语向量之间的位置信息,提高了处理中文文本信息时抽取的事件元素的准确度,使事件抽取的结果更符合对于中文文本信息识别的实际需求,提高了事件抽取结果的准确性,从而提高了事件抽取系统的性能。同时增加了关键句识别,当文本信息为篇章级文本时,通过获取文本信息中包含的每种事件类型对应的关键句,由于关键句可以体现每种事件类型包含的核心事件元素,可以仅根据事件类型对应的关键句获取事件类型对应的事件记录,无需从全部的文本信息中提取,将处理过程简单化,解决了篇章级文本抽取问题,从而进一步提高了事件抽取系统的性能。
[0222] 可以看出,上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0223] 本申请实施例可以根据上述方法示例对控制装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0224] 如图8所示,本申请实施例提供一种基于词汇增强的事件抽取装置800的结构示意图,该基于词汇增强的事件抽取装置800包括:获取模块801、抽取模块802、关键句识别模块803以及填充模块804。
[0225] 获取模块801,用于获取文本信息中包含的事件类型,一个事件类型用于指示一个目标事件;
[0226] 抽取模块802,用于采用事件元素抽取模型,获取文本信息中每个句子的事件元素,其中,事件元素抽取模型基于词汇增强模型对字符向量及词语向量进行上下文编码,词语向量是基于外部语料采用词向量模型获取,上下文编码采用相对位置编码;
[0227] 关键句识别模块803,用于根据文本信息中每个句子的事件元素,采用分类算法分别获取每种事件类型的关键句;
[0228] 填充模块804,用于将每种事件类型的关键句的事件元素,分别填充至每种事件类型对应的事件记录模板中,得到每种事件类型的事件记录;其中,一个事件类型对应的事件记录模板用于记录该事件类型的关键句的事件元素。
[0229] 可选的,当分类算法采用预设规则时,关键句识别模块803,具体用于获取每种事件类型的核心事件元素和其他事件元素;将文本信息中,满足第一事件类型的预设规则的句子,确定为第一事件类型的关键句。其中,第一事件类型的预设规则包括:包含的第一事件类型的核心事件元素数量大于或等于第一阈值,且包含的全部事件元素的数量大于或等于第二阈值;第一事件类型为任一事件类型中的一项或多项。
[0230] 可选的,当分类算法采用关键句识别模型时,关键句识别模块803,具体用于将事件类型和文本信息中每个句子的特征集合输入关键句识别模型中,获取关键句识别模型输出的事件类型的关键句,特征集合包括句子索引、长度、事件元素数目、核心事件元素数目以及其他事件元素数目。
[0231] 可选的,获取模块801,具体用于,将文本信息输入文本分类模型,获取文本信息中包含M种事件类型中每种目标事件类型的概率;M为正整数;将概率大于或等于预设概率的事件类型,确定为文本信息中包括的事件类型。
[0232] 可选的,获取模块801,具体用于采用预训练模型计算文本信息中每个句子的全部字符的嵌入向量;根据每个句子的全部字符的嵌入向量,确定文本信息的嵌入向量;根据文本信息的嵌入向量,确定文本信息中包含M种事件的概率。
[0233] 可选的,填充模块804,还用于若一个事件类型的关键句中,缺少一个事件类型的事件记录模板中的第一事件元素,从一个事件类型的关键句的上下文中获取第一事件元素。
[0234] 可选的,词汇增强模型包括FLAT模型,词向量模型包括Wor2Vec模型。
[0235] 本申请实施例提供一种基于词汇增强的事件抽取装置,包括:一个或多个处理器;一个或多个存储器。其中,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,基于词汇增强的事件抽取装置执行上述实施例提供的任一项方法。
[0236] 本申请实施例还提供一种计算可读存储介质,该计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使计算机执行上述实施例提供的任一项方法。
[0237] 本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令在计算机上运行时,使得计算机执行后能够实现上述实施例提供的任一项方法。
[0238] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机执行指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机执行指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机执行指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
[0239] 尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(Comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
[0240] 尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
[0241] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。