CN111597314A - 推理问答方法、装置以及设备 - Google Patents
推理问答方法、装置以及设备 Download PDFInfo
- Publication number
- CN111597314A CN111597314A CN202010314131.2A CN202010314131A CN111597314A CN 111597314 A CN111597314 A CN 111597314A CN 202010314131 A CN202010314131 A CN 202010314131A CN 111597314 A CN111597314 A CN 111597314A
- Authority
- CN
- China
- Prior art keywords
- question
- document
- reasoning
- documents
- answer
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种推理问答方法、装置以及设备。具体是提出源于实体共现思路的启发式文档检索算法,其能够有效检索出复杂问题所隐含的相关线索文档,同时可以平衡算法效率与准确性;此外,提出了将检索出的目标文档进行拓扑化,作为后续解答、抽取答案的基础;最后再综合用户输入、线索文档、拓扑结构等信息,模拟出人类在推理复杂问题时的推导过程,这样便可针对复杂问题进行精准解答,这其中涉及的检索环节、构建图结构环节以及推理解答环节,相互依赖且步步相关,通过对每一个环节的设计及改进,共同完成了本发明提出的推理问答机制。
Description
技术领域
本发明涉及自动问答技术领域,尤其涉及一种推理问答方法、装置以及设备。
背景技术
在人们的日常生活中,需要通过互联网获取某些问题答案的场景非常普遍,这些需要获取的信息往往通过使用问题相关关键字在搜索引擎中进行检索后人工浏览得到。然而,随着信息爆炸的时代到来,网络中充斥着越来越多的垃圾和重复信息,导致使用传统搜索引擎寻找问题答案的过程变得繁琐和低效。因此,人们往往希望拥有能直接通过输入问题即可返回最终答案的自动问答机制。
随着近些年来人工智能特别是计算语言学的飞速发展,推动了传统的问答机制准确率的迅速提升并开始走向实用领域。当人们想要获取某个问题的答案时,只需要输入问题即可迅速得获得答案。目前,谷歌、百度等主要的搜索引擎都已将问答服务作为整个搜索引擎中的子系统投入使用,当用户搜索问题为简单问题时,将由问答系统直接返回答案给用户。
然而,现有的问答系统往往通过遍历文档库中的每一个文档,并匹配与问题具有相似语义的文本片段作为答案。这种问答方式不具备任何推理能力,因此无法回答较为复杂的问题,同时在检索过程中以及检索后也无法挖掘并结合多个文档的信息,这些缺陷制约了目前问答机制的实用效果。
发明内容
鉴于上述,本发明旨在提供一种推理问答方法、装置以及设备,并相应地提出一种计算机可读存储介质以及计算机程序产品,通过这些方面能够模拟人类的推理行为,从而回答那些需要一定推理能力才能得出答案的复杂问题。
本发明采用的技术方案如下:
第一方面,本发明提供了一种推理问答方法,包括:
根据输入问题在知识库中启发式检索出包含解答相关线索的目标文档;
基于所述目标文档构建相应的图结构;
结合所述输入问题、所述目标文档、所述图结构以及预设的推理解答策略,预测并输出答案。
在其中一种可能的实现方式中,所述根据输入问题在知识库中启发式检索出包含解答相关线索的目标文档包括:
利用多轮相关性计算以及实体提取策略,从知识库中筛选出包含解答相关线索的若干候选文档;
结合所述输入问题,对所述候选文档进行相关性重估;
根据重估结果进行重排序,并选取若干高分候选文档作为所述目标文档。
在其中一种可能的实现方式中,所述利用多轮相关性计算以及实体提取策略,从知识库中筛选出包含解答相关线索的若干候选文档包括:
计算知识库中各第一文档相对于所述输入问题的相关性得分;
根据相关性得分,排序后选取若干高分第一文档构建候选文档集合;
从所述候选文档集合内的第一文档中提取若干实体;
在知识库中检索出与所述实体相关的第二文档;
计算各所述第二文档相对于所述输入问题的相关性得分;
根据相关性得分,排序后选取若干高分第二文档补入所述候选文档集合。
在其中一种可能的实现方式中,所述结合所述输入问题,对所述候选文档进行相关性重估包括:
基于预设的语义表示策略,将所述输入问题的信息嵌入到各所述候选文档中,得到包含了上下文信息的各所述候选文档的各单词表示;
根据所述单词表示,重新计算各所述候选文档的相关性得分。
在其中一种可能的实现方式中,所述基于所述目标文档构建相应的图结构包括:
识别出所述目标文档中的命名实体;
将所述命名实体以及所述目标文档中的语句作为节点,并基于预设的共现关联策略,构建异构图。
在其中一种可能的实现方式中,所述共现关联策略包括如下一或多种:
相同命名实体之间建立连接关系;
每个命名实体与处于同一语句中的其他命名实体建立连接关系;
每个命名实体与所在语句建立连接关系;
每个语句与其相邻的前后语句建立连接关系;
任意两个语句中若存在相互连接的命名实体,此两个语句建立连接关系。
在其中一种可能的实现方式中,所述推理解答策略包括:
将全部所述目标文档拼接为线索字符串;
基于预设的语义表示策略,将所述输入问题的信息嵌入到所述线索字符串,得到包含了上下文信息的所述线索字符串的各单词表示;
利用所述单词表示对所述图结构中相应的节点进行编码;
对编码后的节点进行迭代计算,建立节点之间的推理关系。
在其中一种可能的实现方式中,所述对编码后的节点进行迭代计算,建立节点之间的推理关系包括:
将与所述输入问题相关的节点作为起始节点;
计算所述起始节点与各相邻节点间的注意力得分;
由所述起始节点与得分最高的相邻节点形成单步推理后的推理链;
将所述得分最高的相邻节点作为起始节点,按上述方式进行多轮迭代,得到完整的推理链。
在其中一种可能的实现方式中,所述预测并输出答案包括:
基于最终形成的所述推理关系,将预测出的最后一个节点作为最终答案直接输出;
或者,
根据经由迭代计算后包含了推理信息的所述图结构中的各节点,在所述线索字符串中预测答案所在文本片段;
将所述文本片段作为最终答案并输出。
在其中一种可能的实现方式中,所述根据经由迭代计算后包含了推理信息的所述图结构中的各节点,在所述线索字符串中预测答案所在文本片段包括:
将多轮推理后得到的各节点表示,与包含问题信息的所述单词表示融合后,对所述线索字符串中各单词表示进行更新;
根据更新后的各单词表示,在所述线索字符串中预测出若干答案起始单词以及若干答案结束单词,并计算对应的概率值;
由所述答案起始单词与所述答案结束单词组成若干文本起始对;
选取组合概率值最大的文本起始对所对应的文本内容作为所述文本片段。
第二方面,本发明提供了一种推理问答装置,包括:
线索文档检索模块,用于根据输入问题在知识库中启发式检索出包含解答相关线索的目标文档;
图结构构建模块,用于基于所述目标文档构建相应的图结构;
推理解答模块,用于结合所述输入问题、所述目标文档、所述图结构以及预设的推理解答策略,预测并输出答案。
在其中一种可能的实现方式中,所述线索文档检索模块包括:
候选文档筛选子模块,用于利用多轮相关性计算以及实体提取策略,从知识库中筛选出包含解答相关线索的若干候选文档;
相关性重估子模块,用于结合所述输入问题,对所述候选文档进行相关性重估;
线索文档确定子模块,用于根据重估结果进行重排序,并选取若干高分候选文档作为所述目标文档。
在其中一种可能的实现方式中,所述候选文档筛选子模块包括:
第一计算单元,用于计算知识库中各第一文档相对于所述输入问题的相关性得分;
候选文档初步确定单元,用于根据相关性得分,排序后选取若干高分第一文档构建候选文档集合;
实体提取单元,用于从所述候选文档集合内的第一文档中提取若干实体;
第二文档检索单元,用于在知识库中检索出与所述实体相关的第二文档;
第二计算单元,用于计算各所述第二文档相对于所述输入问题的相关性得分;
候选文档初最终确定单元,用于根据相关性得分,排序后选取若干高分第二文档补入所述候选文档集合。
在其中一种可能的实现方式中,所述相关性重估子模块包括:
候选文档语义表示单元,用于基于预设的语义表示策略,将所述输入问题的信息嵌入到各所述候选文档中,得到包含了上下文信息的各所述候选文档的各单词表示;
相关性重估单元,用于根据所述单词表示,重新计算各所述候选文档的相关性得分。
在其中一种可能的实现方式中,所述图结构构建模块包括:
命名实体识别单元,用于识别出所述目标文档中的命名实体;
异构图构建单元,用于将所述命名实体以及所述目标文档中的语句作为节点,并基于预设的共现关联策略,构建异构图。
在其中一种可能的实现方式中,所述共现关联策略包括如下一或多种:
相同命名实体之间建立连接关系;
每个命名实体与处于同一语句中的其他命名实体建立连接关系;
每个命名实体与所在语句建立连接关系;
每个语句与其相邻的前后语句建立连接关系;
任意两个语句中若存在相互连接的命名实体,此两个语句建立连接关系。
在其中一种可能的实现方式中,所述推理解答模块包括:
文档融合子模块,用于将全部所述目标文档拼接为线索字符串;
线索字符串语义表示子模块,用于基于预设的语义表示策略,将所述输入问题的信息嵌入到所述线索字符串,得到包含了上下文信息的所述线索字符串的各单词表示;
图结构节点编码子模块,用于利用所述单词表示对所述图结构中相应的节点进行编码;
推理子模块,用于对编码后的节点进行迭代计算,建立节点之间的推理关系。
在其中一种可能的实现方式中,所述推理子模块包括:
推理起始单元,用于将与所述输入问题相关的节点作为起始节点;
注意力得分计算单元,用于计算所述起始节点与各相邻节点间的注意力得分;
推理链形成单元,用于由所述起始节点与得分最高的相邻节点形成单步推理后的推理链;
迭代推理单元,用于将所述得分最高的相邻节点作为起始节点,按上述方式进行多轮迭代,得到完整的推理链。
在其中一种可能的实现方式中,所述推理解答模块包括答案输出子模块:
所述答案输出子模块具体包括:
第一解答单元,用于基于最终形成的所述推理关系,将预测出的最后一个节点作为最终答案直接输出;
或者,
第二解答单元,用于根据经由迭代计算后包含了推理信息的所述图结构中的各节点,在所述线索字符串中预测答案所在文本片段;将所述文本片段作为最终答案并输出。
在其中一种可能的实现方式中,所述第二解答单元包括:
线索字符串表示更新组件,用于将多轮推理后得到的各节点表示,与包含问题信息的所述单词表示融合后,对所述线索字符串中各单词表示进行更新;
答案起始单词预测组件,用于根据更新后的各单词表示,在所述线索字符串中预测出若干答案起始单词以及若干答案结束单词,并计算对应的概率值;
起始单词组对组件,用于由所述答案起始单词与所述答案结束单词组成若干文本起始对;
文本片段确定组件,用于选取组合概率值最大的文本起始对所对应的文本内容作为所述文本片段。
第三方面,本发明提供了一种推理问答设备,包括:
一个或多个处理器、存储器以及一个或多个计算机程序,所述存储器可以采用非易失性存储介质,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行如第一方面或者第一方面的任一可能实现方式中的所述方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面或者第一方面的任一可能实现方式中的所述方法。
第五方面,本发明还提供了一种计算机程序产品,当所述计算机程序产品被计算机执行时,用于执行第一方面或者第一方面的任一可能实现方式中的所述方法。
在第五方面的一种可能的设计中,该产品涉及到的相关程序可以全部或者部分存储在与处理器封装在一起的存储器上,也可以部分或者全部存储在不与处理器封装在一起的存储介质上。
本发明的构思在于,提出了用于检索复杂问题相关文档的启发式文本检索方式。传统的文档检索算法往往只通过TF-IDF等基于词频的方式检索相关文档,这种检索方式无法挖掘出解答复杂问题所必要却与问题本身无对应关键词的文档(即可以理解为间接相关)。本发明的实施例中对检索过程使用了实体共现关系设计,可以从与问题最相关的文档扩展到与这些文档所描述实体对象有联系的其他文档,对于复杂问题的文档检索实现了很好的召回效果。同时,在进一步方案中对于启发检索得到的候选文档使进行重打分、重排序,由此大大提高了下游任务得到的目标文档的准确率,并平衡了系统的整体性能与效率。
相较于传统的抽取式问答系统,在获得上述精准且覆盖全面的线索文档后,通过将多篇文档建模为图结构,以此作为下游答案推理、抽取的逻辑基点。进一步地,节点与节点之间的连接关系同样基于了命名实体和/或语句之间在文本中的共现关系而决定,这样做的效果之一是大大减少了后续推理过程中可能出现的噪音。
本发明结合前述环节得到结果以及用户问题所包含的信息来实现文本推理功能,而传统的抽取式问答模型往往只能通过简单的语义匹配,即从文档中匹配与问题语义相近的片段作为答案,可见这种问答机制不具有任何推理能力且只能回答较为简单的问题。因此,本发明所实现的问答系统不但能够在回答问题时联合多篇文档的信息,同时可以模拟出人类推理时从一个对象跳转到另一个对象的行为,进而可以可靠、有效地回答较为复杂的用户问题。
还需进一步指出,本发明的某些实施例基于抽取式问答机制,因而必然具备了抽取式问答的优势,具体来说,可以从原始文本中抽取一段连续的文本片段作为答案,且相比于基于检索式的问答机制和基于知识库的问答机制,不需要提前录入大量的领域知识,因此具有更好的扩展性。
附图说明
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步描述,其中:
图1为本发明提供的推理问答方法的实施例的流程图;
图2为本发明提供的启发式检索方法的实施例的流程图;
图3为本发明提供的两阶段候选文档获取方法的实施例的流程图;
图4为本发明提供的转换存储图结构的实施例的示意图;
图5为本发明提供的推理解答策略的较佳实施例的流程图;
图6为本发明提供的多轮推理方法的实施例的流程图;
图7为本发明提供的解答输出方法的实施例的流程图;
图8为本发明提供的推理问答装置的实施例的方框图;
图9为本发明提供的推理问答设备的实施例的示意图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
在对本发明技术方案进行说明之前,首先对现有的自动问答机制进行说明。按照问答功能的实现方式,现有的问答机制通常可分为基于检索的问答方式、基于知识图谱的问答和基于文本抽取的问答。
(1)基于检索式的问答,指的是通过人工编写或在互联网上抓取大量的问答对,在用户提出一个问题时,通过检索与该问题最相近的问答对返回给用户;(2)基于知识图谱的问答,需要预先将领域知识以三元组的形式录入系统,对于用户提出的问题,需要转化为特定的知识图谱查询语言后查询对应的三元组作为答案;(3)基于文本抽取的问答系统,则是根据问题语义从海量的文档中寻找答案,并将其中的一段连续文本抽取出来作为答案。
相比于基于检索的方法和基于知识图谱的方法,基于文本抽取式的问答机制不需要人工预先录入领域知识,因此具有很强的灵活性和扩展性,受到工业界和学术界的热烈关注。然而,目前基于文本抽取式的问答机制还存在如下几个明显问题:
1)传统的抽取式问答无法检索到复杂问题隐含的相关文档。传统的抽取式问答机制首先会根据问题从海量文本数据库中,基于词频的算法(如 TF-IDF算法)筛选出相关段落。例如,对于简单问题“M国U协会职员兰先生宣布服务质量评选的酒店?”,基于词频的算法可以很容易的根据“兰先生”这个关键词找到对应的文档。然而,对于较为复杂的问题“M国U 协会职员兰先生宣布服务质量评选的酒店位于哪条河上?”回答该问题首先需要从海量文档库中找到对应的酒店为“GH”,然后根据该酒店名找到包含“GH”酒店信息的文档。由于“GH”关键词未出现在问题中,因此传统的基于词频的文档检索算法无法找到这种复杂问题相关的隐含文档。
2)传统的抽取式问答机制在回答问题时无法结合多个文档的信息。传统的抽取式问答方案在得到了由词频检索到的数个候选文档后,通常会使用神经网络模型从这些候选文档中逐一抽取候选答案,并最终选择一个概率最大的答案返回。然而,从上一段的例子中可以看到,如果不能同时联合“兰先生”和“GH”两个文档的信息,无论多么复杂的问答模型都无法正确的回答该问题。
3)传统的抽取式问答系统缺少推理能力,无法理解和处理复杂问题中的逻辑关系。传统的问答模型寻找答案片段通常依靠匹配问题和文档中浅层语义相似的片段作为答案。这种抽取答案的方式对于简单问题较为有效,但是对于上述复杂问题,除了需要能够同时联合多个文档的信息外,模型还要有能力推理出“兰先生-GH酒店-E河”这样的逻辑关系。而传统的问答系统缺少这样的推理能力。
本发明在分析了传统问答机制存在的上述缺陷后,给出了整体解决框架构思。首先是提出源于实体共现思路的启发式文档检索算法,能够有效检索出复杂问题所隐含的相关线索文档,同时可以平衡算法效率与准确性;此外,提出了将检索出的目标文档进行拓扑化,再综合用户输入、线索文档、拓扑结构等模拟出人类在推理复杂问题时的推导过程,最后将答案返回给用户,上述各项环节相互依赖并共同完成了本发明提供的推理问答机制的基本功能。
据此,本发明提供至少一种推理问答方法的实施例,如图1所示,可以包括如下步骤:
步骤S1、根据输入问题在知识库中启发式检索出包含解答相关线索的目标文档。
此为知识文档检索环节,作用可以是根据用户通过语音、文本等形式给定的问题(可经多模输入信号处理得到,此为现有技术,本发明不做赘述),从文档形式的海量知识库中检索可能包含问题对应线索和答案的近乎所有相关文档。其中,对于通用领域的知识问答系统,可以选用维基百科或百度百科作为知识库中的语料;而对于特定专业领域的问答系统,只需替换文档知识库中存储的文档即可。
如前所述,此环节的目标是根据问题精准地从知识库中检索出直接及间接相关文档。由于文档知识库中包含的文档往往有几十万甚至数百万之多,因此所使用的算法需要平衡检索过程的效率和准确性。传统的仅仅依靠词频的检索方法效率虽高但准确性很低,而单纯基于神经网络的检索模型虽然有很高的准确率但计算代价较大。此外已有的问答机制无法检索出与问题相关但与问题没有共现的关键词的文档,也即是那些间接关联且与解答相关的文档。因此,本发明在一些实施例中提出了结合基于词频检索和基于神经网络重排序的一种启发式算法参考,如图2所示,主要流程可以如下:
步骤S11、利用多轮相关性计算以及实体提取策略,从知识库中筛选出包含解答相关线索的若干候选文档。
具体而言,还可以将此过程拆解为初步筛选和拓展筛选两个阶段,再结合图3示意,在本发明的至少一种较佳的实现方式中,步骤S11可以通过如下流程实现:
步骤S111、计算知识库中各第一文档相对于所述输入问题的相关性得分;
步骤S112、根据相关性得分,排序后选取若干高分第一文档构建候选文档集合。
在实际操作中,可以根据输入的问题Q,其中问题中第i个单词记为wi,计算问题中每个单词在各个文档中的TF-IDF得分,对于某文档dj,其相对于问题Q的TF-IDF相关性得分计算方式如下:
其中|Q|为问题包含的单词总数,tfidfij为问题中单词wi在文档dj中的得分:
其中nij为wi在文件dj从出现的次数,若不存在则为0。nk,j为不同单词在文档dj中出现的次数之和。|D|为知识库中的文档总数。|{j:wi∈dj}|意为包含单词wi的文档总数。至此,计算得到了知识库中每个文档关于问题的TF-IDF相关性得分。基于该得分排序并取得分最高的N个文档构建候选文档集合,并可记为初始集Sinit。
步骤S113、从所述候选文档集合内的第一文档中提取若干实体;
步骤S114、在知识库中检索出与所述实体相关的第二文档;
步骤S115、计算各所述第二文档相对于所述输入问题的相关性得分;
步骤S116、根据相关性得分,排序后选取若干高分第二文档补入所述候选文档集合。
为了回答较为复杂的问题,在推理并寻找答案的过程中通常需要从一个文档中得到的线索跳转到另一个文档进行,而这些文档往往不是与问题有最高相似度的文档。因此,对于初始集Sinit中的每个文档,会根据文档中提及的实体对象(例如利用现有实体抽取技术等检测到的关键字、超链接等)提取同样提及该实体对象的其他文档。结合前例,对于初始集中的某文档,会根据其中提到的“K省”、“兰先生”、“L市”等实体对象再从知识库中找到其他提到这些实体对象的第二文档,并对这些第二文档使用TF-IDF相关性进行排序,最终初始集中的每个文档以及取TF-IDF得分最高的M个第二文档合并组成基于词频检索的候选文档集合,此时可将补充了拓展文档后的初始集另记为检索集Sretri。当然,在本发明的其他实施例中,候选文档集合也还可以是以第一文档和第二文档的综合得分排序靠前的多个文档构成。
接续前文回到图2,步骤S12、结合所述输入问题,对所述候选文档进行相关性重估;
步骤S13、根据重估结果进行重排序,并选取若干高分候选文档作为所述目标文档。
此为基于前述检索的重排序环节,因为基于词频的检索得到的检索集 Sretri包含的文档较多,虽然此举能够保证较高的召回率但准确性不高,因此本发明提出对检索结果进行重排序,从候选中只取回答问题所需要的文档。例如基于预设的语义表示策略(可以但不限于使用神经网络模型),将所述输入问题的信息嵌入到各所述候选文档中,得到包含了上下文信息的各所述候选文档的各单词表示,然后根据所述单词表示,重新计算各所述候选文档的相关性得分。
具体来说,重排序环节可使用双向文本编码器(Bidirectional EncoderRepresentations from Transformers,BERT)进行打分和重排序。该模型的输入可以是输入问题Q:{w1…wq}和某一候选文档C:{c1,…,cm}的所有单词拼接而成。此两部分的尾部刻加入特殊单词“[SEP]”表示问题和文档的结尾。此外,整个序列的开头部分可加入特殊单词“[CLS]”用于代表整个问题- 文档对输入序列。其中,BERT模型可由24层Transformer层堆叠而成,每一个输入的单词都被表示为长度为1024的向量,而每一层的Transformer 层的输入和输出均为长度为1024维的向量。在经过每一层Transformer计算后,每个单词的向量表示中将包含更多的上下文信息,也即是在编码过程中使得输入问题的语义信息嵌入到该候选文档中。最终,可取“[CLS]”的输出代表整个问题-文档对的表示。计算相关性得分时,可由BERT输出的矩阵,取其第一个词向量以表示该候选文档,接着由常规的函数等手段将向量映射为归一化的实数,得到一个以概率值描述的最终的相关性得分,例如score=sigmoid(W·h[CLS]),其中表示BERT模型输出的“[CLS]”位向量表示,为可训练的参数,Sigmoid函数的作用是将其归一化为概率分数。以此方式,将所有的问题-文档对逐个输入至前述模型,由此得到了各候选文档的最新的相关系得分,最后将相关性得分最高的k个文档作为知识文档检索环节的输出,也即是前述若干目标文档。
回到图1,步骤S2、基于所述目标文档构建相应的图结构;
此为图构建环节,其作用可以是根据检索得到的文档内容生成相应的图结构,生成的图结构会被用于后续推理解答环节,具体地,可以先识别出文本中的命名实体并划分目标文档所包含的语句等,然后将所述命名实体和/或所述目标文档中的语句作为节点,并根据命名实体和/或语句间的共现关系制定共现关联策略形成节点间的边连接,由此构建图结构。
在实际操作中,识别命名实体也可以使用前述神经网络结构(BERT 模型)。具体地,对于一段文本,经过分词后输入BERT模型,每个单词在经过BERT多层编码后形成对应的向量表示,并用于预测该单词是否是命名实体的一部分。例如输入的目标文档的字符序列为“K省|高级|U协会|职员|兰先生……”,对应的识别结果为“实体|非实体|非实体|非实体|实体……”。一般的图结构只包含一种类型的节点,也即是可以将从目标文档中识别到的命名实体作为图结构中的节点。但在本发明的其他实施例中,为了在后续的推理过程中同时利用到语句之间的关联信息,并可以进一步输出线索语句,还可以将命名实体和目标文档中的语句建模为图结构中不同种类的节点,这种包含不同类型节点的图结构称为异构图(Heterogeneous Graph)。
而关于前述共现关联策略,则可以包括但不限于如下一种或多种:
(1)相同命名实体之间建立连接关系;
(2)每个命名实体与处于同一语句中的其他命名实体建立连接关系;
(3)每个命名实体与所在语句建立连接关系;(针对上述异构图实施例)
(4)每个语句与其相邻的前后语句建立连接关系;(针对上述异构图实施例)
(5)任意两个语句中若存在相互连接的命名实体,此两个语句建立连接关系。(针对上述异构图实施例)
此外,在实际操作中,图结构还可以使用邻接矩阵的形式进行存储。为简单起见,假设识别到的实体为目标文档1中第一个语句中的“兰先生”和“GH”两个实体,记为E1、E2,该语句记为S1;在目标文档2的第三个语句中的实体“GH”和“E河”,相应地,分别记为E3、E4、S2。那么,在存储该异构图时可参考图4所示,所使用的邻接矩阵为行和列均为6的方阵,前4行4列分别代表E1、E2、E3、E4,后2行2列分别代表S1和S2,并且邻接矩阵的第i行j列为1表示节点i和节点j之间有边的连接,反之为0。需说明的是,上述示例对图结构进行了简化,实际操作中,计算机存储的图结构可包含所有从目标文档中识别得到的命名实体和/或语句。
步骤S3、结合所述输入问题、所述目标文档、所述图结构以及预设的推理解答策略,预测并输出答案。
此为基于图网络的推理式答案抽取环节,其作用可以是根据问题、检索出的文档以及根据实体共现关系生成的图结构寻找能够解答问题的线索并推理出最终答案。例如,使用双向文本编码器编码每个单词的向量表示,随后利用节点表示思路,将图结构中的每个节点组织成向量表示,接着使用诸如图注意力算法迭代计算,从而模拟人类的推理过程。此外,在答案抽取过程中,既可以直接依据推理路径锁定最终推理出的对象作为返回给用户的答案;也可以根据迭代计算后的每个节点的当前表示,预测答案在线索文档中的位置,同时输出推理过程中所使用到的线索句子,提高模型的可解释性。当然,本领域技术人员可以理解的是,最终答案的展示形式可以是多样的,例如被转换为语音或文本等形式输出,对此本发明不做限定,而需要具体展开的是在实施本发明时可以采用的推理解答策略,如图5示出的一种较佳的处理流程:
步骤S31、将全部所述目标文档拼接为线索字符串;
步骤S32、基于预设的语义表示策略,将所述输入问题的信息嵌入到所述线索字符串,得到包含了上下文信息的所述线索字符串的各单词表示;
步骤S33、利用所述单词表示对所述图结构中相应的节点进行编码;
步骤S34、对编码后的节点进行迭代计算,建立节点之间的推理关系。
总的来说,此环节输入是问题Q和数篇检索到的前述目标文档所组成的上下文字符串C,输出为对应用户问题的答案,更优地还可以包括推理得到该答案所使用到的线索语句。在具体实施上述流程时,可架构出双向文本编码器、节点表示层、图结构模型(后文称图网络)三个主要部分。其中,双向文本编码器用于生成问题语义感知的上下文表示;节点表示层基于问题感知的上下文表示生成节点的向量表示;图结构模型基于图结构完成从一个节点到另一个节点的推理过程。对此,将结合具体示例进行展开:
(一)双向文本编码层:该层可使用BERT模型得到高效的文本表示。该层的输入包含两个部分,输入是问题Q和数篇检索到的目标文档所组成的上下文字符串C。此外,在整个输入数据的开始同样可加入特殊字符“[CLS]”用于表示整个输入,且在问题字符串和文本字符串之间还会分别添加特殊字符“[SEP]”来区分这两个部分的输入。经过BERT编码得到的每个输入问题和线索字符串中单词的向量表示。记线索字符串中每个单词的向量表示为其中由于此过程是问题字符串和线索字符串同时进行编码,因此整个输入问题的语义信息可以被看作嵌入到了线索字符串的每个单词的向量表示中,这些隐式的语义信息会被用于指引后续的推理过程。
(二)节点表示层:后续图结构模型的输入为图的连接结构和每个节点的向量表示,因此该层在得到了每个单词的双向文本编码表示后,将其转换为异构图中的节点所对应的向量表示,也即是对图中各节点做向量化处理。具体操作可以是,设一个命名实体或语句k是在线索字符串中对应第i到第j个单词的序列,则该命名实体或语句节点对应的向量表示为前述获得的每个单词向量表示的平均并进行一次线性变换:
(三)图网络:图网络的输入包括节点表示层输出的图中每个节点的向量表示,以及前文提及的图网络构建环节所构建的图结构(可通过存储的邻接矩阵的形式表示)。
在实际操作中,该图网络可由多层图注意力层堆叠而成,以此实现模拟人类进行复杂问题的推理过程。据此,在本发明至少一种可能的实现方式中,多轮推理过程可参考图6,包括如下步骤:
步骤S341、将与所述输入问题相关的节点作为起始节点;
步骤S342、计算所述起始节点与各相邻节点间的注意力得分;
步骤S343、由所述起始节点与得分最高的相邻节点形成单步推理后的推理链;
步骤S344、将所述得分最高的相邻节点作为起始节点,按上述方式进行多轮迭代,得到完整的推理链。
基于此流程,此处使用一个简单但不失一般性的例子来介绍图网络如何模拟人类的推理过程。对于用户的问题:“兰先生宣布参加服务质量评选活动的酒店位于哪条河上?”,知识文档检索环节检出了包含线索的直接、间接文档,然而,这样一个复合问题无法从某个目标文档中直接找到答案。即便将两个目标文档拼接形成线索字符串,但由于文档中没有描述参与竞选活动的酒店位于哪条何上的信息,因此仅通过传统的匹配问题和文档语义的方式不足以回答该问题,因为,这需要一定的推理、推导过程。回到本发明,由线索字符串中所有提到的命名实体被建模为图结构中的节点,并按前述共现规则进行连接。那么在上述实施例中,推理的过程就可以通过输入问题中提到的命名实体作为推理链开始节点,即兰先生(异构图实施例中该节点对应的语句节点为目标文档x中的第y句),当然本领域技术人员可以理解的是在实际操作中每一次推理过程可以使当前所有节点进行与周边节点的相关度计算;例如,为了计算下一步节点,可使用图注意力机制来计算当前每个节点与其他相邻的不同节点的重要性关系。对于图结构中某一节点i,对应节点的向量表示为hi,对应所有的相邻节点可记为图注意力机制的公式参考如下:
其中每一个W和为可训练的模型参数,aij为与节点i与其相邻节点集合中的节点j间的注意力得分。由于编码每个节点的向量来自于问题感知的线索字符串中的单词表示,因此每个节点的表示本身也是问题感知的。在参数得到训练后,每个节点的邻近节点中与解答问题最相关的节点将获得最大的注意力权重。举例来说,第一次迭代后,“兰先生”节点最邻近的节点中“GH”获得了最大的注意力权重,代表图结构中建立了由“兰先生”到“GH”的推理链。由于每一层的图注意力层会让每个节点根据相邻的节点更新自身的表示,相当于完成了一次“单步”的推理(如前文所述,实际运行环境下图结构中全部节点皆可做此操作,即每一次推理计算后,图中所有节点皆被更新)。为了得到完整的推理链,图注意力层可堆叠多层(因为每个节点均与自身有连接,如果某轮推理时某节点不需要额外推理,则某节点自身将获得最大的注意力权重)。结合前述示例,在经过第二层图注意力层的处理后,即可计算得到“兰先生→GH→E河”的推理链。可见,图注意力层堆叠的层数代表能够完成的最大推理步数,由于现实中极少有超过两层推理逻辑的问题,因此可根据所需设置图注意力层为2层。
在完成了上述推理过程后,便可以对答案进行抽取,也即是进入到预测、解答的环节,这里可以在前述图网络后接一个预测输出层,用于预测并输出答案,当然,还可以输出推理过程所用到的相关线索句子,以提升对模型的解释能力(后文将作介绍)。
具体而言,结合上述图网络层的计算结果,一方面可以方便、快捷地将前述完整推理链的终点作为答案输出,节省运算资源;另一方面,为了兼顾答案文本的可读性,也可以使返回的答案包含一些与答案本身相关的前后文本内容,这样可以既体现出上下文关系,并可向用户提供更佳地使用体验。也即是说,本发明给出了至少两种解答思路:
其一、基于最终形成的所述推理关系,将预测出的最后一个节点作为最终答案直接输出;
其二、根据经由迭代计算后包含了推理信息的所述图结构中的各节点,在所述线索字符串中预测答案所在文本片段,将所述文本片段作为最终答案并输出。
针对后一种解答实现方式,可参考图7提供的流程示意:
步骤S300、将多轮推理后得到的各节点表示,与包含问题信息的所述单词表示融合后,对所述线索字符串中各单词表示进行更新;
步骤S302、根据更新后的各单词表示,在所述线索字符串中预测出若干答案起始单词以及若干答案结束单词,并计算对应的概率值;
步骤S303、由所述答案起始单词与所述答案结束单词组成若干文本起始对;
步骤S304、选取组合概率值最大的文本起始对所对应的文本内容作为所述文本片段。
具体地,设第T次迭代后各个节点的表示为其中N为异构图中的节点数量,且各节点的当前表示中已包含推理信息。由于预测输出层需要预测前述线索字符串中一段连续的文本片段作为答案,因此需要将图结构转换为序列形式。实际操作中,可以将前述由双向文本编码器输出的线索字符串中第i个单词的表示与对应的图结构节点表示拼接得到:
其中和表示包含单词i的命名实体表示和语句表示,若单词i不属于任何命名实体或语句,则用0向量进行填充。这样的拼接使得线索字符串中每个单词的当前向量表示包含了问题感知的上下文信息(即前述C1) 和图网络的推理结果
接着在执行步骤S302时,同样可以采用至少两种思路:
其一、利用更新后的各单词表示在整个线索字符串中预测出与答案相关文本的起始单词;
其二、利用更新后的各单词表示从线索字符串中先锁定前文提及的“线索句子”,再从线索句子中预测与答案相关文本的起始单词。
针对后一种,可将拼接后得到的新的单词表示C2输入诸如双向LSTM 层,即可以对线索字符串中包含的每个语句进行向量表示(具体实施时,可由语句的首尾单词的向量表示进行拼接来整体表达该语句),接着可使用全连接层将各语句的向量表示压缩为0到1之间的实数,以表示该语句为推理线索的概率,最后取概率大于设定阈值的语句作为“线索句子”,这里提及预测线索句子的过程可预先经由语料标注以及训练学习实现,对此本发明不做限定。接续前文,使用C2与每个线索句子的预测结果进行拼接,再输入诸如双向LSTM预测答案的开始位置:
其中Probstart表示线索字符串中每个单词作为答案开始位置的概率。同理地,答案结束位置的概率也可使用类似的公式计算得到:
而后,将各起始单词与结束单词两两组对,并取相应的开始位置及结束位置概率值之和最大的组合所对应的文本片段作为最终解答返回给用户。具体到前述示例,对于线索字符串“GH是这座城市中建于E河上唯一的酒店……”,经上述方式可以计算得到:
argmaxstart,end∈CProbstart*Probend=Probstart(E)*Probend(河) (5.11)
即,从所有可能的答案开始和结束的单词组合中找到了答案开始位置为单词“E”,结束位置为单词“河”的概率最大,因此此例最终可输出的结果为“E河”。
最后还可以补充的是,在部署并行使上述各项实施例及优选方案所体现的问答功能之前,还可以针对实际操作所需,进行数据预处理和相关模型的训练,此处仅做示意性说明:
1)知识库中的文档语料收集和预处理。包括语料清洗、分词、分句等。由于文档检索环节可包含基于词频的初步筛选以及基于神经网络的重排序,因此在预处理过程中还可以计算出每个文档中的TF-IDF得分。
2)语料标注。基于文档和相关问题,标注答案在文档中的位置。此外,为了帮助所涉及的相关模型学习到如何从一个文档中的线索推理到另一个文档,在语料标注的过程中还可以标注推理线索所在的位置。此外,图结构构建环节中进行命名实体识别时,如采用了相关模型,则同样也可以利用前述任务的训练数据,由于命名实体识别任务的公开数据集较多,因此该部分数据可使用公开数据集而无需标注。
3)模型训练。训练上述整个系统中所使用到的神经网络模型,包括:知识文档检索环节中的文档重排序模型、图构建环节中的命名实体识别模型以及基于图网络的推理式问答模型等。
在完成了上述数据的预处理和模型训练后,就可以对用户提出的复杂问题按前述流程进行文本推理并精确回答。
综上所述,本发明的构思在于,提出了用于检索复杂问题相关文档的启发式文本检索方式。传统的文档检索算法往往只通过TF-IDF等基于词频的方式检索相关文档,这种检索方式无法挖掘出解答复杂问题所必要却与问题本身无对应关键词的文档(即可以理解为间接相关)。本发明的实施例中对检索过程使用了实体共现关系设计,可以从与问题最相关的文档扩展到与这些文档所描述实体对象有联系的其他文档,对于复杂问题的文档检索实现了很好的召回效果。同时,在进一步方案中对于启发检索得到的候选文档使进行重打分、重排序,由此大大提高了下游任务得到的目标文档的准确率,并平衡了系统的整体性能与效率。
相较于传统的抽取式问答系统,在获得上述精准且覆盖全面的线索文档后,通过将多篇文档建模为图结构,以此作为下游答案推理、抽取的逻辑基点。进一步地,节点与节点之间的连接关系同样基于了命名实体和/或语句之间在文本中的共现关系而决定,这样做的效果之一是大大减少了后续推理过程中可能出现的噪音。
本发明结合前述环节得到结果以及用户问题所包含的信息来实现文本推理功能,而传统的抽取式问答模型往往只能通过简单的语义匹配,即从文档中匹配与问题语义相近的片段作为答案,可见这种问答机制不具有任何推理能力且只能回答较为简单的问题。因此,本发明所实现的问答系统不但能够在回答问题时联合多篇文档的信息,同时可以模拟出人类推理时从一个对象跳转到另一个对象的行为,进而可以可靠、有效地回答较为复杂的用户问题。
还需进一步指出,本发明的某些实施例基于抽取式问答机制,因而必然具备了抽取式问答的优势,具体来说,可以从原始文本中抽取一段连续的文本片段作为答案,且相比于基于检索式的问答机制和基于知识库的问答机制,不需要提前录入大量的领域知识,因此具有更好的扩展性。
相应于上述各实施例及优选方案,本发明还提供了一种推理问答装置的实施例,如图8所示,具体可以包括如下部件:
线索文档检索模块1,用于根据输入问题在知识库中启发式检索出包含解答相关线索的目标文档;
图结构构建模块2,用于基于所述目标文档构建相应的图结构;
推理解答模块3,用于结合所述输入问题、所述目标文档、所述图结构以及预设的推理解答策略,预测并输出答案。
在其中一种可能的实现方式中,所述线索文档检索模块包括:
候选文档筛选子模块,用于利用多轮相关性计算以及实体提取策略,从知识库中筛选出包含解答相关线索的若干候选文档;
相关性重估子模块,用于结合所述输入问题,对所述候选文档进行相关性重估;
线索文档确定子模块,用于根据重估结果进行重排序,并选取若干高分候选文档作为所述目标文档。
在其中一种可能的实现方式中,所述候选文档筛选子模块包括:
第一计算单元,用于计算知识库中各第一文档相对于所述输入问题的相关性得分;
候选文档初步确定单元,用于根据相关性得分,排序后选取若干高分第一文档构建候选文档集合;
实体提取单元,用于从所述候选文档集合内的第一文档中提取若干实体;
第二文档检索单元,用于在知识库中检索出与所述实体相关的第二文档;
第二计算单元,用于计算各所述第二文档相对于所述输入问题的相关性得分;
候选文档初最终确定单元,用于根据相关性得分,排序后选取若干高分第二文档补入所述候选文档集合。
在其中一种可能的实现方式中,所述相关性重估子模块包括:
候选文档语义表示单元,用于基于预设的语义表示策略,将所述输入问题的信息嵌入到各所述候选文档中,得到包含了上下文信息的各所述候选文档的各单词表示;
相关性重估单元,用于根据所述单词表示,重新计算各所述候选文档的相关性得分。
在其中一种可能的实现方式中,所述图结构构建模块包括:
命名实体识别单元,用于识别出所述目标文档中的命名实体;
异构图构建单元,用于将所述命名实体以及所述目标文档中的语句作为节点,并基于预设的共现关联策略,构建异构图。
在其中一种可能的实现方式中,所述共现关联策略包括如下一或多种:
相同命名实体之间建立连接关系;
每个命名实体与处于同一语句中的其他命名实体建立连接关系;
每个命名实体与所在语句建立连接关系;
每个语句与其相邻的前后语句建立连接关系;
任意两个语句中若存在相互连接的命名实体,此两个语句建立连接关系。
在其中一种可能的实现方式中,所述推理解答模块包括:
文档融合子模块,用于将全部所述目标文档拼接为线索字符串;
线索字符串语义表示子模块,用于基于预设的语义表示策略,将所述输入问题的信息嵌入到所述线索字符串,得到包含了上下文信息的所述线索字符串的各单词表示;
图结构节点编码子模块,用于利用所述单词表示对所述图结构中相应的节点进行编码;
推理子模块,用于对编码后的节点进行迭代计算,建立节点之间的推理关系。
在其中一种可能的实现方式中,所述推理子模块包括:
推理起始单元,用于将与所述输入问题相关的节点作为起始节点;
注意力得分计算单元,用于计算所述起始节点与各相邻节点间的注意力得分;
推理链形成单元,用于由所述起始节点与得分最高的相邻节点形成单步推理后的推理链;
迭代推理单元,用于将所述得分最高的相邻节点作为起始节点,按上述方式进行多轮迭代,得到完整的推理链。
在其中一种可能的实现方式中,所述推理解答模块包括答案输出子模块:
所述答案输出子模块具体包括:
第一解答单元,用于基于最终形成的所述推理关系,将预测出的最后一个节点作为最终答案直接输出;
或者,
第二解答单元,用于根据经由迭代计算后包含了推理信息的所述图结构中的各节点,在所述线索字符串中预测答案所在文本片段;将所述文本片段作为最终答案并输出。
在其中一种可能的实现方式中,所述第二解答单元包括:
线索字符串表示更新组件,用于将多轮推理后得到的各节点表示,与包含问题信息的所述单词表示融合后,对所述线索字符串中各单词表示进行更新;
答案起始单词预测组件,用于根据更新后的各单词表示,在所述线索字符串中预测出若干答案起始单词以及若干答案结束单词,并计算对应的概率值;
起始单词组对组件,用于由所述答案起始单词与所述答案结束单词组成若干文本起始对;
文本片段确定组件,用于选取组合概率值最大的文本起始对所对应的文本内容作为所述文本片段。
应理解以上图8所示的推理问答装置可以作为线上系统的子系统,也可单独作为一个问答系统使用。并且,其中各个部件的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些部件可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分部件以软件通过处理元件调用的形式实现,部分部件通过硬件的形式实现。例如,某个上述模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它部件的实现与之类似。此外这些部件全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个部件可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些部件可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit;以下简称:ASIC),或,一个或多个微处理器(Digital Singnal Processor;以下简称:DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array;以下简称:FPGA)等。再如,这些部件可以集成在一起,以片上系统(System-On-a-Chip;以下简称:SOC)的形式实现。
综合上述各实施例及其优选方案,本领域技术人员可以理解的是,在实际操作中,本发明适用于多种实施方式,本发明以下述载体作为示意性说明:
(1)一种推理问答设备,其可以包括:
一个或多个处理器、存储器以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行前述实施例或等效实施方式的步骤/功能。
图9为本发明推理问答设备的实施例的结构示意图,其中,该设备可以是电子设备也可以是内置于上述电子设备的电路设备。上述电子设备可以为PC、服务器、智能终端(手机、平板、手表、眼镜等)、智能电视、音响、音箱、机顶盒、遥控器、智慧屏、柜员机、机器人、无人机、ICV、智能(汽)车及车载设备等。本实施例对推理问答设备的具体形式不作限定。
具体如图9所示,推理问答设备900包括处理器910和存储器930。其中,处理器910和存储器930之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器930用于存储计算机程序,该处理器910 用于从该存储器930中调用并运行该计算机程序。上述处理器910可以和存储器930可以合成一个处理装置,更常见的是彼此独立的部件,处理器910用于执行存储器930中存储的程序代码来实现上述功能。具体实现时,该存储器930也可以集成在处理器910中,或者,独立于处理器910。
除此之外,为了使得推理问答设备900的功能更加完善,该设备900 还可以包括输入单元960、显示单元970、音频电路980、摄像头990和传感器901等中的一个或多个,所述音频电路还可以包括扬声器982、麦克风984等。其中,显示单元970可以包括显示屏。
进一步地,上述推理问答设备900还可以包括电源950,用于给该设备900中的各种器件或电路提供电能。
应理解,图9所示的推理问答设备900能够实现前述实施例提供的方法的各个过程。该设备900中的各个部件的操作和/或功能,可分别为了实现上述方法实施例中的相应流程。具体可参见前文中关于方法、装置等实施例的描述,为避免重复,此处适当省略详细描述。
应理解,图9所示的推理问答设备900中的处理器910可以是片上系统SOC,该处理器910中可以包括中央处理器(Central Processing Unit;以下简称:CPU),还可以进一步包括其他类型的处理器,例如:图像处理器(Graphics Processing Unit;以下简称:GPU)等,具体在下文中再作介绍。
总之,处理器910内部的各部分处理器或处理单元可以共同配合实现之前的方法流程,且各部分处理器或处理单元相应的软件程序可存储在存储器930中。
(2)一种可读存储介质,在可读存储介质上存储有计算机程序或上述装置,当计算机程序或上述装置被执行时,使得计算机执行前述实施例或等效实施方式的步骤/功能。
在本发明所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的某些技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以如下所述软件产品的形式体现出来。
(3)一种计算机程序产品(该产品可以包括上述装置),该计算机程序产品在终端设备上运行时,使终端设备执行前述实施例或等效实施方式的推理问答方法。该产品可以作为线上系统的子系统,也可单独作为一个问答系统使用。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,上述计算机程序产品可以包括但不限于是指APP;接续前文,上述设备/终端可以是一台计算机设备(例如手机、PC 终端、云平台、服务器、服务器集群或者诸如媒体网关等网络通信设备等)。并且,该计算机设备的硬件结构还可以具体包括:至少一个处理器,至少一个通信接口,至少一个存储器和至少一个通信总线;处理器、通信接口、存储器均可以通过通信总线完成相互间的通信。其中,处理器可能是一个中央处理器CPU、DSP、微控制器或数字信号处理器,还可包括GPU、嵌入式神经网络处理器(Neural-network Process Units;以下简称:NPU)和图像信号处理器(Image Signal Processing;以下简称:ISP),该处理器还可包括特定集成电路ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路等,此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储器等存储介质中;而前述的存储器/存储介质可以包括:非易失性存储器(non-volatile memory),例如非可移动磁盘、U盘、移动硬盘、光盘等,以及只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)等。
本发明实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a, b,c可以是单个,也可以是多个。
本领域技术人员可以意识到,本说明书中公开的实施例中描述的各模块、单元及方法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方式来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以及,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可。尤其,对于装置、设备等实施例而言,由于其基本相似于方法实施例,所以相关之处可参见方法实施例的部分说明即可。以上所描述的装置、设备等实施例仅仅是示意性的,其中作为分离部件说明的模块、单元等可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个地方,例如系统网络的节点上。具体可根据实际的需要选择其中的部分或者全部模块、单元来实现上述实施例方案的目的。本领域技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,但以上仅为本发明的较佳实施例,需要言明的是,上述实施例及其优选方式所涉及的技术特征,本领域技术人员可以在不脱离、不改变本发明的设计思路以及技术效果的前提下,合理地组合搭配成多种等效方案;因此,本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
Claims (16)
1.一种推理问答方法,其特征在于,包括:
根据输入问题在知识库中启发式检索出包含解答相关线索的目标文档;
基于所述目标文档构建相应的图结构;
结合所述输入问题、所述目标文档、所述图结构以及预设的推理解答策略,预测并输出答案。
2.根据权利要求1所述的推理问答方法,其特征在于,所述根据输入问题在知识库中启发式检索出包含解答相关线索的目标文档包括:
利用多轮相关性计算以及实体提取策略,从知识库中筛选出包含解答相关线索的若干候选文档;
结合所述输入问题,对所述候选文档进行相关性重估;
根据重估结果进行重排序,并选取若干高分候选文档作为所述目标文档。
3.根据权利要求2所述的推理问答方法,其特征在于,所述利用多轮相关性计算以及实体提取策略,从知识库中筛选出包含解答相关线索的若干候选文档包括:
计算知识库中各第一文档相对于所述输入问题的相关性得分;
根据相关性得分,排序后选取若干高分第一文档构建候选文档集合;
从所述候选文档集合内的第一文档中提取若干实体;
在知识库中检索出与所述实体相关的第二文档;
计算各所述第二文档相对于所述输入问题的相关性得分;
根据相关性得分,排序后选取若干高分第二文档补入所述候选文档集合。
4.根据权利要求2所述的推理问答方法,其特征在于,所述结合所述输入问题,对所述候选文档进行相关性重估包括:
基于预设的语义表示策略,将所述输入问题的信息嵌入到各所述候选文档中,得到包含了上下文信息的各所述候选文档的各单词表示;
根据所述单词表示,重新计算各所述候选文档的相关性得分。
5.根据权利要求1所述的推理问答方法,其特征在于,所述基于所述目标文档构建相应的图结构包括:
识别出所述目标文档中的命名实体;
将所述命名实体以及所述目标文档中的语句作为节点,并基于预设的共现关联策略,构建异构图。
6.根据权利要求5所述的推理问答方法,其特征在于,所述共现关联策略包括如下一或多种:
相同命名实体之间建立连接关系;
每个命名实体与处于同一语句中的其他命名实体建立连接关系;
每个命名实体与所在语句建立连接关系;
每个语句与其相邻的前后语句建立连接关系;
任意两个语句中若存在相互连接的命名实体,此两个语句建立连接关系。
7.根据权利要求1所述的推理问答方法,其特征在于,所述推理解答策略包括:
将全部所述目标文档拼接为线索字符串;
基于预设的语义表示策略,将所述输入问题的信息嵌入到所述线索字符串,得到包含了上下文信息的所述线索字符串的各单词表示;
利用所述单词表示对所述图结构中相应的节点进行编码;
对编码后的节点进行迭代计算,建立节点之间的推理关系。
8.根据权利要求7所述的推理问答方法,其特征在于,所述对编码后的节点进行迭代计算,建立节点之间的推理关系包括:
将与所述输入问题相关的节点作为起始节点;
计算所述起始节点与各相邻节点间的注意力得分;
由所述起始节点与得分最高的相邻节点形成单步推理后的推理链;
将所述得分最高的相邻节点作为起始节点,按上述方式进行多轮迭代,得到完整的推理链。
9.根据权利要求7所述的推理问答方法,其特征在于,所述预测并输出答案包括:
基于最终形成的所述推理关系,将预测出的最后一个节点作为最终答案直接输出;
或者,
根据经由迭代计算后包含了推理信息的所述图结构中的各节点,在所述线索字符串中预测答案所在文本片段;
将所述文本片段作为最终答案并输出。
10.根据权利要求9所述的推理问答方法,其特征在于,所述根据经由迭代计算后包含了推理信息的所述图结构中的各节点,在所述线索字符串中预测答案所在文本片段包括:
将多轮推理后得到的各节点表示,与包含问题信息的所述单词表示融合后,对所述线索字符串中各单词表示进行更新;
根据更新后的各单词表示,在所述线索字符串中预测出若干答案起始单词以及若干答案结束单词,并计算对应的概率值;
由所述答案起始单词与所述答案结束单词组成若干文本起始对;
选取组合概率值最大的文本起始对所对应的文本内容作为所述文本片段。
11.一种推理问答装置,其特征在于,包括:
线索文档检索模块,用于根据输入问题在知识库中启发式检索出包含解答相关线索的目标文档;
图结构构建模块,用于基于所述目标文档构建相应的图结构;
推理解答模块,用于结合所述输入问题、所述目标文档、所述图结构以及预设的推理解答策略,预测并输出答案。
12.根据权利要求11所述的推理问答装置,其特征在于,所述线索文档检索模块包括:
候选文档筛选子模块,用于利用多轮相关性计算以及实体提取策略,从知识库中筛选出包含解答相关线索的若干候选文档;
相关性重估子模块,用于结合所述输入问题,对所述候选文档进行相关性重估;
线索文档确定子模块,用于根据重估结果进行重排序,并选取若干高分候选文档作为所述目标文档。
13.根据权利要求11所述的推理问答装置,其特征在于,所述推理解答模块包括:
文档融合子模块,用于将全部所述目标文档拼接为线索字符串;
线索字符串语义表示子模块,用于基于预设的语义表示策略,将所述输入问题的信息嵌入到所述线索字符串,得到包含了上下文信息的所述线索字符串的各单词表示;
图结构节点编码子模块,用于利用所述单词表示对所述图结构中相应的节点进行编码;
推理子模块,用于对编码后的节点进行迭代计算,建立节点之间的推理关系。
14.一种推理问答设备,其特征在于,包括:
一个或多个处理器、存储器以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行如权利要求1~10任一项所述的推理问答方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1~10任一项所述的推理问答方法。
16.一种计算机程序产品,其特征在于,所述计算机程序产品在终端设备上运行时,使所述终端设备执行权利要求1~10任一项所述的推理问答方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010314131.2A CN111597314B (zh) | 2020-04-20 | 2020-04-20 | 推理问答方法、装置以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010314131.2A CN111597314B (zh) | 2020-04-20 | 2020-04-20 | 推理问答方法、装置以及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111597314A true CN111597314A (zh) | 2020-08-28 |
CN111597314B CN111597314B (zh) | 2023-01-17 |
Family
ID=72183307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010314131.2A Active CN111597314B (zh) | 2020-04-20 | 2020-04-20 | 推理问答方法、装置以及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597314B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527999A (zh) * | 2020-12-22 | 2021-03-19 | 江苏省农业科学院 | 引入农业领域知识的抽取式智能问答方法及系统 |
CN112687388A (zh) * | 2021-01-08 | 2021-04-20 | 中山依数科技有限公司 | 一种基于文本检索的可解释性智慧医疗辅助诊断系统 |
CN112711657A (zh) * | 2021-01-06 | 2021-04-27 | 北京中科深智科技有限公司 | 一种问答方法及问答系统 |
CN113032541A (zh) * | 2021-04-02 | 2021-06-25 | 同方知网(北京)技术有限公司 | 一种基于bert并融合句群检索的答案抽取方法 |
CN113220832A (zh) * | 2021-04-30 | 2021-08-06 | 北京金山数字娱乐科技有限公司 | 一种文本处理方法及装置 |
CN113486140A (zh) * | 2021-07-27 | 2021-10-08 | 平安国际智慧城市科技股份有限公司 | 知识问答的匹配方法、装置、设备及存储介质 |
CN113688207A (zh) * | 2021-08-24 | 2021-11-23 | 思必驰科技股份有限公司 | 基于网络的结构阅读理解的建模处理方法和装置 |
CN113722436A (zh) * | 2021-08-30 | 2021-11-30 | 平安科技(深圳)有限公司 | 文本信息提取方法、装置、计算机设备及存储介质 |
CN114625871A (zh) * | 2020-12-14 | 2022-06-14 | 四川大学 | 一种基于注意力位置联合编码的三元组分类方法 |
CN115470325A (zh) * | 2021-06-10 | 2022-12-13 | 腾讯科技(深圳)有限公司 | 消息回复方法、装置及设备 |
CN116561286A (zh) * | 2023-07-06 | 2023-08-08 | 杭州华鲤智能科技有限公司 | 一种对话方法及装置 |
CN117493582A (zh) * | 2023-12-29 | 2024-02-02 | 珠海格力电器股份有限公司 | 模型结果的输出方法、装置、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140108321A1 (en) * | 2012-10-12 | 2014-04-17 | International Business Machines Corporation | Text-based inference chaining |
CN105095385A (zh) * | 2015-06-30 | 2015-11-25 | 百度在线网络技术(北京)有限公司 | 一种检索结果的输出方法及装置 |
US20160203130A1 (en) * | 2013-08-30 | 2016-07-14 | Unsilo A/S | Method and system for identifying and evaluating semantic patterns in written language |
CN109189894A (zh) * | 2018-09-20 | 2019-01-11 | 科大讯飞股份有限公司 | 一种答案抽取方法及装置 |
CN109885672A (zh) * | 2019-03-04 | 2019-06-14 | 中国科学院软件研究所 | 一种面向在线教育的问答式智能检索系统及方法 |
CN110020010A (zh) * | 2017-10-10 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及电子设备 |
CN110377715A (zh) * | 2019-07-23 | 2019-10-25 | 天津汇智星源信息技术有限公司 | 基于法律知识图谱的推理式精准智能问答方法 |
CN110399457A (zh) * | 2019-07-01 | 2019-11-01 | 吉林大学 | 一种智能问答方法和系统 |
US20200004875A1 (en) * | 2018-06-29 | 2020-01-02 | International Business Machines Corporation | Query expansion using a graph of question and answer vocabulary |
CN110674279A (zh) * | 2019-10-15 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 基于人工智能的问答处理方法、装置、设备及存储介质 |
-
2020
- 2020-04-20 CN CN202010314131.2A patent/CN111597314B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140108321A1 (en) * | 2012-10-12 | 2014-04-17 | International Business Machines Corporation | Text-based inference chaining |
US20160203130A1 (en) * | 2013-08-30 | 2016-07-14 | Unsilo A/S | Method and system for identifying and evaluating semantic patterns in written language |
CN105095385A (zh) * | 2015-06-30 | 2015-11-25 | 百度在线网络技术(北京)有限公司 | 一种检索结果的输出方法及装置 |
CN110020010A (zh) * | 2017-10-10 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及电子设备 |
US20200004875A1 (en) * | 2018-06-29 | 2020-01-02 | International Business Machines Corporation | Query expansion using a graph of question and answer vocabulary |
CN109189894A (zh) * | 2018-09-20 | 2019-01-11 | 科大讯飞股份有限公司 | 一种答案抽取方法及装置 |
CN109885672A (zh) * | 2019-03-04 | 2019-06-14 | 中国科学院软件研究所 | 一种面向在线教育的问答式智能检索系统及方法 |
CN110399457A (zh) * | 2019-07-01 | 2019-11-01 | 吉林大学 | 一种智能问答方法和系统 |
CN110377715A (zh) * | 2019-07-23 | 2019-10-25 | 天津汇智星源信息技术有限公司 | 基于法律知识图谱的推理式精准智能问答方法 |
CN110674279A (zh) * | 2019-10-15 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 基于人工智能的问答处理方法、装置、设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
RAWAN BAHMID ET AL.: "Hybrid Question Answering Using Heuristic Methods and Linked Data Schema", 《2018 IEEE/WIC/ACM INTERNATIONAL CONFERENCE ON WEB INTELLIGENCE (WI)》 * |
杜永萍等: "基于多策略的单文档问答式信息检索技术", 《计算机科学》 * |
谭刚等: "融合领域特征知识图谱的电网客服问答系统", 《计算机工程与应用》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114625871A (zh) * | 2020-12-14 | 2022-06-14 | 四川大学 | 一种基于注意力位置联合编码的三元组分类方法 |
CN114625871B (zh) * | 2020-12-14 | 2023-06-23 | 四川大学 | 一种基于注意力位置联合编码的三元组分类方法 |
CN112527999A (zh) * | 2020-12-22 | 2021-03-19 | 江苏省农业科学院 | 引入农业领域知识的抽取式智能问答方法及系统 |
CN112527999B (zh) * | 2020-12-22 | 2024-05-14 | 江苏省农业科学院 | 引入农业领域知识的抽取式智能问答方法及系统 |
CN112711657A (zh) * | 2021-01-06 | 2021-04-27 | 北京中科深智科技有限公司 | 一种问答方法及问答系统 |
CN112687388B (zh) * | 2021-01-08 | 2023-09-01 | 中山依数科技有限公司 | 一种基于文本检索的可解释性智慧医疗辅助诊断系统 |
CN112687388A (zh) * | 2021-01-08 | 2021-04-20 | 中山依数科技有限公司 | 一种基于文本检索的可解释性智慧医疗辅助诊断系统 |
CN113032541A (zh) * | 2021-04-02 | 2021-06-25 | 同方知网(北京)技术有限公司 | 一种基于bert并融合句群检索的答案抽取方法 |
CN113220832A (zh) * | 2021-04-30 | 2021-08-06 | 北京金山数字娱乐科技有限公司 | 一种文本处理方法及装置 |
CN113220832B (zh) * | 2021-04-30 | 2023-09-05 | 北京金山数字娱乐科技有限公司 | 一种文本处理方法及装置 |
CN115470325B (zh) * | 2021-06-10 | 2024-05-10 | 腾讯科技(深圳)有限公司 | 消息回复方法、装置及设备 |
CN115470325A (zh) * | 2021-06-10 | 2022-12-13 | 腾讯科技(深圳)有限公司 | 消息回复方法、装置及设备 |
CN113486140A (zh) * | 2021-07-27 | 2021-10-08 | 平安国际智慧城市科技股份有限公司 | 知识问答的匹配方法、装置、设备及存储介质 |
CN113486140B (zh) * | 2021-07-27 | 2023-12-26 | 平安国际智慧城市科技股份有限公司 | 知识问答的匹配方法、装置、设备及存储介质 |
CN113688207B (zh) * | 2021-08-24 | 2023-11-17 | 思必驰科技股份有限公司 | 基于网络的结构阅读理解的建模处理方法和装置 |
CN113688207A (zh) * | 2021-08-24 | 2021-11-23 | 思必驰科技股份有限公司 | 基于网络的结构阅读理解的建模处理方法和装置 |
CN113722436A (zh) * | 2021-08-30 | 2021-11-30 | 平安科技(深圳)有限公司 | 文本信息提取方法、装置、计算机设备及存储介质 |
CN116561286A (zh) * | 2023-07-06 | 2023-08-08 | 杭州华鲤智能科技有限公司 | 一种对话方法及装置 |
CN116561286B (zh) * | 2023-07-06 | 2023-10-27 | 杭州华鲤智能科技有限公司 | 一种对话方法及装置 |
CN117493582A (zh) * | 2023-12-29 | 2024-02-02 | 珠海格力电器股份有限公司 | 模型结果的输出方法、装置、电子设备及存储介质 |
CN117493582B (zh) * | 2023-12-29 | 2024-04-05 | 珠海格力电器股份有限公司 | 模型结果的输出方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111597314B (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111597314B (zh) | 推理问答方法、装置以及设备 | |
WO2021164199A1 (zh) | 基于多粒度融合模型的中文句子语义智能匹配方法及装置 | |
CN109840287B (zh) | 一种基于神经网络的跨模态信息检索方法和装置 | |
CN111259127B (zh) | 一种基于迁移学习句向量的长文本答案选择方法 | |
US20170200077A1 (en) | End-to-end memory networks | |
CN112507699B (zh) | 一种基于图卷积网络的远程监督关系抽取方法 | |
CN112800170A (zh) | 问题的匹配方法及装置、问题的回复方法及装置 | |
CN111898374B (zh) | 文本识别方法、装置、存储介质和电子设备 | |
CN111159485B (zh) | 尾实体链接方法、装置、服务器及存储介质 | |
CN113392651B (zh) | 训练词权重模型及提取核心词的方法、装置、设备和介质 | |
CN108536735B (zh) | 基于多通道自编码器的多模态词汇表示方法与系统 | |
CN113593661A (zh) | 临床术语标准化方法、装置、电子设备及存储介质 | |
CN113011172A (zh) | 文本处理方法、装置、计算机设备和存储介质 | |
CN112784590A (zh) | 文本处理方法及装置 | |
JP7181999B2 (ja) | 検索方法及び検索装置、記憶媒体 | |
CN115905487A (zh) | 文档问答方法、系统、电子设备及存储介质 | |
CN110889505A (zh) | 一种图文序列匹配的跨媒体综合推理方法和系统 | |
Xing et al. | Mining semantic information in rumor detection via a deep visual perception based recurrent neural networks | |
CN113342944A (zh) | 一种语料泛化方法、装置、设备及存储介质 | |
CN117076608A (zh) | 一种基于文本动态跨度的整合外部事件知识的脚本事件预测方法及装置 | |
CN116069876A (zh) | 基于知识图谱的问答方法、装置、设备及存储介质 | |
CN115859963A (zh) | 一种面向新词义原推荐的相似性判别方法及系统 | |
CN114090778A (zh) | 基于知识锚点的检索方法、装置、电子设备及存储介质 | |
Amanatidis et al. | A Convolutional Neural Network for Sentiment Analysis of TripAdvisor reviews | |
Prabhakar et al. | Question relevance in visual question answering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |