将Memory Network用于RC和QA的五篇论文

栏目: 编程工具 · 发布时间: 6年前

内容简介:Facebook AI在15年6月发在arXiv上的论文:simple QA,即一类QA问题,这类问题能够转化为涉及一个entity和一个relation的查询,不涉及复杂的推理过程(比如结合多个KB中的fact和原文才能得出答案),只需要找到correct evidence(比如KB中的一个三元组)就可以正确回答。文章首先说明了虽然reasoning的研究最近很热,但是simple QA这类问题尚未解决,而且解决了之后应用范围也很广(通过更好的知识图谱支持)。

Facebook AI在15年6月发在arXiv上的论文: https://arxiv.org/pdf/1506.02075。主要阅读模型部分。

simple QA,即一类QA问题,这类问题能够转化为涉及一个entity和一个relation的查询,不涉及复杂的推理过程(比如结合多个KB中的fact和原文才能得出答案),只需要找到correct evidence(比如KB中的一个三元组)就可以正确回答。

文章首先说明了虽然reasoning的研究最近很热,但是simple QA这类问题尚未解决,而且解决了之后应用范围也很广(通过更好的知识图谱支持)。

这篇文章主要工作:

  • 构造了包含大量simple-QA样本的数据集(SimpleQuestions)进行实验,研究了 多任务学习迁移学习 在寻找correct evidence过程中的影响。
  • 同时基于 memory networks 框架实现了一个QA模型,并获得了不错的效果。

因为该框架下的模型能够具备复杂推理的能力,从而可以继续深挖更难的QA任务。

FreeBase和Reverb,两个知识图谱,包含很多

格式的三元组(facts)。

模型概述:

  • 预处理KB:进行了三个预处理步骤。(对于两个知识图谱的fact进行了相似的处理)
    • 1.group。为了回答有很多答案的问题,把具有相同头实体和关系的facts聚合为一个新的fact。
    • 2.remove intermediate node。将复杂关系化简为一个三元组(fact),使更多QA问题变为Simple QA问题。
    • 3.vectorize。把预处理之后形如 的三元组向量化为一个高维向量,维度是所有实体数量和关系数量之和,并给予一个初始值(类似n-hot)。
    • 4.vectorize questions。把所有作为输入的问题向量化。维度是词表的长度加上代表KB中实体的别名的n-grams的长度之和,用n-hot的形式表示问题向量。
  • 输入模块I:进行上面的预处理步骤,从而把FreeBase的fact填充到memory中。或者把问题的vector表示传递给下一个模块。
  • 泛化模块G:把Reverb的facts预处理为向量,扩展memory。(迁移学习)
  • 输出模块O:由输入问题,找到对应的supporting fact,分为两步。
    • 第一步通过实体链接找出一个待选的facts集合;
    • 第二步通过embedding model找到与question向量最相关的fact并输出。
  • 响应模块R:在本文模型中,直接选择输出模块输出的fact中的尾实体集合即可。

总结一下,本文把同一年提出的MemNN应用到QA领域,并取得了不错的效果,证明了MemNN可以应用于NLP的一些任务,而且Memory中即使存储着海量高维向量,也是能够训练的。

2.《Gated End-to-End Memory Networks》

墨尔本大学和施乐欧洲研究中心2016年10月发表在arXiv上的论文: https://arxiv.org/pdf/1610.04211。提出了一个在MemN2N基础上改进的模型,并在2个涉及到推理过程的对话数据集上得到了SOTA的结果。

这里首先我们来回顾一下 MemN2N 的结构,主要是若干层的 supporting memory ,每一层都有 input memoryoutput memory ,负责把上下文编码到记忆中,input memory进一步和question向量计算出分布在memory上的注意力权重,output memory和注意力权重加权求和得到每一层的response向量。通过使用soft attention而不是MemNN中的hard attention,用可微的读取(写入)memory的操作实现端到端的记忆神经网络。最后一层的response向量通过仿射变换和softmax计算出 答案的分布

shortcut connections,能够解决梯度消失问题,让深度神经网络更易训练。其中Highway Network和Residual是两个同时提出的shortcut connections的模型。Highway中将原本前馈神经网络的

变成 ,其中T和C是两个门,residual可以认为是Highway的一种特殊形式

将Memory Network用于RC和QA的五篇论文

模型改进:MemN2N的模型中,第k个hop到第k+1个hop之间的转换关系是,第k个hop的输出(response向量)

加上第k个hop的输入 作为第k+1个hop的输入。也就是 。这可以认为是一种类似residual的shortcut连接,但是这种连接不具有动态特性。所以本文改进成了 动态门机制

的计算方式(GMemN2N,过程如上图所示):

  • 首先计算出 ,也就是gate的值。
  • 而后计算k+1层hop的输入,

本文用了一种简单的改进方式改进了MemN2N模型,但从实验结果来看提高的比较多。

3.《Reading Comprehension Using Entity-based Memory Networks》

日本的NTT通讯科学实验室和东京大学于2016年12月发表在arXiv上的论文: https://arxiv.org/pdf/1612.03551。提出了一种基于实体的记忆神经网络用于QA任务,该模型能够更好的捕捉**细粒度信息**和实体间的**细微关系**。

之前用于NLP任务(尤其是QA任务)的记忆神经网络模型的问题在于,memory中存储的是句子向量,这样那些低于句子级别的文本单元之间的关系就会被忽略。本文的模型选择只存储entity,避免引入冗余信息和噪声。

对于

