首页> 中国专利> 机器阅读理解中的数值推理方法和装置

机器阅读理解中的数值推理方法和装置

摘要

本说明书实施例提供一种机器阅读理解中的数值推理方法和装置。方法包括:获取当前问题和当前文本;确定当前问题和当前文本中包括的各实体和各数字,以及各数字分别对应的类型;构建关系网络图,包括对应于各实体的实体节点,和对应于各数字的数字节点,在相同类型的数字节点之间,以及具有预设关系的实体节点和数字节点之间,通过连接边形成邻居;确定当前问题对应的第一问题表征向量,以及关系网络图中各节点的初始表征向量;基于各节点的初始表征向量,对所述关系网络图中的各节点进行预定次数的迭代,以得到各节点的更新表征向量。能够提高机器阅读理解中的数值推理处理复杂问题的能力。

著录项

  • 公开/公告号CN112507074A

    专利类型发明专利

  • 公开/公告日2021-03-16

    原文格式PDF

  • 申请/专利权人 支付宝(杭州)信息技术有限公司;

    申请/专利号CN202011436272.8

  • 申请日2020-07-31

  • 分类号G06F16/33(20190101);G06F16/332(20190101);G06F16/35(20190101);G06F16/36(20190101);G06N5/04(20060101);

  • 代理机构11309 北京亿腾知识产权代理事务所(普通合伙);

  • 代理人孙欣欣;周良玉

  • 地址 310000 浙江省杭州市西湖区西溪路556号8层B段801-11

  • 入库时间 2023-06-19 10:16:30

说明书

本发明申请是申请日为2020年07月31日、申请号为202010759810.0、发明名称为“机器阅读理解中的数值推理方法和装置”的发明申请的分案申请。

技术领域

本说明书一个或多个实施例涉及计算机领域,尤其涉及机器阅读理解中的数值推理方法和装置。

背景技术

机器阅读理解作为自然语言处理中的一项任务,通常给出问题和文本,文本用于描述问题的条件,通过机器阅读理解可以得到问题对应的答案。在机器阅读理解中,数值推理是一种重要的能力,通常包括加、减、排序、统计等数值推理方式。针对一个与数值推理有关的问题,如何基于文本推理出正确的答案是当前关注的问题。

现有技术中,在机器阅读理解中的数值推理时,面对复杂的问题,常常无法得到正确的答案。

因此,希望能有改进的方案,能够提高机器阅读理解中的数值推理处理复杂问题的能力。

发明内容

本说明书一个或多个实施例描述了一种机器阅读理解中的数值推理方法和装置,能够提高机器阅读理解中的数值推理处理复杂问题的能力。

第一方面,提供了一种机器阅读理解中的数值推理方法,方法包括:

获取当前问题和当前文本,所述当前文本用于描述当前问题的条件;

确定所述当前问题和所述当前文本中包括的各实体和各数字,以及各数字分别对应的类型;

构建关系网络图,所述关系网络图包括对应于所述各实体的实体节点,和对应于所述各数字的数字节点,在相同类型的数字节点之间,以及具有预设关系的实体节点和数字节点之间,通过连接边形成邻居;

将所述当前问题和所述当前文本输入语言模型,通过所述语言模型获得所述当前问题和所述当前文本中各语义元素位置对应的第一语义表征向量;

根据各第一语义表征向量,确定所述当前问题对应的第一问题表征向量,以及所述关系网络图中各节点的初始表征向量;

基于各节点的初始表征向量,对所述关系网络图中的各节点进行预定次数的迭代,每次迭代包括,对于各个节点,基于所述第一问题表征向量并利用注意力机制进行邻居节点聚合,以得到各节点的更新表征向量;

根据所述预定次数的迭代后各节点的更新表征向量,确定数值推理答案。

在一种可能的实施方式中,所述类型包括如下至少一种:

金额、时间、百分比。

在一种可能的实施方式中,所述实体包括如下至少一种:

人名、地名、物品名称。

在一种可能的实施方式中,所述根据各第一语义表征向量,确定所述当前问题对应的第一问题表征向量,包括:

对所述当前问题中各个语义元素位置对应的各个第一语义表征向量进行均值池化,得到所述当前问题对应的第一问题表征向量。

在一种可能的实施方式中,所述根据各第一语义表征向量,确定所述关系网络图中各节点的初始表征向量,包括:

对于所述关系网络图中各节点中任一节点,确定所述当前问题和所述当前文本中与该任一节点的内容匹配的若干语义元素位置,将所述若干语义元素位置对应的若干第一语义表征向量进行均值池化,以确定该任一节点的初始表征向量。

