1 前言

今天分享一篇做层级性多元标签文本分类任务的paper,题目为:,论文是发表在2019年CIKM上,下载地址为:https://base.ustc.edu.cn/pdf/Wei-Huang-CIKM2019.pdf,论文也公开了源码:https://github.com/RandolphVI/Hierarchical-Multi-Label-Text-Classification。从题目也能看出,论文的核心是作者提出Attention-based Recurrent Network方法来解决多标签分类任务中层级性问题。


参考上图,论文将HMTC任务定义为:
定义1:Hierarchical Structure γ\gammaγ .
C=(C1,C2,...,CH)C=(C^1,C^2,...,C^H)C=(C1,C2,...,CH),其中CCC为categories label集合,H为label的层级数量,CiC^iCi为第i层label的集合。
定义2:HMTC Problem
给定文档集合DDD,及相关的层级标签结构γ\gammaγ,HMTC问题可以转成学习一个分类模型Ω\OmegaΩ进行标签预测,即为:
Ω(D,γ,Θ)→L\Omega(D,\gamma,\Theta) \to LΩ(D,γ,Θ)→L
其中Θ\ThetaΘ 为要学习的参数,Di={w1,w2,...,wN}D_i=\{w_1,w_2,...,w_N\}Di​={w1​,w2​,...,wN​} 为第iii个文本,有NNN个序列词组成;对应Li={l1,l2,...,lH}L_i=\{l_1,l_2,...,l_H\}Li​={l1​,l2​,...,lH​},lil_ili​为第iii层标签集合。
其实,文中解决HTMC任务场景是有一定限制的:对应输入的文本x来说,它在H层标签体系中,每层都是有标签的,而且每层标签的数量是1个或多个。

2 模型


上图为论文的整体模型架构图,分为三层:(1)Documentation Representing Layer (DRL)——进行文本和层级标签的表征学习;(2)Hierarchical Attention-based Recurrent Layer (HARL)——使用注意力机制,让学习的文本向量和标签向量进行循环学习,交互;(3)Hybrid Predicting Layer (HPL)——混合方式进行标签预测。下面重点介绍这三部分内容。

2.1 Documentation Representing Layer

在文本表征上,先使用worde2vec获取词向量,然后使用Bi-LSTM网络进行表征学习,学习得到序列向量VVV

在后续操作上,作者使用了基于词的平均池化操作(word-wise average pooling operation),将VVV变成V~\tilde{V}V~

在层级标签表征上,是使用lookup方式生成初始化矩阵标SSS

最后,将表征学习到的VVV和SSS进行拼接,进入下一个layer进行学习。

2.2 Hierarchical Attention-based Recurrent Layer

这一层是论文核心的体现,其主要思想就是:将第一个layer学习的向量接入一个rnn网络,该网络的内部是HAM结构,而HAM在文中称为Hierarchical Attention-based Memory,意思就是基于attention的层级记忆单元。另外,这个循环网络的节点数应该就是标签的层级数,如数据集的标签有5个层级,那么这一层的rnn节点就为5,可以理解为一层接着一层进行递进式学习,像标签的层级结构一样。

上图为HAM示意图,有点类似LSTM结构,其有三部分组成: Text-Category Attention (TCA),Class Prediction Module (CPM),Class Dependency Module(CDM),其计算公式为:

其中raath,Watthr_{aat}^{h},W_{att}^hraath​,Watth​ 分别代表h-level层的文本与标签交互信息,与h-level层文本与标签交互的attention权重。

PLh,ALhP_L^h,A_L^hPLh​,ALh​分别代表h-level层标签预测的概率,与h-leve层模型整体表征的信息。

ωh\omega^hωh为h层学习到的信息,作为记忆信息,进行传递学习用。

Text-Category Attention

上图为Text-Category Attention计算图,其主要目标是让输入的文本与各层级的标签进行交互学习,使用的方法类似注意力机制,计算公式对应如下:



