Multiresolution Recurrent Neural Networks: An Application to...

昨天介绍了一篇工程性比较强的paper,关于对话生成(bot)任务的,今天继续分享一篇bot方面的paper,6月2日刚刚submit在arxiv上。昨天的文章用了一种最最简单的端到端模型来生成对话,取得了不错的结果,而本文用了一种更加复杂的模型来解决这个问题,取得了更好的结果。文章的题目是Multiresolution Recurrent Neural Networks: An Application to Dialogue Response Generation,作者是来自蒙特利尔大学的博士生Iulian Vlad Serban。

本文最大的贡献在于提出了一种多尺度循环神经网络(Multiresolution RNN,MrRNN),这里的多尺度是指描述文本序列的方式有多种尺度,不仅仅是传统的用一个又一个word来表示序列,这种表示称为自然语言表示,还包括了一种所谓的high-level信息来表示文本序列,这种表示称为粗糙序列表示。本文的模型受启发于分层循环端到端模型(Hierarchical Recurrent Encoder-Decoder,HERD),该模型应用于搜索领域,将用户的search session划分为两个层次的序列,一个是query的序列,一个是每个query中词的序列。

本文模型中一个非常重要的部分是数据的预处理,将训练数据中的所谓high-level信息提取出来构造第二种序列来表示整个文本,这里用了两种思路。

1、提取文本中的名词。用词性标注工具提取出文本中的名词,去掉停用词和重复的词,并且保持原始的词序,还添加了句子的时态。通过这个过程构造了一种表示原始文本的序列。

2、提取文本中的动词和命名实体。用词性标注工具提取文本中的动词,并标记为activity,然后通过一些其他工具从所有训练数据中构造了一个命名实体的词典,帮助提取原句中的命名实体。因为数据集是ubuntu对话数据集,会涉及到大量的linux命令,所以还构造了一个linux命令词典,以标记原句中的命令。同样地也添加了句子的时态。通过这个处理过程,构造了另外一种表示原始文本的序列。

两种处理方法将原句用一种关键词的形式表示出来,尤其是第二种方法针对Ubuntu数据集的特点,包含了非常多的特征进来。这样的表示本文称为coarse sequence representation,包含了high-level的信息,比起单纯的word by word sequence具有更加丰富的意义。

接下来,看一下本文模型的架构图:

模型中包括了两个层次,或者说是两种尺度,一种用了很多的词来表示一个句子,另外一种用了经过处理的包含了更加重要的信息的词来表示一个句子。下层生成的预测值将会作为上层docoder在做预测时的context的一部分,这部分context包含了重要的、high-level的信息,再加上上层自己encoder的输出也作为context,可以说这个模型的context包含了非常丰富的内容。理解上面的图,只要仔细看好箭头的指向,也就明白了各个部分的输入输出是哪些。每个time step的数据流过程如下:

下层:coarse encoder -> coarse context -> coarse decdoer -> coarse predciton encoder

上层:natural language encoder -> (natural language context + coarse prediction encoder) -> natural language decoder -> natural language prediction

不管是用自动评价指标还是人工评价,结果都表明了本文的模型效果比baseline要高出很多个百分点,远远好于其他模型。下面展示一个结果,是ubuntu数据集上的测试效果:

可以看的出本文模型生成的结果效果比其他模型好很多。

本文模型并不是一个纯粹的数据驱动的模型,在初始的阶段需要做一些非常重要的数据预处理,正是这个预处理得到的序列表示给本文的好结果带来了保证。我想,这种处理问题的思路可以推广到解决其他问题上,虽然本文模型很难直接应用到其他问题上,但我相信经过一些不大的变化之后,可以很好地解决其他问题,比如我一直关注的自动文摘问题,还有机器翻译、自动问答等等各种涉及到自然语言生成问题的任务上。这篇文章的结果也支持了我之前的一个观点,就是在解决问题上不可能存在银弹,不同的问题虽然可以经过一些假设变成相同的数学问题,但真正在应用中,不同的问题就是具有不同的特点,如果只是想用一种简单粗暴的data driven模型来解决问题的话,相信效果会不如结合着一些该问题feature的模型。

