计算机执行的、利用神经网络进行事件抽取的方法及装置与流程

文档序号:18214842发布日期:2019-07-19 22:33阅读:190来源:国知局
计算机执行的、利用神经网络进行事件抽取的方法及装置与流程

本说明书一个或多个实施例涉及计算机信息处理领域,尤其涉及一种计算机执行的、利用神经网络进行事件抽取的方法及装置。



背景技术:

事件抽取(eventextraction)为一种信息抽取的形式,其是为了从自然语言文本中抽取结构化的事件信息。事件抽取拥有广泛的实际应用场景,例如文章内容自动提炼、知识库自动构建等。

然而,事件抽取作为上层自然语言处理任务,面临着诸多困难的问题与挑战。例如,对事件抽取的性能要求越来越高。再例如,在实际应用中,事件类型的集合不是一个限定的集合,而可能会根据用户的需求进行扩充。因此,需要提供更准确、迁移性更好的事件抽取方案。



技术实现要素:

本说明书一个或多个实施例描述了一种计算机执行的、利用神经网络进行事件抽取的方法,可以提高事件抽取的性能。

根据第一方面,提供一种计算机执行的、利用神经网络进行事件抽取的方法,所述神经网络包括输入层、向量转换层、注意力层、触发词事件分类层、论元词角色分类层、输出层,所述方法包括:

在输入层,接收待分析句子对应的词集合;

在向量转换层,确定所述词集合中各个词对应的词向量;

在注意力层,针对预设的多个事件类型中的各个事件类型,基于各个词的词向量,确定每个词在该事件类型下的综合注意力系数;并针对各个事件类型,以该事件类型下各个词的综合注意力系数为权重因子,对各个词向量求和,确定所述句子在各个事件类型下的句子向量;

在触发词事件分类层,对于所述词集合中的各个候选触发词,基于该候选触发词的词向量和各个事件类型下的句子向量,确定该候选触发词对应各个事件类型的触发词分类结果;

在论元词角色分类层,对于所述词集合中的各个候选论元词,基于该候选论元词的词向量,所述候选触发词的词向量和各个事件类型下的句子向量,确定该候选论元词在各个事件类型下的角色分类结果;

在输出层,至少根据所述触发词分类结果和所述角色分类结果,确定事件抽取结果。

在一个实施例中,其中,所述词集合为多个词构成的词集合;所述多个词由对所述待分析句子进行分词以及实体识别而得到的。

在一个实施例中,其中,所述向量转换层包括向量查表层、双向长短期记忆lstm处理层和向量拼接层,所述双向长短期记忆lstm处理层包括前向lstm单元和后向lstm单元;所述词集合包括第一词,所述确定所述词集合中各个词对应的词向量包括:

在所述向量查表层,通过向量映射,确定各个词对应的映射向量,其中,所述第一词对应第一映射向量;

在所述双向长短期记忆lstm处理层,获得所述前向lstm单元对所述第一映射向量处理后输出的第一处理结果,所述后向lstm单元对所述第一映射向量处理后输出的第二处理结果;将所述第一处理结果和第二处理结果进行拼接,得到第一拼接向量;

在所述向量拼接层,基于所述第一映射向量和所述第一拼接向量,确定所述第一词对应的第一词向量。

在一个实施例中,其中,所述通过向量映射,确定各个词对应的映射向量,包括:

通过词映射,确定所述第一词对应的第一嵌入向量;

基于所述第一词对应的实体类型的映射,确定所述第一词对应的第一实体类型向量;

将所述第一嵌入向量和所述第一实体类型向量进行拼接,得到所述第一映射向量;

所述基于所述第一映射向量和所述第一拼接向量,确定所述第一词对应的第一词向量,包括:

将所述第一嵌入向量和所述第一拼接向量进行拼接,得到所述第一词向量。

在一个实施例中,其中,所述词集合包括第一词,所述预设的多个事件类型包括第一事件类型;所述针对预设的多个事件类型中的各个事件类型,基于各个词的词向量,确定每个词在该事件类型下的综合注意力系数,包括:

针对第一事件类型,确定所述第一词作为触发词的第一注意力系数和作为论元词的第二注意力系数;

基于所述第一注意力系数和所述第二注意力系数,确定所述第一词在第一事件类型下的综合注意力系数。

在一个实施例中,所述针对第一事件类型,确定所述第一词在作为触发词的第一注意力系数和作为论元词的第二注意力系数,包括:

基于训练得到的第一参数集,将所述第一词的词向量,与训练得到的第一事件类型对应的第一查询向量进行第一运算,确定所述第一词在第一事件类型下的第一注意力系数;

基于训练得到的第二参数集,将所述第一词的词向量,与训练得到的第一事件类型对应的第二查询向量进行第二运算,确定所述第一词在第一事件类型下的第二注意力系数。

在一个实施例中,其中,所述预设的多个事件类型包括第一事件类型,所述对于所述词集合中的各个候选触发词,基于该候选触发词的词向量和各个事件类型下的句子向量,确定该候选触发词对应各个事件类型的触发词分类结果包括:

基于训练得到的第三参数集,将该候选触发词的词向量和所述第一事件类型下的句子向量,与训练得到的第一事件类型对应的第三查询向量进行第三运算,确定该候选触发词对应第一事件类型的触发词分类结果;

所述对于所述词集合中的各个候选论元词,基于该候选论元词的词向量,所述候选触发词的词向量和各个事件类型下的句子向量,确定该候选论元词在各个事件类型下的角色分类结果包括:

