HAN - Hierarchical Attention Networks for Document Classification文档分类的层次注意网络HLT-NAACL2016


文本分类经典模型
作者:来自卡内基梅隆大学和微软研究院

摘要

我们提出了一种用于文档分类的分层注意网络。我们的模型有两个明显的特征:(i)它有一个反映文档层次结构的层次结构的层次结构;(ii)它在词和句两级有两种注意机制,使它在构建文档表示时能够区别地注意重要的内容和不重要的内容。在6个大规模文本分类任务中进行的实验表明,所提出的结构比以前的方法有很大的优势。注意力层的可视化表明,该模型选择了具有定性信息的词语和句子。

1 引言

文本分类是自然语言处理的基本任务之一。目标是为文本分配标签。它具有广泛的应用,包括主题标注(Wang and Manning, 2012)、情感分类(Maas et al., 2011;Pang和Lee, 2008)和垃圾邮件检测(Sahami et al., 1998)。传统的文本分类方法用稀疏的词法特征表示文档,比如n-gram,然后在这种表示上使用线性模型或核方法(Wang and Manning, 2012;约阿希姆,1998)。更近期的方法使用深度学习,如卷积神经网络(Blunsom et al., 2014)和基于长短期记忆(LSTM)的循环神经网络(Hochreiter和Schmidhuber, 1997)来学习文本表示。
尽管基于神经网络的文本分类方法已经相当有效(Kim, 2014;张等,2015;Johnson and Zhang, 2014;Tang et al., 2015),在本文中,我们检验了一个假设,即通过将文档结构的知识整合到模型体系结构中,可以获得更好的表示。我们模型的直觉是,文档的所有部分对于回答查询来说都不是同等相关的,确定相关部分涉及到对单词的交互建模,而不仅仅是对单词的单独存在进行建模。
我们的主要贡献是一种新的神经结构(§2),即层次注意网络(HAN),旨在捕捉关于文档结构的两个基本视角。首先,由于文档具有层次结构(单词构成句子,句子构成文档),我们同样通过首先构建句子表示,然后将它们聚合到文档表示中来构建文档表示。第二,我们观察到,一个文档中不同的单词和句子具有不同的信息。而且,词和句的重要性是高度上下文相关的,例如同一个词或句子在不同的语境中可能有不同的重要性。为了包括对这一事实的敏感性,我们的模型包括两个层次的注意机制(Bahdanau et al., 2014;(Xu et al., 2015)——一个在单词级别,一个在句子级别——让模型在构建文档的表示时给予单词和句子或多或少的注意力。为了说明这一点,考虑图1中的例子,这是一个简短的Yelp评论,任务是在1 - 5的尺度上预测评级。从直觉上看,第一句和第三句话具有更强的信息,有助于评级的预测;在这些句子中,单词delicious在暗示这篇评论中包含的积极态度方面贡献更大。
与以前工作的关键区别是,我们的系统使用上下文来发现标记序列何时相关,而不是简单地从上下文中筛选(序列)标记。为了评估我们的模型与其他常见的分类架构的性能,我们看六组数据集(§3)。我们的模型明显优于以前的方法。
在这里插入图片描述

2 层次注意力网络

层次注意网络(HAN)的总体架构如图2所示。它由词序列编码器、词级注意层、句子编码器和句子级注意层几个部分组成。我们将在下面的章节中描述不同组件的细节。
在这里插入图片描述

2.1 基于GRU的序列编码器

2.2 层次注意力

词编码器
直接使用词嵌入
词注意力
并不是所有的词都能代表句子的意思。因此,我们引入注意机制来提取对句子意义有重要意义的词汇,并将这些词汇的表征聚合成一个句子向量。

2.3 文档分类

3 实验

3.1 数据集

3.2 基线

我们比较了HAN和几种基线方法,包括传统的方法,如线性方法、支持向量机和使用神经网络的段落嵌入,LSTMs,基于词的CNN,基于字符的CNN,以及Conv-GRNN, LSTMGRNN。这些基线方法和结果在(Zhang et al., 2015;Tang等人,2015)。

3.2.1 线性方法

线性方法(Zhang et al., 2015)使用构造的统计量作为特征。基于多项逻辑回归的线性分类器利用特征对文档进行分类。

  • BOW/BOW+TF-IDF:从训练集中选择50,000个最常用的单词,并对每个单词进行计数。Bow+TFIDF,顾名思义,使用计数的TFIDF作为特性。
  • n-grams/n-grams+TF-IDF使用最频繁的是500000 n-grams(最多5-grams)。
  • Bag of means:采用平均word2vec嵌入(Mikolov et al., 2013)作为特征集。

3.2.2

3.2.3

3.3 模型配置和训练

我们将文档分割成句子,并使用斯坦福大学的CoreNLP对每个句子进行标记(Manning等人,2014)。在构建词汇表时,我们只保留出现5次以上的单词,并用特殊的UNK标记替换出现5次以上的单词。我们通过训练一个无监督的word2vec (Mikolov et al., 2013)模型来获得词嵌入,然后使用词嵌入来初始化 W e W_e We
模型的超参数在验证集上进行调整。在我们的实验中,我们设置单词嵌入维数为200,GRU维数为50。在本例中,前向和后向GRU的组合为单词/句子注释提供了100个维度。单词/句子上下文向量的维度也为100,初始化时是随机的。
对于训练,我们使用64的mini-batch大小,并且将长度相似的文档(就文档中的句子数量而言)组织成批处理。我们发现长度调整可以使训练加速三倍。我们使用随机梯度下降来训练动量为0.9的所有模型。我们在验证集上使用网格搜索来选择最佳学习率。

3.4 结果分析

在这里插入图片描述
所有数据集的实验结果如表2所示。我们把我们的模型称为HN-{AVE, MAX, ATT}。这里HN代表层次网络,VE表示平均,MAX表示最大池化,TT表示我们提出的层次注意模型。结果表明,HN-TT在所有数据集上表现最佳。
无论数据大小如何,改进都是存在的。对于较小的数据集,如Yelp 2013和IMDB,我们的模型分别比之前的最佳基线方法高出3.1%和4.1%。这一发现在其他更大的数据集上是一致的。我们的模型在2014年,2015年,雅虎回答和亚马逊评论上比之前的最佳模型高出3.2%,3.4%,4.6%和6.0%。无论是哪种类型的任务,都能得到改善:情感分类,其中包括Yelp 2013-2014、IMDB、亚马逊评论和Yahoo Answers的主题分类。
从表2中我们可以看到,基于神经网络的方法,如LSTM、CNN-word、CNNchar,在大规模(就文档大小而言)文本分类方面,与传统方法相比,不探究分层文档结构的方法几乎没有优势。例如,SVM+TextFeatures对Yelp 2013、2014、2015和IMDB的准确率分别为59.8、61.8、62.4、40.5,而CNN-word的准确率分别为59.7、61.0、61.5、37.6。
仅探索层次结构,如HN-AVE, HN-MAX,可以显著改善LSTM, CNN-word和CNN-char。例如,我们的HN-AVE在Yelp 2013、2014、2015和IMDB上分别比CNN-word高出7.3%、8.8%、8.5%和10.2%。我们的HN-ATT模型进一步利用了注意机制.结合层次结构模型,改进了LSTM-GRNN模型的3.1%、3.4%、3.5%和4.1%。更有趣的是,在实验中,HN-A VE等价于使用非信息性的全局词/句子上下文向量(例如,如果它们都是零向量,则Eq. 6和9中的注意权重将成为统一的权重)。与HN-A VE相比,HN-A TT模型具有全面的优越性能。这清楚地证明了所提出的全局词和句子重要性向量对汉族的有效性。

3.5 上下文相关的注意力权重

如果单词本身是重要的或不重要的,没有注意机制的模型可能会工作得很好,因为模型可以自动为不相关的单词分配低权重,反之亦然。然而,单词的重要性是高度依赖上下文的。例如,“good”这个词可能出现在评价最低的评论中,要么是因为用户只对产品/服务的一部分感到满意,要么是因为他们用它来表示否定,比如“not good”。为了验证我们的模型能够捕获上下文相关的单词重要性,我们从Yelp 2013数据集的测试分割中绘制出单词good和bad的注意力权重分布,如图3(a)和图4(a)所示。我们可以看到,这个分布对一个单词有一个从0到1的注意权重。这表明我们的模型捕捉了不同的上下文,并将上下文相关的权重分配给单词。

3.6 注意力可视化

结论

本文提出了一种用于文档分类的分层注意网络(HAN)算法。作为一个方便的副作用,我们使用文档的高信息量组件获得了更好的可视化。我们的模型通过将重要的单词聚集成句子向量,然后将重要的句子向量聚集成文档向量来逐步构建文档向量。实验结果表明,该模型的性能明显优于以往的方法。这些注意层的可视化说明我们的模型在挑选重要的单词和句子方面是有效的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值