多标签文本分类数据集_标签感知的文档表示用于多标签文本分类(EMNLP 2019)...

原文:

Label-Specific Document Representation for Multi-Label Text Classification(EMNLP 2019)

多标签文本分类

摘要:

本文使用标签相关的注意力网络学习文档表示。

该方法在构建文档表示时使用了标签的语义信息来决定标签和文档的语义联系。

并且,根据文档内容信息,使用了自注意力机制识别标签特定的文档表示。

为了整合以上两部分,使用了自适应的融合机制,这样可以输出全面的文档表示。

1 Introduction:

类似CNN、RNN、注意力机制的方法已经很好的实现了文档的表示。但是其中的大多数方法仅仅关注文档而忽略了标签。

近期的一些工作通过探索标签结构或标签内容捕获标签相关性。尽管其已经取得了一些成果,但是这些方法无法在标签文本有巨大差异的情况下,取得好的效果。

比如Management vs Management moves,就很难区分。

2 Label-Specific Attention Network model (LSAN)

模型包含两部分。第一部分通过利用文档内容和标签文本,从每一个文档中,捕获标签相关的部分。第二部分旨在从两个方面自适应的提取正确的信息。最终,分类器基于融合的标签特定的文档表示。

9241771c43ce7591253951ea64489bb9.png

2.1 Input Text Representation:

使用Bi-LSTM捕获双向的语义信息,从而学习每一个输入文档的word embedding。

在第p个时间步,隐藏状态可以被更新。

e037353fb5a3ee4a5c7dcb087b88159a.png

是第p个单词的embedding向量,是其相应的正向/反向词表示。从而,整个文档可以被表示为:

a05ef74a3ffd8e831b7a75d0826974b7.png

2.2 Label-Specific Attention Network

这一部分旨在于获取每个文档的标签相关的内容。这种策略受启发于文本分类。

例子:

June a Friday, in the lawn, a war between the young boys of the football game start.

属于类别youth和sports。内容young boys与youth更相关而不是sports。而football game直接与sports相关。

2.2.1 Self-attention Mechanism

一篇文档中的每一个单词对每一个标签的贡献程度不同。为了捕获文档与每个标签的相关性,本文采取自注意力机制。标签-单词注意力分数可以通过以下公式获得:

0a49f794b811b838878cc1a8f6a557b9.png

是自注意力参数。代表着所有词对第j个标签的贡献度。

接下来,可以获取文本单词对每一个标签的加权和:

0743ef91c234a479a2ae5132086f59e5.png

是输入文档结合第j个标签的表示。就是标签特定的文档表示,

2.2.2 Label-Attention Mechanism

刚刚的自注意力部分可以看作是基于内容的注意力机制,只考虑到了文档内容信息。

然而,标签在文本分类中具有特定的语义信息。为了利用到标签的语义信息,他们被预处理和表示为一个可训练的矩阵,在同一个潜在的k维空间:

0769dc82c2aa0a59dabaa4cfab4f861d.png

一旦得到Bi-LSTM输出的word embedding,以及标签embedding C,我们可以显式的得到每一对单词和标签的语义联系。一个简单的方法是计算词表示和标签表示的点积:

1d0c9f6fb8962a2638f468a26e81a4d2.png

以上两者分别是词和标签正向和反向的语义联系。与刚刚的自注意力机制类似,标签特定的文档表示可以通过标签词的线性组合被构建:

533631ec582c3847c32ea11d778e5022.png

最后,文档可以被重表示:

4c157d50bc84309b69a8f19f734a8c3e.png

这一部分的表示是基于标签文本,所以我们将其命名为标签注意力机制。

2.3 Adaptive Attention Fusion Strategy

为了对以上两者(基于内容的注意力机制,基于标签的注意力机制)结合,在这一部分我们探究使用了注意力融合机制,自适应的从以上两部分中提取正确的信息,并建立更全面的文档表示。

具体来讲,两个权重向量用于得到以上两部分文档表示的重要程度,可以通过一个全连接层得到:

541fb81f4fba5fb82e4f250c71b48d61.png

两个W是参数。分别是自注意力机制和标签注意力机制的重要程度(沿着第j个标签)。所以为这两对参数添加限制:

756619504665cd315136546cd5674aa6.png

得到最终的文档表示:

53fcbba31b01cf015ad3efb97c3dc976.png

2.4 Label Prediction

在得到最终的文档表示后,我们可以通过含两个全连接层的多层感知机建立一个多标签文本分类器。每个标签的预测概率可以通过如下公式得到:

469597a6aa329ab33eb24a6820528d52.png

Sigmoid输出的值可以看作概率,所以我们最后使用交叉熵损失。

45d7cbc5dd28c8b14140d5f32812d9f4.png