基于训练得到的第四参数集,将该候选论元词的词向量,所述候选触发词的词向量和各个事件类型下的句子向量,与训练得到的第一事件类型的论元角色对应的第四查询向量进行第四运算,确定该候选论元词在第一事件类型下的角色分类结果。

在一个实施例中,其中,所述注意力层、所述触发词事件分类层、所谓论元词角色分类层通过联合训练得到。

在一个实施例中,所述神经网络包括还句子事件分类层,所述方法还包括:在句子事件分类层,基于各个事件类型的句子向量,确定待分析句子对应各个事件类型的句子分类结果;

所述确定事件抽取结果包括,根据所述句子分类结果,所述触发词分类结果和所述角色分类结果,确定事件抽取结果。

在一个实施例中,所述基于各个事件类型的句子向量,确定待分析句子对应各个事件类型的句子分类结果,包括:

基于训练得到的第五参数集,将各个事件类型下的句子向量,与训练得到的各个事件类型对应的第五查询向量进行第五运算,确定该句子对应的各个事件类型的句子分类结果。

在一个实施例中,所述注意力层、所述触发词事件分类层、所述论元词角色分类层、句子事件分类层通过联合训练得到。

在一个实施例中,所述对于所述词集合中的各个候选论元词,基于该候选论元词的词向量,所述候选触发词的词向量和各个事件类型下的句子向量,确定该候选论元词在各个事件类型下的角色分类结果包括:

基于该候选论元词的词向量,所述候选触发词的词向量,各个事件类型下的句子向量和该候选论元词的第一特征向量,判断该候选论元词是否为各个事件类型下的第一角色;

该候选论元词的第一特征向量包括以下任一种或多种:

该候选论元词的实体类型、该候选论元词和候选触发词之间间隔的词的数量、候选论元词和候选触发词之间的第一角色备选论元词的数量。

根据第二方面,提供一种进行事件抽取的装置,所述装置包括:

接收单元,配置为接收待分析句子对应的词集合;

转换单元,配置为确定所述词集合中各个词对应的词向量;

第一确定单元,配置为针对预设的多个事件类型中的各个事件类型,基于各个词的词向量,确定每个词在该事件类型下的综合注意力系数;并针对各个事件类型,以该事件类型下各个词的综合注意力系数为权重因子,对各个词向量求和,确定所述句子在各个事件类型下的句子向量;

第二确定单元,配置为对于所述词集合中的各个候选触发词,基于该候选触发词的词向量和各个事件类型下的句子向量,确定该候选触发词对应各个事件类型的触发词分类结果;

第三确定单元,配置为对于所述词集合中的各个候选论元词,基于该候选论元词的词向量,所述候选触发词的词向量和各个事件类型下的句子向量,确定该候选论元词在各个事件类型下的角色分类结果;

第四确定单元,配置为在输出层,至少根据所述触发词分类结果和所述角色分类结果,确定事件抽取结果。

根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。

根据第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。

根据本说明书实施例提供的方法和装置,在根据各个词的词向量计算各个事件类型下的句子向量时,考虑了每个词在各个事件类型下的综合注意力系数,可以提高事件抽取的性能。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1示出本说明书披露的一个用于事件抽取的神经网络结构示意图;

图2示出根据一个实施例的计算机执行的、利用图1所示的神经网络,进行事件抽取的方法的流程图;

图3示出根据一个实施例的通过向量转换得到词向量的过程示意图;

图4示出本说明书披露的另一个用于事件抽取的神经网络结构示意图;

图5示出根据另一个实施例的计算机执行的、利用图4所示的神经网络,进行事件抽取的方法的流程图;

图6示出根据一个实施例的进行事件抽取的装置的示意性框图。

具体实施方式

下面结合附图,对本说明书提供的方案进行描述。

事件(event)是指信息的一种表现形式,其定义为特定的人、物在特定时间和特定地点相互作用的客观事实,一般来说是句子级的。组成事件的元素包括触发词(trigger)、事件类型(eventtype)、论元(argument)及论元角色(role)。触发词为表示事件发生的核心词,用于识别事件类型,多为动词或名词。论元是指事件的参与者,一般为实体(entity)。论元角色为论元在事件中充当的角色,例如施事,对象,场所等等。在一种针对汉语的自然语言分析方法中,将论元划分为17种角色。

事件抽取为自然语言处理任务,以文本信息为分析对象。事件抽取可以分为两个子任务,事件类型识别和论元词角色分类。事件类型识别为根据触发词识别事件类型,论元词角色分类为将论元词分到事件类型的角色上。论元词是指文本信息中用于表示论元的词,为表述方便,如无特殊说明,下文中的论元词角色分类是指论元角色分类。

事件抽取可以应用到多个应用场景中。例如,在信息推送的场景下,可以根据用户感兴趣的事件类型在海量信息中进行事件抽取,可以向用户推送用户感兴趣的信息,以实现个性化信息推送。更具体地,设定用户对商业相关的事件感兴趣。自动内容抽取评测(automaticcontentextraction,ace)2005会议定义的商业类事件类型为成立企业、合并企业、宣布破产、结束企业。根据ace2005会议定义的商业类事件类型进行事件抽取,可以得到成立企业信息、合并企业信息、宣布破产信息、结束企业信息,进而向用户进行信息推送。

