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. 简简单单谈WCF

    另一个系统去访问另一个系统,就是需要使用到分布式通讯咯.. 1. webService   .netfromwork3.5中存在 2. webapi 3. Wcf    scop通讯协议 以上三种都是 ...

  2. hibernate课程 初探一对多映射2-6 测试-添加和查询学生信息

    package com.ddwei.entity; import java.util.Set; import org.hibernate.Session; import org.hibernate.T ...

  3. JavaScript 对象继承 OOP (三)

      对象继承 A 对象通过继承 B 对象,就能直接拥有 B 对象的所有属性和方法.这对于代码的复用是非常有用的. JavaScript 语言的继承不通过 class (es6 中的class 不过是 ...

  4. 在Git上创建新分支(实用性高!!!)

    在github上创建仓库: Create a new repository on the command line touch README.md git init git add README.md ...

  5. Design Pattern ->Abstract Factory

    Layering & Contract Philosophy With additional indirection Abstract Factory //The example code i ...

  6. Python开发环境Wing IDE如何使用GTK和PyGObject

    Wing IDE是一个集成开发环境,可用于编辑.测试和调试使用PyGObject为GTK编写的Python代码.Wing IDE提供自动完成.调用提示.一个强大的调试器,以及许多其他功能,可帮助用户编 ...

  7. python3绘图示例6-1(基于matplotlib,绘图流程介绍及设置等)

    #!/usr/bin/env python# -*- coding:utf-8 -*- import os import pylab as pyimport numpy as npfrom matpl ...

  8. 如何在windows下安装配置pyspark notebook

    第一步:安装anaconda anaconda自带一系列科学计算包 下载链接:http://pan.baidu.com/s/1b4jWlg 密码:fqq3 接着配置环境变量:如我安装在D盘下   试一 ...

  9. hdu-2688 Rotate---树状数组+模拟

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2688 题目大意: 给你n数,(n<=3e6),有两个操作,Q为 当前有多少对数,满足严格递增, ...

  10. @RequestMapping,@ResponseBody,@RequestBody用法

    本文转载:http://blog.csdn.net/ff906317011/article/details/78552426 1.@RequestMapping 国际惯例先介绍什么是@RequestM ...