在一种可能的实施方式中,所述每次迭代包括:

基于所述第一问题表征向量,利用与当前迭代次数对应的神经网络确定与当前迭代次数对应的问题驱动向量;

基于各节点的初始表征向量、当前表征向量和所述问题驱动向量,确定各节点的中间向量;

分别利用查询矩阵、键矩阵和值矩阵对各节点的中间向量进行变换,得到各节点分别对应的查询向量、键向量和值向量;

将第一节点对应的查询向量,与第二节点对应的键向量进行相似度计算,以得到所述第二节点到所述第一节点的注意力分;其中,所述第一节点与所述第二节点为所述关系网络图中互为邻居的任意两个节点;

将任一节点作为目标节点,根据所述目标节点各邻居到所述目标节点的各注意力分,对各邻居的值向量进行加权求和,基于求和结果确定所述目标节点的更新表征向量。

进一步地,所述基于所述第一问题表征向量,利用与当前迭代次数对应的神经网络确定与当前迭代次数对应的问题驱动向量,包括:

将所述第一问题表征向量经过第一全连接层,得到第一特征向量;

将所述第一特征向量经过激活函数,得到第二特征向量;

将所述第二特征向量经过当前迭代次数对应的第二全连接层,得到与当前迭代次数对应的问题驱动向量。

进一步地,所述基于各节点的初始表征向量、当前表征向量和所述问题驱动向量,确定各节点的中间向量,包括:

将各节点的初始表征向量与各节点的当前表征向量进行拼接,得到各节点分别对应的第一拼接向量;

将各节点的第一拼接向量转化为预设维度后,与所述问题驱动向量进行按位相乘,得到各节点的中间向量。

进一步地,所述将所述第一拼接向量转化为预设维度,包括:

将所述第一拼接向量经过第三全连接层,以转化为预设维度,所述预设维度与所述问题驱动向量维度相同。

在一种可能的实施方式中,所述根据所述预定次数的迭代后各节点的更新表征向量,确定数值推理答案,包括:

对于所述关系网络图中各节点中任一节点,确定所述当前问题和所述当前文本中与该任一节点的内容匹配的若干语义元素位置,获取所述若干语义元素位置对应的若干第一语义表征向量;

根据所述预定次数的迭代后该任一节点的更新表征向量,更新获取的所述若干语义元素位置对应的若干第一语义表征向量,以确定所述若干语义元素位置分别对应的第二语义表征向量;

根据所述当前问题和所述当前文本中若干语义元素位置分别对应的各第二语义表征向量,以及其他语义元素位置分别对应的各第一语义表征向量,确定所述当前问题和所述当前文本对应的第一综合表征向量;

根据所述第一综合表征向量,利用第一分类模型确定所述数值推理答案对应的答案类型;

至少根据所述答案类型和所述第一综合表征向量,利用第二分类模型确定所述数值推理答案。

进一步地,所述答案类型包括如下至少一种:

答案抽取、计数问题和算术表达式类问题。

进一步地,所述答案类型为答案抽取;

所述至少根据所述答案类型和所述第一综合表征向量,利用第二分类模型确定所述数值推理答案,包括:

根据所述当前问题中若干语义元素位置分别对应的各第二语义表征向量,以及其他语义元素位置分别对应的各第一语义表征向量,确定所述当前问题对应的第二问题表征向量;

将所述第一综合表征向量与所述第二问题表征向量按位相乘,得到第一交叉表征向量;

将所述第一综合表征向量和所述第一交叉表征向量拼接后输入所述第二分类模型,得到所述数值推理答案。

进一步地,所述第二分类模型用于预测各语义元素位置中的答案起始位置以及答案终止位置,以根据所述答案起始位置以及答案终止位置得到所述数值推理答案。

进一步地,所述答案类型为计数问题;

所述第二分类模型用于预测0至9中的数字,以得到所述数值推理答案。

进一步地,所述答案类型为算数表达式类问题;

所述第二分类模型用于预测所述当前问题和所述当前文本中每个数字的符号,所述符号包括加号、减号、0,通过每个数字和符号运算得到数值推理答案。

第二方面,提供了一种机器阅读理解中的数值推理装置,装置包括:

获取单元,用于获取当前问题和当前文本,所述当前文本用于描述当前问题的条件;

第一确定单元,用于确定所述获取单元获取的当前问题和当前文本中包括的各实体和各数字,以及各数字分别对应的类型;

构建单元,用于构建关系网络图,所述关系网络图包括对应于所述第一确定单元确定的各实体的实体节点,和对应于所述各数字的数字节点,在相同类型的数字节点之间,以及具有预设关系的实体节点和数字节点之间,通过连接边形成邻居;

