首页 > 其他 > 详细

基于句子的循环推理模型在多跳阅读理解中的应用

时间:2021-03-17 22:45:11      阅读:75      评论:0      收藏:0      [点我收藏+]

文章目录
A Sentence-Based Circular Reasoning Model in Multi-Hop Reading Comprehension(基于句子的循环推理模型在多跳阅读理解中的应用)
一、动机
二、模型亮点
三、模型详解
1.Sentence Encoder
2.Path Generator
3.Path Evaluator
4.NM
四、实验部分
1、数据集
2、参数设置
3、实验结果
4、消融
总结
一、动机

?我们常用模型来挖掘和利用来自文档的相关信息来预测语义相关查询的答案。那么如果是用一个文档进行预测答案,文档信息过于片面。在提取文档信息时,文档有很多信息是无效的,这就对于预测答案做出了干扰。提取的信息很多,进行融合整合,也存在着一定难度。


?
图中是句子(path1)、文档(path2)与实体(path3)为节点的三种路径。

当使用文档作为节点时,虽然路径可能完全包含关键推理信息,但仍然有大量不相关的信息,会产生很大程度的冗余。
当使用实体作为节点时,虽然路径精确简洁,但由于丢失的信息太多,没有原始逻辑,从而不足以支持模型完成任务。
如果路径使用句子作为节点,它具有明显的逻辑和较少的信息冗余,不仅为获取答案提供了很大的帮助,而且很好地解释了推理过程。根据这些,提出了基于句子的循环推理模型(SCR)。
二、模型亮点
?由SentenceEncoder (SE), Path Generator (PG) and Path Evaluator (PE)三部分构成。本研究使用SE获取句子表示,然后使用PG在查询的指导下对多个文档的句子进行迭代推断,不断产生节点,并将节点组合形成一条路径。最后,PE评估获得的路径并预测答案。
?考虑到句子具有多方面的语义特征(多个含义),并且从一个分布中得到的句子向量不能完全表达各个方面的语义,因此,本研究提出了一种嵌套机制(NM)来为句子分配多个分布,每个分布代表一个方面。这样,加权向量可以合理地表达尽可能多的语义特征。

三、模型详解

 

?首先对文本的语义信息进行编码,以获得后续操作所需的向量表示,然后基于这些编码的文本构建推理路径。最后SCR将路径信息与查询编码进行交互,并加入候选集合以计算可用于选择答案的概率分布。

1.Sentence Encoder
首先,计算每个文档和查询的TF-IDF余弦相似度,以取出相似度最大的文档,然后,计算所有剩余文档和最后一层选择的文档的TF-IDF余弦相似度,并取出相似度最大的前N-1个文档。所有选定的文档组成一个新的支持文档集Z = {zn}N n=1。这样就过滤支持文档集,减少无关文档的数量,减少干扰。
过滤完文档集后,用预训练好的Glove和n-gram作为初始单词嵌入,依次输入到Highway Network 中,一个具有v个隐藏单元的双向LSTM网络中,就得到所有文本的单词编码。
自我注意力层。最后一层得到的编码X是基于word的。但是为了更真实地模拟人类的多跳推理,本研究需要计算句子级语义编码。句子集为:
I是文档集Z中的句子数,K是组成一个句子的单词数,I是文档集Z中的句子数,K是组成一个句子的单词数,dik是对应的单词编码。然后,自我注意机制被应用于实现句子的向量表示,并且该表示被表示为
公式为![在这里插入图片描述](https://img-blog.csdnimg.cn/20210317203731637.png
2.Path Generator


Attention Module:由多头注意力层和位置前馈网络构成,即:
Q,K,V是输入,W是是权重矩阵。前馈网络由两个线性变换组成,中间有一个GELU激活函数。然后通过层归一化获得输出。为简单起见,将整个子层描述为FFN,其输入为H:E=FFN(H),。此Module用于更新每个循环中的路径表示。它的输入是由步骤t-1和le第一步生成的路径。Pt= {p1,p2,…,pt}用作模块的输出。

Generation Module:是基于LSTM 单元的推理网络。在在第t步,将原始路径与查询相结合,计算出每句话的概率εt作为下一跳节点,然后利用εt对句子集进行加权平均。从而得到句子信息融合向量ηt。此外,本研究将ηt通过一个位置前馈网络,并将其拼接在当前原始路径的末端,形成一条新路径,从而完成步骤t的推理。

3.Path Evaluator
步骤如下:


4.NM

?嵌套机制主要适用于将序列映射为向量。当序列需要加权平均时,它可以为不同特征空间中的序列提供多个概率分布。

使用NM后,Y的输出尺寸保持不变


四、实验部分
1、数据集
?WikiHop和MedHop数据集

2、参数设置
?LSTM和GRU在东南的隐藏单位数量为100。对于每个可训练层,我们使用概率为0.1的dropout。使用TF-IDF算法进行过滤,筛选出平均包含30个句子的前8名文档。对于多头注意力层,我们将head的值设置为8,将hop设置为6,并接收6跳推理路径。使用交叉熵损失来衡量模型训练的水平,并使用Adam优化器来训练我们的模型。我们将初始学习率设置为0.001,每隔2k步降低到原来的0.8。

3、实验结果

 

?值得注意的是,我们的模型没有使用预先训练过的语言模型,如ELMO和Bert,这两种语言模型在机器阅读理解和问题回答方面都有显著的提高。但为了公平起见,我们不会将SCR与那些使用预先训练过的语言模型的人进行比较。构建的路径会随着循环的增加而注意到更深层次的语义信息,基于语义的推理也会逐渐深化。与静态的编解码结构相比,我们的动态结构更适合于连续推理,更能满足多跳MRC任务的需要。

4、消融


?文字有很多特点。在将一个单词编码序列加权平均成一个向量时,我们希望突出每个单词中语义明显的强特征,弱化那些不明显的特征。如果整个序列只使用一个分布,我们就不能区分强特征和弱特征。显然,这是不合理的。然而,NM分配给每个功能的分布,从而缓解了这个问题。


总结

?本文提出了一种基于句子推理的多跳MRC模型,称为SCR,其中句子在构建信息路径中起着关键作用。此外,还创新性地提出了系统表示语义的嵌套机制,实验证明该机制能够显著提高模型的性能。在WikiHop和MedHop数据集上的高准确率验证了SCR的有效性。通过一个实例,说明了SCR的推理过程。

基于句子的循环推理模型在多跳阅读理解中的应用

原文:https://www.cnblogs.com/anbelive/p/14552055.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!