来源:paperweekly

原文链接

时间: 2024-12-01 00:22:51

Multiresolution Recurrent Neural Networks: An Application to...的相关文章

循环神经网络(RNN, Recurrent Neural Networks)介绍

循环神经网络(RNN, Recurrent Neural Networks)介绍    这篇文章很多内容是参考:http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/,在这篇文章中,加入了一些新的内容与一些自己的理解.   循环神经网络(Recurrent Neural Networks,RNNs)已经在众多自然语言处理(Natural Language Proce

Attention and Augmented Recurrent Neural Networks

Attention and Augmented Recurrent Neural Networks CHRIS OLAHGoogle Brain   SHAN CARTERGoogle Brain   Sept. 8 2016   Citation: Olah & Carter, 2016   Recurrent neural networks are one of the staples of deep learning, allowing neural networks to work wi

(zhuan) Attention in Long Short-Term Memory Recurrent Neural Networks

Attention in Long Short-Term Memory Recurrent Neural Networks by Jason Brownlee on June 30, 2017 in Deep Learning   The Encoder-Decoder architecture is popular because it has demonstrated state-of-the-art results across a range of domains. A limitati

(zhuan) Recurrent Neural Network

  Recurrent Neural Network  2016年07月01日  Deep learning  Deep learning 字数:24235   this blog from: http://jxgu.cc/blog/recent-advances-in-RNN.html    References Robert Dionne Neural Network Paper Notes Baisc Improvements 20170326 Learning Simpler Langu

(zhuan) How to Train Neural Networks With Backpropagation

this blog from: http://blog.demofox.org/2017/03/09/how-to-train-neural-networks-with-backpropagation/   How to Train Neural Networks With Backpropagation Posted on March 9 2017 by Demofox This post is an attempt to demystify backpropagation, which is

(zhuan) Building Convolutional Neural Networks with Tensorflow

Ahmet Taspinar  Home About Contact Building Convolutional Neural Networks with Tensorflow Posted on augustus 15, 2017 adminPosted in convolutional neural networks, deep learning, tensorflow 1. Introduction In the past I have mostly written about 'cla

Recurrent Convolutional Neural Networks for Text Classification

介绍了CNN表示文本的模型之后,本篇将会分享一篇用CNN结合RNN的模型来表示文本.paper题目是Recurrent Convolutional Neural Networks for Text Classification,作者是来自中科院大学的来斯惟博士. 本文要解决的问题是文本分类,文本分类最关键的问题是特征表示,传统的方法经常会忽略上下文信息和词序,无法捕捉到词义.近几年随着深度学习的火热,研究者们通过借助神经网络模型来解决传统方法存在的问题.比如:Socher提出的Recursive

论文笔记之:Spatially Supervised Recurrent Convolutional Neural Networks for Visual Object Tracking

  Spatially Supervised Recurrent Convolutional Neural Networks for Visual Object Tracking  arXiv Paper   Project Page:http://guanghan.info/projects/ROLO/ GitHub:https://github.com/wangxiao5791509/ROLO 摘要:本文提出了一种新的方法进行空间监督 RCNN 来进行目标跟踪.我们通过深度神经网络来学习到

Hacker's guide to Neural Networks

PS:   许多同学对于机器学习及深度学习的困惑在于,数学方面已经大致理解了,但是动起手来却不知道如何下手写代码.斯坦福深度学习博士Andrej Karpathy写了一篇实战版本的深度学习及机器学习教程,手把手教你用Javascript写神经网络和SVM!!我还没怎么看... Hacker's guide to Neural Networks Hi there, I'm a CS PhD student at Stanford. I've worked on Deep Learning for