第一表征单元,用于将所述获取单元获取的当前问题和当前文本输入语言模型,通过所述语言模型获得所述当前问题和所述当前文本中各语义元素位置对应的第一语义表征向量;

第二表征单元,用于根据所述第一表征单元得到的各第一语义表征向量,确定所述当前问题对应的第一问题表征向量,以及所述关系网络图中各节点的初始表征向量;

迭代单元,用于基于所述第二表征单元得到的各节点的初始表征向量,对所述关系网络图中的各节点进行预定次数的迭代,每次迭代包括,对于各个节点,基于所述第二表征单元得到的第一问题表征向量并利用注意力机制进行邻居节点聚合,以得到各节点的更新表征向量;

第二确定单元,用于根据所述迭代单元得到的预定次数的迭代后各节点的更新表征向量,确定数值推理答案。

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

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

通过本说明书实施例提供的方法和装置,首先获取当前问题和当前文本,所述当前文本用于描述当前问题的条件;然后不仅确定所述当前问题和所述当前文本中包括各数字,还确定其中包括的各实体,以及各数字分别对应的类型;接着构建关系网络图,所述关系网络图包括对应于所述各实体的实体节点,和对应于所述各数字的数字节点,在相同类型的数字节点之间,以及具有预设关系的实体节点和数字节点之间,通过连接边形成邻居;通过关系网络图建立了具有预设关系的实体与数字之间的关系,基于这种关系迭代后的节点表征向量有助于区分数字和文本的关系;并且,通过关系网络图建立了相同类型的数字之间的关系,基于这种关系迭代后的节点表征向量有助于区分不同数字的类型;此外,在节点向量的迭代过程中,基于问题表征向量进行迭代,体现了各节点对应解答问题的重要性,可以理解的是,与问题相关的节点的重要性高于其他节点,从而可以有效地指导迭代过程,相应地,基于这种关系迭代后的节点表征向量能够体现出不同节点的重要性,最后根据所述预定次数的迭代后各节点的更新表征向量,确定数值推理答案,能够更好的解决复杂问题,从而能够提高机器阅读理解中的数值推理处理复杂问题的能力。

附图说明

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

图1为本说明书披露的一个实施例的实施场景示意图;

图2示出根据一个实施例的机器阅读理解中的数值推理方法流程图;

图3示出根据一个实施例的关系网络图的结构示意图;

图4示出根据一个实施例的语言模型的编码输出示意图;

图5示出根据一个实施例的多次迭代过程示意图;

图6示出根据一个实施例的确定第二语义表征向量的方式示意图;

图7示出根据一个实施例的答案预测过程示意图;

图8示出根据一个实施例的机器阅读理解中的数值推理装置的示意性框图。

具体实施方式

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

图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及机器阅读理解中的数值推理。参照图1,可以理解的是,数值推理需要基于条件和问题来回答,机器阅读理解中的条件通过文本来给出,也就是说,通过文本描述问题的条件。不同文本下面对相同的问题,答案通常不同,例如,文本1即条件1为,小红有5元钱,小明有3元钱,问题为小红和小明共有多少钱,此时通过加法运算,可以得到文本1描述的条件下该问题的答案为8元钱;文本2即条件2为,小红有2元钱,小明有3元钱,问题为小红和小明共有多少钱,此时通过加法运算,可以得到文本2描述的条件下该问题的答案为5元钱。相同条件下面对不同的问题,答案通常不同,例如,文本即条件为,小红有5元钱,小明有3元钱,问题1为小红和小明共有多少钱,此时通过加法运算,可以得到文本描述的条件下该问题1的答案为8元钱;文本即条件为,小红有5元钱,小明有3元钱,问题2为小红比小明多有多少钱,此时通过减法运算,可以得到文本描述的条件下该问题2的答案为2元钱。

需要说明的是,上述所描述的文本和问题仅为举例说明,并不作为对本说明书实施例中文本和问题的限定,本说明书实施例提供的机器阅读理解中的数值推理方法,可以适用于各类场景下的各种数值推理问题,除了上面提到的算术表达式类问题,还可以包括答案抽取、计数问题等。

