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

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

作者: 烛之文 | 来源:发表于2020-12-25 11:40 被阅读0次

    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 任务定义

    给定一个树状的标签体系L,可定义为:
    G=(V,\overrightarrow{E},\overleftarrow{E})

    其中V=\{v_1,v_2,..,v_C\}为标签节点集合,C为节点总数量;
    \overrightarrow{E}=\{(v_i,v_j)| i \in V, j \in child(i) \} 代表父类到子类的一个路径;
    \overleftarrow{E}=\{(v_j,v_i)| i \in V, j \in child(i) \} 代表子类到父类的一个路径;

    则HTC任务可以定义为:
    H = (X, L)
    其中X=\{x_i,x_2,..,x_N\}为输入的文本组成的样本集合,L=\{l_1,l_2,..,l_N\}为样本对应的标签集合。对于x_i样本来说的,预测它的所属标签l_i就是一个层级性的多标签分类任务。

    4 模型

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


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

    4.1 文本的编码

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

    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,因为这对应着上面提到的父类到子类,子类到父类两个方向。下面为一个节点的编码公式:

    h_k^{bi}为label节点k最终编码向量,h_k^{\uparrow}h_k^{\downarrow}分别代表k节点到父类,子类的编码向量。依据上面的先验层级信息,f_p(e_{k,j})=1f_c(e_{k,p})=N_p/N_k

    h_k^{\uparrow}=TreeLSTM(\tilde{h}_k^{\uparrow})h_k^{\downarrow}=TreeLSTM(\tilde{h}_k^{\downarrow})

    TreeLSTM计算公式如下:

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


    其中,d(j,k)为节点j到节点k的路径,包括父到子,子到父,自己到自己三个方向。
    a_{k,j}对应节点的先验信息,
    d(j,k)为父到子:a_{k,j}=N_k/N_j
    d(j,k)为子到父:a_{k,j}=1
    d(j,k)为自己到自己:a_{k,j}=1
    学习到的h_k为节点的最终表征向量。

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

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

    Hierarchical text feature propagation
    HiAGM-MP方案中,作者是将文本的表征向量S进行一个全连接,转成V向量,V=MS,作为Structure Encoder的初始值参与计算,将更新后的向量V参与最后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论文分享:基于层次感知的全局模型进行层级性文本分类

          本文链接:https://www.haomeiwen.com/subject/bxhxnktx.html