可以基于事件规则进行事件抽取。但是基于事件规则的事件抽取方法首先需要专家归纳总结规则,然后归纳总结的规则作用于数据以检查这些规则的性能,如果这些规则的性能不满足要求,则需要调整规则。循环前述过程直至规则的性能满足要求。该方法中需要同时具备事件类型领域知识和自然语言知识的专家耗费大量的精力来调整、维护和扩展规则。当增加事件类型时,针对已有事件类型的规则基本不适用,需要重新归纳总结规则。

可以利用神经网络进行事件抽取。神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。神经网络由大量的运算单元(或称节点)之间相互联接构成,通过调整神经网络的节点之间相互连接的关系,可以达到处理信息的目的。

可以在将句子分词后,基于动态多池化卷积神经网络对候选触发词进行事件分类,然后使用同样的动态多池化卷积神经网络对候选论元进行角色分类。该方法将事件抽取划分为两个阶段任务,没有考虑论元角色分类对触发词的事件分类会有潜在性能提升;并且,该方法迁移性差,当增加事件类型时,需要把整个模型重新训练。

根据本说明书的实施例,训练多任务神经网络进行事件抽取,将触发词事件分类和论元角色分类作为神经网络的多个任务,进行统一的联合训练,如此使得,神经网络基于共享的底层参数,同时进行触发词事件分类和论元角色分类,使得分类结果彼此验证,更加准确。

此外,根据本说明书的实施例,在利用神经网络进行事件抽取时,引入注意力机制。这是考虑到,事件抽取可以归为一种文本分类的问题,在对文本分类的问题中,文本可以经分词处理转化为词序列,其中某些词是影响分类结果的关键证据,这些词可以称为关键词。引入注意力机制可以使关键词的权重提升,而非关键词的权重降低,其类似于人阅读时,把注意力集中在关键信息上。关键词不同,导致句子的分类结果不同。以“当坦克对着飞碟开火时一个外星人死去了”为例,当关键词为“开火”、“坦克”、“飞碟”时,则该句子的事件类型为攻击;当关键词为“死去”、“外星人”、“坦克”,则该句子的事件类型为死亡。因此,在事件抽取时,引入注意力机制,利用各个词在不同事件类型下的综合注意力系数,进行事件抽取,从而提高了事件抽取的性能。

接下来,参考图1和2,对本说明书实施例提供的计算机执行的、利用神经网络进行事件抽取的实施例进行具体介绍。

图1示出根据一个实施例的用于事件抽取的神经网络结构示意图。如图1所示,所述神经网络包括输入层、向量转换层、注意力层、触发词事件分类层、论元词角色分类层、输出层。

图2示出利用图1所示的神经网络,进行事件抽取的方法流程图。所述方法可以由任何具有计算、处理能力的装置、设备、平台、设备集群执行。如图2所示,所述方法包括如下步骤:步骤200,在输入层,接收待分析句子对应的词集合;步骤202,在向量转换层,确定所述词集合中各个词对应的词向量;步骤204,在注意力层,针对预设的多个事件类型中的各个事件类型,基于各个词的词向量,确定每个词在该事件类型下的综合注意力系数;并针对各个事件类型,以该事件类型下各个词的综合注意力系数为权重因子,对各个词向量求和,确定所述句子在各个事件类型下的句子向量;步骤206a、在触发词事件分类层,对于所述词集合中的各个候选触发词,基于该候选触发词的词向量和各个事件类型下的句子向量,确定该候选触发词对应各个事件类型的触发词分类结果;步骤206b、在论元词角色分类层,对于所述词集合中的各个候选论元词,基于该候选论元词的词向量,所述候选触发词的词向量和各个事件类型下的句子向量,确定该候选论元词在各个事件类型下的角色分类结果;步骤208,在输出层,根据所述触发词分类结果和所述角色分类结果,确定事件抽取结果。

下面结合具体例子,对以上各个步骤的执行方式进行描述。

首先,在步骤200,通过图1所示的神经网络的输入层,接收待分析句子对应的词集合。

在一个实施例中,待分析句子可以是一个待分析文本中的一个句子,即,在待分析文本中进行事件抽取时,以句子为单位进行事件抽取。

在一个实施例中,接收的词集合为多个词构成的词集合;所述多个词由对所述待分析句子进行分词以及实体识别而得到的。分词的具体过程可以参考现有技术的介绍,在此不进行赘述。实体识别也可以称为命名实体识别(namedentityrecognition,ner),是指识别文本中具有特定意义的实体,例如人名、地名、机构名、专有名词等。实体识别的具体过程可以参考现有技术的介绍,在此不进行赘述。

接着,在步骤202,在神经网络的向量转换层,确定所述词集合中各个词对应的词向量。

在一个实施例中,所述向量转换层包括向量查表层、双向长短期记忆lstm(longshort-termmemory)处理层和向量拼接层,所述双向长短期记忆lstm处理层包括前向lstm单元和后向lstm单元;所述词集合包括第一词,在步骤202中,所述确定所述词集合中各个词对应的词向量包括:在所述向量查表层,通过向量映射,确定各个词对应的映射向量,其中,所述第一词对应第一映射向量;在所述双向长短期记忆lstm处理层,获得所述前向lstm单元对所述第一映射向量处理后输出的第一处理结果,所述后向lstm单元对所述第一映射向量处理后输出的第二处理结果;将所述第一处理结果和第二处理结果进行拼接,得到第一拼接向量;在所述向量拼接层,基于所述第一映射向量和所述第一拼接向量,确定所述第一词对应的第一词向量。