图2示出根据一个实施例的机器阅读理解中的数值推理方法流程图,该方法可以基于图1所示的实施场景。如图2所示,该实施例中机器阅读理解中的数值推理方法包括以下步骤:步骤21,获取当前问题和当前文本,所述当前文本用于描述当前问题的条件;步骤22,确定所述当前问题和所述当前文本中包括的各实体和各数字,以及各数字分别对应的类型;步骤23,构建关系网络图,所述关系网络图包括对应于所述各实体的实体节点,和对应于所述各数字的数字节点,在相同类型的数字节点之间,以及具有预设关系的实体节点和数字节点之间,通过连接边形成邻居;步骤24,将所述当前问题和所述当前文本输入语言模型,通过所述语言模型获得所述当前问题和所述当前文本中各语义元素位置对应的第一语义表征向量;步骤25,根据各第一语义表征向量,确定所述当前问题对应的第一问题表征向量,以及所述关系网络图中各节点的初始表征向量;步骤26,基于各节点的初始表征向量,对所述关系网络图中的各节点进行预定次数的迭代,每次迭代包括,对于各个节点,基于所述第一问题表征向量并利用注意力机制进行邻居节点聚合,以得到各节点的更新表征向量;步骤27,根据所述预定次数的迭代后各节点的更新表征向量,确定数值推理答案。下面描述以上各个步骤的具体执行方式。

首先在步骤21,获取当前问题和当前文本,所述当前文本用于描述当前问题的条件。可以理解的是,当前问题和当前文本通常都与数字有关,或者至少其中之一与数字有关;当前问题和当前文本中可以都包含数字,或者其中之一包含数字。

本说明书实施例中,当前文本可以是一段话,或者一篇文章,对于当前文本的篇幅长短不做限定。

然后在步骤22,确定所述当前问题和所述当前文本中包括的各实体和各数字,以及各数字分别对应的类型。可以理解的是,该步骤可以借助于现有的中文分词工具来实现。

在一个示例中,所述类型包括如下至少一种:

金额、时间、百分比。

例如,“1元钱”中的数字1对应的类型为金额;“2019年”中的数字2019对应的类型为时间;“折扣为百分之50”中的数字50对应的类型为百分比。

在一个示例中,所述实体包括如下至少一种:

人名、地名、物品名称。

例如,文本“小红上个月去海南玩儿了,还买了5斤香蕉”中的实体包括小红、海南和香蕉,其中,小红为人名,海南为地名,香蕉为物品名称。

接着在步骤23,构建关系网络图,所述关系网络图包括对应于所述各实体的实体节点,和对应于所述各数字的数字节点,在相同类型的数字节点之间,以及具有预设关系的实体节点和数字节点之间,通过连接边形成邻居。可以理解的是,步骤23是基于步骤22中确定出的各实体和各数字,以及各数字分别对应的类型,构建关系网络图的。

举例来说,若两个数字节点对应的数字的类型都为金额,或者,都为时间,或者都为百分比,则这两个数字节点之间具有连接边,也就是说,这两个数字节点互为邻居。

在一个示例中,上述预设关系为实体节点对应的实体和数字节点对应的数字在当前问题或当前文本中语义元素位置之间的关系。例如,上述预设关系为实体节点对应的实体和数字节点对应的数字在当前问题或当前文本中语义元素位置属于同一个句子。

图3示出根据一个实施例的关系网络图的结构示意图。参照图3,关系网络图中包括实体节点S1、S2、S3、S4,数字节点J1、J2、T1、T2。其中,数字节点J1、J2对应的数字的类型均为金额,数字节点J1、J2之间具有连接边;数字节点T1、T2对应的数字的类型均为时间,数字节点T1、T2之间具有连接边;实体节点S1和数字节点J2具有预设关系,实体节点S1和数字节点J2之间具有连接边;实体节点S1和数字节点T1具有预设关系,实体节点S1和数字节点T1之间具有连接边;实体节点S2和数字节点J1具有预设关系,实体节点S2和数字节点J1之间具有连接边;实体节点S2和数字节点T2具有预设关系,实体节点S2和数字节点T2之间具有连接边;实体节点S3、S4与任一数字节点都不具有预设关系,实体节点S3、S4与任一数字节点之间均不具有连接边。

再在步骤24,将所述当前问题和所述当前文本输入语言模型,通过所述语言模型获得所述当前问题和所述当前文本中各语义元素位置对应的第一语义表征向量。可以理解的是,所述当前问题和所述当前文本可以被划分为各语义元素,各语义元素对应有在所述当前问题和所述当前文本中的位置,该位置可以称为语义元素位置。

在一个示例中,上述语言模型可以基于RoBERTa实现,将所述当前问题和所述当前文本拼接后输入语言模型。

图4示出根据一个实施例的语言模型的编码输出示意图。参照图4,将当前问题和当前文本输入语言模型,通过语言模型获得当前问题和当前文本中各语义元素位置对应的第一语义表征向量,其中,每个小圆圈对应一个语义元素位置,其中填充黑色的实心小圆圈对应的语义元素位置,对应于步骤22中确定的各实体和各数字,或者说对应于步骤23中的各节点。

