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]

如何构建文档向量

HAN模型理解2的更多相关文章

  1. HAN模型理解1

    HAN 模型 最开始看这个模型是看的这个解释: RNN+Attention(HAN) 文本分类 阅读笔记 - 今天做作业没的文章 - 知乎 https://zhuanlan.zhihu.com/p/4 ...

  2. caffe_手写数字识别Lenet模型理解

    这两天看了Lenet的模型理解,很简单的手写数字CNN网络,90年代美国用它来识别钞票,准确率还是很高的,所以它也是一个很经典的模型.而且学习这个模型也有助于我们理解更大的网络比如Imagenet等等 ...

  3. border,padding,margin盒模型理解

    安静的敲着键盘,已势不可挡的姿势逼近php,我想我是一个幸福的人,未来不可期,做好现在,偶尔写着自己能看懂的API,慢慢悠悠的回味一下前端基础知识. 本文盒模型理解. <!DOCTYPE htm ...

  4. css 盒子模型理解

    盒子模型是html+css中最核心的基础知识,理解了这个重要的概念才能更好的排版,进行页面布局.下面是自己积累和总结的关于css盒子模型的知识^_^,希望对初学者有用. 一.css盒子模型概念 CSS ...

  5. css总结7:盒子模型理解

    1 盒子模型 1.1盒子模型的盒子:     以博客园页面为例: 1.2盒子内部构造:边框(border).内容(content).填充(padding).边界(margin)---CSS盒子模式都具 ...

  6. Java内存 模型理解

    概述 在正式讲Java内存模型之前,我们先了解一些物理计算机并发问题,然后一点点的引出Java内存模型的由来. 多任务处理在现在计算机操作系统中几乎是一项必备的功能.这不单是因为计算机计算能力强大,更 ...

  7. BiLSTM-CRF模型理解

    适用任务 中文分词.词性标注.命名实体识别是自然语言理解中,基础性的工作,同时也是非常重要的工作. 在很多NLP的项目中,工作开始之前都要经过这三者中的一到多项工作的处理. 在深度学习中,有一种模型可 ...

  8. uboot的驱动模型理解

    uboot的驱动模型,简称dm, 具体细节建议参考./doc/driver-model/README.txt 关于dm的三个概念: uclass:一组同类型的devices,uclass为同一个gro ...

  9. kafka模型理解

    1.消息发送至一个topic,而这个topic可以由多个partition组成,每条消息在partition中的位置称为offset 2.消息存在有效期,如果设置为2天,则消息2天后会被删除 3.每个 ...

随机推荐

  1. intellijidea课程 intellijidea神器使用技巧 5-1 svn相关

    subversion ==> show local history 查看历史记录 Ctrl D 历史记录对比 ctrl alt z 复原

  2. ansible的安装及命令相关模块

    ansible 第一步:下载epel源 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos- ...

  3. css清除浮动的原理

    最近学习css发现了高度塌陷时候要清除浮动,为了理解清楚浮动原理,网上找了不少资料,发现都写的不是很清楚,而且都是一模一样的内容,我在里分享一下我对清楚浮动原理的理解, 如果你已经很了解什么是浮动和浮 ...

  4. canvas制作运动的小球

    <!DOCTYPE html> <head> <title>canvas</title> <style> .canvas{ border: ...

  5. 信息无缝滚动效果marquee

    横向滚动.纵向滚动 1. 解决滚动的空白 向左向右滚动的话,可以根据父级定位left,每次加或者减可以使物体向左或右运动,用top也可以实现向上或向下运动 上下滚动实现无缝滚动1. innerHTML ...

  6. C++ Knowledge series 3

    Programming language evolves always along with Compiler's evolvement The Semantics of Data The size ...

  7. Android 6.0 动态权限申请

    1. 概述 Android 6.0 (API 23) 之前应用的权限在安装时全部授予,运行时应用不再需要询问用户.在 Android 6.0 或更高版本对权限进行了分类,对某些涉及到用户隐私的权限可在 ...

  8. ArcGIS for Service中JavaScript预览在内网环境无法使用

    1.问题说明 在使用ArcGIS for Service时经常会遇到一个问题,那就是我们需要对已经发布的服务进行预览,预览时点击对应服务,选择View in中的ArcGIS JavaScript就可在 ...

  9. polyfill 一个解决兼容的绝佳方案

    polyfill为何物 Polyfill你可以理解为“腻子”,就是装修的时候,可以把缺损的地方填充抹平. 举个例子,html5的storage(session,local), 不同浏览器,不同版本,有 ...

  10. http 状态码集合

    HTTP常见状态码 200 301 302 404 500   HTTP状态码(HTTP Status Code) 状态码并不是每个都有,为了后期扩展.[update20170505] 一些常见的状态 ...