写在前面

最近在整理文本分类方面比较经典的模型,看到了“Hierarchical Attention Networks for Document Classification”这篇论文,还是蛮有意思的,作者的想法也非常有特色,然后就去网上找了一些参考资料博客辅助理解,整理一下思路记下来。

论文概述

近年来,在NLP领域,好像最流行的就是RNN、LSTM、GRU、Attention等及其变体的组合框架。这篇论文里作者就对文本的结构进行分析,使用了双向GRU的结构,并且对Attention进行调整:考虑了word层面的attention和sentence层面的attention,分别对单词在句子中和句子在文档中的重要性进行了建模。仔细一想确实是挺合理的,一片文档就是由无数句子构成的,而一个句子又是由无数单词构成的,充分考虑了文档的内部结构。

上图就是论文中文本分类模型的整体框架,可以看出主要分为四个部分:

word encoder  (BiGRU layer)

word attention (Attention layer)

sentence encoder  (BiGRU layer)

sentence attention (Attention layer)

首先回顾一下GRU的原理:

GRU是RNN的一个变种,使用门机制来记录当前序列的状态。在GRU中有两种类型的门(gate):reset gate和update gate。这两个门一起控制来决定当前状态有多少信息要更新。

reset gate是用于决定多少过去的信息被用于生成候选状态,如果Rt为0,表明忘记之前的所有状态:

根据reset gate的分数可以计算出候选状态:

update gate是用来决定由多少过去的信息被保留,以及多少新信息被加进来:

最后,隐藏层状态的计算公式,有update gate、候选状态和之前的状态共同决定:

接着来回顾一下Attention原理:

1、word encoder layer

首先,将每个句子中的单词做embedding转换成词向量,然后,输入到双向GRU网络中,结合上下文的信息,获得该单词对应的隐藏状态输出

2、word attention layer

attention机制的目的就是要把一个句子中,对句子表达最重要的单词找出来,赋予一个更大的比重。

首先将word encoder那一步的输出得到的输入到一个单层的感知机中得到结果作为其隐含表示

接着为了衡量单词的重要性,定义了一个随机初始化的单词层面上下文向量,计算其与句子中每个单词的相似度,然后经过一个softmax操作获得了一个归一化的attention权重矩阵,代表句子i中第t个单词的权重:

于是,句子的向量Si就可以看做是句子中单词的向量的加权求和。这里的单词层面上下文向量是随机初始化并且可以在训练的过程中学习得到的,我们可以把它看成是一种query的高级表示:“句子中哪些词含有比较重要的信息?”

3、sentence encoder

通过上述步骤我们得到了每个句子的向量表示,然后可以用相似的方法得到文档向量

4、sentence attention

和词级别的attention类似,作者提出了一个句子级别的上下文向量,来衡量一个句子在整篇文本的重要性。

5、softmax

上面的v向量就是我们的到的最后的文档表示,然后输入一个全连接的softmax层进行分类就ok了。

模型效果

代码实现

https://github.com/KaiyuanGao/text_claasification/tree/master/han_classification

以上~

【论文复现】Hierarchical Attention Networks for Document Classification相关推荐

  1. 中文短文本分类实例十二-HAN(Hierarchical Attention Networks for Document Classification)

    一.概述 HAN(Hierarchical Attention Networks for Document Classification),层次化注意力机制等,是Zichao Yang等2016年提出 ...

  2. Hierarchical Attention Networks for Document Classification(HAN)

    HAN历史意义: 1.基于Attention的文本分类模型得到了很多关注 2.通过层次处理长文档的方式逐渐流行 3.推动了注意力机制在非Seqseq模型上的应用 前人主要忽视的问题: 1.文档中不同句 ...

  3. Hierarchical Attention Networks for Document Classification 阅读笔记

    之前存在的问题:当所要处理的序列较长时,就会导致网络容易忘记之前的东西 解决办法:提出了"注意力"机制,使得网络工作过程中可以像人一样将注意力放在不同部位.这篇论文就针对文本分类问 ...

  4. 多层注意力模型:Hierarchical Attention Networks for Document Classification

    1.简介 文本分类问题一直是自然语言处理(NLP)中一个广受人们关注的问题.可能好多刚接触深度学习做NLP的项目就是使用循环神经网络(RNN)对IMDB影评进行分类.但使用循环神经网络时一般会遇到一个 ...

  5. 《Hierarchical Attention Network for Document Classification》—— 用于文本分类的层次注意力网络

    目录 <Hierarchical Attention Network for Document Classification>-- 用于文本分类的层次注意力网络 1.文本分类 1.1 文本 ...

  6. Attention 与Hierarchical Attention Networks 原理

    Attention 与Hierarchical Attention Networks 1. Attention 注意力机制 1.1 什么是Attention? 1.2 加入Attention的动机 1 ...

  7. 一个Hierarchical Attention神经网络的实现

    最近我突然有了一些富余的整块时间.于是我实现了一些有意思的论文的idea, 其中印象最深的还是<Hierarchical Attention Networks for Document Clas ...

  8. 【论文复现】Character-level Convolutional Networks for Text Classification

    写在前面 今天讨论的论文依然是文本分类主题的.Character-level Convolutional Networks for Text Classification这篇论文是在2016年4月份发 ...

  9. Hierarchical Attention Prototypical Networks for Few-Shot Text Classification

    Abstract 目前文本分类任务的有效方法大多基于大规模的标注数据和大量的参数,但当监督训练数据少且难以收集时,这些模型就无法使用. 在本文中,我们提出了一种用于少样本文本分类的分层注意原型网络(H ...

最新文章

  1. 为AI从业者/研究生/研究员专门定制的全网唯一高端AI训练营
  2. python中字符串的常见操作方法
  3. 【XSS】延长 XSS 生命期
  4. I - 查找练习 hash——出现过的数字(水题A的)
  5. 文件头_常见文件文件头
  6. AAAI 2020 开源论文 | 可建模语义分层的知识图谱补全方法
  7. 快速发包突破ARP防火墙思路
  8. 总结一些写毕业论文背景研究可以参考的资源
  9. C语言课后习题(6)
  10. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群 (2)
  11. UIImage保存到相册
  12. window安装python3后怎么用pyspark_pyspark:连接spark集群Windows环境搭建
  13. AS3 CookBook学习整理(二)
  14. 【解决方法】ubuntu20 hp1020 打印机不识别无反应
  15. 电脑C盘空间严重不足,教你5招!电脑内存瞬间多出10个G
  16. 鸿蒙系统投影仪,投影仪有系统和无系统的区别 当贝OS好在哪里?体验完明白了!...
  17. 决策树应用实例①——泰坦尼克号分类
  18. 爬虫(04)cookie+session+正则+字典快速生成2020-12-18
  19. matlab中图线颜色大全
  20. eNSP实验三:OSPF路由协议

热门文章

  1. 转发:一个复杂系统的拆分改造实践
  2. C#有关string的方法
  3. linux定时任务总结。
  4. Unity3D手游开发日记(6) - 适合移动平台的水深处理
  5. 自定义ContentProvider的一些细节探究
  6. 洛谷 P5091 【模板】欧拉定理
  7. 洛谷 P1306 斐波那契公约数
  8. sql_action
  9. 刚写完的商城erp + 这个商城前台,新鲜出炉。自己1个人写, 包括php框架和前端html页面....
  10. [Android]Android四大组件之Service总结