再在步骤25,根据各第一语义表征向量,确定所述当前问题对应的第一问题表征向量,以及所述关系网络图中各节点的初始表征向量。可以理解的是,当前问题中通常包括若干语义元素位置,任一节点的内容通常也会匹配若干语义元素位置,因此基于各语义元素位置对应的第一语义表征向量,可以确定所述当前问题对应的第一问题表征向量,以及所述关系网络图中各节点的初始表征向量。

在一个示例中,可以对所述当前问题中各个语义元素位置对应的各个第一语义表征向量进行均值池化,得到所述当前问题对应的第一问题表征向量。

在一个示例中,可以对于所述关系网络图中各节点中任一节点,确定所述当前问题和所述当前文本中与该任一节点的内容匹配的若干语义元素位置,将所述若干语义元素位置对应的若干第一语义表征向量进行均值池化,以确定该任一节点的初始表征向量。

再在步骤26,基于各节点的初始表征向量,对所述关系网络图中的各节点进行预定次数的迭代,每次迭代包括,对于各个节点,基于所述第一问题表征向量并利用注意力机制进行邻居节点聚合,以得到各节点的更新表征向量。可以理解的是,由于关系网络图中同一类型的数字节点之间具有连接边,具有预设关系的实体节点和数字节点之间具有连接边,因此迭代后的各节点的更新表征向量也能够体现出上述节点之间的关系。

图5示出根据一个实施例的多次迭代过程示意图。参照图5,本说明书实施例中,对所述关系网络图中的各节点进行预定次数的迭代,上述预定次数可以为2或者3等,图5中仅以预定次数为2作为示例。其中,T代表当前迭代次数,在当前迭代次数为1时,节点的当前表征向量为节点的初始表征向量,在当前迭代次数为2时,节点的当前表征向量为第一次迭代后的节点的更新表征向量。基于第一问题表征向量指导迭代过程,可以理解的是,与问题相关的节点在数值推理过程中更为重要。在T=1中,基于关系网络图和第一问题表征向量,可以确定与问题相关的子图。在T=2中,可以基于T=1确定的子图进行迭代。

在一个示例中,所述每次迭代包括:

基于所述第一问题表征向量,利用与当前迭代次数对应的神经网络确定与当前迭代次数对应的问题驱动向量;

基于各节点的初始表征向量、当前表征向量和所述问题驱动向量,确定各节点的中间向量;

分别利用查询矩阵、键矩阵和值矩阵对各节点的中间向量进行变换,得到各节点分别对应的查询向量、键向量和值向量;

将第一节点对应的查询向量,与第二节点对应的键向量进行相似度计算,以得到所述第二节点到所述第一节点的注意力分;其中,所述第一节点与所述第二节点为所述关系网络图中互为邻居的任意两个节点;

将任一节点作为目标节点,根据所述目标节点各邻居到所述目标节点的各注意力分,对各邻居的值向量进行加权求和,基于求和结果确定所述目标节点的更新表征向量。

可以理解的是,当前迭代次数不同时,对应的问题驱动向量也不同,从而在迭代过程中,也就是图推理过程中,需要针对每层迭代学习问题中的不同侧重点,以使每层推理的重点不一样。

进一步地,所述基于所述第一问题表征向量,利用与当前迭代次数对应的神经网络确定与当前迭代次数对应的问题驱动向量,包括:

将所述第一问题表征向量经过第一全连接层,得到第一特征向量;

将所述第一特征向量经过激活函数,得到第二特征向量;

将所述第二特征向量经过当前迭代次数对应的第二全连接层,得到与当前迭代次数对应的问题驱动向量。

本说明书实施例中,第一全连接层用于得到与第一问题表征向量空间分布不同的第一特征向量。在获取各当前迭代次数对应的问题驱动向量时,可以共用上述第一全连接层。

作为示例,上述激活函数可以采用ELU激活函数。

进一步地,所述基于各节点的初始表征向量、当前表征向量和所述问题驱动向量,确定各节点的中间向量,包括:

将各节点的初始表征向量与各节点的当前表征向量进行拼接,得到各节点分别对应的第一拼接向量;

将各节点的第一拼接向量转化为预设维度后,与所述问题驱动向量进行按位相乘,得到各节点的中间向量。

进一步地,所述将所述第一拼接向量转化为预设维度,包括:

将所述第一拼接向量经过第三全连接层,以转化为预设维度,所述预设维度与所述问题驱动向量维度相同。

