CN110928982A - 机器阅读理解方法、设备和存储介质 - Google Patents
机器阅读理解方法、设备和存储介质 Download PDFInfo
- Publication number
- CN110928982A CN110928982A CN201810996512.6A CN201810996512A CN110928982A CN 110928982 A CN110928982 A CN 110928982A CN 201810996512 A CN201810996512 A CN 201810996512A CN 110928982 A CN110928982 A CN 110928982A
- Authority
- CN
- China
- Prior art keywords
- information
- article
- inference
- question
- vector
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/045—Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提出了一种机器阅读理解方法、设备和存储介质。该方法包括获取文章针对问题的第一对齐信息;根据获取的所述第一对齐信息,在所述文章中确定所述问题的答案。该方法能够提高回答问题的准确率。
Description
技术领域
本发明涉及机器学习领域,具体而言,涉及一种机器阅读理解方法、设备和存储介质。
背景技术
机器阅读理解的任务目标在于让机器学会根据文章内容回答人类提出的问题,这类任务可以作为测试计算机能否很好地理解自然语言的基线方法。同时机器阅读理解又有广泛的应用场景,例如搜索引擎、电子商务、教育领域等。图1中示出了将机器阅读理解应用于问答系统场景中的一个示例。
如图1所示,用户输入问题(即图1中的用户问题),首先由关键词检索模块(即图1中的检索模块)对文章数据库(即图1中的数据库,该数据库可以预先搭建,数据库中存储大量文章数据)进行搜索,找到与用户问题相关的文章,得到相关文章后由阅读理解模块根据问题对文章内容进行分析、理解、推理,找到与用户问题相对应的答案并反馈给用户。
目前,机器阅读理解采用的方法多是基于循环神经网络与注意力机制的方法,通过寻找文章中每个词语与问题中每个词语的对应关系(该对应关系可以称为对齐信息)发现深层特征,基于此特征,找到文章中的原话来回答人类提出的问题。图2示出了现有技术中基于循环神经网络与注意力机制的阅读理解模型的示意图。
如图2所示,模型以检索到的文章和问题作为输入,经过循环神经网络对文章和问题的文本进行编码(循环神经网络也可以看作一个编码层),再由注意力模块计算文章中每个词语与问题中每个词语的对齐信息,然后重新使用循环神经网络进行编码,最后在文章中选择预测概率最大的词语作为针对上述问题的答案。
目前的机器阅读理解技术中,最终给出的答案的准确性不高。
发明内容
为了解决上述问题中的至少一些问题,本申请实施例提出了一种能够提高回答问题的准确性的机器阅读理解方法。
根据本申请的第一方面,提供了一种机器阅读理解方法,包括:获取文章针对问题的第一对齐信息;根据获取的所述第一对齐信息,在所述文章中确定所述问题的答案。
在一些实施例中,还包括:获取所述问题针对所述文章的第二对齐信息;根据获取的所述第二对齐信息,确定所述文章中是否包含所述问题的答案。
在一些实施例中,还包括:若确定所述文章中包含所述问题的答案,则输出根据所述第一对齐信息所确定的所述问题的答案。。
在一些实施例中,获取文章针对问题的第一对齐信息,包括:获取所述文章对应的向量信息和所述问题对应的向量信息;根据所述文章对应的向量信息和所述问题对应的向量信息,确定所述文章针对所述问题的第一对齐信息。
在一些实施例中,获取所述问题针对所述文章的第二对齐信息,包括:获取所述文章对应的向量信息和所述问题对应的向量信息;根据所述文章对应的向量信息和所述问题对应的向量信息,确定所述问题针对所述文章的第二对齐信息。
在一些实施例中,获取所述文章对应的向量信息,包括:获取所述文章对应的第一词向量;对所述第一词向量进行特征提取以得到第二词向量;根据所述第二词向量,确定所述文章中各词语间的第三对齐信息;根据所述第二词向量和所述第三对齐信息,确定所述文章对应的向量信息;和/或获取所述问题对应的向量信息,包括:获取所述问题对应的第三词向量;对所述第三词向量进行特征提取以得到第四词向量;根据所述第四词向量,确定所述问题中各词语间的第四对齐信息;根据所述第四词向量和所述第四对齐信息,确定所述问题对应的向量信息。
在一些实施例中,根据所述第二词向量和所述第三对齐信息,确定所述文章对应的向量信息,包括:将所述第二词向量和所述第三对齐信息进行合并处理;对合并处理后得到的结果进行特征提取,得到所述文章对应的向量信息;和/或根据所述第四词向量和所述第四对齐信息,确定所述问题对应的向量信息,包括:将所述第四词向量和所述第四对齐信息进行合并处理;对合并处理后得到的结果进行特征提取,得到所述问题对应的向量信息。
在一些实施例中,根据所述第二词向量,确定所述文章中各词语间的第三对齐信息,包括:确定所述文章中各词语间的相似度信息;根据所述文章中各词语间的相似度信息,对所述第二词向量进行加权处理,得到所述文章中各词语间的第三对齐信息;和/或根据所述第四词向量,确定所述问题中各词语间的第四对齐信息,包括:确定所述问题中各词语间的相似度信息;根据所述问题中各词语间的相似度信息,对所述第四词向量进行加权处理,得到所述问题中各词语间的第四对齐信息。
在一些实施例中,根据所述文章对应的向量信息和所述问题对应的向量信息,确定所述文章针对所述问题的第一对齐信息,包括:根据所述文章对应的向量信息和所述问题对应的向量信息,确定所述文章中各词语和所述问题中各词语间的相似度信息;根据所述文章中各词语和所述问题中各词语间的相似度信息,对所述问题对应的向量信息进行加权处理,得到所述文章针对所述问题的第一对齐信息。
在一些实施例中,根根据获取的所述第一对齐信息,在所述文章中确定所述问题的答案,包括:根据获取的所述第一对齐信息,依次经过至少一个推理模块进行处理,并根据最后一个推理模块输出的第一推理信息确定所述文章中针对所述问题的答案信息;任一推理模块的处理,包括:步骤1,将该推理模块的输入信息与该推理模块中上一次推理输出的第二推理信息进行拼接,并提取与拼接的结果相对应的特征信息,所述输入信息包括所述第一对齐信息或上一个推理模块输出的第一推理信息;步骤2,确定所述特征信息针对所述输入信息的第五对齐信息,以及所述特征信息针对该推理模块中上一次推理输出的第二推理信息的第六对齐信息;步骤3,根据所述第五对齐信息、所述第六对齐信息、所述特征信息以及所述上一次推理输出的第二推理信息,确定此次推理输出的第二推理信息;重复执行步骤1至步骤3,直至达到该推理模块对应的推理次数。
在一些实施例中,根据所述文章对应的向量信息和所述问题对应的向量信息,确定所述问题针对所述文章的第二对齐信息,包括:根据所述文章对应的向量信息和所述问题对应的向量信息,确定所述问题中各词语和所述文章中各词语间的相似度信息;根据所述问题中各词语和所述文章中各词语间的相似度信息,对所述文章对应的向量信息进行加权处理,得到所述问题针对所述文章的第二对齐信息。
在一些实施例中,根据获取的所述第二对齐信息,确定所述文章中是否包含所述问题的答案,包括:根据获取的所述第二对齐信息,依次经过至少一个推理模块进行处理,并根据最后一个推理模块输出的第一推理信息确定所述文章中是否包含所述问题的答案;任一推理模块的处理,包括:步骤4,将该推理模块的输入信息与该推理模块中上一次推理输出的第二推理信息进行拼接,并提取与拼接的结果相对应的特征信息,所述输入信息包括所述第二对齐信息;步骤5,确定所述特征信息针对所述输入信息的第五对齐信息,以及所述特征信息针对该推理模块中上一次推理输出的第二推理信息的第六对齐信息;步骤6,根据所述第五对齐信息、所述第六对齐信息、所述特征信息以及所述上一次推理输出的第二推理信息,确定此次推理输出的第二推理信息;重复执行步骤4至步骤6,直至达到该推理模块对应的推理次数。
在一些实施例中,任一推理模块的处理,还包括:在执行所述步骤4之前,根据上一个推理模块输出的推理信息,更新所述第二对齐信息。
在一些实施例中,根据所述第五对齐信息、所述第六对齐信息、所述特征信息以及该推理模块中上一次推理输出的推理信息,确定此次推理输出的推理信息,包括:将所述第五对齐信息、所述第六对齐信息以及所述特征信息进行加权处理;将加权处理后的信息与该推理模块中上一次推理输出的推理信息进行拼接,得到此次推理输出的推理信息。
在一些实施例中,任一推理模块的处理,还包括:达到该推理模块对应的推理次数后,将该推理模块的输入信息和该推理模块中每次推理输出的推理信息进行拼接及降维处理,得到该推理模块输出的推理信息。
根据本申请的第二方面,提供了一种机器阅读理解方法,包括:获取所述问题针对所述文章的第二对齐信息;根据获取的所述第二对齐信息,确定所述文章中是否包含所述问题的答案。
在一些实施例中,根据获取的所述第二对齐信息,确定所述文章中是否包含所述问题的答案,包括:根据获取的所述第二对齐信息,依次经过至少一个推理模块进行处理,并根据最后一个推理模块输出的第一推理信息确定所述文章中是否包含所述问题的答案;任一推理模块的处理,包括:步骤4,将该推理模块的输入信息与该推理模块中上一次推理输出的第二推理信息进行拼接,并提取与拼接的结果相对应的特征信息,所述输入信息包括所述第二对齐信息;步骤5,确定所述特征信息针对所述输入信息的第五对齐信息,以及所述特征信息针对该推理模块中上一次推理输出的第二推理信息的第六对齐信息;步骤6,根据所述第五对齐信息、所述第六对齐信息、所述特征信息以及所述上一次推理输出的第二推理信息,确定此次推理输出的第二推理信息;重复执行步骤4至步骤6,直至达到该推理模块对应的推理次数。
在一些实施例中,任一推理模块的处理,还包括:在执行所述步骤4之前,根据上一个推理模块输出的推理信息,更新所述第二对齐信息。
根据本申请的第三方面,提供了一种用于机器阅读理解的设备,包括:处理器;以及存储器,配置用于存储机器可读指令,所述指令在由所述处理器执行时,使得所述处理器执行上述任一方法。
根据本申请的第四方面,提供了一种计算机可读存储介质,其上存储有可执行指令,所述指令在被处理器执行时使所述处理器执行上述任一方法。
根据本申请的实施例的技术方案,通过基于文章针对问题的第一对齐信息和/或问题针对文章的第二对齐信息进行推理和查证来获取问题的答案,一方面,通过多次循环推理给出答案开始边界和答案结束边界的概率,提高了所确定的答案的准确率。另一方面,通过给出对文章中不包含答案的问题的拒绝的概率,提高了拒绝无法回答的问题的正确率。同时,本申请的实施例通过充分发掘问题的潜在特征,能够有效地避免错误地给出不相关的问题的答案,提高回答问题的准确率。
附图说明
通过下文结合附图的详细描述,本申请的上述和其它特征将会变得更加明显,其中:
图1示出了将机器阅读理解应用于问答系统场景中的示例的示意图;
图2示出了现有技术中基于循环神经网络与注意力机制的阅读理解模型的示意图;
图3示出了根据本申请实施例一的机器阅读理解模型的示意图;
图4示出了根据本申请实施例一的推理模块的结构框图;
图5示出了根据本申请实施例二的机器阅读理解模型的示意图;
图6示出了根据本申请实施例的基于第一对齐信息和第二对齐信息进行推理以获取问题的答案的流程图;
图7示出了根据本申请实施例的基于第一对齐信息和第二对齐信息进行推理以获得接受答案的概率的详细流程图;
图8示意性地示出了根据本申请实施例的一种设备的方框图。
在附图中,相同或相似的结构均以相同或相似的附图标记进行标识。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。应注意,以下描述只用于举例说明,并不用于限制本公开。在以下描述中,为了提供对本公开的透彻理解,阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本公开。在其他实例中,为了避免混淆本公开,未具体描述公知的电路、材料或方法。
在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本公开至少一个实施例中。因此,在整个说明书的各个地方出现的短语“在一个实施例中”、“在实施例中”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和/或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。这里使用的术语“和/或”包括一个或多个相关列出的项目的任何和所有组合。
实施例一
如图2所示,现有技术中使用循环神经网络对注意力模块计算出的对齐信息进行编码,最后在文章中选择预测概率最大的词语作为针对上述问题的答案。其存在的主要问题是最终给出的答案的准确性不高。
本申请实施例提出,在注意力模块得到对齐信息后,可以使用推理模块来模拟人类对文本的推理过程,观察局部文本得到局部信息,结合上下文产生猜测,并在原文中寻找依据,结合猜测和依据得出结论,最终得到的答案与问题更符合,能够显著地所确定的答案的准确性。
图3和图4示出了根据本申请的实施例一的机器阅读理解模型的示意图。该机器阅读理解模型能够执行本申请实施例一的机器阅读理解方法。下面参考图3和图4详细说明根据本申请实施例一的机器阅读理解方法的实施过程。
在进行说明之前需要明确的是,本申请实施例一中的机器阅读理解的任务是给定一篇文章和一个与文章相关的问题,需要机器阅读理解系统从文章中摘录答案文本。
图3中示出的机器阅读理解模型包括文章编码阶段和推理与查证阶段,其流程自底向上包括:
对齐信息获取模块(图中未示出),被配置为获取文章针对问题的第一对齐信息,文章针对问题的第一对齐信息可以为文章文本中的每个词语对问题中每个词语的对齐信息。
推理查证模块(图中未示出),被配置为根据获取的第一对齐信息,在文章中确定问题的答案(参见模型的文章侧的输出)。
其中,上述对齐信息获取模块包含文本编码阶段的所有模块以及推理与查证阶段中的注意力模块,最终输出的信息为第一对齐信息。推理查证模块对应图中的推理与查证阶段的各推理模块,最终输出为问题对应的答案信息,该答案信息可以包括答案开始边界的概率和/或答案结束边界的概率。
进一步地,对齐信息获取模块还包括第一编码模块(图中未示出)、第二编码模块(图中未示出)和注意力模块(推理与查证阶段中的注意力模块)。其中,第一编码模块和第二编码模块用于获取文章对应的向量信息和问题对应的向量信息,注意力模块用于根据文章对应的向量信息和问题对应的向量信息,确定文章针对问题的第一对齐信息。
具体的,上述第一编码模块被配置为对输入的文章文本进行编码以获得与文章相对应的词向量(即第一词向量),以及对输入的问题文本进行编码以获得与问题相对应的词向量(即第三词向量)。
在一些实施例中,文章与问题在此阶段可以使用共享的参数,即使用相同的网络结构,可以使用同一网络,输入文章与问题的文本,输出文章的第一词向量和问题的第三词向量。换句话说,通过相同的方法获取与文章相对应的词向量和与问题相对应的词向量。如图3所示,在第一编码模块中,文章侧(右侧)和问题侧(左侧)被布置成完全相同的结构,这样可以对模块重复使用,有利于简化设计。在其他的实施例中,获取与文章相对应的词向量和与问题相对应的词向量也可以利用同一个编码模块分时完成,在图3中将两部分对应相同的模块分开画出仅为方便展示。
在一些实施例中,针对输入的问题文本和文章文本,第一编码模块可以通过查找词向量表的方法,找到文本(问题文本或文章文本)中每个词语对应的词向量以完成最基础的文本到向量的转换过程。一般地,在词向量表中记录有通过预设的训练方法得到的词向量。参见图3中最下方的“词向量”以及对应的向量表示。
在一些实施例中,对于词向量表中没有的词语,为避免对这类词语无法识别,可以通过卷积神经网络从字符级别的词向量构造词级别的词向量。构造词级别的词向量所用的字符级别词向量可以在模型训练中自动学习得到。
在一些实施例中,还可以将通过预训练的语言模型得到的ELMo词向量增加到词向量中,用于增强词向量对文本的上下文的表示能力,以增加输入信息的丰富度。
因此,在本申请的实施例中,第一词向量(与文章相对应的词向量)和第三词向量(与问题相对应的词向量)可以分别通过将查找词向量表获得的词向量,与通过对字符级别的词向量进行构造而获得的词级别的词向量,以及ELMo词向量进行拼接而最终得到。可以将得到的词向量作为整个机器阅读理解模型的输入。
第二编码模块被配置为基于输入的与文章相对应的词向量(即第一词向量)以及与问题相对应的词向量(即第三词向量)分别获取文章对应的向量信息和问题对应的向量信息。
第二编码模块首先利用其内部设置的第一个特征提取模块对输入的词向量进行特征提取,以分别得到第二词向量(对于文章文本)和第四词向量(对于问题文本)。设此时第一个特征提取模块输入的词向量的维度是N,文本长度为M,则输入可表示为N*M的矩阵,其中每一列代表文本中的一个词语。
在一些实施例中,特征提取模块可以首先利用卷积神经网络对第一词向量(对于文章文本)或第三词向量(对于问题文本)进行特征提取。对于每个特征提取模块,单个词语维度为N,每一次提取特征,词语维度增加D维,每次提取特征的过程以之前输入及提取到的所有特征做为输入,向量维度逐渐增加,当词语维度增加到2N时,利用一个类似高速(highway)网络结构的模块(以图3中的“H”示出)将维度重新调整为N维,通过降维避免后续模块的计算复杂度的增长。其计算公式如下:
g(x0)=sigmoid(Wg[x0;x1]+bg) (1-1)
h(x0)=relu(Wh[x0;x1]+bh) (1-2)
y=h(x0)*g(x0)+x0*(1-g(x0)) (1-3)
其中,x0,x1分别表示输入的初始词向量(第一词向量或第三词向量)和提取到的特征,Wg、Wh、bg、bh分别表示通过学习得到的权重(Wg、Wh)和偏置(bg、bh)。y是此模块的输出,其表示了对输入的初始词向量和提取到的特征的高级抽象。上述特征提取过程采用2层的可分1维卷积完成。得到的第二词向量和第四词向量分别输入到与特征提取模块串联的自注意力模块。
在一些实施例中,对词向量的特征提取不区分问题文本和文章文本,也就是说,可以对两种文本采用共享的参数配置。
由于之前使用的是卷积运算进行特征提取,因此此时的向量表示仅包含文本局部信息的抽象特征,较长时间跨度的文本信息(例如,两句话中间隔了一句话,那么这两句话的文本信息就有较长的时间跨度)没有被模型考虑到,所以在完成对输入的初始词向量的特征提取后,需要对文本的时序信息进行建模。
接下来,第二编码模块利用其内部设置的自注意力模块分别基于第二词向量(对于文章文本)和第四词向量(对于问题文本)确定文章中各词语间的第三对齐信息和问题中各词语间的第四对齐信息。即利用自注意力模块对问题文本的长时序信息和文章文本的长时序信息分别进行建模,以将长时序信息整合到词向量中。
在一些实施例中,根据第二词向量确定文章中各词语间的第三对齐信息可以包括,确定文章中各词语间的相似度信息,以及根据文章中各词语间的相似度信息,对第二词向量进行加权处理,得到文章中各词语间的第三对齐信息。
在一些实施例中,根据第四词向量确定问题中各词语间的第四对齐信息可以包括,确定问题中各词语间的相似度信息,以及根据问题中各词语间的相似度信息,对第四词向量进行加权处理,得到问题中各词语间的第四对齐信息。
自注意力模块基于自注意力机制,其基本想法是对于文本中的每个词语,计算其与其他所有词语的相似度,以此作为注意力的基础,再对所有词语表示向量做加权处理(如加权和),得到此词语对于文本中所有词语的对齐信息,并将此信息整合到向量表示中。自注意力模块可以采用残差结构,即将自注意力模块的输入和输出相加以更好地训练模型。自注意力模块可表述为如下公式:
q=relu(Wqx+bq) (2-1)
k=relu(Wkx+bk) (2-2)
v=relu(Wvx+bv) (2-3)
a=softmax(q·kT)·v (2-4)
其中,x表示文本的特征矩阵(即上述第二词向量或第四词向量),a为输出的对齐信息(第三对齐信息或第四对齐信息),Wq、Wk、Wv为通过学习得到的权重,bq、bk、bv为通过学习得到的偏置。
最后,第二编码模块利用其内部设置的第二个特征提取模块分别基于第二词向量和第三对齐信息,确定文章对应的向量信息,以及基于第四词向量和第四对齐信息,确定问题对应的向量信息。
在一些实施例中,第二个特征提取模块可以具有与第一个特征提取模块相同的结构,并执行相同的操作。与第一次特征提取稍有不同的是,在进行特征提取之前,首先将第二词向量和第三对齐信息进行合并处理(例如,相加),然后对合并处理后得到的结果进行特征提取,得到文章对应的向量信息。
容易理解的是,对于问题侧,执行与上述过程相同的处理,即首先将第四词向量和第四对齐信息进行合并处理(例如,相加),然后对合并处理后得到的结果进行特征提取,得到问题对应的向量信息。
特征提取所执行的具体的卷积处理过程可以参考第一个特征提取模块,此处不再赘述。
在通过第一编码模块和第二编码模块对文本进行编码处理后,可以分别得到问题文本和文章文本的向量表示形式(即向量信息),其分别表示为大小为N*Mq和N*Mc的矩阵,其中,Mq、Mc分别表示问题文本和文章文本的长度。
接下来,注意力模块根据文章对应的向量信息和问题对应的向量信息,确定文章针对问题的第一对齐信息。
确定文章针对问题的对齐信息(即注意力过程)包括通过注意力机制计算文章文本中的每个词语对问题的对齐信息。计算注意力的方法可以采用QANet的计算方法。将此对齐信息向量与文章表示向量拼接,并通过一层全连接结构降维,以此作为接下来推理模块的输入。
在一些实施例中,注意力模块被配置为基于注意力机制,具体为根据文章对应的向量信息和问题对应的向量信息,确定文章中各词语和问题中各词语间的相似度信息,并根据文章中各词语和问题中各词语间的相似度信息,对问题对应的向量信息进行加权处理,得到文章针对问题的第一对齐信息。
接下来,将通过推理查证模块执行推理查证过程。推理查证模块可以基于文章文本中的每个词语对问题的对齐信息进行推理,以获取更准确的答案信息,如答案开始边界的概率和答案结束边界的概率。下面首先说明推理查证模块的结构。
如图3所示,推理查证模块内部设置多个串联连接的推理模块。推理查证模块根据获取的第一对齐信息,依次经过至少一个推理模块进行处理,并根据最后一个推理模块输出的第一推理信息确定文章中针对问题的答案信息。
参考图3,一个推理模块完成对文章的一次更抽象的理解与推理过程,每一次推理结束,其输出送入下一个推理模块。在推理查证模块中,通过串联连接的多个推理模块重复此步骤多次,以完成对文章的反复推理查证。串联的多个推理模块的重复次数可以根据实际推理的需要由人为设定。例如,在一些实施例中,优选地设置为四个推理模块,图3中绘出的推理模块仅为方便展示并说明,而不旨在限制本申请。
图4示出了根据本申请实施例的推理模块的结构框图,下面将结合图4详细介绍推理查证模块工作的过程。
需要说明的是,以下各种信息均是以向量矩阵的形式表示的,若未特别说明,以下对两者不做区分。
任一推理模块的处理,包括:
步骤1,将该推理模块的输入信息与该推理模块中上一次推理输出的第二推理信息进行拼接,并提取与拼接的结果相对应的特征信息,参见图4中的①所示。
上述输入信息包括第一对齐信息(对于第一个推理模块)或上一个推理模块输出的第一推理信息(对于串联连接在第一个推理模块之后的其他推理模块)。
如图4所示,推理模块的目标在于对文本以及对齐信息进行理解与推理。推理模块的输入包括文本长度个向量,每个向量包含一个词语附近的局部信息以及通过注意力机制得到的与另一文本的对齐信息。
上一次推理输出的第二推理信息表示的是通过推理得到的高阶信息,将其与输入信息进行拼接,并在时间维度上做可分1维卷积,即可以提取得到与拼接的结果相应的特征信息,如图4中最上方表示的向量所示。可以认为此步骤是对原始信息(即输入信息)与前轮推理出的信息(即高阶信息)进行的分析与猜测,得出的向量为隐表示向量,可以用于表示猜测信息。
另外,容易理解的是,在该推理模块的推理过程首次执行时,不存在上一次推理,因此不存在高阶信息,也可以认为上一次推理输出的第二推理信息为0。
步骤2,确定特征信息针对输入信息的第五对齐信息,以及特征信息针对该推理模块中上一次推理输出的第二推理信息的第六对齐信息,(参见图4中的②所示)。
在一些实施例中,可以基于注意力机制,用得到的隐表示向量(即上述特征信息)分别与上一次推理输出的第二推理信息以及与输入信息各自对应的向量做交互。这相当于在原始信息(即输入信息)与前轮推理出的信息(即高阶信息)上找推理信息的依据,分别得出来自输入信息和上一次推理输出的第二推理信息的依据信息(图4中中间的两组向量)。此步的交互通过注意力机制完成,可以采用与前述自注意力模块公式相同的方法,此处不再赘述。
步骤3,根据第五对齐信息、第六对齐信息、特征信息以及上一次推理输出的第二推理信息,确定此次推理输出的第二推理信息。
首先,可以将第五对齐信息、第六对齐信息以及特征信息进行加权处理(参见图4中的③所示),得到图4中的结论信息(图4中最右方的向量表示),在一些实施例中,对通过卷积得到的猜测信息(用隐表示向量表示)和得到的来自输入信息和上一次推理输出的第二推理信息的依据信息(向量)做加权和,其目的在于将猜测信息与依据信息进行整合得到此轮推理的结论信息(向量)。加权和的权重可以通过学习自动得到。
将加权处理后的信息与上一次推理输出的第二推理信息进行拼接,得到此次推理输出的第二推理信息(参见图4中的④所示),第二推理信息可以认为是图4中的推理结果,参见图4中最下方的向量表示。
重复执行步骤1至步骤3,直至达到该推理模块对应的推理次数。
具体的,在执行完步骤3之后,可以判断是否达到该推理模块对应的推理次数。
如果判断未达到对应的推理次数,则在该推理模块内部重复执行步骤1至步骤3直至达到对应的推理次数。
如果已经达到对应的推理次数,相当于一个推理模块的执行结束,此时来到该推理模块的输出位置,参见图3。如果在推理查证模块内部并未再串联其他的推理模块,则此时可以将该推理模块的输入信息与第二推理信息进行拼接与降维处理,并输出该推理模块的推理信息。
上述步骤1~3重复多次,直至推理向量的维度增加到与原始信息向量维度相同为止。为避免维度增加导致后续模块输入维度过大,需要将原始信息向量与推理信息向量进行融合并降维,此处融合与降维可以通过highway网络完成,最终输出向量维度与输入的原始信息向量维度一致。
在本申请的实施例中,每进行一轮推理得到与输入相同个数的向量,代表推理出来的信息,并且下一步推理在输入向量和此推理向量的基础上继续推理。图4中最左边上方的长向量代表输入向量,下方的短向量为前一步推理产生的推理向量。
在完成任一推理模块的处理后,可以判断是否经过预设数量的推理模块的处理(即是否已经通过每个推理模块进行了处理)。如果判断已经完成全部推理模块的处理,则将输入信息与第二推理信息进行拼接与降维处理,并输出该推理模块的推理信息。如果判断尚未完成全部推理模块的处理,则继续转到下一个推理模块进行处理。
此外,在一些实施例中,还可以根据通过循环推理而获得的与第二推理信息相对应的向量的维数以及与输入信息相对应的向量的维数来预设对应的推理次数。具体为,当与第二推理信息相对应的向量的维数等于与输入信息相对应的向量的维数时,停止在该推理模块内部的循环推理。
进一步地,在一些实施例中,当串联有四个推理模块时,每个推理模块内部的循环推理次数可以依次为5次、4次、3次和2次,四个推理模块的输入维度可以分别为150、120、90、60。由于后续的推理模块需要处理的信息越来越少,不要包含过多的推理次数,采用逐渐减小的推理次数,可以减小参数量,加快运算速度。
经过上述推理查证,可以通过模型获得更加准确的答案开始边界的概率和答案结束边界的概率。
在一些实施例中,对于文章的表示矩阵,首先对文章中的每个词语(对应最后一个推理模块输出矩阵的每一列)计算其是答案开始边界的概率,也可以由2层highway网络计算,然后将highway网络的第二层隐状态向量与文章的对应的每一列向量拼接并再次接入另一个2层highway网络计算得到答案结束边界的概率。
根据文章中每个词的答案开始边界的概率和答案结束边界的概率,可以确定出问题的答案内容。
本申请实施例中的推理模块的设计思想模拟了人类对文本的推理过程,即观察局部文本得到局部信息,结合上下文产生猜测,并在原文中寻找依据,结合猜测和依据得出结论,能够显著地提高问题答案的准确性。
上述操作仅是为了阐述本申请实施例的技术方案而提供的一个具体示例,不应将其视为对本申请保护范围的限制。
实施例二
现有技术一般认为检索到的文章中必然包含问题的答案,但是本申请发明人发现,有些文章中可能并不包含问题的答案,如果按照现有技术,在该文章中根据概率选取问题的答案,那么给出的答案的准确性较低。如果问题是与检索到文章相关,有一定迷惑性,模型更加不能很好的分辨是否应包含答案,例如,给定的文章涉及生物学知识,并在文章中提及某种罕见昆虫,但未提及昆虫的发现者,而问题则是询问这种昆虫的发现人是谁。对于这种问题,现有的模型往往不能准确拒绝回答,而是根据上述方式选取概率最高的文章内容作为答案提供给用户,即回复错误答案。
这是由于现有的阅读理解模型不能够充分利用问题本身包含的信息点,即使问题中包含的信息点与文章相似,也不能保证文章中包含问题的答案。例如,文章讲述了美国第四十四任总统成为总统前的职业是律师,但是问题则是询问美国第四十三届总统的职业,问题中第四十三届与文章中第四十四任两个信息点相似,但是不一致,从文章中并不能得出问题的答案。针对这个问题,本申请实施例二提出了通过同时在文章对问题的注意力基础上和问题对文章的注意力基础上,对问题的答案进行推理和查证来确认文章中是否存在答案的方法,以下结合实施例详细说明该过程。
图5示出了根据本申请实施例二的机器阅读理解模型的示意图。该机器阅读理解模型能够执行本申请实施例的机器阅读理解方法,通过对问题反复查证以检验问题中包含的信息是否与文章中的信息一致或问题中的信息在文章中有没有依据。下面参考图5详细说明根据本申请实施例二的机器阅读理解方法的实施过程。
在进行说明之前需要明确的是,本申请实施例二中的机器阅读理解的任务是给定一篇文章和一个与文章相关的问题,需要机器阅读理解系统给出文章是否能回答这个问题,如果可以回答,可以从文章中摘录答案文本。
图5中示出的机器阅读理解模型包括文章编码阶段和推理与查证阶段,工作的流程自底向上,该模型包括:
对齐信息获取模块(图中未示出),被配置为获取获取文章针对问题的第一对齐信息和问题针对文章的第二对齐信息,文章针对问题的第一对齐信息可以为文章文本中的每个词语对问题的对齐信息,问题针对文章的第二对齐信息可以为问题文本中的每个词语对文章的对齐信息。
推理查证模块(图中未示出),被配置为根据获取的第一对齐信息,在文章中确定问题的答案(参见模型的文章侧的输出),以及根据获取的第二对齐信息,确定文章中是否包含问题的答案(参见模型的问题侧的输出)。
在一些实施例中,推理查证模块还被配置为若确定文章中包含问题的答案,则输出根据第一对齐信息所确定的问题的答案。
上述对齐信息获取模块包含文本编码阶段的所有模块以及推理与查证阶段中的第一个注意力模块(包含文章侧的第一个注意力模块和问题侧的第一个注意力模块),最终输出的信息为第一对齐信息和第二对齐信息。推理查证模块对应图中文章侧的推理与查证阶段的各推理模块,以及问题侧的推理与查证阶段的第一个注意力模块之后的各推理模块,最终输出为问题对应的答案信息以及文章中是否包含问题的答案。上述答案信息可以包括答案开始边界的概率和/或答案结束边界的概率。文章中是否包含问题的答案可以用接受答案的概率来表示。
如图6所示,示出了上述基于对齐信息获取模块和推理查证模块的机器阅读理解方法的工作过程。根据本申请实施例,只有当根据第二对齐信息确定文章中包含问题的答案时,才输出根据第一对齐信息所确定的问题的答案。换句话说,当根据第二对齐信息确定文章中不包含与问题相关的答案时,即使能够根据第一对齐信息确定出问题的答案,也可以拒绝回答该问题。因此,本申请实施例的机器阅读理解模型能够提高回答问题的准确率。
进一步地,对齐信息获取模块还可以进一步包括第一编码模块(图中未示出)、第二编码模块(图中未示出)和注意力模块(图中未示出编号)。其中,第一编码模块和第二编码模块用于文章文本和问题文本的文本编码阶段,这一阶段的目的是为了得到文本(问题文本和文章文本)的向量信息,注意力模块用于根据文章对应的向量信息和问题对应的向量信息,确定文章针对问题的第一对齐信息以及问题针对文章的第二对齐信息。
其中,第一编码模块和第二编码模块的结构和处理方式与实施例一中所给出的第一编码模块和第二编码模块的结构和处理方式相同,这里不再赘述。
在通过第一编码模块和第二编码模块对文本进行编码处理后,可以分别得到问题文本和文章文本的向量表示形式(即向量信息),其分别表示为大小为N*Mq和N*Mc的矩阵,其中,Mq、Mc分别表示问题文本和文章文本的长度。
接下来,注意力模块根据文章对应的向量信息和问题对应的向量信息,分别确定文章针对问题的第一对齐信息以及问题针对文章的第二对齐信息。
确定问题对文章的对齐信息(即注意力过程)包括通过注意力机制计算问题文本中的每个词语对文章的对齐信息。计算注意力的方法可以采用QANet的计算方法。将此对齐信息向量与问题表示向量拼接,并通过一层全连接结构降维,以此作为接下来推理模块的输入。类似的,确定文章对问题的对其信息(即注意力过程)包括计算文章文本中的每个词语对问题的对齐信息。计算注意力的方法同样可以采用QANet的计算方法。
在一些实施例中,注意力提取模块被配置为基于注意力机制,具体为根据文章对应的向量信息和问题对应的向量信息,确定文章中各词语和问题中各词语间的相似度信息,并根据文章中各词语和问题中各词语间的相似度信息,对问题对应的向量信息进行加权处理,得到文章针对问题的第一对齐信息。
容易理解的是,对于问题侧,执行与上述过程相同的处理,即根据文章对应的向量信息和问题对应的向量信息,确定问题中各词语和文章中各词语间的相似度信息,并根据问题中各词语和文章中各词语间的相似度信息,对文章对应的向量信息进行加权处理,得到问题针对文章的第二对齐信息。
接下来,将通过推理查证模块执行推理查证过程。推理查证模块可以基于问题文本中的每个词语对文章的对齐信息获取进行推理以获取接受答案的概率,并根据得到的接受答案的概率判断是否拒绝回答问题。此外,推理查证模块还可以基于文章文本中的每个词语对问题的对齐信息进行推理,并最终获取答案开始边界的概率和答案结束边界的概率。下面结合图5说明推理查证模块的结构。
如图5所示,在问题侧,推理查证模块内部设置多个串联连接的基本查证单元,每个基本查证单元由一个注意力模块与一个推理模块串联构成。推理查证模块根据获取的第一对齐信息(对于文章侧)或第二对齐信息(对于问题侧),依次经过至少一个推理模块进行处理,并根据最后一个推理模块输出的推理信息确定文章中是否包含问题的答案。
参考图5,需要注意的是,问题侧的第一个注意力模块作为注意力模块,与其相连接的推理查证模块中的部分是一个单独的推理模块,该推理模块在推理查证模块内部不具有与其组合的注意力模块,但该推理模块与注意力模块组合在一起的结构与基本查证单元的结构是相同的。
基本查证单元完成一次对问题信息的查证步骤,在推理查证模块中,通过串联连接的多个基本查证单元重复此查证步骤多次,以完成对问题的反复查证。串联的多个基本查证单元的重复次数可以根据实际推理的需要由人为设定。例如,在一些实施例中,优选地设置为四个基本查证单元,即四个推理模块。图5中绘出的基本查证单元仅为方便展示并说明,而不旨在限制本申请。
对于文章侧,在推理查证模块中不设置注意力模块,仅设置多个串联的推理模块,每一个推理模块代表对文章的一次更抽象的理解与推理过程,每一次推理结束,其输出送入下一个文章侧的推理模块,并同时送入问题侧的对应的基本查证单元的推理模块中。根据最后一个推理模块输出的推理信息确定文章中针对问题的答案信息。
在本申请实施例二中,也可以将文章侧的每个推理模块看作一个基本查证单元。
如图5所示,文章侧的第一个推理模块的输出送入问题侧的第一个基本查证单元(推理查证模块内部第一个完整的基本查证单元)的输入,文章侧的第二个推理模块的输出送入问题的第二个基本查证单元的输入,以此类推。通过这种结构,可以实现在文章对问题的注意力基础上和问题对文章的注意力基础上的交叉推理查证。经过多次对文章的推理与对问题的查证,模型输出问题和文章的最终表示矩阵。进一步提高了输出答案的准确性。
还需要注意的是,在一些实施例中,在推理查证模块内部,问题侧的推理模块的个数与文章侧的推理模块的个数相等,如图5所示,示意性地示出问题侧设置有两个推理模块,因此,也示意性地示出在文章侧设置了两个推理模块。
进一步地,问题侧的推理模块与文章侧的推理模块是分别对应的。即问题侧的第一个推理模块与文章侧的第一个推理模块相对应,问题侧的第二个推理模块与文章侧的第二个推理模块相对应。当在问题侧的第二个推理模块处提及上一个推理模块时,可以同时指代在问题侧的第一个推理模块和在文章侧的第一个推理模块。
本申请实施例中的推理模块的结构可以具有与实施例一中的推理模块(如图4所示)相同的结构。
图7示出了根据本申请实施例的基于文章文本中的每个词语对问题的对齐信息(第一对齐信息)和问题文本中的每个词语对文章的对齐信息(第二对齐信息)进行推理以获得接受答案的概率的流程图,下面将结合图4、图5和图7详细介绍推理查证模块工作的过程。
需要说明的是,以下各种信息均是以向量矩阵的形式表示的,若未特别说明,以下对两者不做区分。
任一推理模块的处理,包括:
在步骤S710中,将该推理模块的输入信息与该推理模块中上一次推理输出的第二推理信息进行拼接,并提取与拼接的结果相对应的特征信息(参见图4中的①所示)。
其中,对于文章侧,输入信息包括第一对齐信息(对于第一个推理模块)或上一个推理模块输出的第一推理信息(对于串联连接在第一个推理模块之后的其他推理模块)。对于问题侧,输入信息仅指第二对齐信息(需要注意的是,这里的第二对齐信息在每个基本查证单元中进行更新,后面将结合具体的实施例详细说明)。
如图4所示,推理模块的目标在于对文本以及对齐信息进行理解与推理。推理模块的输入是文本长度个向量,每个向量包含一个词语附近的局部信息以及通过注意力机制得到的与另一文本的对齐信息。
上一次推理输出的第二推理信息表示的是通过推理得到的高阶信息,将其与输入信息进行拼接,并在时间维度上做可分1维卷积,即可以提取得到与拼接的结果相应的特征信息,如图4中最上方表示的向量所示。可以认为此步骤是对原始信息(即输入信息)与前轮推理出的信息(即高阶信息)进行的分析与猜测,得出的向量为隐表示向量,可以用于表示猜测信息。
另外,容易理解的是,在该推理模块的推理过程首次执行时,不存在上一次推理,因此不存在高阶信息,也可以认为上一次推理输出的第二推理信息为0。
在步骤S720中,确定特征信息针对输入信息的第五对齐信息,以及特征信息针对该推理模块中上一次推理输出的第二推理信息的第六对齐信息(参见图4中的②所示)。
在一些实施例中,可以基于注意力机制,用得到的隐表示向量(即特征信息)分别与上一次推理输出的第二推理信息以及与输入信息各自对应的向量做交互。这相当于在原始信息(即输入信息)与前轮推理出的信息(即高阶信息)上找推理信息的依据,分别得出来自输入信息和上一次推理输出的第二推理信息的依据信息(图4中中间的两组向量)。此步的交互通过注意力机制完成,可以采用与前述自注意力模块公式相同的方法,此处不再赘述。
在步骤S730中,将第五对齐信息、第六对齐信息以及特征信息进行加权处理(参见图4中的③所示)。得到图4中的结论信息(图4中最右方的向量表示)。
在一些实施例中,对通过卷积得到的猜测信息(用隐表示向量表示)和在步骤S720中得到的来自输入信息和上一次推理输出的第二推理信息的依据信息(向量)做加权和,其目的在于将猜测信息与依据信息进行整合得到此轮推理的结论信息(向量)。加权和的权重可以通过学习自动得到。
在步骤S740中,将加权处理后的信息与上一次推理输出的第二推理信息进行拼接,得到此次推理输出的第二推理信息(参见图4中的④所示)。第二推理信息可以认为是图4中的推理结果,参见图4中最下方的向量表示。
重复执行步骤710至步骤740,直至达到该推理模块对应的推理次数。
上述步骤重复多次,直至推理向量的维度增加到与原始信息向量维度相同为止。为避免维度增加导致后续模块输入维度过大,需要将原始信息向量与推理信息向量进行融合并降维,此处融合与降维通过highway网络完成,最终输出向量维度与输入的原始信息向量维度一致。
具体的,在步骤S750中,执行完步骤740之后,判断是否达到该推理模块对应的推理次数。
如果判断未达到对应的推理次数,则在该推理模块内部重复执行步骤S710至步骤S740直至达到对应的推理次数。
如果已经达到对应的推理次数,相当于一个推理模块的执行结束,此时来到推理查证模块内部第一推理模块的输出位置,参见图5。如果在推理查证模块内部并未再串联其他的基本查证单元(对于文章侧,则是在推理模块之后并未再串联其他的推理模块),则此时可以将输入信息与第二推理信息进行拼接与降维处理,并输出该推理模块的推理信息,相当于图7中的步骤S780。
在本申请的实施例中,每进行一轮推理得到与输入相同个数的向量,代表推理出来的信息,并且下一步推理在输入向量和此推理向量的基础上继续推理。图4中最左边上方的长向量代表输入向量,下方的短向量为前一步推理产生的推理向量。
在一些实施例中,如果在推理查证模块内部串联有多个基本查证单元,则此时第一个推理模块的输出将输入下一个基本查证单元的注意力模块,而不是输出为推理查证的结果,因此,在步骤S760处,需要判断是否经过预设数量的推理模块的处理(即是否已经通过每个推理模块进行了处理)。
如果判断已经完成全部推理模块的处理,则执行步骤S780,即将输入信息与第二推理信息进行拼接与降维处理,并输出该推理模块的推理信息。
如果判断尚未完成全部推理模块的处理,则继续执行步骤S770。
在步骤S770中,根据上一个推理模块输出的第一推理信息,更新问题侧的推理模块的输入信息(即第二对齐信息)。
具体的,设置在推理查证模块内部的注意力模块同时接收问题侧和文章侧的上一个推理模块的输出,上一个推理模块包括问题侧的上一个推理模块与文章侧的上一个推理模块。
对于问题侧,将上一个推理模块输出的第一推理信息与上一个推理模块的输入信息进行拼接并降维,并将得到的信息作为与该推理模块的输出串联的注意力模块的一个输入。
对于文章侧,由于在本申请的实施例中,文章侧的推理模块被设置为与问题侧的推理模块相同的结构,并执行相同的操作。因此,该注意力模块的另一个输入的获取过程可以参照前述步骤S710至至S740获得,此处不再赘述。
每个推理模块的输出为将输入信息与第二推理信息进行拼接与降维处理,作为该推理模块的推理信息。根据问题侧与文章侧的连接关系,所得到文章侧的第一个推理模块的输出被输入到问题侧的第一个完整的基本查证单元的注意力模块的另一个输入,以此类推。
在一些实施例中,可以采用注意力模块获取第二对齐信息,注意力模块的具体执行过程可以参见前述实施例,此处不再赘述。
此外,在一些实施例中,还可以根据通过循环推理而获得的与第二推理信息相对应的向量的维数以及与输入信息相对应的向量的维数来预设对应的推理次数。具体为,当与第二推理信息相对应的向量的维数等于与输入信息相对应的向量的维数时,停止在该推理模块内部的循环推理。
进一步地,在一些实施例中,当串联有四个推理模块时,每个推理模块内部的循环推理次数可以依次为5次、4次、3次和2次,四个推理模块的输入维度可以分别为150、120、90、60。由于后续的推理模块需要处理的信息越来越少,不要包含过多的推理次数,采用逐渐减小的推理次数,可以减小参数量,加快运算速度。
本申请实施例中的推理模块的设计思想模拟了人类对文本的推理过程,即观察局部文本得到局部信息,结合上下文产生猜测,并在原文中寻找依据,结合猜测和依据得出结论,能够显著地提高无法回答问题的拒绝正确率,也提高了问题答案的准确性。
经过上述推理查证,可以分别通过模型获得接受答案的概率(问题侧)、答案开始边界的概率和答案结束边界的概率(文章侧)。
在一些实施例中,对于问题的表示矩阵,通过对表示矩阵做卷积、对卷积结果在时间维度上做最大池化(max-pooling)和平均池化(average-pooling),并拼接max-pooling和average-pooling向量,得到问题的表示向量,在本申请的其他实施例中,也可以通过其他方式得到问题的表示向量。以此向量作为2层highway网络的输入,highway网络对输入做特征提取,最终映射得到问题是否可回答的概率值。
在一些实施例中,对于文章的表示矩阵,首先对文章中的每个词语(对应最后一个推理模块输出矩阵的每一列)计算其是答案开始边界的概率,也可以由2层highway网络计算,然后将highway网络的第二层隐状态向量与文章的对应的每一列向量拼接并再次接入另一个2层highway网络计算得到答案结束边界的概率。
相比于现有技术,本申请实施例不仅在文章对问题的注意力基础上做理解推理,还同时在问题对文章的注意力基础上做理解推理,利用对问题多次查证机制,发掘问题的潜在特征,确认文章中是否存在答案,以提高对文章中不包含答案的问题的拒绝率,即无法回答问题的拒绝正确率,也提高了问题答案的准确性。
上述操作仅是为了阐述本申请实施例的技术方案而提供的一个具体示例,不应将其视为对本申请保护范围的限制。
实施例三
现有技术中的阅读理解系统,在文章与问题差别较大时,往往会错误地给出与问题不相关联的答案。本申请的实施例三针对上述问题提出解决方案。
在实施例三中,提供了一种机器阅读理解模型,该机器阅读理解模型能够提供基于问题针对文章的第二对齐信息,给出文章中是否包含问题的答案的概率的机器阅读理解方法。在该实施例中,需要给出与问题答案相关的概率信息,因此可以仅包括实施例二中的问题侧的推理与查证阶段的结构,下面结合图4、图5和图7进行说明。
在文本编码阶段,利用对齐信息获取模块(图中未示出)根据输入的问题文本和文章文本获取问题针对文章的第二对齐信息,其执行过程可以参考实施例一和实施例二中的文本编码阶段进行,此处不再赘述。
在推理与查证阶段,利用推理查证模块(图中未示出)根据获取的第二对齐信息,确定文章中是否包含问题的答案。具体为,通过设置在推理查证模块内部的至少一个基本查证单元进行循环推理查证。每个基本查证单元由一个注意力模块与一个推理模块串联构成。推理查证模块根据获取的第一对齐信息(对于文章侧)或第二对齐信息(对于问题侧),依次经过至少一个推理模块进行处理,并根据最后一个推理模块输出的推理信息确定文章中是否包含问题的答案。
任一推理模块的处理,包括:
步骤4,将该推理模块的输入信息与该推理模块中上一次推理输出的第二推理信息进行拼接,并提取与拼接的结果相对应的特征信息,参见图4中的①所示。上述输入信息包括第二对齐信息。
如图4所示,推理模块的目标在于对文本以及对齐信息进行理解与推理。推理模块的输入包括文本长度个向量,每个向量包含一个词语附近的局部信息以及通过注意力机制得到的与另一文本的对齐信息。
上一次推理输出的第二推理信息表示的是通过推理得到的高阶信息,将其与输入信息进行拼接,并在时间维度上做可分1维卷积,即可以提取得到与拼接的结果相应的特征信息,如图4中最上方表示的向量所示。可以认为此步骤是对原始信息(即输入信息)与前轮推理出的信息(即高阶信息)进行的分析与猜测,得出的向量为隐表示向量,可以用于表示猜测信息。
另外,容易理解的是,在该推理模块的推理过程首次执行时,不存在上一次推理,因此不存在高阶信息,也可以认为上一次推理输出的第二推理信息为0。
步骤5,确定特征信息针对输入信息的第五对齐信息,以及特征信息针对该推理模块中上一次推理输出的第二推理信息的第六对齐信息,(参见图4中的②所示)。
在一些实施例中,可以基于注意力机制,用得到的隐表示向量(即上述特征信息)分别与上一次推理输出的第二推理信息以及与输入信息各自对应的向量做交互。这相当于在原始信息(即输入信息)与前轮推理出的信息(即高阶信息)上找推理信息的依据,分别得出来自输入信息和上一次推理输出的第二推理信息的依据信息(图4中中间的两组向量)。此步的交互通过注意力机制完成,可以采用与前述自注意力模块公式相同的方法,此处不再赘述。
步骤6,根据第五对齐信息、第六对齐信息、特征信息以及上一次推理输出的第二推理信息,确定此次推理输出的第二推理信息。
首先,可以将第五对齐信息、第六对齐信息以及特征信息进行加权处理(参见图4中的③所示),得到图4中的结论信息(图4中最右方的向量表示),在一些实施例中,对通过卷积得到的猜测信息(用隐表示向量表示)和得到的来自输入信息和上一次推理输出的第二推理信息的依据信息(向量)做加权和,其目的在于将猜测信息与依据信息进行整合得到此轮推理的结论信息(向量)。加权和的权重可以通过学习自动得到。
将加权处理后的信息与上一次推理输出的第二推理信息进行拼接,得到此次推理输出的第二推理信息(参见图4中的④所示),第二推理信息可以认为是图4中的推理结果,参见图4中最下方的向量表示。
重复执行步骤4至步骤6,直至达到该推理模块对应的推理次数。
进一步,在执行步骤4之前,根据上一个推理模块输出的第一推理信息,更新第二对齐信息。
当设置有多个基本查证单元时,上述推理查证过程需重复执行多次。
需要说明的是,在本申请实施例中,需要用到来自文章侧的上一个推理模块输出的第一推理信息。
在一些实施例中,该第一推理信息可以根据前述实施例二中给出的方法,即通过对应于问题侧设置相同个数相同结构的推理模块,通过循环推理查证获得。在一些实施例中,该第一推理信息也可以根据现有技术获得,即通过循环神经网络获得。
本申请实施例对来自文章侧的上一个推理模块输出的第一推理信息的获取方法不做限定。
根据本申请的实施例,可以获得是否需要拒绝回答问题的概率,能够有效地避免错误地给出问题的答案,提供回答问题的准确率。
上述操作仅是为了阐述本申请实施例的技术方案而提供的一个具体示例,不应将其视为对本申请保护范围的限制。
实施例四
在实施例四中,还提供了一种对支持拒绝无法回答的问题的机器阅读理解模型进行训练的方法,该方法包括:
基于sigmoid交叉熵函数,分别建立针对接受答案的概率、答案开始边界的概率和答案结束边界的概率的目标函数。以接受答案的概率、答案开始边界的概率和答案结束边界的概率的目标函数的和作为模型优化的目标函数。根据模型优化的目标函数进行训练直至模型收敛。
具体的,训练中的训练目标函数可以为sigmoid交叉熵。
问题是否可回答部分:
La=-d·logy-(1-d)·log1-y (3)
其中,d为训练样本的标注,当问题可回答时d=1,不可回答时d=0,y是模型预测得到的问题可回答的概率,La是目标函数,La的数值可以衡量模型输出与目标输出的差距。
答案边界部分的目标函数:
其中,ds t、de t分别为训练样本答案开始边界、结束边界的标注,ys t、ye t分别为模型预测得到的第t个词语是答案开始边界的概率和结束边界的概率,t表示时间信息,即文章的长度。
模型优化的目标函数述以上三个目标函数之和。
L=La+Ls+Le (6)
将本申请实施例的支持拒绝无法回答的问题的机器阅读理解模型应用于大规模机器阅读理解任务,以验证其效果。假设该任务包含一个超过13万个问答对的人工标注阅读理解数据集,内容涵盖诸多方面,是机器阅读理解领域的一个代表性数据集。
数据集中每一个样本包含一个文章段落、一个人工生成的问题以及此问题是否可以由文章回答的标注。如果可以由文章回答,则数据集提供正确答案在文章中的起始和结束位置,如果不可以由文章回答,则数据集提供一个看似可作为答案的迷惑性答案。
在实验中,首先进行文本的预处理,预处理过程包括删除文章中的一些无意义标记,并对文本进行分词等步骤,并用数据集中出现的词语构造出字典,将文本词语转换为用于查找词向量表的ID信息。
完成数据的预处理后,将数据用于模型训练,并在开发数据集上做验证。模型训练过程如前面的实施例所述。一些配置信息如下,输入向量降维为200维特征向量,对问题和文章分别做四次推理,四个推理模块的输入维度分别为150、120、90、60,并且每个推理模块分别做5次、4次、3次、2次推理循环处理,维度变化由一层全连接网络映射得到,激活函数采用relu,网络中卷积核大小为5,一组卷积包含2层卷积层,highway网络为2层结构。批(Batch)大小为168,使用4块图形处理器(GPU,Graphics Processing Unit)按同步梯度更新策略分布式训练,学习率为0.002,训练约10万步。
实验结果表明,本申请实施例提出的模型大大提高了问题的回答与拒绝的准确率,即使没有ELMo向量的增强,该模型也超过了有ELMo增强的现有模型。最好的结果由带ELMo增强的本申请的模型得到。实验结果验证了本申请实施例所提出的模型的有效性。
实施例五
图8示意性地示出了根据本申请实施例的一种设备800的方框图。设备800包括处理器810,例如,数字信号处理器(DSP)。处理器810可以是用于执行根据本申请实施例的不同动作的单个装置或多个装置。设备800还可以包括输入/输出(I/O)装置830,用于从其他实体接收信号或者向其他实体发送信号。
此外,设备800包括存储器820,该存储器820可以具有以下形式:非易失性或易失性存储器,例如,电可擦除可编程只读存储器(EEPROM)、闪存等。存储器820存储计算机可读指令,当处理器810执行该计算机可读指令时,该计算机可读指令使处理器执行根据本申请实施例的方法。
本领域技术人员可以理解,上面示出的方法仅是示例性的。本申请的方法并不局限于上面示出的步骤和顺序。上面示出的设备可以为其他设备,可以包括更多的模块。上文中示出的各种标识仅是示例性的而不是限制性的。本领域技术人员根据所示实施例的教导可以进行许多变化和修改。
应该理解,本申请的上述实施例可以通过软件、硬件或者软件和硬件两者的结合来实现。例如,上述实施例中的设备内部的各种组件可以通过多种器件来实现,这些器件包括但不限于:模拟电路器件、数字电路器件、数字信号处理(DSP)电路、可编程处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑器件(CPLD),等等。
此外,这里所公开的本申请的实施例可以在计算机程序产品上实现。更具体地,该计算机程序产品是如下的一种产品:具有计算机可读介质,计算机可读介质上编码有计算机程序逻辑,当在计算设备上执行时,该计算机程序逻辑提供相关的操作以实现本申请的上述技术方案。当在计算系统的至少一个处理器上执行时,计算机程序逻辑使得处理器执行本申请实施例所述的操作(方法)。本申请的这种设置典型地提供为设置或编码在例如光介质(例如CD-ROM)、软盘或硬盘等的计算机可读介质上的软件、代码和/或其他数据结构、或者诸如一个或多个ROM或RAM或PROM芯片上的固件或微代码的其他介质、或一个或多个模块中的可下载的软件图像、共享数据库等。软件或固件或这种配置可安装在计算设备上,以使得计算设备中的一个或多个处理器执行本申请实施例所描述的技术方案。
尽管以上已经结合本申请的优选实施例示出了本申请,但是本领域的技术人员将会理解,在不脱离本申请的精神和范围的情况下,可以对本申请进行各种修改、替换和改变。因此,本申请不应由上述实施例来限定,而应由所附权利要求及其等价物来限定。
Claims (20)
1.一种机器阅读理解方法,包括:
获取文章针对问题的第一对齐信息;
根据获取的所述第一对齐信息,在所述文章中确定所述问题的答案。
2.根据权利要求1所述的方法,还包括:
获取所述问题针对所述文章的第二对齐信息;
根据获取的所述第二对齐信息,确定所述文章中是否包含所述问题的答案。
3.根据权利要求2所述的方法,还包括:
若确定所述文章中包含所述问题的答案,则输出根据所述第一对齐信息所确定的所述问题的答案。
4.根据权利要求1至3中任一项所述的方法,其中,获取文章针对问题的第一对齐信息,包括:
获取所述文章对应的向量信息和所述问题对应的向量信息;
根据所述文章对应的向量信息和所述问题对应的向量信息,确定所述文章针对所述问题的第一对齐信息。
5.根据权利要求2或3所述的方法,其中,获取所述问题针对所述文章的第二对齐信息,包括:
获取所述文章对应的向量信息和所述问题对应的向量信息;
根据所述文章对应的向量信息和所述问题对应的向量信息,确定所述问题针对所述文章的第二对齐信息。
6.根据权利要求4或5所述的方法,其中,
获取所述文章对应的向量信息,包括:
获取所述文章对应的第一词向量;
对所述第一词向量进行特征提取以得到第二词向量;
根据所述第二词向量,确定所述文章中各词语间的第三对齐信息;
根据所述第二词向量和所述第三对齐信息,确定所述文章对应的向量信息;
和/或
获取所述问题对应的向量信息,包括:
获取所述问题对应的第三词向量;
对所述第三词向量进行特征提取以得到第四词向量;
根据所述第四词向量,确定所述问题中各词语间的第四对齐信息;
根据所述第四词向量和所述第四对齐信息,确定所述问题对应的向量信息。
7.根据权利要求6所述的方法,其中,
根据所述第二词向量和所述第三对齐信息,确定所述文章对应的向量信息,包括:
将所述第二词向量和所述第三对齐信息进行合并处理;
对合并处理后得到的结果进行特征提取,得到所述文章对应的向量信息;
和/或
根据所述第四词向量和所述第四对齐信息,确定所述问题对应的向量信息,包括:
将所述第四词向量和所述第四对齐信息进行合并处理;
对合并处理后得到的结果进行特征提取,得到所述问题对应的向量信息。
8.根据权利要求6或7所述的方法,其中,
根据所述第二词向量,确定所述文章中各词语间的第三对齐信息,包括:
确定所述文章中各词语间的相似度信息;
根据所述文章中各词语间的相似度信息,对所述第二词向量进行加权处理,得到所述文章中各词语间的第三对齐信息;
和/或
根据所述第四词向量,确定所述问题中各词语间的第四对齐信息,包括:
确定所述问题中各词语间的相似度信息;
根据所述问题中各词语间的相似度信息,对所述第四词向量进行加权处理,得到所述问题中各词语间的第四对齐信息。
9.根据权利要求4所述的方法,其中,根据所述文章对应的向量信息和所述问题对应的向量信息,确定所述文章针对所述问题的第一对齐信息,包括:
根据所述文章对应的向量信息和所述问题对应的向量信息,确定所述文章中各词语和所述问题中各词语间的相似度信息;
根据所述文章中各词语和所述问题中各词语间的相似度信息,对所述问题对应的向量信息进行加权处理,得到所述文章针对所述问题的第一对齐信息。
10.根据权利要求1至9中任一项所述的方法,其中,根据获取的所述第一对齐信息,在所述文章中确定所述问题的答案,包括:
根据获取的所述第一对齐信息,依次经过至少一个推理模块进行处理,并根据最后一个推理模块输出的第一推理信息确定所述文章中针对所述问题的答案信息;
任一推理模块的处理,包括:
步骤1,将该推理模块的输入信息与该推理模块中上一次推理输出的第二推理信息进行拼接,并提取与拼接的结果相对应的特征信息,所述输入信息包括所述第一对齐信息或上一个推理模块输出的第一推理信息;
步骤2,确定所述特征信息针对所述输入信息的第五对齐信息,以及所述特征信息针对该推理模块中上一次推理输出的第二推理信息的第六对齐信息;
步骤3,根据所述第五对齐信息、所述第六对齐信息、所述特征信息以及所述上一次推理输出的第二推理信息,确定此次推理输出的第二推理信息;
重复执行步骤1至步骤3,直至达到该推理模块对应的推理次数。
11.根据权利要求5所述的方法,其中,根据所述文章对应的向量信息和所述问题对应的向量信息,确定所述问题针对所述文章的第二对齐信息,包括:
根据所述文章对应的向量信息和所述问题对应的向量信息,确定所述问题中各词语和所述文章中各词语间的相似度信息;
根据所述问题中各词语和所述文章中各词语间的相似度信息,对所述文章对应的向量信息进行加权处理,得到所述问题针对所述文章的第二对齐信息。
12.根据权利要求2、3、5或11所述的方法,其中,根据获取的所述第二对齐信息,确定所述文章中是否包含所述问题的答案,包括:
根据获取的所述第二对齐信息,依次经过至少一个推理模块进行处理,并根据最后一个推理模块输出的第一推理信息确定所述文章中是否包含所述问题的答案;
任一推理模块的处理,包括:
步骤4,将该推理模块的输入信息与该推理模块中上一次推理输出的第二推理信息进行拼接,并提取与拼接的结果相对应的特征信息,所述输入信息包括所述第二对齐信息;
步骤5,确定所述特征信息针对所述输入信息的第五对齐信息,以及所述特征信息针对该推理模块中上一次推理输出的第二推理信息的第六对齐信息;
步骤6,根据所述第五对齐信息、所述第六对齐信息、所述特征信息以及所述上一次推理输出的第二推理信息,确定此次推理输出的第二推理信息;
重复执行步骤4至步骤6,直至达到该推理模块对应的推理次数。
13.根据权利要求12所述的方法,其中,任一推理模块的处理,还包括:
在执行所述步骤4之前,根据上一个推理模块输出的第一推理信息,更新所述第二对齐信息。
14.根据权利要求10或12所述的方法,其中,根据所述第五对齐信息、所述第六对齐信息、所述特征信息以及所述上一次推理输出的第二推理信息,确定此次推理输出的第二推理信息,包括:
将所述第五对齐信息、所述第六对齐信息以及所述特征信息进行加权处理;
将加权处理后的信息与所述上一次推理输出的第二推理信息进行拼接,得到此次推理输出的第二推理信息。
15.根据权利要求10、12或14所述的方法,其中,任一推理模块的处理,还包括:
达到该推理模块对应的推理次数后,将该推理模块的输入信息和所述第二推理信息进行拼接及降维处理,得到该推理模块输出的推理信息。
16.一种机器阅读理解方法,包括:
获取所述问题针对所述文章的第二对齐信息;
根据获取的所述第二对齐信息,确定所述文章中是否包含所述问题的答案。
17.根据权利要求16所述的方法,其中,根据获取的所述第二对齐信息,确定所述文章中是否包含所述问题的答案,包括:
根据获取的所述第二对齐信息,依次经过至少一个推理模块进行处理,并根据最后一个推理模块输出的第一推理信息确定所述文章中是否包含所述问题的答案;
任一推理模块的处理,包括:
步骤4,将该推理模块的输入信息与该推理模块中上一次推理输出的第二推理信息进行拼接,并提取与拼接的结果相对应的特征信息,所述输入信息包括所述第二对齐信息;
步骤5,确定所述特征信息针对所述输入信息的第五对齐信息,以及所述特征信息针对该推理模块中上一次推理输出的第二推理信息的第六对齐信息;
步骤6,根据所述第五对齐信息、所述第六对齐信息、所述特征信息以及所述上一次推理输出的第二推理信息,确定此次推理输出的第二推理信息;
重复执行步骤4至步骤6,直至达到该推理模块对应的推理次数。
18.根据权利要求17所述的方法,其中,任一推理模块的处理,还包括:
在执行所述步骤4之前,根据上一个推理模块输出的第一推理信息,更新所述第二对齐信息。
19.一种用于机器阅读理解的设备,包括:
处理器;以及
存储器,配置用于存储机器可读指令,所述指令在由所述处理器执行时,使得所述处理器执行根据权利要求1至18中任一项所述的方法。
20.一种计算机可读存储介质,其上存储有可执行指令,所述指令在被处理器执行时使所述处理器执行根据权利要求1至18中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810996512.6A CN110928982A (zh) | 2018-08-29 | 2018-08-29 | 机器阅读理解方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810996512.6A CN110928982A (zh) | 2018-08-29 | 2018-08-29 | 机器阅读理解方法、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110928982A true CN110928982A (zh) | 2020-03-27 |
Family
ID=69854888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810996512.6A Pending CN110928982A (zh) | 2018-08-29 | 2018-08-29 | 机器阅读理解方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928982A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11544259B2 (en) * | 2018-11-29 | 2023-01-03 | Koninklijke Philips N.V. | CRF-based span prediction for fine machine learning comprehension |
-
2018
- 2018-08-29 CN CN201810996512.6A patent/CN110928982A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11544259B2 (en) * | 2018-11-29 | 2023-01-03 | Koninklijke Philips N.V. | CRF-based span prediction for fine machine learning comprehension |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Santos et al. | Attentive pooling networks | |
CN110209824B (zh) | 基于组合模型的文本情感分析方法、系统、装置 | |
CN110321419B (zh) | 一种融合深度表示与交互模型的问答匹配方法 | |
CN106844368B (zh) | 用于人机对话的方法、神经网络系统和用户设备 | |
CN111831789B (zh) | 一种基于多层语义特征提取结构的问答文本匹配方法 | |
CN109840287A (zh) | 一种基于神经网络的跨模态信息检索方法和装置 | |
CN111966812B (zh) | 一种基于动态词向量的自动问答方法和存储介质 | |
CN108132931A (zh) | 一种文本语义匹配的方法及装置 | |
CN108829719A (zh) | 一种非事实类问答答案选择方法及系统 | |
CN107329949A (zh) | 一种语义匹配方法和系统 | |
CN107480143A (zh) | 基于上下文相关性的对话话题分割方法和系统 | |
CN111798840B (zh) | 语音关键词识别方法和装置 | |
CN110096711A (zh) | 序列全局关注和局部动态关注的自然语言语义匹配方法 | |
CN107832295B (zh) | 阅读机器人的标题选择方法及系统 | |
CN110929498B (zh) | 一种短文本相似度的计算方法及装置、可读存储介质 | |
CN108763535A (zh) | 信息获取方法及装置 | |
CN111400494B (zh) | 一种基于GCN-Attention的情感分析方法 | |
CN110517693A (zh) | 语音识别方法、装置、电子设备和计算机可读存储介质 | |
CN113886626B (zh) | 基于多重注意力机制的动态记忆网络模型的视觉问答方法 | |
CN114462570A (zh) | 文本生成模型的训练方法、目标语料扩充方法及相关装置 | |
CN114254645A (zh) | 一种人工智能辅助写作系统 | |
CN115017279B (zh) | 基于文本语义匹配的Stack Overflow相关问答检索方法 | |
CN116881470A (zh) | 一种生成问答对的方法及装置 | |
CN109948163A (zh) | 序列动态阅读的自然语言语义匹配方法 | |
Azhar et al. | Facilitated deep learning models for image captioning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200327 |