看着上图觉得挺复杂的,其实计算起来很简单,VhV_hVh​是利用上一层的信息进行更新,可以理解接受上一层与label相关用的信息;Oh,WatthO_h,W_{att}^hOh​,Watth​是计算输入的文本与第h层标签的attention,后者为权重值;Mh,ratthM_h,r_{att}^hMh​,ratth​为计算带标签的文本信息,并平均方式得到最终的文本表征信息。

Class Prediction Module
该模块目的为:将原始文本语义表示与引入前一层信息的关联文本类别表征相结合,生成整体的表征并预测每一层的类别,下为更新公式:

Class Dependency Module

该模块目的为:通过保留各层级的层次信息,对不同层次之间的依赖关系进行交互传递学习,其主要意思想学习到文本中每个序列的词对各级label的关联程度,并将信息进行循环学习。


2.3 Hybrid Predicting Layer

利用第二层的信息进行混合预测,为何是混合预测?原因为:在作者看来,前面学习的每层PLhP_L^hPLh​预测只是局部的预测,需要将每次的信息融合起来进行一个全局的预测PGP_GPG​:

接着将局部预测值和全局预测值加权作为最终预测的值PFP_FPF​:

此处阈值$\alpha $取0.5,认为局部与全局同样重要。

2.4 Loss Function

在预测的时候使用了局部预测和全局预测,作者就对应做了两个loss function,第一个是每个层级的label预测的损失,第二个是全局label预测的损失,最后二者加起来并加一个L2正则作为最终的loss。

3 Experiment

论文使用了两个数据集进行了实验,对比的方法是设置了不同的变体进行对比,并未跟先前类似的paper试验进行比较,各个变体的详情可以阅读论文。


上面两种表图都是体现文中提出的HARNN模型得到最佳结果,表现论文提出方法的有效性,具体试验结果建议有兴趣读者去githup看看源码。

4 简单总结

(1) 在做层级性多元标签文本分类时,文中提出的基于层级数量进行循环学习的方式是值得借鉴的,因为层级性label在父类与子类上是有共性和差异性。
(2) 文中提出的局部预测和全局预测融合的思路也是挺好的,吻合提出的框架结构特性。
(3) 在HAM结构上,有一定的参考意义,但个人觉得有点过于复杂,可以类似GRU结构,设计一个更为简单的处理流程。
(4) 如果处理有些样本并不是每个层级都有对应的label的数据场景时,该模型框架可能需要重新的调整。

更多文章可关注笔者公众号:自然语言处理算法与实践