可以理解的是,若向量A为(a1,a2,…an),向量B为(b1,b2,…bn),则向量A与向量B按位相乘的结果为(a1b1,a2b2,…anbn)。

进一步地,将第一节点对应的查询向量,与第二节点对应的键向量进行相似度计算的方式有很多,例如,先将第一节点对应的查询向量,与第二节点对应的键向量进行拼接,然后经过一个全连接层,得到所述第二节点到所述第一节点的注意力分。

为了更好地评估目标节点的各邻居中更重要的节点,还可以对上述注意力分进行一次softmax回归。

进一步地,前述基于求和结果确定所述目标节点的更新表征向量,具体可以为:将求和结果得到的向量与目标节点的当前表征向量拼接,然后再经过一层全连接层后,得到目标节点的更新表征向量。

最后在步骤27,根据所述预定次数的迭代后各节点的更新表征向量,确定数值推理答案。可以理解的是,相对于各节点的初始表征向量,各节点的更新表征向量,更能体现实体和数字的关系,以及不同的数字的类型,从而有助于确定数值推理答案。

在一个示例中,所述根据所述预定次数的迭代后各节点的更新表征向量,确定数值推理答案,包括:

对于所述关系网络图中各节点中任一节点,确定所述当前问题和所述当前文本中与该任一节点的内容匹配的若干语义元素位置,获取所述若干语义元素位置对应的若干第一语义表征向量;

根据所述预定次数的迭代后该任一节点的更新表征向量,更新获取的所述若干语义元素位置对应的若干第一语义表征向量,以确定所述若干语义元素位置分别对应的第二语义表征向量;

根据所述当前问题和所述当前文本中若干语义元素位置分别对应的各第二语义表征向量,以及其他语义元素位置分别对应的各第一语义表征向量,确定所述当前问题和所述当前文本对应的第一综合表征向量;

根据所述第一综合表征向量,利用第一分类模型确定所述数值推理答案对应的答案类型;

至少根据所述答案类型和所述第一综合表征向量,利用第二分类模型确定所述数值推理答案。

图6示出根据一个实施例的确定第二语义表征向量的方式示意图。参照图6,填充黑色的实心小圆圈对应的语义元素位置,对应于关系网络图中的各节点,只有这些语义元素位置是需要更新的,更新的方式可以采用更新表征向量与对应语义元素位置的第一语义表征向量求和的方式,得到该语义元素位置的第二语义表征向量。本说明书实施例中,一个节点可能对应多个语义元素位置,例如,数字节点对应的数字为1000,而1000这个数字对应两个语义元素位置,分别为100对应的语义元素位置和0对应的语义元素位置,这种情况下每个语义元素位置对应的语义表征向量都需要更新。

图7示出根据一个实施例的答案预测过程示意图。参照图7,本说明书实施例中,通过预定次数的迭代后得到各节点的更新表征向量,根据各更新表征向量,确定所述当前问题和所述当前文本对应的第一综合表征向量,基于该第一综合表征向量,先利用第一分类模型确定答案类型,再根据第一综合表征向量和答案类型,利用第二分类模型确定数值推理答案,可以提高数值推理答案的正确率。

进一步地,所述答案类型包括如下至少一种:

答案抽取、计数问题和算术表达式类问题。

进一步地,所述答案类型为答案抽取;

所述至少根据所述答案类型和所述第一综合表征向量,利用第二分类模型确定所述数值推理答案,包括:

根据所述当前问题中若干语义元素位置分别对应的各第二语义表征向量,以及其他语义元素位置分别对应的各第一语义表征向量,确定所述当前问题对应的第二问题表征向量;

将所述第一综合表征向量与所述第二问题表征向量按位相乘,得到第一交叉表征向量;

将所述第一综合表征向量和所述第一交叉表征向量拼接后输入所述第二分类模型,得到所述数值推理答案。

进一步地,所述第二分类模型用于预测各语义元素位置中的答案起始位置以及答案终止位置,以根据所述答案起始位置以及答案终止位置得到所述数值推理答案。

进一步地,所述答案类型为计数问题;

所述第二分类模型用于预测0至9中的数字,以得到所述数值推理答案。

进一步地,所述答案类型为算数表达式类问题;

所述第二分类模型用于预测所述当前问题和所述当前文本中每个数字的符号,所述符号包括加号、减号、0,通过每个数字和符号运算得到数值推理答案。

