RickWang

  • 10

    获得赞
  • 3

    发布的文章
  • 0

    答辩的项目

语义匹配任务——动态 Re-read 网络

自然语言处理

最后更新 2020-04-15 15:55 阅读 255

最后更新 2020-04-15 15:55

阅读 255

自然语言处理

DRr-Net: Dynamic Re-read Network for Sentence Semantic Matching

  • 论文来源:AAAI 2019  链接
  • 导语:本文要介绍的这篇顶会论文提出了一个比较新颖的句意匹配网络——Dynamic Re-read Network(动态重读网络),该模型的结构较为有特点,最后的实验效果也不错,做句子语义匹配时可以试试这个模型;

  • 问题介绍:

在语义匹配任务中,attention机制在捕捉语义关系和正确对其两个句子的元素起重要作用。以往的方法都是使用attention机制一次选择句子的重要部分。但是在语义匹配过程中,句子的重要部分会随着对句子理解程度改变而动态变化,一次attention选择的重要部分并不足以理解语义。

例如:在判断句子A “ a person with a purple shirt is painting an image of a woman on a white wall" 和句子B “ a woman paints a portrait of her best friend" 的关联时,在句子A中的重要词就会从 " person, purple, shirt, painting, image, woman" 变成 " person, image, woman" ,句子B中的重要词就会从 " woman, paints, portrait, best friend " 变成 "woman, portrait, best friend " 。 

此外,心理学研究表明,人类在精读一篇文章时,一次只专注于1.5个单词。作者认为,要更好的理解和匹配句子中的重要单词,应该对句子中的重要单词进行动态重读和反复思考。 由此作者提出了一种动态 Re-read Network (Rr-Net), 利用attention Stack-GRU(ASG)单元对句子语义进行综合建模,保留从最底部的word embedding 输入到最顶部的周期性输出 的所有信息。然后再使用DRr单元,结合已学信息选择最重要的单词,反复进行阅读。

    • 问题陈述:

    输入为两个句子:S_a 和S_b; 目标为学习一个分类器,预测出 与之间的关系y,随着句子理解程度的提高,句子中的重要词汇在动态变化,如何保证在每一个步骤中,考虑所学的信息,同时更多地关注重要词汇?(这里不方便编辑公式,因此部分公式给略去了,不影响理解)

    • DRr-Net 模型的总体架构:

    image.png模型分为三个部分: 

    1. Input Embedding:对句子中的每个单词进行编码,包含足够多的特征,对句子语义进行全面编码; 由两部分构成:word embedding和Attention Stack-GRU(ASG)单元;

    a. Word Embedding:为了更全面地获取句子中每个单词的语义,作者使用了预训练的word embedding、字符特征和句法特征来表示句子中的每个单词; 其中,字符特征是通过应用卷积网络最大池化层学习字符embedding而得来的。它可以更细粒度地表示单词,并有助于避免出现单词不在预训练的词汇表中的问题(out-vocabulary); 句法特征包括词性标注特征、二进制精确匹配特征和二元反义词特征的embedding,这些已经被证明对句子语义理解有用; 接下来,作者通过一个two-layer highway 网络传递这些表示,并且获得句子a和b中单词的表示集;

    b. Attention Stack-GRU(ASG)Unit:反复阅读一个句子有利于句子语义的理解。为了用这种方法更全面地建模句子的语义,作者使用了堆叠递归神经网络(stack-RNN),由多个RNN层叠加而成,用于处理句子。这里使用GRU作为DRr-Net 的基础单元。 具体来说,令 Ht 代表第l层GRU;在第t个时间步,一个通用的堆叠RNN表示为: , ;是第l层GPU的第t步的输入;作者认为,虽然这种体系结构能构建更深层次的表示,但它不能保存所有学习到的信息,而且这种架构可能会导致梯度暴炸或消失的问题;受到(Kim et al.2018)的启发,作者将输入的和第(l-1)层GRU的状态连接起来,生成新的作为第l层GRU的输入,

    image.png

    Stack-GRU的输出和是所有GRU层的输出 和 ASG单元的输入的连接,它能保留所有的句子信息;再利用attention机制来整合stack-GRU的输出;

    2. Dynamic Re-read Mechanism:每一步专注一个重要的单词,不考虑单词的先后顺序,考虑所学信息,反复阅读重要的单词; 动态重读单元的输入是Stack-GRU的输出和,在动态重读的步骤中,作者采用attention机制从上述整个序列中选择当前输入的单词;然后作者利用GRu对选择的单词和围绕它的动态上下文进行编码;

    image.pngimage.png

    3. Label Prediction:利用原始表示和动态表示对句子语义分类结果预测;

    这一部分由三个操作组成:匹配,融合,分类。 为了确定两句话之间的整体关系,作者综合利用了句子的原始表示,和句子的动态表示;在匹配操作中,串联可以保留所有的信息,逐元素相乘是对两句话的“相似性”的某种度量,它们的差异可以捕捉到每个维度中包含的分布程度信息。作者将隐层状态连接起来,作为多层感知器的输入,MLP有两个隐层,激励函数为Relu函数,以及softmax输出层。

    image.png得到不同的概率分布表示后,作者为了增强模型的鲁棒性,又利用了融合门和多层感知器来对它们进行集成,最后进行分类;

    • 实验部分

    数据集为:SNLI、SICK、Quora三个数据集;

    实验结果如下:表1显示了该模型与其他模型的比较结果,利用测试集的准确行来评估它们的性能;

    image.pngDRr-Net在所有的测试集上都取得了最好的性能,甚至包括具有挑战性的硬测试和词汇测试集。

    表2显示了Quora数据集中所有模型的性能。

    image.png在此数据集上,该模型获得89:75%的准确率,超过了以前最先进的DIIN模型。

    此外,作者还进行了一些消融实验证明DRr-net各模块的重要程度,具体可以去看原文中这部分的描述;

    • 总结

    作者根据心理学中对于人类阅读方式及习惯的一些研究,设计了一种动态重读网络,它能够模范人类读书时喜欢关注关键词的习惯,对关键词语进行反复提取,此外,考虑到随着阅读次数的增加,句子中真正重要的词汇会发生变化,因此,作者使用了多种信息作为attention模块的输入,旨在每次都能动态挑选出最重要的词汇。最后在预测时,作者综合使用了原始方法得到的句子表示以及动态网络中得到的句子表示,将它们融合起来,共同预测句子之间的相似关系,使得模型更加稳定。

            本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可,转载请附上原文出处链接和本声明。
            本文链接地址:https://www.flyai.com/article/364
            讨论
            500字
            表情
            每日优质讨论奖励 20FAI
            发送
            每日优质讨论奖励 20FAI
            删除确认
            是否删除该条评论?
            取消 删除