NLP——文本分类模型(HAN)(三)

1、引入

1. NLP——文本分类模型(一)
2. NLP——文本分类模型(二)

在之前的文章中,我们介绍了基于CNN机制是如何应用于文本分类。近些年来Attention机制的兴起引起了巨大的关注,由于其简单,高效,容易扩展的机制收到了广泛的追捧。同时,对于线性Attention机制的改进也层出不穷,下面我们来介绍一个利用Attention机制进行文本分类的算法——HAN模型。

2、HAN模型

首先,我们给出模型的整体结构:

根据上面的图示,我们可以知道HAN模型一个包括Word Encoder,Word Attention,Sentence Encoder,Sentence Attention的四个过程。下面我们具体的来进行介绍。

2.1 Word Encoder层

在之前文章中,我们提到过,基于序列的深度学习模型,因为结构的相似性,所以在对语言模型的模拟上具有天然的优势。同时,采用双向的结构,可以同时获取到上文的特征信息和下文的特征信息。这里也是基于这个思想,所以在Word Encoder层中,采用的是双向的GRU结构。如果对GRU的结构还是不是很了解,我们通过下面的图示来回顾一下:

GRU是RNN结构的一个变种,具体的来说,其包含两个门结构,rt和zt(ut),其中rt为reset gate(重置门),通过这个门控机制,可以用来控制由之前的节点传递过来的信息来生成候选信息,zt(ut)为update gate(更新门),通过这个门控机制,可以控制当前输入的信息和前面传递信息的综合,同时存在一个h~t,用来控制生成当前的候选状态。最后通过前一个时刻的状态,当前时刻的候选状态,以及更新门的门控输出来决定当前的隐状态输出。

通过双向的线性的GRU结构,我们可以去模拟语言模型,并综合词汇的上下文信息,获取到每一个词汇在GRU中的隐状态输出,来对每一个词汇进行编码操作。

在获得了GRU的输出结构之后,模型采用了个简单线性层,对GRU的输出进行一步线性映射的过程,将其变成更高层的表示,可以理解为对要计算Attention的输入H,将其映射成Key的过程。其计算公式如下:
U=tanh(WH+b)U=tanh(WH+b)U=tanh(WH+b)
其中H表示GRU的输出,对于每一个输出单元UtU_tUt​表示GRU的第t个输出在线性映射之后的结果。

2.2 Word Attention层

在这里,假设您已经有了一定的Attention基础,所以,我们就不对Attention机制进行赘述了。在HAN模型中,采用的是Soft-Attention的计算机制,也就是说,我们初始给出一个查询向量UWU_WUW​(作为一个参数,在反向传播中进行优化。),然后利用这个查询向量分别和Word Encoder层的输出计算相关的权重系数(内积+softmax),在利用权重系数对于输入的词汇的表示向量进行加权求和来形成最后的Attention值。其计算公式为:
at=exp(UtTUW)∑texp(UtTUW)a_{t}=\frac{exp(U_t^TU_W)}{∑_texp(U_t^TU_W)}at​=∑t​exp(UtT​UW​)exp(UtT​UW​)​
S=∑tatHtS=∑_ta_{t}HtS=t∑​at​Ht
这样,我们就通过Attention机制将输入的各个词综合成一个句子的表示向量。这里需要注意的是,对于一个文本而言,其输入是由多个句子所组成的,那么也就是说,我们需要获得多个句子的向量表示来综合获得文本的表示。这个过程就是重复上述的词编码和词Attention的计算过程,最后可以生成每一个句子i的Attention结果SiS_iSi​。
上述的过程可以用下图来表示:

2.3 Sentence Encoder

这个过程与之前的Word Encoder十分的相似,也就是说我们继续通过双向的GRU结构来对句子输入进行编码,由于句子在文本中的出现也是有顺序的,所以我们可继续按照句子出现的顺序,将句子的表征向量SiS_iSi​作为输入,获取每一个句子在综合上下文的输出结果。

2.4 Sentence Attention

这个过程也是在重复上面的word Attention的计算过程,通过随机的初始变量UsU_sUs​和句子级的GRU输出来计算Attention值,加权求和之后可以获得关于文本的Attention向量,在利用softmax来对文本进行分类操作。上面的两个部分如下图所示:

2.5 总结

HAN文本分类模型基于词汇层级和句子层级来考虑文本的特征,同时采用Attention机制将选择模型分类的重点。在利用softmax进行分类。

3 参考

  1. 文本分类(TextRNN/TextCNN/TextRCNN/FastText/HAN)

