ACL2020论文分享:基于层次感知的全局模型进行层级性文本分类

1 前言

今天分享一篇来自2020 ACL会议的paper,论文标题为:Hierarchy-Aware Global Model for Hierarchical Text Classification。解决的任务为层级性文本分类(HTC),创新点是提出一种层次感知的全局模型,从这两点基本可以知道该paper的重点将是围绕如何学习层级信息而提高任务识别能力的。论文下载链接为:https://www.aclweb.org/anthology/2020.acl-main.104.pdf,源代码开源地址为:https://github.com/Alibaba-NLP/HiAGM,项目出自阿里,下面详细介绍。

2 任务介绍

其实,层级性文本分类(Hierarchical Text Classification)是多标签文本分类(multi-label text classification)下的一个子任务。学术上该任务也可称为Hierarchical multi-label text classification,一直是一个研究热点,因为很多数据场景都会遇到这个问题,最为常见的就是:对电商中产品的标题文本按产品名录进行打标签。下图为论文引出的数据场景例子:输入一段文本,在一个既定的label体系中,为该文本tag上归属的各个label。label体系是一个树状结构,进而也就存在层级性的关系。此外,HTC任务在树状的标签体系上存在单路径或多路径的情况。


3 任务定义

给定一个树状的标签体系,可定义为:

其中为标签节点集合,为节点总数量;
代表父类到子类的一个路径;
代表子类到父类的一个路径;

则HTC任务可以定义为:

其中为输入的文本组成的样本集合,为样本对应的标签集合。对于样本来说的,预测它的所属标签就是一个层级性的多标签分类任务。

4 模型

下图为论文的模型整体框架,可分三部分来看:左边部分是文本的encoder,中间两块是对应两种不同decoder方法,右边部分是中间模块中Structure Encoder展开的详细图。


所以,作者在大体框架下提出两种不同解决方案,一种称为Message Propagation(HiAGM-MP),一种称为Multi-Label Attention(HiAGM-LA)。两种方案的差别在对于处理label体系()信息上,前者将文本表征的向量接个全连接层后,参与的Structure Encoder的计算,然后进行预测;而后者是将文本表征成的向量,和表征的向量加一个soft attention进行融合,然后进行预测。简单来说:HiAGM-MP方法将文本的特征作为一个输入,参与的特征表征,HiAGM-LA是将文本与label各自独立表征后,进行attention方式交互来预测。

4.1 文本的编码

从模型图可以看出,输入的文本是先通过Bi-LSTM进行词的表征学习,接着使用CNN进行N-gram特征的抽取,最后使用Top-k Max pooling保留更多的特征,作为最终文本的特征向量。

4.2 label体系的编码(Structure Encoder)

论文中提出了两个label体系的编码方式,一个为Bi-TreeLSTM,一个为Hierarchy-GCN。在讲述两种编码方式前,作者引入了先验层级信息的概念(Prior Hierarchy Information),思想很简洁,从下面两张图可以看明白:label节点之间传递转成概率问题,父类到各个子类传递的概率之和为1,子类到父类传递概率为1,前者可在训练数据集中使用统计得到。

利用先验层级信息,加入label体系的编码中,论文中认为这样可以区别之前静态的学习方式,利用数据集中存在的先验信息,能更好地学习label之间的层级关系。在这点上,论文也有对应的实验来验证。


Bidirectional Tree-LSTM
Tree-LSTM是使用LSTM结构来对Tree结构数据进行编码,在此基础上,作者引入双向的Tree-LSTM进行label体系的encoder,因为这对应着上面提到的父类到子类,子类到父类两个方向。下面为一个节点的编码公式:

为label节点k最终编码向量,与分别代表k节点到父类,子类的编码向量。依据上面的先验层级信息,,。

计算公式如下:

Hierarchy-GCN
在使用GCN进行label体系编码时,对于k节点来说,是基于它的临近节点进行GCN计算,所以:


其中, 为节点 到节点 的路径,包括父到子,子到父,自己到自己三个方向。
对应节点的先验信息,
若 为父到子:
若 为子到父:
若 为自己到自己:
学习到的 为节点的最终表征向量。

Hierarchy-Aware Multi-Label Attention
HiAGM-LA方案中,使用soft-attention方式将学习的文本向量与标签体系向量进行交互计算,将结果向量参与最后的label预测。

计算的思路就是:将文本每个N-gram特征与label进行一个权重计算,认为N-gram特征对不同的label影响程度是不同的。

Hierarchical text feature propagation
HiAGM-MP方案中,作者是将文本的表征向量进行一个全连接,转成向量,,作为Structure Encoder的初始值参与计算,将更新后的向量参与最后label的预测。

5 实验结果

论文选择了RCV1,WOS,NYT三个公开数据集进行测试,数据集的统计结果如下图所示:


实验的主要结果如下图所以,论文中主要对比了TextRNN,TextCNN,TextRCNN以及自己的两种方案的变体,从结果显示HiAGM-TP方法表现的更好些,在label体系编码中,GCN的编码效果更好些。详细的实验结果,感兴趣可去阅读该paper,更深入的了解。

image.png

6 一些细节思考

1)本次分享的目的,是觉得论文中提出的Structure Encoder方法值得借鉴和学习,因为在做层级多元标签识别中,标签之间的信息如何有效去表征与学习,会影响最终的预测结果,这也是当前研究的一个热点。文中提出的引入先验层级信息,使用Bi-TreeLSTM和GCN进行编码的方式,值得尝试,尤其GCN。

2)在我所理解中:对于一个层级的标签体系,各个节点的表征向量应该具备这样的特性:同父类的子节点应该继承了父类的某些共性特征,彼此之间还存在某种差异,而且这些特征都应该能从数据集的文本中体现出来。本篇论文并没有刻意朝这个目标去对标签体系进行编码,当然也无法否定最终学到的label向量是不是具体这些特征。所以,我想是不是在label体系编码的过程中引入这样的一个目标损失函数,也许会对预测任务有积极的影响。

3)文中实验对比的方法太过常见,像处理这类任务的典型模型AttentionXML, HFT-CNN等都没有进行对比;后续可以给大家分享下AttentionXML。

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

你可能感兴趣的:(ACL2020论文分享:基于层次感知的全局模型进行层级性文本分类)