利用双向长短期记忆lstm处理层可以得到用于表征第一词的上下文环境的特征向量,即第一拼接向量。词集合中的其他词的处理过程参考第一词实现。

在上述实施例的一个示例中,所述通过向量映射,确定各个词对应的映射向量,包括:通过词映射,确定所述第一词对应的第一嵌入向量;基于所述第一词对应的实体类型的映射,确定所述第一词对应的第一实体类型向量;将所述第一嵌入向量和所述第一实体类型向量进行拼接,得到所述第一映射向量;所述基于所述第一映射向量和所述第一拼接向量,确定所述第一词对应的第一词向量,包括:将所述第一嵌入向量和所述第一拼接向量进行拼接,得到所述第一词向量。

词对应的实体类型向量为用于表征该词属于哪一类型的实体,例如,该词属于机构名,还是属于人名,还是地名等。更具体地,假设该词为“支付宝”,则该词的实体类型向量表征该词属于机构名。需要说明的是,当一个词不是实体时,该词也对应有实体类型向量,该词的实体类型向量表征该词不是实体。

词集合中的其他词的处理过程参考第一词实现,其中,对于词集合中的词i,其嵌入向量为wi,其实体类型向量为ei,其映射向量为wi和ei的拼接结果[wi;ei],其拼接向量为hi,其词向量为wi和hi的拼接结果ci。

更具体的,以图3为例。图3为根据一个实施例的通过向量转换得到词向量的过程示意图。对于句子“x公司40%股权挂牌转让”,在进行了分词和实体识别处理后,可得到由“x公司”、“40%”、“股权”、“挂牌”、“转让”组成的词序列。如图3所示,该词序列经输入层输入,对于“x公司”,在向量查表层可以得到其嵌入向量w1和实体类型向量e1,在双向长短期记忆lstm处理层可以得到其第一拼接向量h1。在向量拼接层,将“x公司”的嵌入向量w1和“x公司”的第一拼接向量h1进行拼接,得到“x公司”的词向量c1。对于“40%”,在向量查表层可以得到其嵌入向量w2和实体类型向量e2,在双向长短期记忆lstm处理层可以得到其第一拼接向量h2。在向量拼接层,将“40%”的嵌入向量w2和“40%”的第一拼接向量h2进行拼接,得到“40%”的词向量c2。对于“股权”,在向量查表层可以得到其嵌入向量w3和实体类型向量e3,在双向长短期记忆lstm处理层可以得到其第一拼接向量h3。在向量拼接层,将“股权”的嵌入向量w3和“股权”的第一拼接向量h3进行拼接,得到“股权”的词向量c3。对于“挂牌”,在向量查表层可以得到其嵌入向量w4和实体类型向量e4,在双向长短期记忆lstm处理层可以得到其第一拼接向量h4。在向量拼接层,将“挂牌”的嵌入向量w4和“挂牌”的第一拼接向量h4进行拼接,得到“挂牌”的词向量c4。对于“转让”,在向量查表层可以得到其嵌入向量w5和实体类型向量e5,在双向长短期记忆lstm处理层可以得到其第一拼接向量h5。在向量拼接层,将“转让”的嵌入向量w5和“转让”的第一拼接向量h5进行拼接,得到“转让”的词向量c5。

上文得到的c1、c2、c3、c4和c5,用于对“x公司40%股权挂牌转让”进行事件抽取。

在上述实施例的另一个示例中,所述通过向量映射,确定各个词对应的映射向量,包括:通过词映射,确定所述第一词对应的第一嵌入向量;基于所述第一词对应的实体类型的映射,确定所述第一词对应的第一实体类型向量;将所述第一嵌入向量和所述第一实体类型向量进行拼接,得到所述第一映射向量;所述基于所述第一映射向量和所述第一拼接向量,确定所述第一词对应的第一词向量,包括:将所述第一嵌入向量、所述第一实体类型向量和所述第一拼接向量进行拼接,得到所述第一词向量。在该示例中,对于词集合中的词i,其词向量ci为wi、ei和hi的拼接结果。

以上,获得了待分析句子对应的词集合中的各个词的词向量。

接着,在步骤204,在神经网络的注意力层,针对预设的多个事件类型中的各个事件类型,基于各个词的词向量,确定每个词在该事件类型下的综合注意力系数;并针对各个事件类型,以该事件类型下各个词的综合注意力系数为权重因子,对各个词向量求和,确定所述句子在各个事件类型下的句子向量。

可以理解,预设的多个事件类型可以为预先设置的事件类型,例如,可以预先设置成立企业、合并企业、宣布破产、结束企业、死亡、攻击等事件类型。

相应的,在步骤204,对于上述每种事件类型,需要确定各个词在该事件类型下的综合注意力系数,并据此确定整个句子在该事件类型下的句子向量。为了描述的清楚,以词集合中任意的第一词,和上述多个事件类型中任意的一个事件类型,下文称为第一事件类型,为例进行描述。

具体的,在一个实施例中,所述词集合包括第一词,所述预设的多个事件类型包括第一事件类型。在步骤204中,所述针对预设的多个事件类型中的各个事件类型,基于各个词的词向量,确定每个词在该事件类型下的综合注意力系数,包括:针对第一事件类型,确定所述第一词作为触发词的第一注意力系数和作为论元词的第二注意力系数;基于所述第一注意力系数和所述第二注意力系数,确定所述第一词在第一事件类型下的综合注意力系数。

