基于深度学习的文本层次分类方法文献综述
今天要和大家分享的是有关文本层次分类问题的研究。本文将主要针对文本层次分类问题中的深度学习方法,对研究脉络进行归纳梳理,并选取具有代表性的文章做简要介绍。本文的框架如图1所示:
一、背景介绍
文本分类(Text Classification)是自然语言处理(Natural Language Processing,NLP)中常见的一类任务,情感分析(Sentimental Analysis)、信息检索(Information Retrieval)、文档归类(Document Categorization)均属于文本分类的范畴。层次文本分类(Hierarchical Text Classification,HTC)是一类特殊的多标签文本分类问题,旨在应对类别间构成一定体系的特殊场合。近些年来,随着应用场景的不断丰富,HTC问题受到越来越多的关注。图2展示了HTC问题的一个简单示例[1],这是一个类别体系包含四层的HTC问题,旨在对专利文档进行层次分类。图2中上方所示的文档在第一层类别中对应“化学”和“物理”两个节点,而在第二层类别中对应“无机化学”和“核物理”两个节点,二者分别是从属于“化学”和“物理”的子类别,依此类推。由此可见,HTC问题中的文本类别往往构成树或有向无环图,而每条文本的标签则可能与其中的一条或多条路径相对应。
二、研究梳理
1. 问题描述
在介绍相关研究之前,首先对类别层级结构和HTC问题进行严格定义。
定义1[2](类别层级结构)给定H个层级中的全部可能类别,其中表示第𝑖层级中的可能类别集合,
定义2[1](HTC问题)给定类别层级结构
注:Nam等(2014)[3]指出对于多分类问题,二元交叉熵(Binary Cross Entropy,BCE,如式(1)所示)具有更好的效果,故HTC模型大多采用这一损失函数。
早期方法将HTC简化为一般的多标签分类问题,使用决策树(Decision Tree)或朴素贝叶斯(Naive Bayes)等分类器,仅对类别体系的最后一层加以分类[4]。这一做法有两方面缺陷:一、不适用于当类别体系为非树的有向无环图,即当某个类别存在多个父类别时,无法由分类结果推测出样本的完整标签;二、没有利用类别体系的层级结构信息,受到样本稀疏问题的影响,分类效率有限。因此,后续研究的出发点大多在于,保留全部类别的同时,如何将类别层级结构信息恰当地引入模型,以改善分类效果。相关研究大体上可以分为局部方法(Local approaches)、全局方法(Global approaches)和二者相结合三大类。下面,我们逐一展开讨论,并选取有代表性的文章做简要介绍。
2. 局部方法
局部方法一般是指为每个类别(Local Classifier per Node,LCN)、每个父类别(Local Classifier per Parent Node,LCP)或每个层级(Local Classifier per Level,LCL)单独学习一个分类器,并依据类别层级结构设法在各个分类器之间建立联系。例如,HTrans(Hierarchical Transfer Learning)[5]采用迁移学习的方式为每个类别训练一个二分类器,子类别的分类器采用父类别的模型参数做初始化,并进一步微调,从而实现由父类到子类的信息共享;HFTCNN(Hierarchical Fine-tuning Based CNN)[6]同样采用迁移学习,与前者主要区别在于它是为每个层级训练一个多分类器,低层级分类器仍采用上一层级的模型参数进行初始化和微调。
3. 全局方法
局部方法存在较大局限性,一是模型参数量大、计算成本高昂;二是仅通过参数初始化的方式在局部分类器之间建立联系,这往往不足以充分反映类别间的相依关系。与局部方法不同的是,全局方法首先将HTC展平为一个多分类问题,然后通过特殊的参数初始化、正则项或模型结构来引入类别层级信息,从而改善分类精度。
Baker等(2017)[7]提出依据类别共现模式来初始化模型输出层的参数。具体来说,模型首先通过一定方式(例如卷积神经网络)得到文本的向量表征,然后利用全连接神经网络进行分类。在全连接网络的最后一层,依照图3所示的方法进行参数的初始化。该参数矩阵的行数和列数分别等于最后一个隐藏层的神经元数量n_h和类别总数K,每一行分别与层级结构中一种类别共现模式对应。例如图中参数矩阵的第一行对应于类别1和3同时出现的模式,便将第1个和第3个元素初始化为某个正数\omega,其余元素为0。这样做的目的是使每个神经元专注于一种共现模式,当该神经元被激活时,其对应的共现类别将同时被激活,由此体现类别相依关系。当n_h大于共现模式的数目时,参数矩阵的其余行可取0(如子图A)或随机初始化(如子图B)。Gopal等(2013)[8]所提出的递归正则项(Recursive Regularization,如式(2)所示)同样作用于上述参数矩阵,其目的则是使父子类别对应的参数向量尽可能接近,以此方式反映类别间的相依关系。
HiAGM(Hierarchy-Aware Global Model,图4)[9]包含HiAGM-LA(Multi-label Attention)和HiAGM-TP(Text Feature Propagation)两种变体。前者使用“结构编码器”(Structure Encoder)来对类别标签做向量表征,与此同时使用传统的文本编码器(如LSTM或GRU)进行以词为单位的文本表征,然后通过多标签注意力机制(Multi-label Attention Mechanism)整合两部分信息,提取标签层面的文本特征(Label-wise text features),最后采用全连接网络进行多分类。该篇研究提出了双向Tree-LSTM和层次图卷积神经网络两种结构编码器,下面以前者为例简要说明。该方法受到语义分析问题中对句法编码的启发,采用了类似于LSTM中门控单元的结构,沿着类别层级结构按从上到下和从下到上两个方向进行计算,从而整合类别节点自身及其父/子节点的信息,实现类别标签的“结构化编码”。多标签注意力环节,则是在文本向量和标签向量之间计算注意力得分,识别每个类别在文本中所关心的词并做加权平均,从而获取标签层面的文本特征。此外,文章提出的另一种模型变体HiAGM-TP,则是将文本表征直接输入到反映类别层级结构的编码器中,而不使用标签表征,其分类精度较HiAGM-LA稍高、但计算量更大。
HTCInfoMax(Hierarchical Text Classification via Information Maximization,图5)[10]在HiAGM-LA基础上通过引入信息最大化模块加以改进,其包括两方面内容:一是引入了文本-标签互信息最大化,使多标签注意力环节能够更准确地提取与文本真实类别对应的特征、减小无关信息的干扰;二是引入了标签先验分布,对模型提取的标签向量施加一定的约束条件,从而改善样本稀疏类别的向量表征。二者均是通过引入额外的分类器加以实现的:前者构建二分类器以区分真实和虚假的文本标签对,后者构建二分类器以区分真实标签向量和来自均匀先验分布的虚假标签向量,两个分类器的损失函数加入总体损失函数中一起进行优化。
与HiAGM对标签和文本编码所采取的“一分为二”策略不同的是,HGCLR(Hierarchy-Guided Contrastive Learning,图6)[11]提出通过对比学习(Contrastive Learning)将类别层级信息引入文本编码器中。具体来说,在模型训练阶段,HGCLR虽然仍对文本和标签分别进行表征,并在二者间使用注意力机制,但这样做的目的是为了识别每条样本中与其真实标签联系密切的“关键词”,并将关键词以外的词语隐藏,从而生成正样本,每一个batch中其余真实样本及其正样本则全部视为负样本。由于真实样本与其正样本都包含了与真实类别对应的关键词,其文本表征间也理应接近,而二者与负样本之间的相似性则应较小。HGCLR采用余弦相似度作为上述相似性度量,并将其引入损失函数。模型推理阶段仅使用文本表征即可进行分类,实现了将类别层级信息融入文本编码器的目的。
4.局部与全局相结合
这一类方法兼具局部和全局方法的特征,可以视作局部方法的改进:一方面,为每个类别层级训练局部分类器,它们之间由高层级到低层级相互串联,而不再是简单地借助参数初始化,因此信息传递更加充分;另一方面,又将每一层提取的信息加以整合后,训练一个全局分类器,对所有类别加以分类,从而使各个局部分类器之间协调起来;二者相辅相成,其预测结果加权平均作为模型最终输出。
HMCN(Hierarchical Multi-label Classification Networks,图7)[12]是最早提出将局部和全局模型相结合的研究。该模型以全连接神经网络为基本架构,模型中存在两条信息流:(1)主信息流(main flow),从输入层出发,逐层经过全连接网络,直至全局输出层为止(图中
HARNN(Hierarchical Attention-based Recurrent Neural Network,图8)[1]与HMCN的模型结构大体一致,其主要区别在于局部分类器之间的信息传递方式和文本特征的提取方式有所不同。在HARNN中,每一层的局部分类器都采用多标签注意力机制提取标签层面的文本特征,从而进行局部分类;与此同时,又将各类别的词语注意力得分按该层的类别预测概率加权平均,传递给下一层(意即提示下一层分类器哪些词语应当受到重视),由此在局部分类器之间形成信息流。全局分类器则将各层级提取的文本特征拼接起来,给出全局预测结果。最终,局部与全局预测结果加权平均,作为模型输出。
LA-HCN(Label-based Attention for Hierarchical Multi-label Text Classification Neural Network,图9)[13]在HARNN的基础上主要做出如下两点改进:(1)利用公共“因子”(components)在同级类别之间建立联系,一方面能够反映同级类别间隐含、而又未在层级结构中体现的相关性,另一方面能够进一步缓解部分类别的样本稀疏问题;(2)由父层向子层传递文本表征,在子层中通过计算该表征与各个标签向量间的内积,判断文本与子层中哪个类别最相匹配,并给予该类别更多关注,而非依据父层的预测结果直接提示子层关注哪些词语,在一定程度上缓解了误差传播问题。
三、总结与讨论
综上所述,HTC问题的相关研究大体可分为局部、全局和二者结合三类。局部方法为各类别或各层级单独训练分类器,子分类器承袭父分类器的参数并做微调,该种方法存在参数量大、难以充分刻画类别相关性的缺陷;全局方法将HTC展平为多分类问题,并通过向损失函数中添加正则项或显式地在模型结构中反映层级关系等方式来引入层级结构信息,分类效率较高、是当前研究的热点和前沿;全局和局部相结合的方法则兼具二者特征,可视作对局部方法的改进,但局部分类器间的信息传递可能造成误差传播,这是制约模型分类效果的重要因素,也是笔者认为HTC未来比较有价值的研究问题之一。总的来看,这些研究均以“如何恰当地引入类别层级结构先验信息”这一关键问题为出发点,给出各自的解决方案。然而值得注意的是,除了层级结构中显式反映出的类别关系之外,其余类别间(如同一层级的类别间)仍可能存在相关性,笔者认为如何从数据或外部信息源当中进一步挖掘这些潜在类别关系、并将其引入模型也是HTC问题未来一个重要的研究方向。
四、参考文献
【作者简介】:
宋俊儒,中国人民大学统计与大数据研究院,本科毕业于中央财经大学统计与数学学院。