ACL 2018|科大讯飞:基于中断循环神经网络的文本分类

ACL 2018

基于中断循环神经网络的文本分类

Disconnected Recurrent Neural Networks for Text Categorization

科大讯飞北京研究院HFL实验室

IFLYTEK CO.,LTD

ACL 2018|科大讯飞:基于中断循环神经网络的文本分类

1 引言

文本分类任务是自然语言处理(NLP)领域最基础和传统的任务之一,该任务又会根据领域类型的不同分成很多子任务,例如情感分类、主题分类和问题分类等。很多机器学习的新方法都会先尝试在文本分类任务上进行实验验证。例如深度学习中最常见的两大类模型,卷积神经网络(CNN)和循环神经网络(RNN)及其变体,在文本分类中有很多应用。

RNN模型擅长对整个句子进行建模,捕捉长距离依赖信息。然而研究表明,RNN对整个句子建模有时会成为一种负担,使模型忽略了关键的短语信息。CNN模型则正相反,更擅长抽取局部的位置不变特征,而不擅长捕捉长距离依赖信息。为此,我们提出了DRNN模型,通过限制RNN模型信息的流动,将位置不变性引入RNN模型中。这使得DRNN模型既能捕捉长距离依赖信息,又可以很好地抽取关键短语信息。我们提出的模型在DBPedia,Yelp等多个文本分类数据集上取得了最好的效果。

ACL 2018|科大讯飞:基于中断循环神经网络的文本分类

2 模型介绍

表1是一个主题分类的例子,我们可以看到两句话表意基本相同,都应该被分类到科技类。其中决定分类的关键短语是“unsolved mysteries of mathematics”,对于一个窗口大小为4的CNN模型来说,两个句子中的该短语表示完全相同。然而,当我们把两句话送入RNN模型的时候,因为RNN模型中,每一个时刻的隐层状态都和前面所有词语相关,所以这两个短语的表示是完全不同的。这增大了模型捕捉关键短语的难度,使得RNN模型有时会忽视一些关键信息。

ACL 2018|科大讯飞:基于中断循环神经网络的文本分类

表格1 主题分类示例

为了解决上述问题,我们希望通过将位置不变性引入RNN模型中,使得RNN模型既可以捕捉长距离依赖信息,又可以更好地抽取位置不变的局部特征。具体来说,我们会阻断RNN模型的信息流动,使其最多只能传递固定的步长k。这样的话,每个时刻的隐层状态就只和当前词以及前k-1个词相关。

ACL 2018|科大讯飞:基于中断循环神经网络的文本分类

图1 Disconnected Recurrent Neural Networks

图1是RNN模型、DRNN模型和CNN模型的一个对比图。如图所示,对于RNN来说,隐层状态h与前面所有的词都相关,而对于DRNN,则只与当前词及之前的k-1个词相关。DRNN模型也可以被认为是一种特殊的CNN模型,只是将CNN模型中的卷积核替换成了RNN。显然,DRNN和CNN一样,对于长度为k的短语,无论它在文本中的什么位置,都具有相同的表示。DRNN模型t时刻的隐藏层输出可以表示成如下形式:

ACL 2018|科大讯飞:基于中断循环神经网络的文本分类

DRNN是一种通用的模型框架,可以应用在很多任务中,我们主要将其应用在文本分类任务中,对应的模型结构见图2。我们采用GRU作为DRNN的循环单元,得到Disconnected Gated Recurrent Unit(DGRU)模型。我们首先将DGRU的每个隐层表示送入MLP中,来抽取更高层的特征信息。然后再通过Max Pooling来抽取整个文本中最重要的信息,最后再通过一层MLP,然后送入softmax中进行分类。

ACL 2018|科大讯飞:基于中断循环神经网络的文本分类

图2 整体模型结构

ACL 2018|科大讯飞:基于中断循环神经网络的文本分类

3 实验结果与分析

我们在Zhang et al. (2015)提出的7个大规模文本分类数据集上进行实验,其中AG语料是新闻,DBPedia语料来自于维基百科,Yelp和Amazon语料都是情感分析相关语料,Yahoo! Answers是问答数据集。

ACL 2018|科大讯飞:基于中断循环神经网络的文本分类

图3 DGRU和CNN对比

我们将DRNN模型与CNN、LSTM和GRU进行了对比,从图3中我们可以看到CNN模型的实验效果随着卷积核窗口大小的增大而不断变差,其中CNN窗口为3时实验效果最好。而对于DRNN来说,窗口为15时效果最佳。对于CNN来说,卷积核窗口越大,对应的参数也越多,模型更加容易过拟合。相比之下,在增大DRNN的窗口长度时,参数是保持不变的,因此可以有效地缓解过拟合问题。从表2中我们也可以看到DRNN的效果比LSTM、GRU和CNN更好。

ACL 2018|科大讯飞:基于中断循环神经网络的文本分类

表格2 对比实验结果

我们还比较了不同循环单元和Pooling方法的实验效果,如图4所示。我们采用了naïve RNN、LSTM和GRU作为DRNN的循环单元,其中对于naïveRNN,当窗口增大的时候,效果快速下降,错误率甚至超过20%,因此没有在图中画出。而GRU和LSTM对比,可以看到在DRNN中,GRU作为循环单元的效果更好。对于不同Pooling方法来说,Max pooling的效果最好,这是与max pooling可以更好地保持模型的位置不变性有关。

ACL 2018|科大讯飞:基于中断循环神经网络的文本分类

图4 不同组件对比

我们发现DRNN的窗口大小太大或者太小都会导致模型的效果不佳,当窗口太大的时候,DRNN则更像RNN模型,丢失了位置不变性。而当窗口太小的时候,DRNN则更像CNN模型,缺失了长距离依赖的能力。因此选择一个合适的窗口大小,对于DRNN模型来说很重要。我们对于最佳窗口的设置进行了研究,对应的实验结果见图5。研究表明最佳窗口大小和训练数据的数据量关系不大,和任务类型关系明显。因此我们在选择最佳窗口的时候可以考虑先在小规模数据上进行实验以选择最佳窗口。

ACL 2018|科大讯飞:基于中断循环神经网络的文本分类

图5 窗口相关实验

最后,我们在7个文本分类任务上进行了实验,实验结果见表3。从表中,可以看到DRNN模型在文本分类任务上效果很好,比同样是结合RNN与CNN特性的CRNN错误率相对下降10-50%。

ACL 2018|科大讯飞:基于中断循环神经网络的文本分类

表格3 实验的错误率(%)

ACL 2018|科大讯飞:基于中断循环神经网络的文本分类

4 总结

我们根据CNN和RNN的各自特性,提出了DRNN模型,将位置不变性引入到RNN模型中,使得DRNN能同时捕捉关键短语信息和长距离依赖信息。实际采用DRNN模型时,选取一个好的窗口大小至关重要,实验表明最佳窗口大小和训练数据量无关,和任务类型有关。通常窗口大小为15到20的DRNN都能取得不错的效果。

相关推荐