文献标题
Hierarchical Attention Networks for Document Classification
期刊/会议
NAACL 2016( CCF-C )
作者
Zichao Yang, Diyi Yang等
时间
2016-06
研究问题
通过模拟文章层次结构对文本进行分类
主要贡献
- 从文章的分层结构入手,提出了一种新的文本分类的层次结构模型,分别聚合词向量成句向量,再合成为文档级向量表示进行分类任务。
- 很好的可视化了Attention机制对于文档中信息更为丰富部分的关注。
研究难点( Motivation )
- 在文本分类的方法中,没有关注到怎样从文章的层次结构来进行特征提取,没有考虑词在不同上下文的重要性不同。
- 怎样给不同句子中的相同词不同的重要性。
研究方法关键
- 整体的分层架构,从词向量得到句向量再得到文章向量。
- Attention层中Q, K, V的确定。
- Attention关注的重要程度的可视化。
实验表现
- 在不同规模、不同任务(文本分类、情感分类)下都达到SOTA(提升3%~4%)。
- 应用了层次结构后,即使用平均的方式使权重都一样,效果提升也很明显。
所用数据集
1.Yelp’13、'14、'15
2.IMDB
3.Yahoo Answer
评估指标
Accuracy
启发点
1.对于文档分类,不是所有的词汇都与分类结果相关;相关的部分要参考词语间的上下文关系,而非仅仅是他们的独立表示。
2.使用两种级别的注意力机制(word和sentence级)来获取上下文信息以衡量单词和句子在不同上下文中的重要程度。
3.图画的很好,实验很全面,能展现Attention具体注意的是句子的哪一部分。
Tricks
1.min_count >= 5, 是为了把出现次数较少的词语丢弃不要,缩小词语的数量,加快训练的速度降低训练的复杂度。
UNK替换掉出现次数=5次的词是为了防止过拟合。
2. 每个batch里的长度相同,batch间的长度不同,可以提升3倍训练速度。
3. 网格搜索( grid search ):手动给出参数,程序自动的把这些都运行一遍取最优,耗时久且易造成维度灾难,适用于三四个超参数的情况。
随机搜索( random search ):给出参数的范围,程序通过随机采样去搜索和优化。
4. 超参momentum的设置:即动量,对于一般的SGD:w = w - lr * dw,容易造成震荡,如果添加momentum的话则:v = mu * v - lr *dw, w = w + v, 即若这一次下降的方向与上一次相同,则会下降的更多,相反则下降得变少,在危险的边缘疯狂试探。
问题与思考
- 最大的价值在于所有序列类型的都可以这么分层处理。
- 相反的,从小到大这样的思想会不会容易导致误差累积,特别是对一些反语,attention能否一样关注到这些词,并且给予相对应的权重呢?
高引用相关研究
- A C-LSTM Neural Network for Text Classification( 2015, LSTM + CNN)
- Document Modeling with Gated Recurrent Neural Network for Sentiment Classification( 2015, hierarchical structure, 提供yelp, IMDB数据集)
- Character-level Convolutional Networks for Text Classification
( 2015, 实验丰富,结果可直接拿来对比 )