Label-Specific Dual Graph Neural Network for Multi-Label Text Classification笔记
摘要
- 首先这篇文献是发布在IJNLP2021,ACL上的一篇处理多标签分类的文章;
- 这篇文献中指出之前一些多标签文本分类方法处理时,常常是使用标签相关性 。但是,之前的这些工作中常常是很难去区分相似的标签 ,他们针对于相似的标签学习到了相似的文本表示,即在针对于相似标签的表示学习中,他们并没有学习到针对于特定标签的语义成分 ;
- 同时文中还提到了使用高阶的标签相关性将会对处理长尾分布的标签十分有帮助;
- 文中提到的处理多标签文本分类的方法就是使用针对于特定标签的双重图神经网络从文档中学习到针对于特定标签组成部分,并且基于标签共现统计信息以及动态联合构建出一个图,最终构建一个完整且自适应的相互关系,
引言
- 本部分中提到之前的多标签文本分类存在两个问题:
1.
第一个是相似的标签之间无法区分的问题;
* 这种问题之所以会存在是因为两个点:首先,没有学习到特定的标签和文档之间的相关性关系;其次是他们对于每一个标签学习到的文档表示都是相同的,这就表示他并没有捕捉到跟特定标签相对应的语义组件部分;
* 以上问题导致相近的标签由于没有具有区分性的表示,最终导致这些标签具有很差的区分性;
2.
第二个是模型并没有学习到这些模块对应的语义部分的相关关系;
对于第一个问题的解决方案是使用Attention机制来学习到针对于特定标签的文档的表示,最终可以得到针对于每一个标签对应的语义部分;
对于第二种方法大部分的解决方案是通过标签的共现信息,构建相应的图,从而表示出这些标签对应部分的相互关系;
* 但是,对于这种方法存在三种缺点:
* 首先,从train set中构建的共现模式图通常是不完整的且是具有噪声的,如果test set中的label没有出现在train set中,这种情况下这些标签将会被忽略,并且如果在train set中含有一些少见的label,这些信息将会成为噪声信息,影响common label的预测;
* 其次,这种图的构建是全局性的,必将会导致构建全局图之后,模型对于一些稀少的标签具有偏见;
* 最后,如果使用统计共现的标签信息,可能会导致产生长尾分布;
-
文中解决上面的两种问题,分别提出了两种方式
1. 解决第一个问题,使用的是Attention机制;
2. 解决第二个问题,首先使用label的共现统计信息,使用一次卷积神经网络获取得到一个label对应的语义组件的表示;然后再根据这表示,在这些学习到的组件在局部上再次使用一次GCN,得到最终的label对应的不同的语义组件信息; -
文中贡献点:
1. 捕捉到了针对于特定标签文档部分对应的组件信息,捕获这些组件之间的相互联系;
2. 使用两次GCN来解决捕获这些组件之间的相互联系;
模型
这个文献是第一次见到的,没有讲到Related work的内容。
首先,在模型部分提到了关于本模型中解决的多标签短文本分类的形式定义,将文档集合定义为D={xi,yi}ND={x_i,y_i}^N ,其中,xix_i 表示一个文档,这个文档中含有JJ 个word,yiy_i 表示xix_i 对应的标签集,本模型中定义标签空间中的标签数为∣C∣|C| 个;
该模型由两个部分组成,
1. 一个是在文档中获取针对于特定标签的语义部分的表示;这部分通过Attention机制来实现,从而达到区分相似labels的目的;
2. 一个是通过两个GCN来得到上面得到的不同标签对应的文档语义表示之间的相互影响关系,主要是依赖词共现的先验知识,以及通过第一层GCN得到的表示构成的重构图作为后验知识;

