HAN模型理解2
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的更多相关文章
- HAN模型理解1
HAN 模型 最开始看这个模型是看的这个解释: RNN+Attention(HAN) 文本分类 阅读笔记 - 今天做作业没的文章 - 知乎 https://zhuanlan.zhihu.com/p/4 ...
- caffe_手写数字识别Lenet模型理解
这两天看了Lenet的模型理解,很简单的手写数字CNN网络,90年代美国用它来识别钞票,准确率还是很高的,所以它也是一个很经典的模型.而且学习这个模型也有助于我们理解更大的网络比如Imagenet等等 ...
- border,padding,margin盒模型理解
安静的敲着键盘,已势不可挡的姿势逼近php,我想我是一个幸福的人,未来不可期,做好现在,偶尔写着自己能看懂的API,慢慢悠悠的回味一下前端基础知识. 本文盒模型理解. <!DOCTYPE htm ...
- css 盒子模型理解
盒子模型是html+css中最核心的基础知识,理解了这个重要的概念才能更好的排版,进行页面布局.下面是自己积累和总结的关于css盒子模型的知识^_^,希望对初学者有用. 一.css盒子模型概念 CSS ...
- css总结7:盒子模型理解
1 盒子模型 1.1盒子模型的盒子: 以博客园页面为例: 1.2盒子内部构造:边框(border).内容(content).填充(padding).边界(margin)---CSS盒子模式都具 ...
- Java内存 模型理解
概述 在正式讲Java内存模型之前,我们先了解一些物理计算机并发问题,然后一点点的引出Java内存模型的由来. 多任务处理在现在计算机操作系统中几乎是一项必备的功能.这不单是因为计算机计算能力强大,更 ...
- BiLSTM-CRF模型理解
适用任务 中文分词.词性标注.命名实体识别是自然语言理解中,基础性的工作,同时也是非常重要的工作. 在很多NLP的项目中,工作开始之前都要经过这三者中的一到多项工作的处理. 在深度学习中,有一种模型可 ...
- uboot的驱动模型理解
uboot的驱动模型,简称dm, 具体细节建议参考./doc/driver-model/README.txt 关于dm的三个概念: uclass:一组同类型的devices,uclass为同一个gro ...
- kafka模型理解
1.消息发送至一个topic,而这个topic可以由多个partition组成,每条消息在partition中的位置称为offset 2.消息存在有效期,如果设置为2天,则消息2天后会被删除 3.每个 ...
随机推荐
- Fsharp 类中的空字段
fsharp设计之初就尽可能的避免使用null.在我的编程经验中null真是个错误之源,垃圾代码之源,95%的系统奔溃之源.其实在设计之初就应该考虑你的系统需要null表现什么?是未初始化的状态,还是 ...
- DOS常见命令
dir: 显示一个目录中的文件和子目录 md: 创建目录 rd: 删除目录 cd: 进入指定目录 cd..: 退回到上级目录 cd\: 退回到根目录 del: 删除文件 set: 显示.设置.删除cm ...
- Controller的使用
- springmvc+spring+mybatis+sqlserver----查询sqlserver----有返回参数
<resultMap type="java.util.HashMap" id="resultMap"> <result column=&quo ...
- [c/c++]判断一个字符串是不是UTF-8字符串
#define CHECK_LENGTH 20 //检查是否为utf8编码时所检查的字符长度 int is_utf8_string(char *utf) { int length = s ...
- u-boot分析(六)----时钟初始化
u-boot分析(六) 上篇博文我们按照210的启动流程,分析到了关闭看门狗,今天我们继续按照u-boot的启动流程进行分析,今天我们会主要分析时钟的初始化. 今天我们会用到的文档: 1. ...
- SharePoint 计时器作业
本文将介绍 SharePoint 2010 的默认计时器作业,即我们通常说的Timer服务.计时器作业在 SharePoint Server 的特定 Windows 服务中运行.计时器作业还是执行定时 ...
- java最大最小堆
堆是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于(或不小于)其左孩子和右孩子节点的值. 最大堆和最小堆是二叉堆的两种形式. 最大堆:根结点的键值是所有堆结点键值中最大者. 最小堆:根结 ...
- Linux CentOS下安装Tomcat9
本文讲解在Linux CentOS下安装Tomcat9,以及Web项目的部署发布. 环境:阿里云ECS 云服务器Linux CentOS 使用XShell客户端连接服务器,进行操作实践. 1.下载To ...
- C#正则表达式获取网址的域名(IP)
代码如下: string p = @"(http|https)://(?<domain>[^(:|/]*)"; Regex reg = new Regex(p, Reg ...