HAN

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

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

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

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

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

模型结构:

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

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

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

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PyTorch HAN,全称为PyTorch Hierarchical Attention Network(PyTorch层次化注意力网络),是基于深度学习框架PyTorch开发的一种层次化注意力模型。 HAN模型在处理文本分类问题时,能够有效地考虑文本的层次结构特点。在语义理解任务中,通常需要考虑文本的段落、句子和单词层次的信息。HAN模型通过使用两层的注意力机制,能够在不同层次上对文本进行建模并自动学习到不同层次的重要信息。 HAN模型的结构主要分为两个层次:文档层次和句子层次。在文档层次中,通过使用GRU(门控循环单元)或LSTM(长短时记忆网络)对文档进行编码。然后,通过注意力机制对不同句子的重要程度进行学习,将句子向量进行加权平均得到文档向量。在句子层次中,再次使用GRU或LSTM对每个句子进行编码,并通过注意力机制学习句子中不同单词的重要程度得到句子向量。 HAN模型的注意力机制能够自动学习到不同层次的重要信息,并将其融合到向量表示中。通过考虑文本的层次结构,模型可以更好地理解文本中的内容和语义。与传统的词袋模型或循环神经网络相比,HAN模型通过学习到不同层次的重要信息,能够提取更加丰富和准确的特征。 总之,PyTorch HAN是一个强大的文本分类模型,通过层次化的注意力机制,在处理文本数据时能够更好地建模和学习不同层次的重要信息,进而提升模型的性能和准确度。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值