基于注意力机制的循环网络进行层级性多元标签文本分类相关推荐

  1. 基于注意力机制的循环神经网络对 金融时间序列的应用 学习记录

    摘要: 概况论文内容,包含解决的问题,解决的方法,成果 金融时间序列由于高噪声性以及序列间的相关性,导致传统模型的预测精度和泛化能力往往较低.为了克服这一问题,提出一种基于注意力机制的循环神经网络预测 ...

  2. 基于注意力机制的seq2seq网络

    六月 北京 | 高性能计算之GPU CUDA培训 6月22-24日三天密集式学习  快速带你入门阅读全文> 正文共1680个字,26张图,预计阅读时间10分钟. seq2seq的用途有很多,比如 ...

  3. 基于Attention机制的轻量级网络架构以及代码实现

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要10分钟 Follow小博主,每天更新前沿干货 导读 之前详细介绍了轻量级网络架构的开源项目,详情请看深度学习中的轻量级网络架构总结与代码实现 ...

  4. 基于注意力机制的图卷积网络预测药物-疾病关联

    BIB | 基于注意力机制的图卷积网络预测药物-疾病关联 智能生信 人工智能×生物医药 ​关注 科学求真 赢 10 万奖金 · 院士面对面 9 人赞同了该文章 今天给大家介绍华中农业大学章文教授团队在 ...

  5. 可视化神经机器翻译模型(基于注意力机制的Seq2seq模型)

    可视化神经机器翻译模型(基于注意力机制的Seq2seq模型)   序列到序列模型是深度学习模型,在机器翻译.文本摘要和图像字幕等任务中取得了很大的成功.谷歌翻译在2016年底开始在生产中使用这样的模型 ...

  6. ciaodvd数据集的简单介绍_基于注意力机制的规范化矩阵分解推荐算法

    随着互联网技术的发展以及智能手机的普及, 信息超载问题也亟待解决.推荐系统[作为解决信息超载问题的有效工具, 已被成功应用于各个领域, 包括电子商务.电影.音乐和基于位置的服务等[.推荐系统通过分析用 ...

  7. NLP-Beginner任务三学习笔记:基于注意力机制的文本匹配

    **输入两个句子判断,判断它们之间的关系.参考ESIM(可以只用LSTM,忽略Tree-LSTM),用双向的注意力机制实现** 数据集:The Stanford Natural Language Pr ...

  8. 新年美食鉴赏——基于注意力机制CBAM的美食101分类

    新年美食鉴赏--基于注意力机制CBAM的美食101分类 一.数据预处理 1.数据集介绍 2.读取标签 3.统一命名 4.整理图片路径 5.划分训练集与验证集 6.定义美食数据集 二.注意力机制 1.简 ...

  9. 空间注意力机制sam_一种基于注意力机制的神经网络的人体动作识别方法与流程...

    本发明属于计算机视觉领域,具体来说是一种基于注意力机制的神经网络的人体动作识别的方法. 背景技术: 人体动作识别,具有着非常广阔的应用前景,如人机交互,视频监控.视频理解等方面.按目前的主流方法,可主 ...

  10. JUST技术:基于注意力机制恢复细粒度轨迹

    随着基于位置服务的大量增长,越来越多的移动数据可以被分析挖掘,以更好地服务人们的生活.然而,与来自出租车等运输系统类的高采样率轨迹数据相比,用户地理服务数据具有严重稀疏性问题,是因为用户不会一直访问移 ...

最新文章

  1. 关于SCI的那些事儿
  2. string 转 int_面试官:String长度有限制吗?是多少?还好我看过
  3. 大量多风格多功能后台管理模板
  4. STM32使用IIC总线通讯协议在OLED屏幕上显示字符串、汉字、单总线获取DHT11模块温湿度并通过IIC显示到屏幕(软件IIC)
  5. Android WebView和JavaScript交互
  6. 教你在Kubernetes中快速部署ES集群
  7. 【Elasticsearch】es FST (Finite State Tranduer) 有限状态转换器
  8. ubuntu9.04更新之后无法启动系统的解决办法
  9. 解决读取数据库里面中文字符乱码的问题
  10. mysqldump导出不包含存储过程
  11. XPath总结(转)
  12. python源码多平台编译_Python工程编译成跨平台可执行文件(.pyc)
  13. 2020年华为杯中国研究生数学建模出结果时间
  14. c语言中整型32768输出是多少,c语言中不合法的整型常数是32768为什么 – 手机爱问...
  15. sentencePiece入门小结
  16. 05.前端面经汇总javaScript篇
  17. Python3 unicode编码 \xe4\xbd\xa0 和 \\u884c\\u4e1a\\u5206 转中文
  18. SQL函数StDev与StDevP区别
  19. 个人号微信二次开发,微信ipad协议
  20. SCI-HUB的前世今生以及其他下载论文文献的方法

热门文章

  1. 解决Rational Rose找不到suite objects.dll文件的问题
  2. fir.im分发平台安卓苹果应用下载二维码合并步骤
  3. 录音文件下载_拒绝敲键盘,在线版免费好用的录音转文字工具
  4. JVM学习-深入理解Java虚拟机代码实践问题
  5. html 模糊匹配,CSS 属性选择器 模糊匹配的使用
  6. windows中如何显示/隐藏桌面图标
  7. [ArcPy百科]第一节:何为arcpy
  8. Qt:windows下Qt安装教程
  9. RIME-使用小心得
  10. 动手教你撸一个iOS颜色拾取器