将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并没有太多的关联。


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

查看所有标签

猜你喜欢:

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

TED Talks Storytelling: 23 Storytelling Techniques from the Best

TED Talks Storytelling: 23 Storytelling Techniques from the Best

Akash Karia / CreateSpace Independent Publishing Platform / 2015-1-11 / USD 6.99

"Every speaker can put these ideas into practice immediately -- and they should!" ~ Dr. Richard C. Harris, Certified World Class Speaking Coach "An insightful read" ~Dennis Waller, Top 500 Revie......一起来看看 《TED Talks Storytelling: 23 Storytelling Techniques from the Best》 这本书的介绍吧!

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具