事件抽取的两个子任务为事件类型识别和论元词角色分类,而事件类型识别为根据触发词识别事件类型,因此,一个词在一个事件类型下的综合注意力系数体现在该词在该事件类型下作为触发词的第一注意力系数和作为论元词的第二注意力系数。

对于词i和事件类型j,综合注意力系数可以用αij表示,第一注意力系数可以用第二注意力系数可以用表示。

在上述实施例的一个示例中,词i在事件类型j下作为触发词的第一注意力系数,与词i在事件类型j下作为论元词的第二注意力系数的平均值,为词i在事件类型j下的综合注意力系数。即

相应地,在步骤204中,在事件类型j下,待分析句子的句子表示向量gj,可以通过以下公式计算得到:

其中,n为词集合包括的词的数目。

在上述实施例的一个示例中,在步骤204中,所述针对第一事件类型,确定所述第一词在作为触发词的第一注意力系数和作为论元词的第二注意力系数,包括:基于训练得到的第一参数集,将所述第一词的词向量,与训练得到的第一事件类型对应的第一查询向量进行第一运算,确定所述第一词在第一事件类型下的第一注意力系数;基于训练得到的第二参数集,将所述第一词的词向量,与训练得到的第一事件类型对应的第二查询向量进行第二运算,确定所述第一词在第一事件类型下的第二注意力系数。

对于各个事件类型,在计算第一注意力系数时,共用第一参数集。第一参数集包括第一权重和第一偏斜。对于各个事件类型,在计算第二注意力系数时,共用第二参数集。第二参数集包括第二权重和第二偏斜。对于各个事件类型,都各自对应一个第一查询向量和一个第二查询向量。第一事件类型对应的第一查询向量为,第一事件类型对应的用于计算触发词注意力系数的查询向量。第一事件类型对应的第二查询向量为,第一事件类型对应的用于计算论元词注意力系数的查询向量。

对于词i和事件类型j,其第一注意力系数可通过以下公式计算得到:

其中,表示事件类型j对应的第一查询向量,ci表示词i的词向量,wkt表示第一权重,bkt表示第一偏斜。

对于词i和事件类型j,其第二注意力系数可通过以下公式计算得到:

其中,表示事件类型j对应的第二查询向量,ci表示词i的词向量,wka表示第二权重,bka表示第二偏斜。

通过以上公式2和公式3,分别得到词i在事件类型j下的第一注意力系数和第二注意力系数,据此可以确定词i在事件类型j下的综合注意力系数。对于每个词均进行以上运算,于是得到词集合中各个词的综合注意力系数。然后,根据公式1,得到在事件类型j下的句子向量。对于各个事件类型均进行以上处理,于是得到各个事件类型下的句子向量。

基于以上引入注意力机制得到的各个事件类型下的句子向量,可以进行后续的触发词分类和论元角色分类。

因此,接下来,在步骤206a,在神经网络的触发词事件分类层,对于所述词集合中的各个候选触发词,基于该候选触发词的词向量和各个事件类型下的句子向量,确定该候选触发词对应各个事件类型的触发词分类结果;步骤206b,在论元词角色分类层,对于所述词集合中的各个候选论元词,基于该候选论元词的词向量,所述候选触发词的词向量和各个事件类型下的句子向量,确定该候选论元词在各个事件类型下的角色分类结果。

需要说明的是,步骤206a和步骤206b为相互的独立的任务,两者之间没有必然的执行顺序,可以并行执行,也可以先后执行。

在不同实施例中,可以通过多种方式,从词集合中确定出以上步骤206a和206b中的候选触发词和候选论元词。在一个例子中,通过人工整理的触发词词典得到候选触发词。在一个实施例中,如前所述,上述词集合中的词可以预先经过实体识别,在这样的情况下,可以根据实体识别的结果,确定候选论元词。对于一个待分析句子可以包含多个候选触发词和多个候选论元词,以“当坦克对着飞碟开火时一个外星人死去了”为例,其包含的“开火”、“死去”均为候选触发词,其包含的“坦克”、“飞碟”、“外星人”均为候选论元词。

下面描述对候选触发词进行分类的过程,和对候选论元词进行角色分类的过程。

在一个实施例中,在步骤206a中,所述预设的多个事件类型包括第一事件类型,所述对于所述词集合中的各个候选触发词,基于该候选触发词的词向量和各个事件类型下的句子向量,确定该候选触发词对应各个事件类型的触发词分类结果包括:基于训练得到的第三参数集,将该候选触发词的词向量和所述第一事件类型下的句子向量,与训练得到的第一事件类型对应的第三查询向量进行第三运算,确定该候选触发词对应第一事件类型的触发词分类结果。在步骤206b中,所述对于所述词集合中的各个候选论元词,基于该候选论元词的词向量,所述候选触发词的词向量和各个事件类型下的句子向量,确定该候选论元词在各个事件类型下的角色分类结果包括:基于训练得到的第四参数集,将该候选论元词的词向量,所述候选触发词的词向量和各个事件类型下的句子向量,与训练得到的第一事件类型的论元角色对应的第四查询向量进行第四运算,确定该候选论元词在第一事件类型下的角色分类结果。

对于各个事件类型,在计算候选触发词对应各个事件类型的触发词分类结果时,共用第三参数集。第三参数集包括第三权重和第三偏斜。对于各个事件类型,在计算候选论元词在各个事件类型下的角色分类结果时,共用第四参数集,第四参数集包括第四权重和第四偏斜。对于各个事件类型,都各自对应一个第三查询向量。。对于一个事件类型,该事件类型的每个论元角色各对应一个第四查询向量。