Label-specific Document Representation
1.
这部分主要是得到针对于特定标签的文档表示。
2.
首先,输入到输入到模型中的每一个文档都是具有JJ 个词的文档,其中的每一个词记为wjw_j ,将这些词编码之后得到的每一个词向量记为wejw_{ej} 。
3.
其次,为了得到文档中的上下文知识,在模型中首先使用BiLSTM,最终将两个方向隐藏层单元的词序列向量连接在一起,通过BiLSTM得到的词向量记为h∈R∣J∣∗Dh∈R^{|J|*D} ;
4.
然后引入∣C∣|C| 个标签表示,跟上面得到词向量一起放入Attention模块中,得到针对于特定label的文档语义表示,

进行注意力计算的公式如上所示,其中αij\alpha_{ij} 表示第ii 个标签相对于文档中第j个词向量Attention权重值;然后将标签i 对于这个文档中的每一个词进行加权,最终得到这个文档相对于标签i 的文档语义表示;
Dual Graph Neural Network
1.
Interaction Learning with Statistical Label Cooccurrence
这个部分主要使用标签共现的先验知识来得到特定标签的文档语义表示之间的相互关系 ,首先将之前通过Attention机制得到特定标签的文档表示作为输入,也是这里GCN中的第H0H^0 层;
首先,先构建标签图G, 将特定标签的文档表示作为G中的结点;将先验知识——标签的共现概率统计信息,作为结点的边权重。
基于训练集构建出标签对之间的概率矩阵As=R∣C∣∗∣C∣A^s = R^{|C|*|C|} ,其中每一个结点AijsA^s_{ij} 表示一个实例中在已经含有标签j 的条件下,含有标签i 的条件概率。
然后,将构建出来的标签图G,输入到图神经中,这个图神经网络通过将各个结点中的信息的传播,最终得到富集之后的标签表示。至于这个GCN中每一个结点得到邻居结点的信息范围大小取决于GCN中的卷积层的个数,如果只有一个卷积层,则当前结点只能得到跟他直接相连的结点信息;如果有多个卷积层,当前结点就可以得到跟当前结点距离更远的结点信息;
至于GCN连接不同的标签对应的文档表示的方式是通过使用在不同的GCN层中的信息一层层的传播来实现的。

其中,Hl+1H^{l+1} 表示当前层得到的表示,HlH^l 表示上一层中得到文档表示;As\widehat{A}s 表示经过规范化处理之后的结点邻接矩阵;WlW^l 为可学习的转换参数;

上面的公式是对于结点的邻接矩阵进行规范化处理的操作;其中DD 为对角度矩阵,
其中对角线上的元素值为邻接矩阵中的一列的值之和;
最终通过这种GCN得到的表示信息,由于单纯使用了train set中labels共现信息,从而导致了训练信息的不完整和噪声信息的引入。同时可能将引入标签的长尾分布的问题;
2.
Re-learning with Dynamic Reconstruction Graph
这个部分的GCN主要是弥补单个GCN中学习得到的特定标签的文档表示可能具有的一些缺点——一些由标签共现信息引出的缺点;
通过将上面一个GCN的输出得到的文档表示向量H2H^2 中针对于不同标签的表示作为重构图的结点;
通过两个1×1的卷积层,最终得到重构图的邻接矩阵ADA^D:

其中,
为这两个卷积层中的参数信息,ff 函数为sigmoid激活函数;
然后按照第一个GCN中的方式对于邻接矩阵进行正规化处理得到AD\widehat{A}D ,以及这里使用两层的GCN,将上面一个GCN得到的向量作为第一层GCN的输入;
最终GCN的最后一层得到的输出结果为H4∈R∣C∣∗D′H^4 ∈R^{|C|*D'} ;
Multi-label Text Classification
1.
将上面的到两个GCN得到的结果H2H2和H4H4 进行连接操作得到HOH^O , 输入到全连接层中得到当前文档预测标签向量;

其中,激活函数为sigmoid激活函数,W1∈R2D′∗1W_1∈R^{2D'*1} ;
2.
使用的损失函数为BCE:

中,激活函数为sigmoid激活函数,W1∈R2D′∗1W_1∈R^{2D'*1} ;
