CN113420111B - 一种用于多跳推理问题的智能问答方法及装置 - Google Patents
一种用于多跳推理问题的智能问答方法及装置 Download PDFInfo
- Publication number
- CN113420111B CN113420111B CN202110674586.XA CN202110674586A CN113420111B CN 113420111 B CN113420111 B CN 113420111B CN 202110674586 A CN202110674586 A CN 202110674586A CN 113420111 B CN113420111 B CN 113420111B
- Authority
- CN
- China
- Prior art keywords
- question
- sub
- text
- prediction result
- determining
- 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.)
- Active
Links
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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例公开了一种用于多跳推理问题的智能问答方法及装置,方法包括:获取问题文本;对问题文本进行语义编码,获得问题文本的语义编码表示;根据问题文本的语义编码表示,确定第一预测结果,第一预测结果为问题文本的至少一个问题主体所在位置的预测结果;根据问题文本的语义编码表示,确定第二预测结果,第二预测结果为问题文本的至少一个问题关系的预测结果;根据第一预测结果和第二预测结果,生成子问题文本,子问题文本包括至少一个子问题;根据筛选文档,对至少一个子问题依次进行回答,获得与至少一个子问题对应的答案,筛选文档包括至少一个子问题对应的答案;根据至少一个子问题对应的答案,确定问题文本的最终答案。
Description
技术领域
本发明涉及自然语言处理技术领域。尤其涉及一种用于多跳推理问题的智能问答方法及装置。
背景技术
多跳推理***是智能问答业务场景中对于复杂的问题描述进行智能分析并寻找多处线索进行回答的重要技术,是智能问答业务场景的重要组成部分。
深度学***,但是很多单跳阅读理解任务都可以通过简单的问题与段落的句子匹配来回答,并不涉及复杂的推理。
为了让机器学会真正的推理能力,最近许多高质量的多跳问答数据集被提出,比如HotpotQA、ComplexWebQuestions、QAngarooWikiHop、R4C、2WikiMultiHopQA等。这些多跳问答任务相比传统的阅读理解任务更具挑战性,其难度主要体现在:一、需要机器在大量段落中的几个距离很远的位置找到线索才能够完成推理;二、需要机器在完成推理的同时具备一定的可解释性;三、需要机器能够自适应复杂多变的问题类型和答案类型,能够更好的整合线索得到答案。
传统的多跳问答模型大多是一些基于图结构或者图神经网络的端到端的阅读理解模型。尽管这些工作在许多任务上有着不错的表现,但是它们同样有着不容忽视的局限性。
首先,端到端的阅读理解模型的内部推理机制不清晰,它们通常采用一个额外的判别器来判断某个句子是否为线索句,这样的额外的判别器与端到端的阅读理解模型本身的推理结果没强相关性,这样的解释性是不够忠实的;其次,尽管图结构理论上对于解决多跳问答问题是有效的,但最近有实验证明了现有的图神经网络仅仅是一种特殊的注意力机制,对于多跳问答问题并非是必须的,只要提供同样的额外邻接矩阵信息,只用Transformer网络的self-attention机制代替图神经网络也可以达到相同甚至更优的效果。
发明内容
由于现有方法存在上述问题,本申请实施例提出一种用于多跳推理问题的智能问答方法及装置。
第一方面,本申请实施例提出一种用于多跳推理问题的智能问答方法,包括:
获取问题文本;
对所述问题文本进行语义编码,获得所述问题文本的语义编码表示;
根据所述问题文本的语义编码表示,确定第一预测结果,所述第一预测结果为所述问题文本的至少一个问题主体所在位置的预测结果;
根据所述问题文本的语义编码表示,确定第二预测结果,所述第二预测结果为所述问题文本的至少一个问题关系的预测结果;
根据所述第一预测结果和所述第二预测结果,生成子问题文本,所述子问题文本包括至少一个子问题;
根据筛选文档,对所述至少一个子问题依次进行回答,获得与所述至少一个子问题对应的答案,所述筛选文档包括所述至少一个子问题对应的答案;
根据所述至少一个子问题对应的答案,确定所述问题文本的最终答案。
在一种可能的实现中,所述根据所述问题文本的语义编码表示,确定第一预测结果,包括:
对所述问题文本的语义编码表示进行第一编码,获得第一编码表示,所述第一编码表示用于所述问题文本的至少一个问题主体所在位置的查找预测;
对所述第一编码表示进行注意力机制运算,获得所述语义编码表示对于所述至少一个问题主体的第一注意力感知表示;
通过指针网络架构,对所述第一注意力感知表示应用至少两个指针,输出所述至少一个问题主体对应的起点和终点的概率分布;
根据所述至少一个问题主体对应的起点和终点的概率分布,确定所述至少一个问题主体所在位置的预测结果。
在一种可能的实现中,所述方法还包括:
对所述语义编码表示进行最大平均池化操作,获得最大池化结果和平均池化结果;
将所述最大池化结果和所述平均池化结果拼接得到池化语义编码表示;
根据所述池化语义编码表示,确定不同问题类型的概率分布;
确定最大的概率分布对应的问题类型为第三预测结果,所述第三预测结果为所述问题文本所属问题类型的预测结果。
在一种可能的实现中,所述方法还包括:
针对分类式关系提取器,根据所述池化语义编码表示,确定不同的问题关系预测的概率分布;
将所述不同的问题关系预测的概率分布与对应的问题类型的概率分布相乘,确定所述问题文本的最终问题关系预测结果;和/或
针对抽取式关系提取器,对所述问题文本的语义编码表示进行第二编码,获得第二编码表示,所述第二编码表示用于所述问题文本的至少一个问题关系的查找预测;
对所述第二编码表示进行注意力机制运算,获得所述语义编码表示对于所述至少一个问题关系的第二注意力感知表示;
通过指针网络架构,对所述第二注意力感知表示应用至少两个指针,输出所述至少一个问题关系对应的起点和终点的概率分布;
根据所述至少一个问题关系对应的起点和终点的概率分布,确定与所述问题文本所属问题类型的预测结果对应的第二预测结果;
将与所述问题文本所属问题类型的预测结果对应的第二预测结果与对应的问题类型的概率分布相乘,确定所述问题文本的最终问题关系的预测结果。
在一种可能的实现中,所述根据所述第一预测结果和所述第二预测结果,生成子问题文本,包括:
根据所述问题主体、所述至少一个问题关系以及第一分隔标识符,确定子问题文本;或
根据所述问题主体的类型以及所述至少一个问题关系的类型,采用不同的模板,确定子问题文本;或
根据预置训练模型,通过所述问题主体以及所述至少一个问题关系,确定子问题文本。
在一种可能的实现中,所述根据筛选文档,对所述至少一个子问题依次进行回答,获得与所述至少一个子问题对应的答案,包括:
将所述子问题文本、所述筛选文档以及第二分隔标识符拼接,获得第一拼接结果;
对所述第一拼接结果进行分词,获得分词结果;
对所述分词结果进行双字节编码,获得双字节编码表示;
根据所述双字节编码表示,确定所述第一拼接结果的向量表示;
对所述第一拼接结果的向量表示进行第三编码,获得第三编码表示;
根据所述第三编码表示,确定所述子问题文本中包括的至少一个子问题的答案的起点和终点的概率分布;
根据所述子问题文本中包括的至少一个子问题的答案的起点和终点的概率分布,确定与所述至少一个子问题对应的答案;
其中,将问题主体与第一个问题关系拼接,获得第一个子问题,并根据上述步骤确定与所述第一个子问题对应的答案为第一回答;将所述第一回答与第二个问题关系拼接,获得第二个子问题,并根据上述步骤确定与所述第二个子问题对应的答案为第二回答,以此类推,将第N-1回答与最终问题关系拼接,获得最后一个子问题,并根据上述步骤确定与所述最后一个子问题对应的答案为第N回答,N为子问题个数,且为正整数。
在一种可能的实现中,所述问题文本所属问题类型包括:组合型、推理型、比较型和/或级联比较型;
所述方法还包括:
针对所述问题文本所属问题类型为组合型或推理型的情况,将最后一个子问题对应的答案,确定为所述问题文本的最终答案;或
针对所述问题文本所属问题类型为比较型或级联比较型的情况,以至少两个问题主体分别对应的最后一个子问题对应的回答作为比较对象,将所述问题文本与所述比较对象进行拼接,获得第二拼接结果;
根据所述第二拼接结果,确定所述问题文本的最终答案。
第二方面,本申请实施例提出一种用于多跳推理问题的智能问答装置,包括:
关系提取器模块,用于获取问题文本;所述问题文本进行语义编码,获得所述问题文本的语义编码表示;根据所述问题文本的语义编码表示,确定第一预测结果,所述第一预测结果为所述问题文本的至少一个问题主体所在位置的预测结果;根据所述问题文本的语义编码表示,确定第二预测结果,所述第二预测结果为所述问题文本的至少一个问题关系的预测结果;
阅读器模块,用于根据所述第一预测结果和所述第二预测结果,生成子问题文本,所述子问题文本包括至少一个子问题;根据筛选文档,对所述至少一个子问题依次进行回答,获得与所述至少一个子问题对应的答案;
比较器模块,用于根据所述至少一个子问题对应的答案,确定所述问题文本的最终答案。
在一种可能的实现中,所述问题文本所属问题类型包括:组合型、推理型、比较型和/或级联比较型;
所述根据所述问题文本的语义编码表示,确定第二预测结果,包括:
根据所述问题文本的语义编码表示,确定与所述问题文本所属问题类型分别对应的第二预测结果。
在一种可能的实现中,所述比较器模块,具体用于:
针对所述问题文本所属问题类型为比较型或级联比较型的情况,以至少两个问题主体分别对应的最后一个子问题对应的回答作为比较对象,将所述问题文本与所述比较对象进行拼接,获得第二拼接结果;根据所述第二拼接结果,确定所述问题文本的最终答案。
第三方面,本申请实施例还提出一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面及各种可能的实现中的各个步骤。
第四方面,本申请实施例还提出一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面及各种可能的实现中的各个步骤。
由上述技术方案可知,本申请实施例将复杂问题分解,进行三段式问题推理。这种推理方式更加贴近人类的行为模式。通过问题分解的方式将复杂的多跳推理问题转化为已经可以熟练解决的单跳问题。采用关系提取器灵活地抽取问题关系来生成子问题,解决了传统的端到端的阅读理解模型对于复杂问题表述的理解能力限制。相比于端到端的阅读理解模型,对于比较型问题中的比较对象,采用比较器的方法有针对性地比较比较对象,对于所属问题类型不同的多跳问题文本有着更好的通用型。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本申请实施例提供的一种用于多跳推理问题的智能问答方法的流程示意图;
图2为本申请实施例提供的一种用于多跳推理问题的智能问答装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
需要说明的是,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请实施例的说明书和权利要求书中的术语“第一”、“第二”和“第三”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一编码表示、第二编码表示和第三编码表示等是用于区别不同的编码表示,而不是用于描述目标对象的特定顺序。在本申请实施例中,“示例性的”、“举例来说”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”、“举例来说”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“举例来说”或者“例如”等词旨在以具体方式呈现相关概念。
在一种可能的实现中,传统的多跳问答模型大多采用一些基于图结构或者图神经网络的端到端的阅读理解模型。但是它们在使用过程中存在如下诸多弊端:
首先,端到端的阅读理解模型的内部推理机制不清晰,它们通常采用一个额外的判别器来判断某个句子是否为线索句,这样的额外的判别器与端到端的阅读理解模型本身的推理结果没强相关性,这样的解释性是不够忠实的;其次,尽管图结构理论上对于解决多跳问答问题是有效的,但最近有实验证明了现有的图神经网络仅仅是一种特殊的注意力机制,对于多跳问答问题并非是必须的,只要提供同样的额外邻接矩阵信息,只用Transformer网络的self-attention机制代替图神经网络也可以达到相同甚至更优的效果。
为此,本申请实施例提出了如图1所示的一种用于多跳推理问题的智能问答方法的流程示意图,该流程示意图包括:S102-S114,通过问题分解的方式将复杂的多跳推理问题转化为已经可以熟练解决的单跳问题,解决了传统端到端的阅读理解模型对于复杂的多跳推理问题表述的理解能力限制。
下面对本申请实施例提供的如图1所示的一种用于多跳推理问题的智能问答方法进行详细介绍。
在一种可能的实现中,通过以下步骤实现本申请实施例提供的用于多跳推理问题的智能问答方法:
S102,获取问题文本。
在本申请实施例中,首先获取问题文本。示例性的,获取到的问题文本为“卧虎藏龙和十月围城的票房,谁更多?”。
S104,对所述问题文本进行语义编码,获得所述问题文本的语义编码表示。
在本申请实施例中,对S102中获取的的问题文本进行预处理,通过正则表达式的方法去除问题文本中错误编码和/或无意义表示,以获得干净的文本。例如,获得到的干净的文本为“卧虎藏龙十月围城票房谁更多”。利用前后向最大分词算法,分别从正序和逆序两个方向对获得的干净的文本在词典中进行匹配,获得两个方向的分词结果。对上述分词结果进行双字节编码(Byte Pair Encoding,BPE),获得双字节编码表示。通过查询一个轻量级的BERT(Bidirectional Encoder Representations from Transformers)模型的Embedding层,获得干净的文本的向量表示。利用Transformer编码层进行自交互计算,获得问题文本的语义编码表示,该语义编码表示适用于问题关系提取任务。
S106,根据所述问题文本的语义编码表示,确定第一预测结果,所述第一预测结果为所述问题文本的至少一个问题主体所在位置的预测结果。
在本申请实施例中,首先,针对获得的问题文本的语义编码表示,构建循环神经网络(Recurrent Neural Network,RNN)编码器模块,进行第一编码,获得第一编码表示,此处所述第一编码表示用于问题文本的至少一个问题主体所在位置的查找预测。其次,对第一编码表示进行注意力机制运算,获得语义编码表示对于至少一个问题主体的第一注意力感知表示。然后,通过指针网络架构,对第一注意力感知表示应用至少两个指针,输出至少一个问题主体对应的起点和终点的概率分布。最后,根据至少一个问题主体对应的起点和终点的概率分布,确定至少一个问题主体所在的位置。
下面以前述获得的问题文本“卧虎藏龙和十月围城的票房,谁更多”的语义编码表示为例进行说明。
在本申请实施例中,由前述内容可知,获得的问题文本“卧虎藏龙和十月围城的票房,谁更多”经过预处理后,得到的干净的文本为“卧虎藏龙十月围城票房谁更多”。干净的文本进一步转化为问题文本的语义编码表示。对转化后的语义编码表示,使用RNN编码器模块进行第一编码,获得第一编码表示。对第一编码表示进行注意力机制运算,获得上述语义编码表示对于至少一个问题主体的第一注意力感知表示。由于前述干净的文本有两个问题主体,因此通过指针网络架构,对第一注意力感知表示应用四个指针,输出两个问题主体对应的起点和终点的概率分布。在本申请实施例中,确定出的第一个问题主体为“卧虎藏龙”,确定出的第二个问题主体为“十月围城”。
S108,根据所述问题文本的语义编码表示,确定第二预测结果,所述第二预测结果为所述问题文本的至少一个问题关系的预测结果。
在本申请实施例中,根据上述问题文本的语义编码表示,确定所述问题文本所属问题类型的预测结果,此处所述问题文本所属问题类型的预测结果为第三预测结果。上述问题文本所属问题类型包括:组合型、推理型、比较型和/或级联比较型。上述组合型的特点为两个单跳问题串联,上述推理型的特点为需要常识知识的推理,上述比较型的特点为需要进行比较对象的比较,上述级联比较型的特点为组合型和比较型的复合体。对上述语义编码表示进行最大平均池化操作,获得最大池化结果和平均池化结果。将最大池化结果和平均池化结果拼接得到池化语义编码表示。通过一个多层线性感知机(Multi-LayerPerceptron,MLP)和逻辑回归层将之前得到的池化语义编码表示转化为对于不同的问题类型的概率分布。确定最大的概率分布对应的问题类型为问题文本所属问题类型的预测结果。以问题文本为“卧虎藏龙和十月围城的票房,谁更多”为例,确定出该问题文本所属的问题类型组合型、推理型、比较型及级联比较型的概率分布分别为10%、10%、70%及10%。因此,可以确定出该问题文本所属的问题类型的预测结果为比较型。
在本申请实施例中,针对获得的问题文本的语义编码表示,采用线性分类器或指针网络架构,对不同的问题类型分别构建独立的关系提取器,以获得与问题文本所属问题类型的预测结果对应的第二预测结果。具体地,不同的问题文本中的问题关系数量是不一定的。为了使用统一的模型对问题关系进行抽取,将问题关系的数量在预处理阶段进行归一化操作,统一归一化为两个问题关系。对于问题关系的数量为一的问题文本,将问题关系重复为两个。对于问题关系的数量超过二的问题文本,利用人类主观判断将问题关系进行合并,最后整合为两个问题关系。因此,关系提取器需要抽取两个问题关系的预测结果,而且需要注意问题关系的先后顺序。
在本申请实施例中,针对不同的应用场景,本申请实施例提供两种不同的关系提取器:分类式关系提取器或抽取式关系提取器。对于分类式关系提取器,采用线性分类器结构,通过一个MLP和逻辑回归层将之前得到的池化语义编码表示转化为对于不同的问题关系预测的概率分布,与对应的问题类型的概率分布相乘,得到相乘结果。进一步地,将相乘结果中最大的概率分布作为所述问题文本的最终问题关系的预测结果。对于抽取式关系提取器,采用指针网络结构,针对获得的问题文本的语义编码表示,构建RNN编码器模块,进行第二编码,获得第二编码表示,此处所述第二编码表示用于问题文本的至少一个问题关系的查找预测。对第二编码表示进行注意力机制运算,获得语义编码表示对于至少一个问题关系的第二注意力感知表示。通过指针网络架构,对第二注意力感知表示应用至少两个指针,输出至少一个问题关系对应的起点和终点的概率分布。根据至少一个问题关系对应的起点和终点的概率分布,确定与问题文本所属问题类型分别对应的第二预测结果。进一步地,将与问题文本所属问题类型分别对应的第二预测结果与对应的问题类型的概率分布相乘,确定问题文本的最终问题关系的预测结果。
在本申请实施例中,示例性的,问题文本“卧虎藏龙和十月围城的票房,谁更多”的第一个问题关系是“卧虎藏龙的票房”,第二个问题关系是“十月围城的票房”,第三个问题关系是“两个票房谁更多”,则可以确定最终问题关系的预测结果为“两个票房谁更多”。
S110,根据所述第一预测结果和所述第二预测结果,生成子问题文本,所述子问题文本包括至少一个子问题。
在本申请实施例中,最简单的方式是,将问题主体和至少一个问题关系中的一个通过第一分隔标识符分隔,作为子问题,生成子问题文本。或者为了增加可读性,采用固定的模板,根据问题主体的类型(时间、地点、人物)以及至少一个问题关系的类型,采用不同的模板,确定子问题文本。或者为了增加子问题表述的多样性,利用单跳推理数据集SQuAD中的单跳问题,抽取它们的问题主体和问题关系,训练相应的生成模型,获得预置训练模型,通过问题主体以及至少一个问题关系,确定子问题文本。
通过上述问题分解的方式,将复杂的多跳推理问题转化为已经可以熟练解决的单跳问题。
S112,根据筛选文档,对所述至少一个子问题依次进行回答,获得与所述至少一个子问题对应的答案,所述筛选文档包括所述至少一个子问题对应的答案。
在本申请实施例中,利用一个轻量级的BERT模型(A Lite BERT,ALBERT),加跨度预测器的单跳模型对子问题逐一回答。具体地,将子问题文本、第二分隔标识符、筛选文档依次进行拼接,获得第一拼接结果。对第一拼接结果利用前后向最大分词算法,分别从正序和逆序两个方向对第一拼接结果在词典中进行匹配,综合两个方向的分词结果,进行双字节编码,获得最终的BPE结果。通过查询ALBERT的Embedding层,获得第一拼接结果的向量表示。对所述第一拼接结果的向量表示进行第三编码,即通过ALBERT基于Self-Attention的编码层,获得第三编码表示,即含有上下文语义信息的第一拼接结果的编码表示。根据第三编码表示,利用全连接层确定子问题文本中包括的至少一个子问题的答案的起点和终点的概率分布。根据子问题文本中包括的至少一个子问题的答案的起点和终点的概率分布,确定与至少一个子问题对应的答案。其中,将S108中归一化后的两个问题关系还原,将问题主体与第一个问题关系拼接,获得第一个子问题,并根据上述步骤确定与所述第一个子问题对应的答案为第一回答;将第一回答与第二个问题关系拼接,获得第二个子问题,并根据上述步骤确定与第二个子问题对应的答案为第二回答,以此类推,将第N-1回答与最终问题关系拼接,获得最后一个子问题,并根据上述步骤确定与最后一个子问题对应的答案为第N回答,N为子问题个数,且为正整数。
本申请实施例采用关系提取器灵活地抽取问题关系来生成子问题,解决了传统的端到端阅读理解模型对于复杂问题表述的理解能力限制。
S114,根据所述至少一个子问题对应的答案,确定所述问题文本的最终答案。
在本申请实施例中,针对问题文本所属问题类型为组合型或推理型的情况,将最后一个子问题对应的答案,确定为问题文本的最终答案;或针对问题文本所属问题类型为比较型或级联比较型的情况,以至少两个问题主体分别对应的最后一个子问题对应的回答作为比较对象(例如,时间先后,数量多少),将问题文本与比较对象进行拼接,获得第二拼接结果。将第二拼接结果输入基于BERT分类器模型的数量关系比较器Comparator中进行比较,确定问题文本的最终答案。
本申请实施例相比于端到端的阅读理解模型,对于比较型问题中的比较对象,采用比较器的方法有针对性地比较比较对象,对于所属问题类型不同的多跳问题文本有着更好的通用型。
图2为本申请实施例提供的一种用于多跳推理问题的智能问答装置的结构示意图,该结构示意图包括:关系提取器模块202、阅读器模块204和比较器模块206,该装置是基于复杂问题分解的三段式多跳推理装置,仿照人类对于复杂问题回答的行为模式,采用复杂问题分解的方式执行多跳推理,将多跳推理过程分为关系提取器模块202、阅读器模块204和比较器模块206。该装置采用深度学习技术精准提取问题主体和问题关系、自动回答每个子问题,并利用问题文本中蕴含的比较对象构建比较器,自动对问题文本的比较对象进行比较回答。
关系提取器模块202,用于获取问题文本;所述问题文本进行语义编码,获得所述问题文本的语义编码表示;根据所述问题文本的语义编码表示,确定第一预测结果,所述第一预测结果为所述问题文本的至少一个问题主体所在位置的预测结果;根据所述问题文本的语义编码表示,确定第二预测结果,所述第二预测结果为所述问题文本的至少一个问题关系的预测结果;
阅读器模块204,用于根据所述第一预测结果和所述第二预测结果,生成子问题文本,所述子问题文本包括至少一个子问题;根据筛选文档,对所述至少一个子问题依次进行回答,获得与所述至少一个子问题对应的答案;
比较器模块206,用于根据所述至少一个子问题对应的答案,确定所述问题文本的最终答案。
在一种可能的实现中,上述问题文本所属问题类型包括:组合型、推理型、比较型和/或级联比较型;
上述根据所述问题文本的语义编码表示,确定第二预测结果,包括:
根据问题文本的语义编码表示,确定与问题文本所属问题类型分别对应的第二预测结果。
在一种可能的实现中,比较器模块206,具体用于:针对问题文本所属问题类型为比较型或级联比较型的情况,以至少两个问题主体分别对应的最后一个子问题对应的回答作为比较对象,将问题文本与比较对象进行拼接,获得第二拼接结果;根据第二拼接结果,确定问题文本的最终答案。
本申请实施例提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如图1对应的一种用于多跳推理问题的智能问答方法。
本申请实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如图1对应的一种用于多跳推理问题的智能问答方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种用于多跳推理问题的智能问答方法,其特征在于,包括:
获取问题文本;
对所述问题文本进行语义编码,获得所述问题文本的语义编码表示;
根据所述问题文本的语义编码表示和至少一个问题主体对应的起点和终点的概率分布,确定第一预测结果,所述第一预测结果为所述问题文本的至少一个问题主体所在位置的预测结果;
根据所述问题文本的语义编码表示,通过确定不同问题类型的概率分布;确定最大的概率分布对应的问题类型为第三预测结果,所述第三预测结果为所述问题文本所属问题类型的预测结果;通过所述第三预测结果确定第二预测结果,所述第二预测结果为所述问题文本的至少一个问题关系的预测结果;
对不同的问题类型分别构建独立的关系提取器,以获得与所述问题文本所属问题类型的预测结果对应的所述第二预测结果,将所述第二预测结果与对应的问题类型的概率分布相乘,确定所述问题文本的最终问题关系的预测结果;根据所述第一预测结果和所述第二预测结果,生成子问题文本,所述子问题文本包括至少一个子问题;
根据筛选文档,对所述至少一个子问题依次进行回答,获得与所述至少一个子问题对应的答案,所述筛选文档包括所述至少一个子问题对应的答案;
根据所述至少一个子问题对应的答案,确定所述问题文本的最终答案。
2.根据权利要求1所述的方法,其特征在于,所述根据至少一个问题主体对应的起点和终点的概率分布,确定第一预测结果,包括:
对所述问题文本的语义编码表示进行第一编码,获得第一编码表示,所述第一编码表示用于所述问题文本的至少一个问题主体所在位置的查找预测;
对所述第一编码表示进行注意力机制运算,获得所述语义编码表示对于所述至少一个问题主体的第一注意力感知表示;
通过指针网络架构,对所述第一注意力感知表示应用至少两个指针,输出所述至少一个问题主体对应的起点和终点的概率分布。
3.根据权利要求1所述的方法,其特征在于,所述第三预测结果的获取包括:
对所述语义编码表示进行最大平均池化操作,获得最大池化结果和平均池化结果;
将所述最大池化结果和所述平均池化结果拼接得到池化语义编码表示;
根据所述池化语义编码表示,确定不同问题类型的概率分布;
确定最大的概率分布对应的问题类型为第三预测结果,所述第三预测结果为所述问题文本所属问题类型的预测结果。
4.根据权利要求1或3任一项所述的方法,其特征在于,所述确定所述问题文本的最终问题关系的预测结果包括:
针对分类式关系提取器,根据所述池化语义编码表示,确定不同的问题关系预测的概率分布;
将所述不同的问题关系预测的概率分布与对应的问题类型的概率分布相乘,确定所述问题文本的最终问题关系的预测结果;和/或
针对抽取式关系提取器,对所述问题文本的语义编码表示进行第二编码,获得第二编码表示,所述第二编码表示用于所述问题文本的至少一个问题关系的查找预测;
对所述第二编码表示进行注意力机制运算,获得所述语义编码表示对于所述至少一个问题关系的第二注意力感知表示;
通过指针网络架构,对所述第二注意力感知表示应用至少两个指针,输出所述至少一个问题关系对应的起点和终点的概率分布;
根据所述至少一个问题关系对应的起点和终点的概率分布,确定与所述问题文本所属问题类型的预测结果对应的第二预测结果;
将与所述问题文本所属问题类型的预测结果对应的第二预测结果与对应的问题类型的概率分布相乘,确定所述问题文本的最终问题关系的预测结果。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一预测结果和所述第二预测结果,生成子问题文本,包括:
根据所述问题主体、所述至少一个问题关系以及第一分隔标识符,确定子问题文本;或
根据所述问题主体的类型以及所述至少一个问题关系的类型,采用不同的模板,确定子问题文本;或
根据预置训练模型,通过所述问题主体以及所述至少一个问题关系,确定子问题文本。
6.根据权利要求4所述的方法,其特征在于,所述根据筛选文档,对所述至少一个子问题依次进行回答,获得与所述至少一个子问题对应的答案,包括:
将所述子问题文本、所述筛选文档以及第二分隔标识符拼接,获得第一拼接结果;
对所述第一拼接结果进行分词,获得分词结果;
对所述分词结果进行双字节编码,获得双字节编码表示;
根据所述双字节编码表示,确定所述第一拼接结果的向量表示;
对所述第一拼接结果的向量表示进行第三编码,获得第三编码表示;
根据所述第三编码表示,确定所述子问题文本中包括的至少一个子问题的答案的起点和终点的概率分布;
根据所述子问题文本中包括的至少一个子问题的答案的起点和终点的概率分布,确定与所述至少一个子问题对应的答案;
其中,将问题主体与第一个问题关系拼接,获得第一个子问题,并根据上述步骤确定与所述第一个子问题对应的答案为第一回答;将所述第一回答与第二个问题关系拼接,获得第二个子问题,并根据上述步骤确定与所述第二个子问题对应的答案为第二回答,以此类推,将第N-1回答与最终问题关系拼接,获得最后一个子问题,并根据上述步骤确定与所述最后一个子问题对应的答案为第N回答,N为子问题个数,且为正整数。
7.根据权利要求3所述的方法,其特征在于,所述问题文本所属问题类型包括:组合型、推理型、比较型和/或级联比较型;
所述方法还包括:
针对所述问题文本所属问题类型为组合型或推理型的情况,将最后一个子问题对应的答案,确定为所述问题文本的最终答案;或
针对所述问题文本所属问题类型为比较型或级联比较型的情况,以至少两个问题主体分别对应的最后一个子问题对应的回答作为比较对象,将所述问题文本与所述比较对象进行拼接,获得第二拼接结果;
根据所述第二拼接结果,确定所述问题文本的最终答案。
8.一种用于多跳推理问题的智能问答装置,其特征在于,包括:
关系提取器模块,用于获取问题文本;所述问题文本进行语义编码,获得所述问题文本的语义编码表示;根据所述问题文本的语义编码表示和至少一个问题主体对应的起点和终点的概率分布,确定第一预测结果,所述第一预测结果为所述问题文本的至少一个问题主体所在位置的预测结果;根据所述问题文本的语义编码表示,通过确定不同问题类型的概率分布;确定最大的概率分布对应的问题类型为第三预测结果,所述第三预测结果为所述问题文本所属问题类型的预测结果;通过所述第三预测结果确定第二预测结果,所述第二预测结果为所述问题文本的至少一个问题关系的预测结果;对不同的问题类型分别构建独立的关系提取器,以获得与所述问题文本所属问题类型的预测结果对应的所述第二预测结果,将所述第二预测结果与对应的问题类型的概率分布相乘,确定所述问题文本的最终问题关系的预测结果;
阅读器模块,用于根据所述第一预测结果和所述第二预测结果,生成子问题文本,所述子问题文本包括至少一个子问题;根据筛选文档,对所述至少一个子问题依次进行回答,获得与所述至少一个子问题对应的答案;
比较器模块,用于根据所述至少一个子问题对应的答案,确定所述问题文本的最终答案。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述的方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110674586.XA CN113420111B (zh) | 2021-06-17 | 2021-06-17 | 一种用于多跳推理问题的智能问答方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110674586.XA CN113420111B (zh) | 2021-06-17 | 2021-06-17 | 一种用于多跳推理问题的智能问答方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113420111A CN113420111A (zh) | 2021-09-21 |
CN113420111B true CN113420111B (zh) | 2023-08-11 |
Family
ID=77788956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110674586.XA Active CN113420111B (zh) | 2021-06-17 | 2021-06-17 | 一种用于多跳推理问题的智能问答方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113420111B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114239553A (zh) * | 2021-12-23 | 2022-03-25 | 佳源科技股份有限公司 | 基于人工智能的日志审核方法、装置、设备及介质 |
CN117744795A (zh) * | 2023-12-08 | 2024-03-22 | 拓元(广州)智慧科技有限公司 | 一种基于大语言模型的多智能体协同知识推理框架与*** |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245240A (zh) * | 2019-05-31 | 2019-09-17 | 国网电子商务有限公司 | 一种问题数据答案的确定方法及装置 |
CN110389999A (zh) * | 2019-07-26 | 2019-10-29 | 北京香侬慧语科技有限责任公司 | 一种信息抽取的方法、装置、存储介质及电子设备 |
CN111143507A (zh) * | 2019-12-05 | 2020-05-12 | 重庆兆光科技股份有限公司 | 一种基于复合式问题的阅读理解方法 |
CN111324717A (zh) * | 2020-02-24 | 2020-06-23 | 武汉大学 | 一种面向开放域问答的基于机器阅读理解的答案获取方法及*** |
CN111611361A (zh) * | 2020-04-01 | 2020-09-01 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 抽取式机器智能阅读理解问答*** |
CN111782961A (zh) * | 2020-08-05 | 2020-10-16 | 中国人民解放军国防科技大学 | 一种面向机器阅读理解的答案推荐方法 |
CN112329435A (zh) * | 2020-11-27 | 2021-02-05 | 腾讯科技(深圳)有限公司 | 文本处理方法、装置、计算机设备以及存储介质 |
CN112380326A (zh) * | 2020-10-10 | 2021-02-19 | 中国科学院信息工程研究所 | 一种基于多层感知的问题答案抽取方法及电子装置 |
CN112417104A (zh) * | 2020-12-04 | 2021-02-26 | 山西大学 | 一种句法关系增强的机器阅读理解多跳推理模型及方法 |
CN112506949A (zh) * | 2020-12-03 | 2021-03-16 | 北京百度网讯科技有限公司 | 结构化查询语言查询语句生成方法、装置及存储介质 |
WO2021109690A1 (zh) * | 2020-06-17 | 2021-06-10 | 平安科技(深圳)有限公司 | 多类型问题智能问答方法、***、设备及可读存储介质 |
CN112948546A (zh) * | 2021-01-15 | 2021-06-11 | 中国科学院空天信息创新研究院 | 面向多源异构数据源的智能问答方法及装置 |
-
2021
- 2021-06-17 CN CN202110674586.XA patent/CN113420111B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245240A (zh) * | 2019-05-31 | 2019-09-17 | 国网电子商务有限公司 | 一种问题数据答案的确定方法及装置 |
CN110389999A (zh) * | 2019-07-26 | 2019-10-29 | 北京香侬慧语科技有限责任公司 | 一种信息抽取的方法、装置、存储介质及电子设备 |
CN111143507A (zh) * | 2019-12-05 | 2020-05-12 | 重庆兆光科技股份有限公司 | 一种基于复合式问题的阅读理解方法 |
CN111324717A (zh) * | 2020-02-24 | 2020-06-23 | 武汉大学 | 一种面向开放域问答的基于机器阅读理解的答案获取方法及*** |
CN111611361A (zh) * | 2020-04-01 | 2020-09-01 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 抽取式机器智能阅读理解问答*** |
WO2021109690A1 (zh) * | 2020-06-17 | 2021-06-10 | 平安科技(深圳)有限公司 | 多类型问题智能问答方法、***、设备及可读存储介质 |
CN111782961A (zh) * | 2020-08-05 | 2020-10-16 | 中国人民解放军国防科技大学 | 一种面向机器阅读理解的答案推荐方法 |
CN112380326A (zh) * | 2020-10-10 | 2021-02-19 | 中国科学院信息工程研究所 | 一种基于多层感知的问题答案抽取方法及电子装置 |
CN112329435A (zh) * | 2020-11-27 | 2021-02-05 | 腾讯科技(深圳)有限公司 | 文本处理方法、装置、计算机设备以及存储介质 |
CN112506949A (zh) * | 2020-12-03 | 2021-03-16 | 北京百度网讯科技有限公司 | 结构化查询语言查询语句生成方法、装置及存储介质 |
CN112417104A (zh) * | 2020-12-04 | 2021-02-26 | 山西大学 | 一种句法关系增强的机器阅读理解多跳推理模型及方法 |
CN112948546A (zh) * | 2021-01-15 | 2021-06-11 | 中国科学院空天信息创新研究院 | 面向多源异构数据源的智能问答方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113420111A (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110534087B (zh) | 一种文本韵律层级结构预测方法、装置、设备及存储介质 | |
CN112633010B (zh) | 基于多头注意力和图卷积网络的方面级情感分析方法及*** | |
CN108153913B (zh) | 回复信息生成模型的训练方法、回复信息生成方法及装置 | |
CN113420111B (zh) | 一种用于多跳推理问题的智能问答方法及装置 | |
CN111831789A (zh) | 一种基于多层语义特征提取结构的问答文本匹配方法 | |
CN113987147A (zh) | 样本处理方法及装置 | |
CN114676234A (zh) | 一种模型训练方法及相关设备 | |
CN109740158A (zh) | 一种文本语义解析方法及装置 | |
CN111767697B (zh) | 文本处理方法、装置、计算机设备以及存储介质 | |
CN112749556B (zh) | 多语言模型的训练方法和装置、存储介质和电子设备 | |
CN116341562A (zh) | 一种基于Unilm语言模型的相似问题生成方法 | |
CN113392265A (zh) | 多媒体处理方法、装置及设备 | |
CN116050496A (zh) | 图片描述信息生成模型的确定方法及装置、介质、设备 | |
CN117313728A (zh) | 实体识别方法、模型训练方法、装置、设备和存储介质 | |
CN111597816A (zh) | 一种自注意力命名实体识别方法、装置、设备及存储介质 | |
CN117634459A (zh) | 目标内容生成及模型训练方法、装置、***、设备及介质 | |
CN116958738A (zh) | 图片识别模型的训练方法和装置、存储介质及电子设备 | |
CN114611529B (zh) | 意图识别方法和装置、电子设备及存储介质 | |
CN116208772A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN114330701A (zh) | 模型训练方法、装置、计算机设备、存储介质及程序产品 | |
CN113849624A (zh) | 一种多轮对话的词槽抽取装置和方法 | |
CN113569867A (zh) | 一种图像处理方法、装置、计算机设备及存储介质 | |
CN112052320A (zh) | 一种信息处理方法、装置及计算机可读存储介质 | |
CN111428005A (zh) | 标准问答对确定方法、装置及电子设备 | |
Cao | A portable English translation system through deep learning and internet of things |
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 |