NLP——文本分类模型(HAN)(三)相关推荐

  1. 文本分类模型第二弹:HAN(Hierarchy Attention Network)

    一.前言 本文是文本分类的第二篇,来介绍一下微软在2016年发表的论文<Hierarchical Attention Networks for Document Classification&g ...

  2. [NLP] 文本分类之TextCNN模型原理和实现(超详细)

    1. 模型原理 1.1论文 Yoon Kim在论文(2014 EMNLP) Convolutional Neural Networks for Sentence Classification提出Tex ...

  3. NLP 模型“解语如神”的诀窍:在文本分类模型中注入外部词典

    一. 引言 现实世界的文本表述如恒河沙数,以惊人的速度变换着,人工智能(AI)在快速识别形形色色的文本之前,必须经过充足的训练数据洗礼.然而,面对复杂多变的文本表述,NLP 模型往往无法从有限的训练数 ...

  4. NLP --- 文本分类(向量空间模型(Vector Space Model)VSM)

    本节主要介绍文本分类中的一种算法即向量空间模型,这个算法很经典,包含文本预处理.特征选择.特征权值计算.分类算法.这是VSM的几个主要步骤,在宗老师的书里都有详细的讲解,这里也会进行深入的讲解,浅显易 ...

  5. 文本分类模型_【文本分类】几个可作为Baseline的模型

    点击上方,选择星标或置顶,每天给你送干货! 阅读大概需要9分钟 跟随小博主,每天进步一丢丢 来自:AINLP 作者:老宋的茶书会 知乎专栏:NLP与深度学习 研究方向:自然语言处理 前言 最近,从Te ...

  6. 独家 | 教你用Pytorch建立你的第一个文本分类模型!

    作者:Aravind Pai 翻译:王威力 校对:张一豪 本文约3400字,建议阅读10+分钟 本文介绍了利用Pytorch框架实现文本分类的关键知识点,包括使用如何处理Out of Vocabula ...

  7. 文本基线怎样去掉_ICML 2020 | 基于类别描述的文本分类模型

    论文标题: Description Based Text Classification with Reinforcement Learning 论文作者: Duo Chai, Wei Wu, Qing ...

  8. fastText、TextCNN、TextRNN……这里有一套NLP文本分类深度学习方法库供你选择 作者:机器人圈 / 微信号:ROBO_AI发表时间 :2017-07-28 图:pixabay

    fastText.TextCNN.TextRNN--这里有一套NLP文本分类深度学习方法库供你选择 「机器人圈」编译:嗯~阿童木呀.多啦A亮 这个库的目的是探索用深度学习进行NLP文本分类的方法. 它 ...

  9. ICML 2020 | 基于类别描述的文本分类模型

    论文标题: Description Based Text Classification with Reinforcement Learning 论文作者: Duo Chai, Wei Wu, Qing ...

最新文章

  1. Python设计模式-建造者模式
  2. cntos7 安装Anaconda3 和Jupyter notebook
  3. 저장소system.runtime.remoting.messaging.callcontext
  4. python建立数据库表格
  5. 借呗利息为什么比银行信用贷款高很多?
  6. 使用express搭建服务器获取MySQL数据库数据
  7. river歌曲表达的意思_华晨宇新歌《斗牛》究竟表达了什么?
  8. Thinkphp3.2.3的主从分离事务问题(坑!!!)
  9. 840万应届生创历史新高,企业大规模缩招,互联网行业首次出现需求负增长
  10. hashCode and equals in map
  11. 玩qq游戏提示计算机内存不足,我有时玩QQ游戏就出现虚拟内存不足.要怎么 – 手机爱问...
  12. ubuntu软件默认安装位置
  13. 英语应征计算机作文,高三英语作文 应征英语话剧社的邮件English Drama Club
  14. Dubbo,入门Demo案列使用,框架原理,Zookeeper的使用,安装监控中心和管理控制台,service,provider,comsumer三个项目的Demo
  15. 135节---------4月11日
  16. vue实现标签云,让你的标签动起来
  17. java util zip.zipexc,JAVA解压zip压缩文件的实例
  18. 短视频、直播平台——电商直播源码第三方SDK接入教程
  19. 中科蓝汛 GPIO操作
  20. 矩阵分析与应用-18-Moore-Penrose逆矩阵02

热门文章

  1. 花儿花儿为谁开。。。
  2. android订餐系统app、android购物商城系统app 手机端+服务器端 mysql数据库,界面简单,功能齐全 安卓购物商城 安卓在线订餐系统
  3. BadUSB橡皮鸭WinLinux通用下载者
  4. CSP/NOIP 复赛注意点
  5. OpenAI发布ChatGPT!手把手debug代码!
  6. 使用fiddler实现苹果ios手机抓包--的补充
  7. alpha冲刺(6/10)
  8. centerandzoom 无效_Django调用百度地图api在地图上批量增加标记点
  9. 新药开发相关计算机辅助设计,德研究称药物开发将步入计算机辅助设计时代
  10. 过节了,你还在996嘛~