N是训练集文档数目,是标签数量,是零一变量,代表文档是否有标签。

3 Experiments

Datasets:

1ab79242c0fc4359dbf13c229733dd0b.png

不同数据集的标签数量L有多有少。

Baseline Models:

一些经典的文本多标签分类方法:XML-CNN: (Liu et al., 2017),SGM: (Yang et al., 2018),DXML: (Zhang et al., 2018)。

AttentionXML: (You et al., 2018) 可以看作本文模型的特殊情况,即只考虑到了文本内容,没有考虑到标签语义。

EXAM: (Du et al., 2018) 与本文模型最接近的工作,但是本文模型处理的更好。

3.2 Comparison Results and Discussion

7f7471370f1d5b5a98561ccf5c7a3cb6.png

XML-CNN的效果最差,原因是其没有考虑到标签相关性。

在RCV1和Kanshan-Cup数据集上,AttentionXML比EXAM效果好。因为这两个数据集具有层级标签结构。此时父标签和子标签可能包含相同的文本内容,使得其更难区分。

在EUR-Lex数据集上,AttentionXML效果最差,因为其只关注文档内容信息,EXAM和LSAN都受益于标签文本信息,所以效果更好。

3.3 Comparison on Sparse Data

为了验证本文方法LSAN在低频标签上的效果,我们将EUR-Lex根据频率划分为三个组。

d589e639f7e4dedfba51eb00ab5fde4b.png

三个方法在三个组上的效果:

2b183924d584496a3f5af7269d464437.png

特别是在低频标签上,本文提出的方法获得了更大的提升。

3.4 Ablation Test

文本提出的LSAN方法可以看作是三部分的结合:自注意力部分(A),标签注意力部分(L)和融合注意力部分(W)。

a7671ff9e313004e99174c47bbed52e8.png

自注意力部分A用来找到有用的文档内容,标签注意力部分L利用到了标签文本信息显式得得到了文档和标签的语义联系。然而,有些标签不易被区分(e.g., Management vs. Management movies).,所以结合两者也很重要。

注意力权重展示:

为了进一步展示融合注意力机制的重要性,展示自注意力和标签注意力在两个数据集上的权重分布。其中EUR-Lex数据比较稀疏,AAPD不稀疏。

5bce6ca61f0b2690b80a4b380c05e520.png

正如我们预料的,在稀疏数据集上,标签注意力机制比自注意力机制更有效。在不稀疏的数据集上,每个标签有充分的文档,所以自注意力机制就够了。

可视化:

探究标签注意力机制的效果。Computer Vision和Neural and Evolutionary Computing是该例子的两个类别,我们可以看出其各自在文本中对应的单词。

7f1e8a5388ef648c00eb070685325268.png

启发:

注意力机制可以拿来进行自适应学习,学习两部分的动态加权。但是需要两部分都有好的性能才能取得更好的效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/436349.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

a.pop啥意思python_python中pop什么意思

python中pop什么意思,赋值,移除,元素,位置,变量python中pop什么意思易采站长站,站长之家为您整理了python中pop什么意思的相关内容。python中pop()将列表指定位置的元素移除,同时可以将移除的元素赋值给某个变量,不填写位置参数则默认删除最后…

【转】CAN 通信测试工具 canutils

转自:https://blog.csdn.net/engrossment/article/details/105222753 概述 CAN,Controller Area Network,控制器局域网,一种高可靠性的现场总线。广泛用于汽车电子、工业控制通信。 canutils 工具包内含 5 个独立的程序&#x…

【转】VS技巧—任务列表Task List(ToDoList)

写代码难免有些地方需要以后修改,或者有些地方需要以后晚上。比如我想以后修改此函数,有人会使用注释来提醒自己,比如会写上 //zhangsantodo it is a test function //zhangsantodo it not good 然后在需要修改时全局搜索“zhangsantodo”…

哈希桶 entry_哈希表代码实现

哈希表的主要用处:快速的数据存储和查找。例如,在我们日常上网过程中搜索某条信息的时候,信息的存储方式决定了查找该信息的速度,哈希表结合了数组的便捷访问和链表的便捷查找和删除的特点。实现方式:通过哈希函数获取…

投标报价得分计算程序_什么是投标报价?怎么计算呢?

投标价格是投标文件中的实质性内容,也是评审因素中的核心内容。在招标采购活动中,由于投标人的疏忽,经常出现投标报价遗漏、书写错误、前后不一等问题。今天保标招标网小编就跟大家一起来看看什么是投标报价?招投标中复价是什么意…

设备I/O之OVERLAPPED