设定词集合中的词m为一个候选触发词。候选触发词m对应事件类型j的触发词运算结果可以通过以下公式计算得到:

其中,表示事件类型j对应的第三查询向量,gj表示事件类型j下的句子向量,cm为候选触发词m的词向量,[gj;cm]表示gj和cm的拼接,wt为第三权重,bt为第三偏斜。

然后,基于上述运算结果输出最终的触发词分类结果。在一个实施例中,触发词分类结果为,表示候选触发词m是否对应于事件类型j的二分类的结果。

延续以上的事件类型和候选触发词,设定词集合中的词n为一个候选论元词。通过以下公式计算得到候选论元词n在上述事件类型下对于角色k的运算结果

其中,表示事件类型j下角色k对应的第四查询向量,gj表示事件类型j下的句子向量,cm为候选触发词m的词向量,cn为候选论元词的词向量,[gj;cm;cn]表示gj、cm和cn的拼接,wr为第四权重,br为第四偏斜。

然后,基于上述运算结果orj输出最终的论元角色分类结果。在一个实施例中,论元角色分类结果为,表示候选论元词n是否对应于角色k的二分类的结果。

在一个实施例中,在步骤206b中,所述对于所述词集合中的各个候选论元词,基于该候选论元词的词向量,所述候选触发词的词向量和各个事件类型下的句子向量,确定该候选论元词在各个事件类型下的角色分类结果包括:基于该候选论元词的词向量,所述候选触发词的词向量,各个事件类型下的句子向量和该候选论元词的第一特征向量,判断该候选论元词是否为各个事件类型下的第一角色;该候选论元词的第一特征向量包括以下任一种或多种:

该候选论元词的实体类型、该候选论元词和候选触发词之间间隔的词的数量、候选论元词和候选触发词之间的第一角色备选论元词的数量。

对于候选论元词n的实体类型可以用候选论元词n的实体类型向量表征。

对于候选论元词n和候选触发词m,候选论元词和候选触发词之间间隔的词的数量是指,在句子在经分词处理并经实体识别转化成的词序列上,候选论元词n和候选触发词m之间间隔的词的数量。以“当坦克对着飞碟开火时一个外星人死去了”为例,在经分词处理并经实体识别转化成的词序列为:“坦克”、“飞碟”、“开火”、“外星人”、“死去”。设定“坦克”为候选论元词n,“开火”为候选触发词m,候选论元词n和候选触发词m之间间隔了一个词“飞碟”,即候选论元词n和候选触发词m之间间隔的词的数量为1。候选论元词n和候选触发词m之间间隔的词的数量可以表示为上述第一特征向量中的向量元素。

对于候选论元词n和候选触发词m,候选论元词和候选触发词之间的第一角色备选论元词的数量是指,在句子在经分词处理并经实体识别转化成的词序列上,对于候选触发词m识别的事件类型中的第一角色,候选论元词n与候选触发词m之间存在的其他候选论元词的数量。以“当坦克对着飞碟开火时一个外星人死去了”为例,在经分词处理并经实体识别转化成的词序列为:“坦克”、“飞碟”、“开火”、“外星人”、“死去”。设定“死去”为候选触发词m,“坦克”为候选论选词n。“死去”为候选触发词时,事件类型为死亡。对于死亡这一事件类型下某个论元角色(例如受害者角色),候选论选词“坦克”与候选触发词“死去”之间存在“外星人”这一候选论元词,而“外星人”也为受害者角色的备选论元词,因此,在,候选论选词“坦克”与候选触发词“死去”之间的第一角色备选论元词的数量为1,其也可以用向量元素表征。

在该实施例中,以词m为候选触发词,候选论元词n在事件类型j下对于角色k运算结果可以通过以下公式计算得到:

其中,表示事件类型j下角色k对应的第四查询向量,gj表示事件类型j下的句子向量,cm为候选触发词m的词向量,cn为候选论元词的词向量,fmn为候选论元词在候选触发词m下的第一特征向量,[gj;cm;cn;fmn]表示gj、cm、cn、fmn的拼接,wr为第四权重,br为第四偏斜。

第一特征向量fmn可以包括该候论元词的实体类型向量、该候选论元词和候选触发词之间间隔的词的数量、候选论元词和候选触发词之间的第一角色备选论元词的数量中的任一种或任两种或三种。

在一个实施例中,注意力层、触发词事件分类层、论元词角色分类层通过联合训练得到。在利用已标注的训练语料,训练本说明书实施例提供的神经网络时,对注意力层、触发词事件分类层、论元词角色分类层进行联合训练。其中,可以为以上各个层中使用的第一查询向量、第二查询向量、第三查询向量、第四查询向量随机设定初始值,之后通过联合训练更新这些向量,得到使用时的第一查询向量、第二查询向量、第三查询向量和第四查询向量。

在联合训练中,注意力层对应的损失(loss)、触发词事件分类层对应的损失、论元词角色分类层对应的损失的加和用于更新网络参数和相关查询向量。

具体的,注意力层的loss对应于各个事件类型的触发词的损失和各个事件类型的论元词的损失的加和。在一个例子中,可以采用最小二乘法计算各个事件类型的触发词的损失以及各个事件类型的论元词的损失。

触发词事件分类层的损失对应于在各个事件类型下的触发词分类的损失。在一个例子中,可以采用hingeloss计算在各个事件类型下触发词分类的损失。