通过本说明书实施例提供的方法,首先获取当前问题和当前文本,所述当前文本用于描述当前问题的条件;然后不仅确定所述当前问题和所述当前文本中包括各数字,还确定其中包括的各实体,以及各数字分别对应的类型;接着构建关系网络图,所述关系网络图包括对应于所述各实体的实体节点,和对应于所述各数字的数字节点,在相同类型的数字节点之间,以及具有预设关系的实体节点和数字节点之间,通过连接边形成邻居;通过关系网络图建立了具有预设关系的实体与数字之间的关系,基于这种关系迭代后的节点表征向量有助于区分数字和文本的关系;并且,通过关系网络图建立了相同类型的数字之间的关系,基于这种关系迭代后的节点表征向量有助于区分不同数字的类型;此外,在节点向量的迭代过程中,基于问题表征向量进行迭代,体现了各节点对应解答问题的重要性,可以理解的是,与问题相关的节点的重要性高于其他节点,从而可以有效地指导迭代过程,相应地,基于这种关系迭代后的节点表征向量能够体现出不同节点的重要性,最后根据所述预定次数的迭代后各节点的更新表征向量,确定数值推理答案,能够更好的解决复杂问题,从而能够提高机器阅读理解中的数值推理处理复杂问题的能力。

根据另一方面的实施例,还提供一种机器阅读理解中的数值推理装置,该装置用于执行本说明书实施例提供的机器阅读理解中的数值推理方法。图8示出根据一个实施例的机器阅读理解中的数值推理装置的示意性框图。如图8所示,该装置800包括:

获取单元81,用于获取当前问题和当前文本,所述当前文本用于描述当前问题的条件;

第一确定单元82,用于确定所述获取单元81获取的当前问题和当前文本中包括的各实体和各数字,以及各数字分别对应的类型;

构建单元83,用于构建关系网络图,所述关系网络图包括对应于所述第一确定单元82确定的各实体的实体节点,和对应于所述各数字的数字节点,在相同类型的数字节点之间,以及具有预设关系的实体节点和数字节点之间,通过连接边形成邻居;

第一表征单元84,用于将所述获取单元81获取的当前问题和当前文本输入语言模型,通过所述语言模型获得所述当前问题和所述当前文本中各语义元素位置对应的第一语义表征向量;

第二表征单元85,用于根据所述第一表征单元84得到的各第一语义表征向量,确定所述当前问题对应的第一问题表征向量,以及所述关系网络图中各节点的初始表征向量;

迭代单元86,用于基于所述第二表征单元85得到的各节点的初始表征向量,对所述关系网络图中的各节点进行预定次数的迭代,每次迭代包括,对于各个节点,基于所述第二表征单元85得到的第一问题表征向量并利用注意力机制进行邻居节点聚合,以得到各节点的更新表征向量;

第二确定单元87,用于根据所述迭代单元86得到的预定次数的迭代后各节点的更新表征向量,确定数值推理答案。

可选地,作为一个实施例,所述类型包括如下至少一种:

金额、时间、百分比。

可选地,作为一个实施例,所述实体包括如下至少一种:

人名、地名、物品名称。

可选地,作为一个实施例,所述第二表征单元85,具体用于对所述当前问题中各个语义元素位置对应的各个第一语义表征向量进行均值池化,得到所述当前问题对应的第一问题表征向量。

可选地,作为一个实施例,所述第二表征单元85,具体用于对于所述关系网络图中各节点中任一节点,确定所述当前问题和所述当前文本中与该任一节点的内容匹配的若干语义元素位置,将所述若干语义元素位置对应的若干第一语义表征向量进行均值池化,以确定该任一节点的初始表征向量。

可选地,作为一个实施例,所述迭代单元86包括:

第一确定子单元,用于基于所述第一问题表征向量,利用与当前迭代次数对应的神经网络确定与当前迭代次数对应的问题驱动向量;

第二确定子单元,用于基于各节点的初始表征向量、当前表征向量和所述第一确定子单元确定的问题驱动向量,确定各节点的中间向量;

变换子单元,用于分别利用查询矩阵、键矩阵和值矩阵对所述第二确定子单元确定的各节点的中间向量进行变换,得到各节点分别对应的查询向量、键向量和值向量;

相似度计算子单元,用于将所述变换子单元得到的第一节点对应的查询向量,与第二节点对应的键向量进行相似度计算,以得到所述第二节点到所述第一节点的注意力分;其中,所述第一节点与所述第二节点为所述关系网络图中互为邻居的任意两个节点;

更新子单元,用于将任一节点作为目标节点,根据所述相似度计算子单元得到的所述目标节点各邻居到所述目标节点的各注意力分,对所述变换子单元得到的各邻居的值向量进行加权求和,基于求和结果确定所述目标节点的更新表征向量。

