Hierarchical Attention Networks for Document Classification

tags: Attention

前言

本文提出了一个Hierarchical Attention Network(HAN)模型用来做文章分类的任务,该算法提出的动机是考虑到在一个句子中,不同的单词对于决定这个句子的含义起着不同的作用;然后在一篇文章中,不同的句子又对于该文档的分类起着不同的作用。所以这篇层次Attention模型分别在单词层次和句子层次添加了一个Attention机制。实验结果表明这种机制可以提升文章分类的效果,同时通过Attention的权值向量的权值我们可以看出究竟哪些句子以及哪些单词对文档分类起着更重要的作用。

1. HAN算法详解

1.1 网络结构

HAN的网络结构如图1所示,它的核心结构由两个部分组成,下面是一个单词编码器加上基于单词编码的Attention层,上面是一个句子编码器和一个基于句子编码的Attention层。

1.2 单词编码器

双向GRU的输出是通过拼接前向GRU和反向GRU的方式得到的。

1.3 单词Attention

1.4 句子编码器

句子编码器的也是使用了一个双向GRU,它的结构和单词编码器非常相似,数学表达式为:

1.5 句子Attention

1.5 句子分类

由于使用了softmax激活函数,那么它的损失函数则应该是负log似然:

2. 总结

结合要解决的问题的具体内容设计与之对应的算法流程和网络结构是一个合格算法工程师必须要掌握的技能之一。本文做了很好的示范,它在文档分类任务中将一个文档按照句子和单词进行了分层,并且在每层中使用了效果非常好的注意力机制。通过层次的注意力机制我们可以分析每个单词,每个句子在文档分类中扮演的作用,这对我们理解模型是非常有帮助的。

最后更新于