OVERLAPPED,顾名思义为重叠,乍一看会很奇怪,重叠?谁跟谁重叠?似乎在WIN32的Programming中没有这个概念呀?要讨论这个问题就要追溯到对设备I/O的访问中。 在WIN32中,用户不能象以前那样直接对硬件进行访问,使得这一层对开发者而言是个"黑盒",而提供了一组对应的API…

【转】在windows上安装VTK

看了很多教程,花了1天半的时间装上了,记录下。 前置条件:我安装了VS2015,用来编译工程。 参考资料 官方:http://www.vtk.org/Wiki/VTK/Building 安装:http://blog.csdn.net/Chinamming/article/details/1…

映射网络驱动器后为什么每次都要重新连接_如何映射网络驱动器?

有些设备的电脑需要处理一些共享资料或者需要一些外部资料才能生产运行,但是这些资料在本电脑没有,要去企业的公共盘(共享磁盘)里面获取,公共盘是网络上驱动器,这时候我们就要把公共盘映射到本地电脑。PCB厂…

解析 Linux 中的 VFS 文件系统机制

简介: 本文阐述 Linux 中的文件系统部分,源代码来自基于 IA32 的 2.4.20 内核。总体上说 Linux 下的文件系统主要可分为三大块:一是上层的文件系统的系统调用,二是虚拟文件系统 VFS(Virtual Filesystem Switch),三是挂…

去除分页预览

有时我们在打开一个Excel表的时候,会出现如下图样式: 此为作了"分页预览"设置,取消方法如下图: 选择"普通"即可转载于:https://www.cnblogs.com/wxbbk/archive/2007/10/07/915773.html

【转】VTK + QT + VS 编译安装配置

VTK Vtk,(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C构建的,包含有大约250,000行代码&#…

用Linq转换数据

Linq的好处不用多说。由于它能Linq TO XXX,所以用它进行XXX数据类型之间的转换也是非常惬意的事情。 转载于:https://www.cnblogs.com/think/archive/2007/10/26/Linq1.html

【转】我的CV之路第一篇:ITK是啥?

Itk篇 (Insight Segmentation and Registration Toolkit)ITK Itk篇前言一、ITK是什么?二、一些函数 1.读/写图片2.滤波器 前言 学习医疗图像分割过程中,遇到了很多困难,英文文献,数学基础,图像…

【转】二、VTK用于QT的安装

一、说明 本文的主要目的是在说明通过Cmake重新编译VTK,使得其能够与QT交互使用 二、VTK的安装 VTK版本:8.2.0 VS版本2019 电脑:win-64bit 需要软件:CMake(我使用的版本是3.16.0) 三、过程 大概过程分为以下几个步骤: 1、下载vt…

【转】一、用于VS2019的QT配置

转自:https://www.cnblogs.com/fantianliang/p/12355973.html 一、前言 本期间的主要目的是最后能够使用VS开发关于QT为界面的程序,同时能够使用VTK和ITK程序,这是第一部分。 因为之前查看的有关博客随着时间没有跟随版本变化,所…

IIS 7.0探索用于 Windows Vista 的 Web 服务器和更多内容

我经常听到 Microsoft 内部和外部的人将新的 IIS 7.0 Web 服务器称为 Microsoft 在过去几年中所进行的最重要的开发工作之一。考虑到 Microsoft 最近推出了一系列引人注意的技术,包括 Windows Vista™,这个评语具有重要意义! IIS 7.0 的发布时…

【转】三、QT例子-打开一个图片并且显示

一、前言 本博客的主要目的在于对QT有进一步的了解,单纯只使用QT。 今天小例子主要是打开图片,然后显示出来,并且显示图片的路径。 二、工程建立 1、参考前面 博客一QT安装过程里面的例子, 建立一个QT GUI Application 2、打开.u…

【转】四、关于如何使用软件库的一个技巧-避免重复配置属性表

一、前言 我们需要使用各种函数库,比如Opencv,Itk, vtk,当不同的函数库使用的时候,在VS配置属性是一个很麻烦的问题,并且设计到不同函数库的交叉使用,所以这里提供一个小技巧。 那就是我们把每一个函数库的配置为属性表的形式&…

Ajax Extensions核心控件介绍

摘自:http://www.cnblogs.com/remember515/archive/2007/06/28/799030.html Ajax的核心组件包括ScriptManager、ScriptManagerProxy、UpdatePanel、Timer、UpdateProgress,其相关属性如下:updatePanel控件UpdatePanel主要属性 UpdateMode 内容模板的更…

【转】五、VTK读取图片,然后QT显示

一、前言 今天实现的主要功能是通过vtk读取jpg图片(只能够读取.jpg文件),然后通过QT显示出来,整个程序的框架是QT GUIApplication 版本: VS2019VTK8.2.0QT5.13.1版本配置 VS 为release x64(这个是工程建立的时候设置的解决方案属性&#xff…