形式的QA任务,模型具体的处理过程如下(参考下图):

  • 首先,对于 上下文 句子 ,用自编码器(或其他模型)计算出句子的向量表示 。而后抽取其中的所有实体 并用预训练的词向量初始化每个实体的 状态向量 。而后不断的 更新状态向量 直到使用所有实体的状态向量能够 重建 句子的向量表示为止,把这些实体的状态向量存储到memory中。
  • 而后,将 问题 的向量表示 计算出来,并找出memory中与 问题相关 的所有实体状态向量。用这些状态向量通过一个神经网络计算出 特征向量 ,并以此为基础预测问题的答案。

将Memory Network用于RC和QA的五篇论文

模型采用监督式学习训练,而且在数据集上需要预先标注句子中的实体,这里实验中把所有的名词和代词作为实体。在bAbi,MCTest数据集上进行了实验。

4.《Two-Stage Synthesis Networks for Transfer Learning in Machine Comprehension 》

斯坦福、微软研究院等机构的人员发表在EMNLP2017上的论文: https://arxiv.org/pdf/1706.09789。文章提出了SynNet模型,进行关于QA问题上的迁移学习。

通过生成(问题,答案)对的方式,将在一个QA数据集(SQuAD)上预训练的模型在另一个无标记数据集(NewsQA)上微调训练,实现效果较好的迁移学习。

在源域(source domain)上的数据集训练时,样本以(P,Q,A)即段落、问题、答案三元组的形式给出,其中 答案是段落中的一个连续片段

在目标域(target domain)上的数据集训练时,样本以P即 无标记段落 的形式给出。

将Memory Network用于RC和QA的五篇论文

模型SynNet(如上图)主要负责给定目标域数据集上的段落P,生成问题Q和答案A,分为两个步骤:

  • 答案生成:利用一个双向LSTM网络,对段落中的单词(embedding的形式)进行 标记 ,所有标记为非None的 连续单词序列 作为候选答案,输入问题生成模块。
  • 问题生成:采用一个 encoder-decoder 结构的网络,最大化联合条件概率
    • encoder:输入P的word embedding向量(增加一维表示答案的0/1特征),经过双向LSTM处理得到隐状态h。
    • decoder:由h和前一时刻输出的问题单词 得到注意力向量 。采用两个预测器,一个直接产生预定义词表中的词,另一个由一个pointer network从段落P中复制一个词。
    • loss:由于产生的问题单词序列Q没有标签,所以借鉴论文 《Latent predictor networks for code generation. 》 中的无监督学习算法最小化交叉熵损失。
  • 机器阅读理解模型:直接使用了开源的 BiDAF ,但其他模型也可以。
  • 训练:
    • 在源域(source domain)s上的数据集训练时,样本以(P,Q,A)即段落、问题、答案三元组的形式给出,其中 答案是段落中的一个连续片段
    • 在目标域(target domain)t上的数据集训练时,样本以P即 无标记段落 的形式给出。
    • 1.在s上训练好MC模型,在t上训练好SynNet。
    • 2. 微调 MC模型,使用了一个叫做“ data-regularization ”的trick。每输入s上的k个minibatch,输入t上生成的1个minibatch(实验中k取4),避免生成的数据噪音过多影响模型效果。
    • 3.最后在测试时,由多个训练时保存的模型ensemble,增加模型稳定性。

额,这篇论文和memory没什么关系,提出了一种迁移学习的方法并应用在QA数据集上,论文的实验和分析部分非常详尽。

5.《EviNets: Neural Networks for Combining Evidence Signals for Factoid Question Answering 》

埃默里大学发表在ACL2017上的一篇论文: http://aclweb.org/anthology/P17-2047。针对QA模型的答案预测模块进行研究,利用并结合多个来源(比如结构化的知识图谱和非结构化的文本)的support evidence给出答案。

针对factoid QA问题,即1中所说的Simple QA问题,基于知识图谱的QA模型能够解决,但是有时知识图谱不够完善,需要其他信息的配合。

将Memory Network用于RC和QA的五篇论文

模型结构如上图,对于一个 问题 ,使用搜索系统获取与问题相关的 问题相关文本 ,实体链接的方式从相关文本获取若干 候选答案实体 ,此外再通过知识图谱获取相关实体的 三元组实体类型信息 ,这些信息作为模型的输入。其中 supporting evidence 是所有问题相关的文本或者三元组等形式的信息。模型主要过程如下:

  • Evidence Matching:评估 每个supporting evidence和问题的相关程度 (采用对两者的向量表示进行点乘的方法),然后进行softmax归一化。
  • Evidence Aggregation:聚合权重,对每个候选答案a,其得分取决于:与其相关的supporting evidence中该候选答案的 被提及程度 、次数以及该候选答案 与问题q的相关度
  • Answer Scoring:将聚合起来的每个候选答案的得分输入 全连接网络 计算最终的输出。

额,这篇文章和Memory并没有太多的关联。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

社交的本质:扎克伯格的商业秘密

社交的本质:扎克伯格的商业秘密

兰迪•扎克伯格 / 谢天 / 中信出版集团股份有限公司 / 2016-6-1 / CNY 45.00

从发表个人观点到找工作,从交朋友到找伴侣,社会化媒体的广泛应用、互联技术的高速发展已经改变了我们生活的各个领域。 Facebook早期成员之一,兰迪·扎克伯格阐述了社交的本质,并首次披露Facebook的商业策略。她以社交媒体实践者的视角,分享了自己在Facebook负责营销的从业经历与成长故事,以及对互联网和社会未来变化趋势的思考,并给组织和个人提出了解决方案。一起来看看 《社交的本质:扎克伯格的商业秘密》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具