HAN模型理解2

Hierarchical Attention Networks for Document Classification 论文的理解

在论文的摘要中,它提出了论文的两个特点。第一个就是对应文章所有具有的分层结构,这个模型采取了相应的分层结构。这个文章的分层结构怎么理解呢?
文章是具有分层结构的,单词构成了句子,句子构成了文章。根据这个结构,HAN提出了在表示文章的时候,先是在第一层得到句子的表示,然后在第二层得到文章的表示。(这句话
可能有点费解,这个结构在第一层使用的是单词向量,所以在第一层最后得到的就是一个句子的表示结果,在第二层,我们输入的是句子的表示向量,得到的第二层结果就是文章的表示向量)。
第二个特点就是这个模型在单词和句子两个层次上都应用了相应的attention原理。这个attention原理本质是提取出句子中重要单词和文章中重要的句子。
所以这个机制对于文章内容的精确表示起到了很重要的特征。

为什么我们要根据这个文章的结构,而在HAN中使用相应的结构和attention原理呢?我们在想一个论文的创新点的时候,初衷一定是这个创新点能够让我们的神经网络结构可以在精准度上得到提升。
那么在HAN中使用和文章相对应的结构,一定是能够对结果产生不错的效果。我们从直觉上去感受一下这个创新的地方。从生活常识中,我们知道,如果在情感分类短文本任务中,一个句子中
能够表达情感观点的就是最重要的那么几个词,而不是整整一句话。那么对于一个文章,最重要的并不是全部的句子,而是就那么几个句子(不同文章可能数量不一样)。
还有一点就是相同的单词在不同的句子中肯定有着不同的意思,表现不同的情感。用的最多的一个极端例子就是,苹果这个词,既可以是个水果,也可以是个品牌。
那么相对应的我们可以想到,同一个句子在不同文章中肯定也有不同的表现。

上面所说的,就是我们为什么在HAN中,使用分层结构加上attention原理。总结就是说,分层结构,让我们从本质上把握这个文章(从单词出发,经过句子,最后来到全局角度,也就是文章)。attention机制,是让我们把握住句子中
重要的单词和文章中重要的句子。这个机制会自动的让神经网络依据单词的上下文和文章的上下文,找到重要的单词和重要的句子。

具体到HAN模型,可以看一下图片。
简单讲,它可以由四部分组成: 一个处于单词层面的编码器,一个处于单词层面的attention层,一个处于句子层面的编码器,一个处于句子层面的attention层。

对于编码器来讲,在这里使用的是双层GRU

对于attention来说,假设我们文章有L个句子\(s_i\) ,而且每个句子包含有\(T_i\)个单词。对于\(w_{it}\)这个符号,它代表的是第i个句子中的第t个单词,其中t的取值范围是[1,T]

如何构建文档向量

posted @ 2019-03-15 11:36  DUDUDA  阅读(1033)  评论(0编辑  收藏  举报