HAN

NAACL2016论文Hierarchical Attention Network for Document Classification利用分层的注意力机制来构建文本表示向量并用于分类任务,效果很好,作者个人主页http://www.cs.cmu.edu/~zichaoy/。

HAN模型就是分层次的利用注意力机制来构建文本向量表示的方法。

文本由句子构成,句子由词构成,HAN模型对应这个结构分层的来构建文本向量表达;

文本中不同句子对文本的主旨影响程度不同,一个句子中不同的词语对句子主旨的影响程度也不同,因此HAN在词语层面和句子层面分别添加了注意力机制;

分层的注意力机制还有一个好处,可以直观的看出用这个模型构建文本表示时各个句子和单词的重要程度,增强了可解释性;

模型结构:

HAN_第1张图片

这篇论文里面使用双向GRU来构建句子表示和文本表示,以句子为例,得到循环神经网络中每个单元的输出后利用注意力机制整合得到句子向量表示(不使用attention时,一般会使用MAX或AVE),过程如下:

HAN_第2张图片

按照文中说法,先经过一层MLP得到隐层表示,然后与word level context vector 做点积,各词语得到的结果再经过softmax函数后的结果就是各自的重要程度,即,最后加权和得到句子表示。文本向量的构建与此一致,之后经过全连接层和softmax分类。

上述就是整个HAN的结构了,其中有一点没太理解,的实际意义到底是什么?文中说是word level context vector ,翻译过来就是词语级别的上下文向量0_0,还一个句子里的所有词语共享。文中解释如下图,的内在含义是表示哪个词语是重要的,然后每个词语与它做点积,看看在该向量方向上的乘积大小,貌似好像也说得通。如果是这样,那还有没有其他的用法?抽时间看看文中提到的记忆网络中的用法后再理解一下。

HAN_第3张图片

你可能感兴趣的:(自然语言处理)