论元词角色分类层的损失对应于在各个事件类型下论元词角色分类结果的损失。在一个例子中,可以采用hingeloss计算在各个事件类型下论元词角色分类结果的损失。

神经网络的总损失为上述各层损失的加和。联合训练的时候,例如根据梯度下降算法,调整各层网络参数和查询向量的值,以使得整个神经网络的总损失减小。其中,查询向量的调整依附于事件类型,并且,对于一个事件类型的第四查询向量,还依附于该事件类型的论元角色;而网络参数的调整与事件类型无关。

需要说明的时,上述加和可以为加权和,也可以为非加权和。

如此,通过联合训练得到图1所示的多任务神经网络。该神经网络基于共享的底层参数,同时进行触发词事件分类和论元角色分类,使得分类结果彼此验证,更加准确。

在一个实施例中,还可以基于上述得到的句子在各个事件类型下的句子向量,对句子进行句子分类,从而进一步完善事件抽取结果。下面描述对句子进行句子分类的过程。

图4示出根据另一个实施例的用于事件抽取的神经网络结构示意图。如图4所示,所述神经网络包括输入层、向量转换层、注意力层、触发词事件分类层、论元词角色分类层、句子事件分类层、输出层。

图5示出利用图4所示的神经网络,进行事件抽取的方法流程图。

参考图4和图5,在一个实施例中,所述神经网络包括句子事件分类层,本说明书实施例提供的事件抽取方法还包括:步骤206c,在句子事件分类层,基于各个事件类型的句子向量,确定待分析句子对应各个事件类型的句子分类结果。

一个待分析句子可以包含了多种事件类型,这些事件类型用触发词识别。如果一个触发词识别的事件类型为待分析句子包含的事件类型,该触发词识别的结果的正确率会较高。因此,句子事件分类层输出的结果可辅助触发词识别事件类型。因此,在该实施例的一个示例中,步骤208中的确定事件抽取结果可以包括根据所述句子分类结果,所述触发词分类结果和所述角色分类结果确定事件抽取结果。

需要说明的是,本说明书实施例提供的事件抽取方法虽然可以通过步骤206c得到句子分类结果,但得到的句子分类结果并不必然用于确定事件抽取结果。换言之,在句子分类结果存在的情况下,也可以只根据所述触发词分类结果和所述角色分类结果确定事件抽取结果。

就本说明书实施例提供的神经网络而言,其句子事件分类层的意义更多在于,在训练神经网络时,提供辅助损失,以辅助注意力层、触发词事件分类层、论元词角色分类层的训练。

在上述实施例的一个示例中,所述基于各个事件类型的句子向量,确定待分析句子对应各个事件类型的句子分类结果,包括:基于训练得到的第五参数集,将各个事件类型下的句子向量,与训练得到的各个事件类型对应的第五查询向量进行第五运算,确定该句子对应的各个事件类型的句子分类结果。

对于各个事件类型,在计算待分析句子对应各个事件类型的句子分类结果时,共用第五参数集。第五参数集包括第五权重和第五偏斜。对于各个事件类型,都各自对应一个第五查询向量。

在事件类型j下,待分析句子的事件类型的句子运算结果可以通过以下公式计算得到:

其中,表示事件类型j对应的第五查询向量,gj表示事件类型j下的句子向量,ws为第五权重,bs为第五偏斜。

然后,基于上述运算结果输出最终的句子分类结果,在一个实施例中,句子分类结果为待分析句子是否对应于事件类型j的二分类的结果。

图4中输入层、向量转换层、注意力层、触发词事件分类层、论元词角色分类层、输出层与图1相同,在此不在赘述。图5中的步骤200、202、204、206a、206b与图2相同,在此不再赘述。

需要说明的是,步骤206a、步骤206b和步骤206c为相互的独立的任务,两者之间没有必然的执行顺序,可以并行执行,也可以先后执行。

在上述实施例的一个示例中,注意力层、触发词事件分类层、论元词角色分类层、句子事件分类层通过联合训练得到。

综合以上,通过本说明书实施例的方案,在根据各个词的词向量计算各个事件类型下的句子向量时,考虑了每个词在各个事件类型下的综合注意力系数,可以提高事件抽取的性能;进一步地,在本说明书实施例中,用于事件抽取的神经网络的注意力层、触发词事件分类层、论元词角色分类层、句子事件分类层为联合训练得到的,三者相互促进,提高了神经网络用于事件抽取的性能;另外,注意力层、触发词事件分类层、论元词角色分类层、句子事件分类层共享底层参数,在迁移到新的事件类型时,针对新的事件类型,训练相关的查询向量即可,无需把整个神经网络再训练一遍,因此,对新的事件类型的训练速度快,同时保证了已有的事件类型的分类结果不便。

另一方面,本说明书的实施例提供了一种计算机执行的、利用神经网络进行事件抽取的装置500,参考图6,所述装置500包括:接收单元501,配置为在输入层,接收待分析句子对应的词集合;转换单元502,配置为在向量转换层,确定所述词集合中各个词对应的词向量;第一确定单元503,配置为在注意力层,针对预设的多个事件类型中的各个事件类型,基于各个词的词向量,确定每个词在该事件类型下的综合注意力系数;并针对各个事件类型,以该事件类型下各个词的综合注意力系数为权重因子,对各个词向量求和,确定所述句子在各个事件类型下的句子向量;第二确定单元504,配置为在触发词事件分类层,对于所述词集合中的各个候选触发词,基于该候选触发词的词向量和各个事件类型下的句子向量,确定该候选触发词对应各个事件类型的触发词分类结果;第三确定单元505,配置为在论元词角色分类层,对于所述词集合中的各个候选论元词,基于该候选论元词的词向量,所述候选触发词的词向量和各个事件类型下的句子向量,确定该候选论元词在各个事件类型下的角色分类结果;第四确定单元506,配置为在输出层,至少根据所述触发词分类结果和所述角色分类结果,确定事件抽取结果。

