• 短文对话的神经反应机 -- Neural Responding Machine for Short-Text Conversation学习笔记


      最近学习了一篇ACL会议上的文章,讲的是做一个短文对话的神经反映机,

      原文:

      会议:ACL(2015)

      文章条目:    Lifeng Shang, Zhengdong Lu, Hang Li:

      Neural Responding Machine for Short-Text Conversation. 1577-1586

      写下学习笔记:

      

      拓展:Attention Model 注意力模型,本文中提到所采用的Encoder-Decoder框架。

      

      可以把它看作适合处理由一个句子(或篇章)生成另外一个句子(或篇章)的通用处理模型。

        X表示输出的句子,Y表示输出的句子。

      Encoder对输入句子进行编码,转化成中间语义表示

      Decoder对中间语义及已经生成的历史信息y1,y2,…生成i时刻要生成的单词yi,很多个yi串起来就形成了Y,即输出的句子。

      

      其中编码和解码都有很多可用的神经网络模型,如CNN/RNN/LSTM/深度LSTM等等,有很多种组合可以尝试。在文本处理中比较常见的Endocer和Decoder都采用RNN模型。

      

      而本文也采用了seq2seq(Sequence to Sequence)模型,该模型可以运用在很多地方,比如说文章自动摘要、机器翻译、人机对话等等。(其实就是一个Encoder和Decoder模型,然后Encoder和Decoder用的都是RNN中的GRU网络)。因此本文中的Encoder-Decoder模型本质上来说应该是这样的:

      

      Short-Text Conversation(STC)指的是单轮对话任务——也就是对于每一个输入post给出一个对应的response。以往的STC方法主要有两种:检索式的方法(retrieval-based method)和统计机器翻译(statistical machine learning, SMT)。但是检索式的事先都固定好了,太缺乏多样性,而统计机器翻译将它作为一个翻译任务,而有时候post和respond是完全没有一点语义关系的。

      

      本文采取通用的Encoder-Decoder模型,同时利用了seq2seq模型,在编码和解码的过程中都用的是循环神经网络CNN中的GRU(没有用LSTM是因为LSTM的参数太多,用GRU相对简单一些并且效果还不错),并设计了一个基于神经网络的短文对话响应机NRM(相当于机器对话),训练数据是通过微博收集的大量一轮的对话。

      

      首先获取数据,遵从经典的步骤,首先是删除无意义词如”wow”;筛除广告;只留前30个人的回复。

      

      接下来转化的模型:

      

      

      主要是这个L很重要,要能够表示输入句子的特性,这里要用到注意力模型确定h中的哪一步分需要着重考虑。由输入数据和y1,y2,…yi-1决定。

      

      解码用到下面的模型:

      

      虚线代表 g(.) ,实线代表 f(.)

       

      

      编码方案提出了三种:

      global scheme(NRM-glo):

     简单定义       hT 为Ct

      local scheme(NRM-loc):

          这里用到了注意力模型(AM模型),动态决定 ,而

      hybrid scheme combines the aforementioned 2(NRM-hyb):

      

      第一种全局的方法能抓住post的全局特征,而第二种局部的方法能倚靠AM模型选择不同位置的单词作为重要特征,因此第三种方法可以混合一下前两种方法。模型如下:

      

      实验证明检索式的方法效果和NRM-glo差不多,因为它基本使用的都是预定义的responses,不会有一些语法上的问题,同时匹配特征保证了responses和post的相关性,

    因此从表面上看来这是最合适的回答,但是实际上它只是重复了post说的内容而已,而NRM-hyb结合了global和local的优点之后,performance明显好于其他方法。

  • 相关阅读:
    CSS基础学习(二)
    CSS基础学习(一)
    《人月神话》读后感(第五六章)
    Python基础学习
    团队项目介绍
    全国疫情数据可视化展示(详细介绍)
    《人月神话》读后感(第三四章)
    拓展欧几里德
    Siano
    操作系统内存大页(THP)对redis性能的影响
  • 原文地址:https://www.cnblogs.com/zhouxiaosong/p/7993676.html
Copyright © 2020-2023  润新知