CN111538819B - 一种基于文档集多跳推理的问答系统的构建方法 - Google Patents
一种基于文档集多跳推理的问答系统的构建方法 Download PDFInfo
- Publication number
- CN111538819B CN111538819B CN202010228146.7A CN202010228146A CN111538819B CN 111538819 B CN111538819 B CN 111538819B CN 202010228146 A CN202010228146 A CN 202010228146A CN 111538819 B CN111538819 B CN 111538819B
- Authority
- CN
- China
- Prior art keywords
- entity
- question
- context
- paragraphs
- reasoning
- 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
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000012549 training Methods 0.000 claims abstract description 43
- 230000000694 effects Effects 0.000 claims abstract description 7
- 238000012360 testing method Methods 0.000 claims description 10
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 claims description 8
- 238000005295 random walk Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000010586 diagram Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 238000013459 approach Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000000644 propagated effect Effects 0.000 claims description 4
- 238000004140 cleaning Methods 0.000 claims description 3
- 238000013480 data collection Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 238000011176 pooling Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 230000001902 propagating effect Effects 0.000 claims description 3
- 238000013461 design Methods 0.000 claims description 2
- 238000002372 labelling Methods 0.000 claims description 2
- 238000002156 mixing Methods 0.000 claims description 2
- 238000012358 sourcing Methods 0.000 claims description 2
- 238000010276 construction Methods 0.000 abstract description 7
- 238000004422 calculation algorithm Methods 0.000 abstract description 3
- 238000003058 natural language processing Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 241000282414 Homo sapiens Species 0.000 description 1
- 235000002096 Vicia faba var. equina Nutrition 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000005489 dwarf bean Nutrition 0.000 description 1
- 244000013123 dwarf bean Species 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种基于文档集多跳推理的问答系统的构建方法,属于自然语言处理技术领域,该方法包括训练阶段和运行阶段,训练阶段中采集需要以多个文档中多个分散文本为支持证据的问答对及支持事实构成训练集,并从给定文档中找到相关的支持实体与答案,经过对比后用反向传播算法对模型进行优化;运行阶段中通过客户端、服务端将相应的答案预测值及支持事实反馈给用户。本发明的构建方法中,基于文档而不是基于知识库的问答使得最终收集的数据以自然语言的形式呈现,并且在内容和难度上具有多样性,可以有效节省模型的训练时间,在GNN图网络上进行动态推理,较好地提取了文本的序列信息,使得问答效果更好。
Description
技术领域
本发明涉及自然语言处理技术领域,更具体地说,涉及一种基于 文档集多跳推理的问答系统的构建方法。
背景技术
目前,深度学习在图像识别、语音识别等领域取得丰硕成果,机 器阅读理解成为了人工智能研究与应用领域的新热点。机器阅读理解 无论是在工业界还是学术界都有着很高的研究价值,它能够让计算机 帮助人类在大量文本中找到想要的答案,从而减轻人们对信息的获取 的成本。也许,未来的搜索引擎将不仅仅是返回用户相关的链接和网 页,而是通过对互联网上的海量资源进行阅读理解,直接得出答案返 回给用户。在目前主流的问答系统中,问题的答案基本都在单一文档 的单一(或连续的)句子中产生,并且这类问题大多可通过对问题和 单一文档使用类似关键词匹配的方式来回答,并不具备基于多个信息进行多步推理的能力。
在深度学习领域中有一种叫做图神经网络(GNN)的模型,它通过 图节点之间的消息传递来捕捉图的依赖关系:从给定查询中提到的实 体出发,沿着由文本构建的动态实体图进行探索,逐渐从给定文档中 找到相关的支持实体作为答案。与标准神经网络不同的是,图神经网 络保留了一种状态,可以表示来自其邻域的具有任意深度的信息。虽 然发现原始的GNN很难为一个固定点进行训练,但是网络结构、优化 技术和并行计算的最新进展使它们能够成功地学习。
目前的MRC数据集的数据多为人工合成、且在其上完成的任务 较为简单。如斯坦福大学的Rajpurkar等人于2016年发布了SQuAD 数据集。SQuAD通过众包的方式,从wikipedia上的536篇文章提取 超过10w个问题-答案对,其答案是原文的一个片段。百度在2017年 发布了大规模的中文数据集:DuReader。所有的问题、原文都来源于 百度搜索引擎数据和百度知道问答社区),其答案是原文的一个连续 的片段。因此,在现有MRC数据集上实现的模型对于数据的理解和推 断有限。于是,收集可以用来进行多跳推理的数据集以及训练具有多 跳推理能力的MRC模型显得紧迫且重要。
发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种基于文 档集多跳推理的问答系统的构建方法,可以实现建立一个多跳推理的 数据集以及训练具有多跳推理能力的MRC模型。
为解决上述问题,本发明采用如下的技术方案:
一种基于文档集多跳推理的问答系统的构建方法,包括以下步骤:
S1、数据收集和标注;
S2、数据清洗和预处理;
S3、问答模型训练;
S4、问答系统的建立。
进一步的,所述S1具体包括以下步骤:
构建百度百科超链接图,将超链接所链接的两个相关文档的主题 段落提供给众包人员,选段的数量至少为几十万的数量,通过用户交 互设计保证众包人员提问出问题;
提出的问题为必须基于两个选段进行多步推理才能得到答案的 问题,且选段类型丰富,并且不限制问题的类型,最终收集的数据以 自然语言的形式呈现,并且在内容和难度上具有多样性;对于每一个 问题,需众包人员收集回答它所需要的更细粒度的支持推理线索。
进一步的,所述S2具体包括以下步骤:
S21、对每个样本使用bigram tf-idf,在百度百科中使用问题 作为查询,在检索得到选段中选择8个段落作为干扰段落,将干扰段 落与两个黄金段落混合起来,以构建干扰设置,其中黄金段落为用来 收集问题和答案的段落,2个黄金段落和8个干扰段落在输入模型之 前被打乱;
S22、将潜在的单跳问题从期望的多跳问题中分离出来,若样本 中的问题只需要对其中一个段落进行推理,将这些样本归类为容易训 练数据子集;
S23、在剩余的多跳问题中,若当前领先的问答模型能够给出正 确答案,将其归类为中等难度训练的集合,即中等难度训练数据子集;
S24、剩余最新建模技术无法回答的多跳问题将按比例分为:较 大难度训练数据子集和较大难度测试数据子集;
S25、将容易训练数据子集、中等难度训练数据子集、较大难度 训练数据子集的合并集作为默认训练集训练问答模型,用较大难度测 试数据子集作为默认测试集评估模型的效果。
进一步的,所述S3具体包括以下步骤:
S31、段落选择
对于每个问题,训练一个子网络来选择相关的段落;选择器网络 以一个查询Q和一个段落作为输入,输出0到1之间的相关分数;选 择预测分数大于η的段落,并将其串联在一起作为上下文C;
S32、构建实体图
从上下文C中识别命名实体,提取的实体的数量记为N;实体图 是使用实体作为节点并按以下方式构建的边构造的:当两个实体出现 在同一个句子中,则有边相连,为句子级别连接;中心实体节点和其 段落中的实体有边相连,为段落级别连接;如果不同段落的不同的位 置出现了相同的实体,则它们有边相连,为上下文级别连接;其中中 心实体是从每个段落的标题句中提取出来的,上下文级别链接使得跨 多个文档的实体以某种方式进行连接;
S33、对问题和上下文编码
将问题Q与上下文C连接起来,并将结果序列传给预先训练好的 词向量模型,以获得问题和上下文的表示:Q=[q1,...,qL]∈RL×d和 CT=[c1,...,cM]∈RM×d,其中L,M为查询和上下文的长度,d为词向量模 型隐藏状态的大小;
S34、应用图神经网络进行动态推理
从Q0和C0开始,找到下一步支持实体;推理过程用于实现以下 目的:通过计算来自上下文的实体嵌入,将信息从上下文传递到实体; 在实体图上传播信息,每一步新访问的实体将成为下一步的开始实体; 将更新后的信息从实体图传递到上下文;
S35、预测:该框架有四维输出,包括支持句、答案的起始位置、 答案的结束位置和答案类型,使用级联结构来解决输出依赖关系,其 中四个同构的子网络逐层堆叠,最后一个推理块的上下文表示被传递 给到第一个子网络;每个子网络的损失函数logO∈RM×d,计算这些对 数的交叉熵损失;共同优化这四个交叉熵损失,每个损失项均由一个 系数加权;
。
进一步的,所述S3还包括弱监督:引入一个弱监督信号,以在 每个推理块中诱导出匹配启发式掩码的软掩码;对于每个训练用例, 启发式掩码包含从查询中检测到的起始掩码,以及通过在给定起始掩 码的情况下对相邻矩阵应用“Random Walks”的方式而获得的其他 随机游走掩码。
进一步的,所述S34具体包括以下步骤:
S341、文档到图流:识别出实体后,与实体相关的上下文可以被 用来计算实体嵌入;构造一个二元矩阵M,如果上下文中的第i个词 在第j个实体的范围内,则Mi,j为1;M用于选择与实体关联的上下文; 经过M的选择后,得到输入前的上下文嵌入Ct-1的选定列,将其作均 值-最大池化计算中,得到实体嵌入Et-1=[et-1,1,...,et-1,N],其中Et-1的大小为d×N,N是实体的数量;
S342、动态图注意力:从输入上下文Ct-1获得实体嵌入之后,应 用一个图神经网络将节点信息传播给其邻居节点;
提出了动态图注意机制来模拟逐步探索和推理行为;在每个推理 步骤中,假设每个节点都有一些信息可以传播给邻居节点;与问题越 相关的节点,其邻居节点会接收到更多信息;
S343、更新查询:推理链包含多个步骤,每一步新访问的实体将 成为下一步的开始实体;引入查询更新机制,其中查询嵌入由当前步 骤的实体嵌入更新;
S344、图到文档流:开发图到文档流模块来保证信息从实体流回 上下文中,用于定位与答案相关的文本范围。
进一步的,所述S4具体包括以下步骤:
S41、移动端获得数据:请用户输入自己的问题Q′;
S42、服务端操作数据,得到正确的答案及其推理线索句子:
S43、服务端反馈数据将S423获得的正确的答案及其推理线索句 子传输到移动客户端,客户端获得答案及答案的依据;
S44、客户端反馈用户将答案输出给用户。
进一步的,所述S42具体包括以下步骤:
S421、将S3训练好的模型M加载到服务器中;
S422、通过S21在百度百科中使用问题Q′作为查询,检索10 个相关段落;
S423、将S422中的Q′和检索出来的10个相关段落输入到步骤 S421获得的模型中,最终得到正确的答案及其推理线索句子。
3.有益效果
相比于现有技术,本发明的优点在于:
(1)本发明的构建方法中,基于文档而不是基于知识库的问答 使得最终收集的数据(问题、答案、选段)以自然语言的形式呈现, 并且在内容和难度上具有多样性。
(2)本发明的构建方法中,大多数现有的模型侧重于在一个段 落中找到问题的答案,然而现实生活中许多困难的问题需要来自两个 或多个文档中多个分散文本的支持证据,也就是需要多跳推理。
(3)本发明的构建方法中,使用预训练的词向量模型对问题和 上下文编码,可以有效节省模型的训练时间。
(4)本发明的构建方法中,在GNN图网络上进行动态推理,较 好地提取了文本的序列信息,使得问答效果更好。
(5)本发明的构建方法中,相比于基于整篇文章进行训练的粗 粒度方式,本模型在回答问题的同时给出它基于哪些事实进行的推理, 利用这些更加准确的推理线索来提升表现。
附图说明
图1为问答模型训练中的推理流程图。
具体实施方式
下面将结合本发明实施例中的附图;对本发明实施例中的技术方 案进行清楚、完整地描述;显然;所描述的实施例仅仅是本发明一部 分实施例;而不是全部的实施例,基于本发明中的实施例;本领域普 通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例; 都属于本发明保护的范围。
一种基于文档集多跳推理的问答系统的构建方法,包括以下步骤:
1、数据收集和标注
11、构建一个百度百科超链接图,在这个百度百科的文档库中, 我们做了两个观察:
111、百度百科文章中的超链接通常会自然地在上下文中包含两 个实体(已经消除了歧义)之间的关系,这可能会被潜在地用来促进多 跳推理;
112、每篇文章的第一段往往包含了很多可以用有意义的方式查 询的信息。
基于这些观察,我们从所有百度百科文章的第一段中提取出所有 的超链接。使用这些超链接,我们构建一个有向图G,其中每条边(a,b) 表示从文章a的第一段到文章b的第一段有一个超链接。
12、生成候选段落对
为了生成有意义的段落对,以便使用图G进行多跳问答,我们首 先考虑一个示例问题“最新一代的移动通信技术的速度是多少?”要 回答这个问题,首先需要推理出“最新一代的移动通信技术”是“5G 技术”,然后在文中找出它的速度。在本例中,我们称“5G技术”为桥接实体。给定超链接图G中的一个边缘(a,b),b的实体通常可以 看作连接a和b的桥接实体。因为我们观察到文章b通常确定a和b 之间的共享上下文的主题,我们通过从超链接图中采样边(a,b)来 创建候选段落对。
13、比较问题
除了使用桥接实体收集的问题外,我们还可以收集另一种类型的 多跳问题—比较问题。其主要思想是,将同一类别的两个实体进行比 较,通常会产生有趣的多跳问题,例如,“第四代移动通信技术和第 五代移动通信技术的区别是什么”为了方便收集这类问题,我们可以 手工整理百度百科上相似实体的列表(用L表示)。为了生成候选段落 对,我们从同一列表中随机抽取两个段落,并将其呈现给众包工作者。
14、为了增加多跳问题的多样性,还可以在比较问题中引入了 yes/no问题的子集。这通过提供新的方法来要求系统对两个段落进 行推理,从而补充了原来比较问题的范围。例如,像“亚马逊云和阿 里云谁是来自中国?”这样的问题并不理想,因为即使你只能看到那 一篇文章,你也会推断出答案是“阿里云”。在回答是/否的问题时, 你可能会问“亚马逊云和阿里云是来自同一个国家吗?””,需要在两 个段落上进行推理。基于文本的比较问题是以前的数据集没有考虑过 的一种新型问题。更重要的是,回答这些问题通常需要进行算术比较, 例如比较给定出生日期的年龄,这对未来的模型开发提出了新的挑战。
15、收集支持事实。为了增强问答系统的可解释性,我们希望它 们在生成答案时输出一组必要的支持事实以获得答案。为了达到这个 目的,我们也从众包工作者中收集了决定答案的句子。这些句子哪些 可以作为支持事实需要注意力的强有力的监督。然后,我们可以通过 比较预测的支持事实和实际的支持事实,来测试模型的可解释性。
2、数据清洗和预处理
21、为了挑战模型在存在噪声的情况下找到真正的支持事实,我 们对每个样本使用bigram tf-idf,在百度百科中使用问题作为查询, 检索8个段落作为干扰段落。我们将它们与两个黄金段落(用来收集 问题和答案的段落)混合起来,以构建干扰设置。2个黄金段落和8 个干扰段落在被输入模型之前被打乱。
22、首先将潜在的单跳问题从期望的多跳问题中分离出来,如果 样本中的问题只需要对其中一个段落进行推理,就可以将这些样本归 类为容易训练的集合,即容易训练数据子集。
23、在剩余的多跳问题中,如果当前领先的问答模型能够给出正 确答案,我们可以将其归类为中等难度训练的集合,即中等难度训练 数据子集。
24、剩余最新建模技术无法回答的多跳问题将按比例分为:较大 难度训练数据子集和较大难度测试数据子集。
25、我们将容易训练数据子集、中等难度训练数据子集、较大难 度训练数据子集的合并集作为默认训练集训练我们的问答模型;用较 大难度测试数据子集作为默认测试集评估模型的效果。
3、问答模型训练
如图1所示,问答模型训练中的推理过程如下:
31、段落选择
对于每个问题,我们假设给出了Np个段落。由于并非每段文字 都与问题相关,我们训练一个子网络来选择相关的段落。该子网络基 于一个预先训练好的BERT模型,使用BERT Tokenizer来标记所有的 段落和问题,然后是一个具有sigmoid预测的句子分类层。选择器网 络以一个查询Q和一个段落作为输入,输出0到1之间的相关分数。 一个段落如果至少含有一个支持问答对的句子,则它的训练标签为1。 在推理过程中,选择预测分数大于η(如η=0.1)的段落,并将其串 联在一起作为上下文C。正确选择η,以确保选择器对相关段落有很 高的召回率。Q和C由上层做进一步的处理。
32、构建实体图
我们使用Stanford core nlp toolkit从上下文C中识别命名实 体。提取的实体的数量记为N。图中的最大实体数设置为40。实体图 中每个实体节点的平均度为3.52。实体图是使用实体作为节点并按 以下方式构建的边构造的:如果两个实体出现在同一个句子中,则有 边相连(句子级别连接);中心实体节点和其段落中的实体有边相连 (段落级别连接);如果不同段落的不同的位置出现了相同的实体, 则它们有边相连(上下文级别连接)。其中中心实体是从每个段落的 标题句中提取出来的。上下文级别链接使得跨多个文档的实体以某种 方式进行连接。代词不能采用这一方案,因为它同时引入了其它有用 和错误的链接。
33、对问题和上下文编码
我们将问题Q与上下文C连接起来,并将结果序列传给预先训练 的BERT模型,以获得问题和上下文的表示:Q=[q1,...,qL]∈RL×d和 CT=[c1,...,cM]∈RM×d,其中L,M为查询和上下文的长度,d为BERT隐 藏状态的大小,因此d为768。我们将LSTM和动态图注意的所有隐 藏单元的退出率分别设置为0.3和0.5。对于优化,我们使用初始学 习率为1e-4的AdamOptimizer。
34、应用图神经网络进行动态推理
从Q0和C0开始,找到下一步支持实体。推理过程用来实现以下 目的:通过计算来自上下文的实体嵌入,将信息从上下文传递到实体 (文档到图流);在实体图上传播信息;将更新后的实体图信息传递 到上下文(图到文档流)。
341、文档到图流。每个实体是通过NER工具识别的,与实体相 关的上下文可以被用来计算实体嵌入。为此,我们构造了一个二元矩 阵M,如果上下文中的第i个词在第j个实体的范围内,则Mi,j为1。 M用于选择与实体关联的上下文。经过M的选择后,得到输入前的上下文嵌入Ct-1的选定列,将其作均值-最大池化计算中,得到实体嵌入 Et-1=[et-1,1,...,et-1,N]。Et-1的大小为d×N,其中N是实体的数量。
342、动态图注意力。从输入上下文Ct-1获得实体嵌入之后,我们 应用一个图神经网络将节点信息传播给它们的邻居。我们提出了一种 动态图注意机制来模拟人类的逐步探索和推理行为。在每个推理步骤 中,我们假设每个节点都有一些信息可以传播给邻居。与问题越相关 的节点,其邻居节点会接收到更多信息。
我们首先通过在实体上创建一个软掩码来识别与问题相关的节 点。它充当信息守门人,即只允许与问题相关的实体节点传播信息。 我们使用问题嵌入和实体嵌入之间的注意力网络来预测一个软掩码 m(t),其目的是在第t个推理步骤中表示开始实体:
q(t-1)=MeanPooling(Q(t-1))
其中V(t)是线性投影矩阵,而σ是sigmoid函数。通过将软掩码 和初始实体嵌入相乘,将鼓励所需的开始实体,并惩罚其他实体。因 此,信息传播的这一步被限制为实体图的动态子部分。
下一步是在动态子图中传播信息。通过下式计算两个实体之间的 注意分数α:
其中Ut∈Rd×2d,Wt∈R2d是线性投影参数。此处,α的第i行表示 将被分配给实体i的邻居的信息的比例。
在动态图注意力中,每个节点对其列求和,形成一个新的实体状 态,包含它从邻居那里接收到的总信息:
其中Bi为实体i的邻居集合,然后得到更新后的实体嵌入 E(t)=[e1 (t),...,eN (t)].
343、更新查询。推理链包含多个步骤,每一步新访问的实体将 成为下一步的开始实体。为了预测下一步的预期开始实体,我们引入 了查询更新机制,其中查询嵌入由当前步骤的实体嵌入更新。在我们 的实现中,我们利用一个双向注意网络来更新查询嵌入:
Q(t)=Bi-Attention(Q(t-1),E(t))
344、图到文档流。利用文档到图流和动态图注意力,我们实现 了实体层次的推理步骤。然而,答案仍然无法回溯。为了解决这个问 题,我们开发了一个图到文档流模块来保证信息从实体流回上下文中。 于是,与答案相关的文本范围可以在上下文中被定位。
使用上述的相同的二进制矩阵M,将Ct-1中的词嵌入与对应于词 的关联实体嵌入进行级联。M中的每一行都对应一个词,因此,如果 词参与了实体的提及,我们将使用它从E(t)中选择一个实体的嵌入。 这个信息被LSTM层进一步处理,以产生下一层的上下文表示。
C(t)=LSTM([C(t-1);ME(t)T])
其中;表示级联,C(t)∈RM×d作为下一个融合块的输入。此时,当 前子图的推理信息已经传播到整个上下文中。
35、预测
该框架有四维输出,包括支持句、答案的起始位置、答案的结束 位置和答案类型。我们使用级联结构来解决输出依赖关系,其中四个 同构的LSTM逐层堆叠。最后一个推理块的上下文表示被传递给到第 一个LSTM。每个LSTM的损失函数logO∈RM×d,计算这些对数的交叉 熵损失。共同优化这四个交叉熵损失。每个损失项均由一个系数加权。
弱监督。此外,引入一个弱监督信号,以在每个推理块中诱导出 匹配启发式掩码的软掩码。对于每个训练用例,启发式掩码包含从查 询中检测到的起始掩码,以及通过在给定起始掩码的情况下对相邻矩 阵应用“RandomWalks”的方式而获得的其他随机游走掩码。该算法 可以在BFS和DFS中随意变换以达到最好的效果。
记开始节点为ci-1=v,随机游走选择下一个节点的公式为:
即若图1中存在边(v,x),则以概率πvx/Z选择下一节点x,其中 πvx是非正则化的v到x的转移概率,Z是正则化常数。
随机游走中πvx可以表示为两个节点之间的逐点互信息,公式为:
然后将预测的软掩码和启发式掩码之间的二元交叉熵损失添加 到目标函数中。我们跳过那些无法从查询中检测到起始掩码的情况。
4、问答系统的建立
41、移动端获得数据:请用户输入自己的问题Q′。
42、服务端操作数据:
421、将步骤3训练好的模型M加载到服务器中,
422、通过步骤21在百度百科中使用问题Q′作为查询,检索10 个相关段落。
423、将步骤422中的Q′和检索出来的10个相关段落输入到步 骤421获得的模型中,最终得到正确的答案及其推理线索句子。
43、服务端反馈数据将步骤423获得的正确的答案及其推理线索 句子传输到移动客户端,客户端获得答案及答案的依据。
44、客户端反馈用户将答案输出给用户。
在步骤41中提到的移动端的构建可以采用下面的方式:
1、基于安卓Android 5.0Jelly Bean及以上版本开发了基于以 上算法实现的应用Text Multi-Hop QA。
2.基于我们对应用多样化的考虑,我们精心设计了简单而实用的 交互方式。用户的系统界面是一个搜索栏,支持文字输入和语音输入, 分别对应搜索框和语音按键两种形式。具体如下:
a.用户点击搜索框可以输入文字,确认无误后点击提交,此操作 将输入的文字以RESTful请求的形式传输至服务器以便使用服务器 的计算资源对其进行处理。
b.用户点击语音按键将启动应用的录音程序。此操作将使用系统 底层的Media模块调用手机的麦克风对此时开始的声音进行采集。在 确认录音完成后对音频进行处理。我们选择了使用公开可以调用的百 度语音识别包进行语音的识别。确认无误后点击提交,此时将问题以 RESTful请求的形式发送至服务器进行处理。
3.对于处理的剩余技术要点:
对于音频的处理使用百度的语音功能包。大致使用的场景有两个, 在收到用户的语音输入时使用语音识别模块将其识别为字符串。在接 收到服务器的问题处理结果时可以直接输出文本,也可以采用语音合 成手段将其合成为可以被用户听到到的声音。
以上所述;仅为本发明较佳的具体实施方式;但本发明的保护范 围并不局限于此;任何熟悉本技术领域的技术人员在本发明揭露的技 术范围内;根据本发明的技术方案及其改进构思加以等同替换或改变; 都应涵盖在本发明的保护范围内。
Claims (6)
1.一种基于文档集多跳推理的问答系统的构建方法,其特征在于:包括以下步骤:
S1、数据收集和标注;
S2、数据清洗和预处理;
S3、问答模型训练;
S4、问答系统的建立;
其中在S3具体包括以下步骤:
S31、段落选择
对于每个问题,训练一个子网络来选择相关的段落;选择器网络以一个查询Q和一个段落作为输入,输出0到1之间的相关分数;选择预测分数大于η的段落,并将其串联在一起作为上下文C;
S32、构建实体图
从上下文C中识别命名实体,提取的实体的数量记为N;实体图是使用实体作为节点并按以下方式构建的边构造的:当两个实体出现在同一个句子中,则有边相连,为句子级别连接;中心实体节点和其段落中的实体有边相连,为段落级别连接;如果不同段落的不同的位置出现了相同的实体,则它们有边相连,为上下文级别连接;其中中心实体是从每个段落的标题句中提取出来的,上下文级别链接使得跨多个文档的实体以某种方式进行连接;
S33、对问题和上下文编码
将问题Q与上下文C连接起来,并将结果序列传给预先训练好的词向量模型,以获得问题和上下文的表示:Q=[q1,...,qL]∈RL×d和CT=[c1,...,cM]∈RM×d,其中L,M为查询和上下文的长度,d为词向量模型隐藏状态的大小;
S34、应用图神经网络进行动态推理
从Q0和C0开始,找到下一步支持实体;推理过程用于实现以下目的:通过计算来自上下文的实体嵌入,将信息从上下文传递到实体;在实体图上传播信息,每一步新访问的实体将成为下一步的开始实体;将更新后的信息从实体图传递到上下文;
S35、预测:框架有四维输出,包括支持句、答案的起始位置、答案的结束位置和答案类型,使用级联结构来解决输出依赖关系,其中四个同构的子网络逐层堆叠,最后一个推理块的上下文表示被传递给到第一个子网络;每个子网络的损失函数logO∈RM×d,计算这些对数的交叉熵损失;共同优化这四个交叉熵损失,每个损失项均由一个系数加权;
所述S4具体包括以下步骤:
S41、移动端获得数据:请用户输入自己的问题Q′;
S42、服务端操作数据,得到正确的答案及其推理线索句子:
S43、服务端反馈数据将S423获得的正确的答案及其推理线索句子传输到移动客户端,客户端获得答案及答案的依据;
S44、客户端反馈用户将答案输出给用户。
2.根据权利要求1所述的一种基于文档集多跳推理的问答系统的构建方法,其特征在于:所述S1具体包括以下步骤:
构建百度百科超链接图,将得到的超链接所链接的两个相关文档的主题段落提供给众包人员,选段的数量至少为几十万的数量,通过用户交互设计保证众包人员提问出问题;
提出的问题为必须基于两个选段进行多步推理才能得到答案的问题,且选段类型丰富,并且不限制问题的类型,最终收集的数据以自然语言的形式呈现,并且在内容和难度上具有多样性;对于每一个问题,需众包人员收集回答它所需要的更细粒度的支持推理线索。
3.根据权利要求1所述的一种基于文档集多跳推理的问答系统的构建方法,其特征在于:所述S2具体包括以下步骤:
S21、对每个样本使用bigram tf-idf,在百度百科中使用问题作为查询,在检索得到选段中选择8个段落作为干扰段落,将干扰段落与两个黄金段落混合起来,以构建干扰设置,其中黄金段落为用来收集问题和答案的段落,2个黄金段落和8个干扰段落在输入模型之前被打乱;
S22、将潜在的单跳问题从期望的多跳问题中分离出来,若样本中的问题只需要对其中一个段落进行推理,将这些样本归类为容易训练数据子集;
S23、在剩余的多跳问题中,若当前领先的问答模型能够给出正确答案,将其归类为中等难度训练的集合,即中等难度训练数据子集;
S24、剩余最新建模技术无法回答的多跳问题将按比例分为:较大难度训练数据子集和较大难度测试数据子集;
S25、将容易训练数据子集、中等难度训练数据子集、较大难度训练数据子集的合并集作为默认训练集训练问答模型,用较大难度测试数据子集作为默认测试集评估模型的效果。
4.根据权利要求1所述的一种基于文档集多跳推理的问答系统的构建方法,其特征在于:所述S3还包括弱监督:引入一个弱监督信号,以在每个推理块中诱导出匹配启发式掩码的软掩码;对于每个训练用例,启发式掩码包含从查询中检测到的起始掩码,以及通过在给定起始掩码的情况下对相邻矩阵应用“Random Walks”的方式而获得的其他随机游走掩码。
5.根据权利要求4所述的一种基于文档集多跳推理的问答系统的构建方法,其特征在于:所述S34具体包括以下步骤:
S341、文档到图流:识别出实体后,与实体相关的上下文可以被用来计算实体嵌入;构造一个二元矩阵M,如果上下文中的第i个词在第j个实体的范围内,则Mi,j为1;M用于选择与实体关联的上下文;经过M的选择后,得到输入前的上下文嵌入Ct-1的选定列,将其作均值-最大池化计算中,得到实体嵌入Et-1=[et-1,1,...,et-1,N],其中Et-1的大小为d×N,N是实体的数量;
S342、动态图注意力:从输入上下文Ct-1获得实体嵌入之后,应用一个图神经网络将节点信息传播给其邻居节点;
提出了动态图注意机制来模拟逐步探索和推理行为;在每个推理步骤中,假设每个节点都有一些信息可以传播给邻居节点;与问题越相关的节点,其邻居节点会接收到更多信息;
S343、更新查询:推理链包含多个步骤,每一步新访问的实体将成为下一步的开始实体;引入查询更新机制,其中查询嵌入由当前步骤的实体嵌入更新;
S344、图到文档流:开发图到文档流模块来保证信息从实体流回上下文中,用于定位与答案相关的文本范围。
6.根据权利要求1所述的一种基于文档集多跳推理的问答系统的构建方法,其特征在于:所述S42具体包括以下步骤:
S421、将S3训练好的模型M加载到服务器中;
S422、通过S21在百度百科中使用问题Q′作为查询,检索10个相关段落;
S423、将S422中的Q′和检索出来的10个相关段落输入到步骤S421获得的模型中,最终得到正确的答案及其推理线索句子。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010228146.7A CN111538819B (zh) | 2020-03-27 | 2020-03-27 | 一种基于文档集多跳推理的问答系统的构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010228146.7A CN111538819B (zh) | 2020-03-27 | 2020-03-27 | 一种基于文档集多跳推理的问答系统的构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111538819A CN111538819A (zh) | 2020-08-14 |
CN111538819B true CN111538819B (zh) | 2024-02-20 |
Family
ID=71952118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010228146.7A Active CN111538819B (zh) | 2020-03-27 | 2020-03-27 | 一种基于文档集多跳推理的问答系统的构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111538819B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858857B (zh) * | 2020-07-31 | 2021-03-30 | 前海企保科技(深圳)有限公司 | 一种跨文档长文本的分层融合阅读理解方法及系统 |
CN112231455A (zh) * | 2020-10-15 | 2021-01-15 | 北京工商大学 | 一种机器阅读理解方法及系统 |
CN114461764A (zh) * | 2020-11-06 | 2022-05-10 | 哈尔滨工业大学 | 一种基于文本蕴含的多源答案校验方法 |
CN112307773B (zh) * | 2020-12-02 | 2022-06-21 | 上海交通大学 | 机器阅读理解系统的自定义问题数据自动生成方法 |
CN112417104B (zh) * | 2020-12-04 | 2022-11-11 | 山西大学 | 一种句法关系增强的机器阅读理解多跳推理模型及方法 |
CN112711657A (zh) * | 2021-01-06 | 2021-04-27 | 北京中科深智科技有限公司 | 一种问答方法及问答系统 |
CN114911894A (zh) * | 2021-02-08 | 2022-08-16 | 华为技术有限公司 | 信息检索方法及相关系统、存储介质 |
CN113837386B (zh) * | 2021-02-09 | 2022-12-13 | 宏龙科技(杭州)有限公司 | 一种基于多跳推理的检索方法及装置 |
CN112732888A (zh) * | 2021-04-01 | 2021-04-30 | 中国人民解放军国防科技大学 | 一种基于图推理模型的答案预测方法及装置 |
CN113342946B (zh) * | 2021-05-19 | 2022-11-15 | 北京百度网讯科技有限公司 | 客服机器人的模型训练方法、装置、电子设备及介质 |
CN113505206B (zh) * | 2021-07-01 | 2023-04-18 | 北京有竹居网络技术有限公司 | 基于自然语言推理的信息处理方法、装置和电子设备 |
CN113627152B (zh) * | 2021-07-16 | 2023-05-16 | 中国科学院软件研究所 | 一种基于自监督学习的无监督机器阅读理解训练方法 |
CN113486152A (zh) * | 2021-07-16 | 2021-10-08 | 上海淇馥信息技术有限公司 | 一种业务知识库构建方法、装置和电子设备 |
CN113593698B (zh) * | 2021-08-03 | 2023-04-18 | 电子科技大学 | 一种基于图注意网络的中医证型识别方法 |
CN113779220B (zh) * | 2021-09-13 | 2023-06-23 | 内蒙古工业大学 | 一种基于三通道认知图谱和图注意力网络的蒙语多跳问答方法 |
CN114706983B (zh) * | 2022-03-31 | 2024-04-19 | 浙江科技学院 | 一种基于图注意力机制的深度学习问答推理方法及装置 |
CN114780707B (zh) * | 2022-06-21 | 2022-11-22 | 浙江浙里信征信有限公司 | 基于多跳推理联合优化的多跳问题回答方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10540967B2 (en) * | 2016-11-14 | 2020-01-21 | Xerox Corporation | Machine reading method for dialog state tracking |
WO2019229769A1 (en) * | 2018-05-28 | 2019-12-05 | Thottapilly Sanjeev | An auto-disambiguation bot engine for dynamic corpus selection per query |
CN110597947B (zh) * | 2019-03-20 | 2023-03-28 | 桂林电子科技大学 | 一种基于全局和局部注意力交互的阅读理解系统及方法 |
-
2020
- 2020-03-27 CN CN202010228146.7A patent/CN111538819B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111538819A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111538819B (zh) | 一种基于文档集多跳推理的问答系统的构建方法 | |
Qiu et al. | Dynamically fused graph network for multi-hop reasoning | |
Shi et al. | mvn2vec: Preservation and collaboration in multi-view network embedding | |
US8923830B2 (en) | Method and apparatus for processing messages in a social network | |
Xiao et al. | Dynamically fused graph network for multi-hop reasoning | |
CN109325040B (zh) | 一种faq问答库泛化方法、装置及设备 | |
He et al. | Efficient collective entity linking with stacking | |
CN113392197B (zh) | 问答推理方法、装置、存储介质及电子设备 | |
CN107220902A (zh) | 在线社会网络的级联规模预测方法 | |
CN112732888A (zh) | 一种基于图推理模型的答案预测方法及装置 | |
Zhou et al. | ICRC-HIT: A deep learning based comment sequence labeling system for answer selection challenge | |
CN112182423A (zh) | 一种基于注意力机制的信息传播演化趋势预测方法 | |
Al-Khiaty et al. | Matching UML class diagrams using a Hybridized Greedy-Genetic algorithm | |
CN115114421A (zh) | 一种问答模型训练方法 | |
Bhargav et al. | Translucent answer predictions in multi-hop reading comprehension | |
CN112015890B (zh) | 电影剧本摘要的生成方法和装置 | |
CN111552816B (zh) | 面向大数据文本挖掘的动态认知语义匹配方法 | |
Tran et al. | Explain by evidence: An explainable memory-based neural network for question answering | |
CN110851584A (zh) | 一种法律条文精准推荐系统和方法 | |
CN116401353A (zh) | 一种结合内部与外部知识图谱的安全多跳问答方法及系统 | |
CN112989024B (zh) | 文本内容的关系提取方法、装置、设备及存储介质 | |
Khodadi et al. | A memetic-based approach for web-based question answering | |
CN113420111A (zh) | 一种用于多跳推理问题的智能问答方法及装置 | |
CN110661696A (zh) | 一种基于梯度信息的消息传播控制方法 | |
Han et al. | Inductive graph-based knowledge tracing |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240109 Address after: 518000 1006, 10th floor, sannuo wisdom building, 3388 Binhai Avenue, Binhai community, Yuehai street, Nanshan District, Shenzhen, Guangdong Applicant after: Shenzhen ledupai Technology Co.,Ltd. Address before: 100089 Beijing University of Business and Technology, Haidian District, Beijing Applicant before: BEIJING TECHNOLOGY AND BUSINESS University |
|
GR01 | Patent grant | ||
GR01 | Patent grant |