在一个实施例中,所述词集合为多个词构成的词集合;所述多个词由对所述待分析句子进行分词以及实体识别而得到的。

在一个实施例中,所述词集合包括第一词,所述转换单元502包括:

向量查表模块,配置为在通过向量映射,确定各个词对应的映射向量,其中,所述第一词对应第一映射向量;

双向长短期记忆lstm处理模块,配置为获得前向lstm单元对所述第一映射向量处理后输出的第一处理结果,后向lstm单元对所述第一映射向量处理后输出的第二处理结果;将所述第一处理结果和第二处理结果进行拼接,得到第一拼接向量;

向量拼接模块,配置为基于所述第一映射向量和所述第一拼接向量,确定所述第一词对应的第一词向量。

在上述实施例的一个示例中,所述向量查表模块配置为:

通过词映射,确定所述第一词对应的第一嵌入向量;

基于所述第一词对应的实体类型的映射,确定所述第一词对应的第一实体类型向量;

将所述第一嵌入向量和所述第一实体类型向量进行拼接,得到所述第一映射向量;

所述向量拼接模块还配置为:将所述第一嵌入向量和所述第一拼接向量进行拼接,得到所述第一词向量。

在一个实施例中,所述词集合包括第一词,所述预设的多个事件类型包括第一事件类型;所述第一确定单元503配置为:

针对第一事件类型,确定所述第一词作为触发词的第一注意力系数和作为论元词的第二注意力系数;

基于所述第一注意力系数和所述第二注意力系数,确定所述第一词在第一事件类型下的综合注意力系数。

在上述实施例的一个示例中,所述第一确定单元503还配置为:

基于训练得到的第一参数集,将所述第一词的词向量,与训练得到的第一事件类型对应的第一查询向量进行第一运算,确定所述第一词在第一事件类型下的第一注意力系数;

基于训练得到的第二参数集,将所述第一词的词向量,与训练得到的第一事件类型对应的第二查询向量进行第二运算,确定所述第一词在第一事件类型下的第二注意力系数。

在一个实施例中,所述预设的多个事件类型包括第一事件类型,所述第二确定单元504配置为:基于训练得到的第三参数集,将该候选触发词的词向量和所述第一事件类型下的句子向量,与训练得到的第一事件类型对应的第三查询向量进行第三运算,确定该候选触发词对应第一事件类型的触发词分类结果;

所述第三确定单元505配置为:基于训练得到的第四参数集,将该候选论元词的词向量,所述候选触发词的词向量和各个事件类型下的句子向量,与训练得到的第一事件类型的论元角色对应的第四查询向量进行第四运算,确定该候选论元词在第一事件类型下的角色分类结果。

在一个实施例中,所述第一确定单元503的配置、所述第二确定单元504的配置、所述第三确定单元505的配置通过联合训练得到。

在一个实施例中,所述装置还包括第五确定单元507,所述第五确定单元507配置为:在句子事件分类层,基于各个事件类型的句子向量,确定待分析句子对应各个事件类型的句子分类结果;所述第四确定单元506配置为:根据所述句子分类结果,所述触发词分类结果和所述角色分类结果,确定事件抽取结果。

上述实施例的一个示例中,所述第五确定单元507配置为:

基于训练得到的第五参数集,将各个事件类型下的句子向量,与训练得到的各个事件类型对应的第五查询向量进行第五运算,确定该句子对应的各个事件类型的句子分类结果。

在上述实施例的一个示例中,所述第一确定单元503的配置、所述第二确定单元504的配置、所述第三确定单元505的配置、所述第五确定单元507的配置通过联合训练得到。

在一个实施例中,所述第三确定单元505还配置为:

基于该候选论元词的词向量,所述候选触发词的词向量,各个事件类型下的句子向量和该候选论元词的第一特征向量,判断该候选论元词是否为各个事件类型下的第一角色;

该候选论元词的第一特征向量包括以下任一种或多种:

该候选论元词的实体类型、该候选论元词和候选触发词之间间隔的词的数量、候选论元词和候选触发词之间的第一角色备选论元词的数量。

装置500的各功能单元的功能可以参考图2和/或图5所示的方法实现,此次不在赘述。

通过本说明书实施例的方案,在根据各个词的词向量计算各个事件类型下的句子向量时,考虑了每个词在各个事件类型下的综合注意力系数,可以提高事件抽取的性能;进一步地,在本说明书实施例中,用于事件抽取的神经网络的注意力层、触发词事件分类层、论元词角色分类层、句子事件分类层为联合训练得到的,三者相互促进,提高了神经网络用于事件抽取的性能;另外,注意力层、触发词事件分类层、论元词角色分类层、句子事件分类层共享底层参数,在迁移到新的事件类型时,针对新的事件类型,训练相关的查询向量即可,无需把整个神经网络再训练一遍,因此,对新的事件类型的训练速度快,同时保证了已有的事件类型的分类结果不便。

另一方面,本说明书的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图2和/或图5所示的方法。

另一方面,本说明书的实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图2和/或图5所示的方法。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

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