进一步地,所述第一确定子单元包括:

第一转换模块,用于将所述第一问题表征向量经过第一全连接层,得到第一特征向量;

激活模块,用于将所述第一转换模块得到的第一特征向量经过激活函数,得到第二特征向量;

第二转换模块,用于将所述激活模块得到的第二特征向量经过当前迭代次数对应的第二全连接层,得到与当前迭代次数对应的问题驱动向量。

进一步地,所述第二确定子单元包括:

拼接模块,用于将各节点的初始表征向量与各节点的当前表征向量进行拼接,得到各节点分别对应的第一拼接向量;

中间转换模块,用于将所述拼接模块得到的各节点的第一拼接向量转化为预设维度后,与所述问题驱动向量进行按位相乘,得到各节点的中间向量。

进一步地,所述中间转换模块,具体用于将所述第一拼接向量经过第三全连接层,以转化为预设维度,所述预设维度与所述问题驱动向量维度相同。

可选地,作为一个实施例,所述第二确定单元87包括:

获取模块,用于对于所述关系网络图中各节点中任一节点,确定所述当前问题和所述当前文本中与该任一节点的内容匹配的若干语义元素位置,获取所述若干语义元素位置对应的若干第一语义表征向量;

更新模块,用于根据所述预定次数的迭代后该任一节点的更新表征向量,更新所述获取模块获取的所述若干语义元素位置对应的若干第一语义表征向量,以确定所述若干语义元素位置分别对应的第二语义表征向量;

综合表征模块,用于根据所述更新模块得到的所述当前问题和所述当前文本中若干语义元素位置分别对应的各第二语义表征向量,以及其他语义元素位置分别对应的各第一语义表征向量,确定所述当前问题和所述当前文本对应的第一综合表征向量;

第一确定模块,用于根据所述综合表征模块得到的第一综合表征向量,利用第一分类模型确定所述数值推理答案对应的答案类型;

第二确定模块,用于至少根据所述第一确定模块确定的答案类型和所述第一综合表征向量,利用第二分类模型确定所述数值推理答案。

进一步地,所述答案类型包括如下至少一种:

答案抽取、计数问题和算术表达式类问题。

进一步地,所述答案类型为答案抽取;

所述第二确定模块具体用于:

根据所述当前问题中若干语义元素位置分别对应的各第二语义表征向量,以及其他语义元素位置分别对应的各第一语义表征向量,确定所述当前问题对应的第二问题表征向量;

将所述第一综合表征向量与所述第二问题表征向量按位相乘,得到第一交叉表征向量;

将所述第一综合表征向量和所述第一交叉表征向量拼接后输入所述第二分类模型,得到所述数值推理答案。

进一步地,所述第二分类模型用于预测各语义元素位置中的答案起始位置以及答案终止位置,以根据所述答案起始位置以及答案终止位置得到所述数值推理答案。

进一步地,所述答案类型为计数问题;

所述第二分类模型用于预测0至9中的数字,以得到所述数值推理答案。

进一步地,所述答案类型为算数表达式类问题;

所述第二分类模型用于预测所述当前问题和所述当前文本中每个数字的符号,所述符号包括加号、减号、0,通过每个数字和符号运算得到数值推理答案。

通过本说明书实施例提供的装置,首先获取单元81获取当前问题和当前文本,所述当前文本用于描述当前问题的条件;然后第一确定单元82不仅确定所述当前问题和所述当前文本中包括各数字,还确定其中包括的各实体,以及各数字分别对应的类型;接着构建单元83构建关系网络图,所述关系网络图包括对应于所述各实体的实体节点,和对应于所述各数字的数字节点,在相同类型的数字节点之间,以及具有预设关系的实体节点和数字节点之间,通过连接边形成邻居;通过关系网络图建立了具有预设关系的实体与数字之间的关系,迭代单元86基于这种关系迭代后的节点表征向量有助于区分数字和文本的关系;并且,通过关系网络图建立了相同类型的数字之间的关系,基于这种关系迭代后的节点表征向量有助于区分不同数字的类型;此外,在节点向量的迭代过程中,基于问题表征向量进行迭代,体现了各节点对应解答问题的重要性,可以理解的是,与问题相关的节点的重要性高于其他节点,从而可以有效地指导迭代过程,相应地,基于这种关系迭代后的节点表征向量能够体现出不同节点的重要性,最后第二确定单元87根据所述预定次数的迭代后各节点的更新表征向量,确定数值推理答案,能够更好的解决复杂问题,从而能够提高机器阅读理解中的数值推理处理复杂问题的能力。

根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。

根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所描述的方法。

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

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号