国产什么是动态DRR做的怎么样?

用C#从数据库读取数据动态生成樹形菜单例子

//TODO: 在此处添加构造函数逻辑 /// 返回查询的数据集
  • 双圆知更鸟(仲裁计划)
  • 执行死刑的記录(唱片公司)

原标题:DRr-Net:基于动态重读机制的呴子语义匹配方法

学校丨中国科学技术大学博士生

研究方向丨自然语言处理

语义理解与语义表征一直是自然语言理解中基础但十分关键的┅个内容得益于大规模的数据和先进的深度学习技术,机器在具体的任务上的表现越来越接近人类表现这其中注意力机制(Attention Mechanism)扮演着┅个不可或缺的角色,它可以帮助模型选择出句子中对语义表达最重要的信息从而生成一种更好地语义表示向量,但是大多数的方法都昰一次性地选择出所有重要的信息该方法明显是不够合理的。

事实上人在阅读的时候,会根据已学习到的信息去动态选择需要关注的內容更具体的,认知心理学实验发现人在阅读的时候有两个特点:1)人对句子中的词序其实并没有很敏感即使打乱顺序我们依然能够悝解;2)人在阅读时倾向于阅读多遍关键信息,从而实现对句子语义的精确理解如下图的例子:

左图是利用眼球追踪仪得到的注意力分布,可以看到有些词被反复阅读而有些词并没有被阅读到。右图虽然词序是乱的但是我们可以利用丰富的先验知识自动纠正这种错误,從而理解句子要表达的语义

基于以上的两个现象,本文提出了一种 Dynamic Re-read 机制通过对重点内容的自动选择和反复阅读,从而实现对语义的精確理解

模型可以大致分为三个模块:

Input Embedding:利用充足的特征信息对输入的每个词和每个句子进行编码;

Dynamic Re-read Mechanism:每一步只关注一个最重要的词,并苴反复对重要的内容进行理解;

Label Prediction:对输入的两个句子之际的关系进行分类

接下来,文章从这三个方面对整个模型进行详细分析

对词的編码是一个常规操作,文本使用了预训练的词向量(glove 840d)字符级别的 embedding,以及一些人工特征然后将其拼接起来,为了更好地表示每个词的語义信息本文将其通过一个两层的高速网络(Highway Network),最终得到每个词的语义表示

众所周知人类拥有丰富的先验知识,因此可以利用这些知识直接选择出句子中对语义表示重要的词但这对模型而言是非常难的,因此模型首先要做的就是对整个句子的全面理解,尽可能多哋了解句子信息这样才能为更好地理 解句子语义奠定基础。

为了实现这个目的本文设计了一种修改版的 Stack-RNN,它将 (l-1) 层的输入和输出拼接起來作为 l 层的输入,通过这种类残差的结构模型就能够保留所有的信息,该过程可以形式化为:

其中表示 l 层的 RNN,这里使用的 GRU 作为 RNN 的基夲单元接下来要做的就是如何压缩这些词的向量表示,从全局的角度对句子语义进行向量表示

得益于自注意力机制(Self-attention),本文在 Stack-RNN 的最後输出上做 self-attention从而抽取对语义表示重要的信息,将这些信息加权求和得到句子的全局语义表示,在文中作者称之为 original sentence representation,该过程可以由如丅表示:

该模块主要是受人在阅读时的习惯启发而设计出来的人在阅读时:1)人对句子中的词序其实并没有很敏感,即使打乱顺序我们依嘫能够理解;2)人在阅读时倾向于阅读多遍关键信息从而实现对句子语义的精确理解。

因此该模块要实现的目标就是如何根据已学习到嘚知识在每一步选择一个重要的词进行理解以及这些重要的词该如何处理。首先整体的过程可以形式化为:

即先通过一个选择函数,茬整个输入序列中选出第 t 步的输入然后将该输入送给一个 GRU,而最后重要信息表示向量使用的是 GRU 的最后一个输出状态因为 GRU 的在每个时刻嘚输入是动态变化的,因此作者将其称之为 Dynamic

从该公式可以看出选择函数需要的输入有三个:a 句子的整个序列动态 RNN 的前一个时刻的隐层狀态b 句子的全局语义表示,因为该模型针对的是句子语义匹配任务因此作者将 b 句子的全局语义表示作为一个额外的 context 信息,这样模型就能更好的选择出符合上下文的语义信息

针对选择函数,作者利用了注意力机制来实现选择过程:

相当于通过注意力机制在整个序列上计算出来当前时刻的重要程度分布然后选择最大的权值对应的词,将这个词作为当前时刻的输入然后将其送给 GRU。

但是该过程有一个问題,最后一个公式选择出索引的操作是不可导的这里作者做了一个 trick,对 softmax 函数加了一个任意大的常数 β,这样权值最大的就趋近于 1 了而其怹的权值就趋近于 0 了。

通过这种近似的方法实现了最后的选择操作,并保证可导因此,上式可以修改为:

这就完成了整个动态选择的過程

经过前两个模块,模型就生成了全局语义表示和局部重要表示接下来作者通过启发式的拼接操作来整合这些信息,具体可以通过洳下公式表示:

这里是分别使用了不同的语义表示进行分类为了是结果更准确,鲁棒性更好作者设计了一个简单的加权方式将这两个結果进行融合,从而最终进行分类

以上就是模型的整体结构。

该模型的创新点主要集中在 Dynamic Re-read 机制的设计上作者通过模仿人的阅读习惯,烸次只选择一个重要的词然后对这些重要的词进行反复阅读,从而实现对句子语义的准确理解

作者在两个任务,三个数据集上进行了測试从实验结果上看,模型取得了非常不错的效果同时为了验证模型的有效性,作者还对每个模块进行了验证从结果上看,这其中朂重要的还是全局的语义表示重要信息的局部表示是在 最好的结果上进行了提升,其重要程度要弱于全局语义表示

个人推测人在阅读時可以利用丰富的先验知识去直接挑选重要信息,而这对模型来说就有些困难了他需要首先做的是对句子信息的整体把握,否则很难取嘚很好的效果如果单纯只挑重要的信息的话,模型很难对句子语义有一个全面的表达所以全局的语义表示对模型而言还是非常重要的。

为了更好地展示模型的能力作者同时也进行了一些 case study,如下图:

从结果上看模型确实选择出了非常重要的词,但同时模型也在重复这些词有时候甚至只重复一个词,最终导致模型得出错误的结论这可能跟动态选择的过程是一个非监督的过程有关,这点还是值得仔细思考的

本文通过利用人的阅读习惯,将注意力机制一次性选择所有重要信息的机制修改为根据上下文动态选择重要的信息并通过全局嘚表示和局部的表示对句子语义进行更全面的理解表示,是一个非常有意思的工作按照作者的思路,在相关的领域例如 semantic matching, Visual Question Answering 等方面都可鉯进行一些尝试这是一个很值得研究的工作。

? 稿件确系个人原创作品来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方姠)

? PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

我要回帖

更多关于 什么是动态DR 的文章

 

随机推荐