基于Bert的层次多标签文本分类
Hierarchical Multi-Label Text Classification Based on Bert
DOI: 10.12677/aam.2024.135202, PDF, HTML, XML, 下载: 16  浏览: 44 
作者: 林 娜:中国地质大学(武汉)数学与物理学院,湖北 武汉
关键词: 层次多标签文本分类Bert双向长短期记忆网络HMTC Bert Bi-LSTM
摘要: 层次多标签文本分类(Hierarchical Multi-label Text Classification, HMTC)是自然语言处理领域(Natural Language Processing, NLP)一项重要的任务。在其由浅至深的标签层次结构中,深层标签更能精确地代表文本所属的标签类别。然而,深层标签的样本实例较少且彼此之间语义接近,导致其难以被正确分类。针对上述的问题,文章提出了基于Bert的层次多标签文本分类方法,先利用Bert构建优越的文本表示,再以自上而下逐层的方式利用浅层级的标签信息引导深层级标签的分类,有效地提升了分类精度。实验结果表明所提模型与其它基线模型相比具有更好的分类性能。
Abstract: Hierarchical Multi-label Text Classification (HMTC) is an important task in the field of natural language processing (NLP). In its shallow-to-deep label hierarchy, deep labels can more accurately represent the label categories to which the text belongs. However, there are fewer sample instances of deep labels and they are semantically close to each other, making it difficult to classify them correctly. To address the above problem, this article proposes a hierarchical multi-label text classification method based on Bert. First, it uses Bert to construct a superior text representation, and then uses the shallow-level label information to guide the classification of deep-level labels in a top-down layer-by-layer manner, effectively improving the classification accuracy. The experimental results show that the proposed model has better classification performance compared to other baseline models.
文章引用:林娜. 基于Bert的层次多标签文本分类[J]. 应用数学进展, 2024, 13(5): 2141-2147. https://doi.org/10.12677/aam.2024.135202

1. 引言

随着手机电脑等电子设备的普及以及互联网技术的高速发展,迎来了大数据的时代,越来越多的人选择在互联网上发布信息进行交流,文本是重要的信息载体之一,这使得互联网上文本数据的数量大大增长。如何从互联网上海量且持续增长的文本数据中,高效又准确地获取到有价值的信息,是一个非常值得关注的研究内容,也是自然语言处理领域(NLP)中一个非常重要的研究方向。文本分类是常用的处理文本数据的手段之一,也是自然语言处理领域一项基础且重要的任务。

现实生活中,文本单元(句子、段落、文档等)包含多个标签,且标签之间具有层次结构,指标签可以被组织为树型(Tree)或者有向无环图型(Directed Acyclic Graph, DAG) [1] 。将文本分配到上述具有层次结构的标签上,称之为层次多标签文本分类(HMTC),是多标签文本分类(MTC)的一个重要分支。近年来,人们对层次多标签文本分类越来越感兴趣,其应用场景非常广泛,例如国际专利分类、产品标注、广告推荐等。

层次多标签文本分类任务中不同层级标签之间存在“父子”关系,例如标签“亚洲历史”是“世界历史”的子类。同时,越浅层级的标签越有可能是样本实例较多的父节点标签,而越深层级的标签越有可能是样本量较小且相似度高的叶子节点标签,而模型训练往往趋向于样本量较多的浅层标签,导致深层标签难以被分类。为了提高深层标签的分类精度,提出了基于Bert的层次多标签文本分类方法(Hierarchical Multi-label Text Classification Based on BERT),简称ML-Bert,ML表示多个全连接层。ML-Bert模型利用Bert强大的特征学习能力构建优越的文本词嵌入,再以自上而下逐层输出和逐层传递的方式构建多个全连接层对Bert做针对性微调,利用父标签信息辅助子标签进行分类,最后通过实验证明了ML-Bert模型的有效性和优越性。

2. 相关研究

现有的层次多标签文本分类研究方法大多关注到了层次信息的提取,Aly等人 [1] 首次将胶囊网络(Capsule-network)引入到层次多标签文本分类任务中,利用胶囊和动态路由算法对标签特征进行编码。Wehrmann等人 [2] 首次提出了混合分类的神经网络模型HMCN,同时对局部输出和全局输出进行优化。Huang等人 [3] 在HMCN基础上提出了模型HARNN,先对文本做Word2vec词嵌入,再以自上而下方式注意力机制的方式对文本与每个标签类别的依赖关系做典型注意力建模,捕捉了文本与标签的关联。但HARNN在局部和全局选用了相同的文本嵌入表示,影响了模型的分类性能。Zhang等人 [4] 在HARNN的基础上提出了模型LA-HCN,以Glove作为词嵌入方法,并引入了组件作为中间桥梁搭建标签与文本的表示,采用基于标签的注意力机制建模标签与文本之间的关系,捕捉到了与标签最相关的文本特征信息。但上述方法都只采取简单了的文本编码方式(静态词向量Word2vec和Glove),无法捕获上下文语境信息,无法解决“一词多义”的问题。而层次多标签文本分类是多层级多粒度的分类任务,只有构建一开始好的文本表示,才能取得分类所需的层次文本特征,最终取得好的分类效果。

3. 模型介绍

3.1. 层次多标签文本分类定义

给定一系列文档 D = { X 1 , X 2 , , X K } 和对应的标签组 Y = { Y 1 , Y 2 , , Y K } ,其中每篇文档 X i 由一系列词 X i = { w 1 , w 2 , , w N } 组成,每个标签组由多个标签类别 Y i = { l 1 , l 2 , } 组成,标签类别 L = { l 1 , l 2 , , l C } 彼此之间具有层次结构关系 γ ,C表示这一系列文档所包含的标签类别总数。层次多标签文本分类的目标是学习文档 X 到标签 L 之间的映射 P ,即 P : X L ,通过分析文档内容以及标签的层次结构,再利用映射 P 对新文档的层次结构标签信息进行预测。

3.2. 模型框架

本节主要介绍ML-Bert模型的实现方式。如图1所示,ML-Bert模型主要由特征编码,层级信息整合,混合预测等三个模块组成。下面将通过三小节来具体介绍这三个模块的细节。

Figure 1. ML-Bert model

图1. ML-Bert模型

在特征编码模块,本文利用目前最强大的预训练语言模型Bert [5] 提取文本的上下文关系来构建文本嵌入表示。Bert通过在大量文本语料上进行无监督学习,学习语言的统计规律和语义表示。在预训练阶段,Bert的预训练任务包括两个主要部分:遮蔽模型(Masked Language Model, MLM)和下一句预测任务(Next Sentence Prediction, NSP)。与传统的单向语言模型或两个单向语言模型的浅层拼接不同,Bert采用MLM进行预训练,使得每个单词都能同时依赖其上下文进行词向量表示。在MLM任务中,Bert随机遮盖15%的单词,其中的80%变成真正的“mask”,10%替换成其他单词,10%保持不变。随后,模型致力于预测这些被遮盖单词的原始内容。Bert通过上述方式要求模型解构和重新构建文本,以双向学习的方式深入挖掘单词间的依赖关系,从而生成高质量的词向量表示。在NSP任务中,Bert判断两个句子是否连续出现,这有助于模型理解句子之间的关联和上下文信息。

本节具体做法如下,首先,将文本分成一个一个的单词 D = ( w 1 , w 2 , , w N ) ,输入到BERT中,学习每个单词的词向量表示 H i ,如下式所示:

H i = B E R T ( w i ) (1.1)

再将 H i 输入到Bi-LSTM中做语义增强操作得到 E = { E 1 , E 2 , , E N } R N × 2 u u是单向隐藏层大小, E n E n 分别是Bi-LSTM在第n处的前向和后向隐藏向量,计算公式如下所示:

E n = L S T M ( E n 1 , H i ) (1.2)

E n = L S T M ( E n 1 , H i ) (1.3)

E n = [ E n , E n ] (1.4)

对所有的标签 L = { l 1 , l 2 , , l C } 用正态分布进行随机初始化嵌入,设标签层次结构的总层数为H,得到每个标签的随机初始化向量,在第h层的标签表示为 L = { l 1 h , l 2 h , , l | L h | h } R | L h | × q | L h | 表示第h层的标签数目,q表示嵌入的维数。

在层级信息整合模块,利用多个全连接前馈神经网络(FCN)对标签结构中的各个层级进行建模,提取层级文本特征并传递给下一层,辅助深层标签分类。每一层的输入是上一层的文本表示 A G h 1 和原始文本语义矩阵E的拼接,每一层都输入E是为了避免原始特征随着层级的加深被稀释,遗漏部分重要的信息。同时也将 A G h 输入到局部分类器进行逐层分类,全局信息流 A G h 经过一个全连接层的计算公式如下:

A G h = φ ( W G h ( A G h 1 E ) + b G h ) (1.5)

其中, A G h 1 R | L h 1 | × d 是上一个层级的信息,E是原始文本语义矩阵, W G h b G h 分别是该层的权重矩阵和偏置向量, 表示向量拼接,将 A G h 输入到局部分类器,得到层级文本表示 A L h

A L h = φ ( W T h A G h + b T h ) (1.6)

A G h 做平均池化操作再逐层进行拼接,得到用于全局分类的全局文本表示 A G ,公式如下:

A G = a v g ( A G 1 ) a v g ( A G 2 ) a v g ( A G H ) (1.7)

混合预测模块旨在同时考虑局部和全局预测的结果,做损失优化计算,以捕捉全面的层次信息。

对于局部分类,通过单层MLP计算出局部层级文本表示 A L h 与第h层标签 L h 相关的概率 P L h Y L h 表示真实的标签情况,计算公式如下:

P L = s i g m o i d ( A L , L h ) (1.8)

O L = ε ( P L h , Y L h ) (1.9)

其中, ε ( ) 是二元交叉熵损失(BCE)。对于全局分类,通过双层MLP计算出全局文本表示 A G 与所有标签L相关的概率 P G ,计算公式如下:

P G = s i g m o i d ( A G , L ) (1.10)

O G = ε ( P G , Y G ) (1.11)

最终的概率和损失如下式所示, α 是衡量局部和全局预测重要性的权重超参数。根据以往的经验,将超参数 α 设为0.5。

P F = α ( P 1 P 2 + P H ) + ( 1 α ) P G (1.12)

O a l l = O L o c a l 1 + O l o c a l 2 + + O l o c a l H + O G (1.13)

4. 实验

4.1. 数据集

本文在三个基准数据集BGC、WIPO和WOS上进行实验,下面具体介绍各个数据集的情况。

Enron是一个包含大量数字的短篇电子邮件数据集,包含1648个文档数,56个标签,三层结构。其中,第一层包含3个标签,第二层包含40个标签,第三层包含13个标签。Enron的最细粒度标签不一定是叶子节点标签,即某篇文档实例的标签不一定包含第三层级的标签。

BGC是由书籍简介和一些与书籍相关的元信息构成的数据集,包含91,892个文档数,146个标签,四层结构。其中,第一层包含7个标签,第二层包含46个标签,第三层包含77个标签,第四层包含16个标签。BGC的最细粒度标签不一定是叶子节点标签,也就是某篇文档实例的标签不一定包含第四层级的标签。

WIPO-alpha是关于国际专利分类的数据集,包含75,177个文档数,5229个标签,四层结构。其中,第一层包含8个标签,第二层包含114个标签,第三层包含451个标签,第四层包含4656个标签。WIPO-alpha的最细粒度标签必然是叶子节点,但WIPO-alpha的标签数量比较大。

WOS是由科学网(Web of Science)已发表论文的摘要构成的数据集,包含46,985个文档数,141个标签,两层结构。其中,第一层包含7个标签,第二层包含134个标签。

4.2. 实验设置与评价指标

本文在bert-bert-uncased [5] 上进行文本编码,由12个Transformer encoder层组成,词嵌入维度是768,Bi-LSTM的隐藏层大小设为256。所有全连接层的神经元数量设定为512。层次多标签文本分类模型的输出是整个层次结构中所有标签类别的预测概率值。为此,若采用诸如Precision、Recall或F1分数等评价指标,需要对这些标签类别概率值先设定阈值。然而,实际上最佳阈值的选择是十分困难且主观的。因此,本文采用平均精确率–召回率曲线下的面积 A U ( P R C ¯ ) 作为评价指标。

4.3. 结果分析

本文模型ML-Bert与六个基线模型的对比实验结果如表1所示,可以看出,本文模型ML-Bert在三个数据集(BGC、WIPO、WOS)中表现均最佳, A U ( P R C ¯ ) 值分别达到83.95%、60.42%和88.25%,超过了其它所有基线模型,说明ML-Bert模型提取到了更充分的深层文本特征信息,利用上一层的先验知识有效地帮助下层进行分类,充分挖掘了标签间的层次结构关系,擅长处理复杂的层次结构数据。

常用的基线模型Capsule-network、HMCN-F、HMCN-R在这三个数据集上的性能表现相差不是很大。Capsule-network利用fast-text作词嵌入表示,但仅考虑全局输出的结果。HMCN-F、HMCN-R分别通过构建混合前馈神经网络层和混合循环神经网络层建模标签结构的关系,同时考虑了局部输出和全局输出的结果,但忽略了文本特征的词嵌入表示。与上述模型相比,本文模型ML-Bert在三个数据集上均取得了显著的性能提升,具有更好的泛化能力和综合性能。

基于注意力机制的混合方法模型HARNN和LA-HCN,利用注意力机制挖掘标签与文本特征之间的相关性,并且同时关注标签层次结构的局部和全局信息,相比前三个基线模型,一度占据了较好的水平。LA-HCN模型是在HARNN模型的基础上进行的改进,其对局部分类和全局分类采用了不同的文本表示,得到了更好于HARNN的效果。而本文模型ML-Bert相较性能表现较好的LA-HCN,在BGC、WIPO和WOS三个数据集上分别提高了1.18%,0.8%和2.77%的 A U ( P R C ¯ ) 值,进一步证实了本文的方法相较于其他基线方法有显著的优势。

Table 1. Experimental result

表1. 实验结果

Bert模型在BGC、WIPO和WOS这三个数据集上都达到较好水平,原因在于其利用大规模的语料进行预训练,并且能实时捕捉单词的上下文信息,而本文模型相比于Bert有着进一步的提升, A U ( P R C ¯ ) 值分别提高了0.85%、1.81%和0.86%,一方面是因为ML-Bert在Bert的基础上引入了层级信息整合模块,做了针对层次多标签文本分类任务层次结构特点的微调,使得模型更好地学习具有层次结构性的文本特征,另一方面关注到了标签不平衡问题,关注于深层级文本特征的学习,从而提升了模型的分类效果。

表1还可以看到,对于WIPO数据集而言,其分类效果远远低于WOS和BGC数据集。这是由于WIPO数据集自身复杂的标签层次结构,如何处理这样复杂的数据集也是层次多标签文本分类任务中的一大难点,而ML-Bert利用浅层标签信息辅助深层标签分类,又同时关注局部和全局的情况,充分地对Bert进行了针对层次多标签文本分类任务的微调,相比其他基线模型取得了更好的分类性能。

为了进一步验证层级信息整合模块的作用,还对ML-Bert的变体ML-Local和ML-Global进行了消融实验,前者是仅仅考虑了局部输出的结果,后者是仅仅考虑了全局输出的结果,这两者都遗漏了部分层次结构信息。如表2所示,ML-Global利用全局信息流将上一层的先验知识辅助下一层标签进行分类,减少了错误传播问题的发生,分类效果好于ML-Local。但仅仅是只考虑局部或者全局的方法都不如两者都考虑了的ML-Bert分类效果好,这是因为ML-Bert综合考虑了局部输出和全局输出的结果,学习到了更全面的层次结构的信息,有效地提高分类模型的性能。

Table 2. Ablation experiment

表2. 消融实验

5. 结论

优化文本表示是层次多标签文本分类任务一直以来的研究重点。为提取更充分的文本特征信息,本文提出了模型ML-Bert,其利用多个FCN层构建层级信息整合模块对Bert进行微调,以浅层标签信息帮助深层标签分类,并同时进行局部和全局损失优化,充分地挖掘文本特征信息和标签的层次结构信息。最后通过实验验证了所提模型的有效性和优越性。

参考文献

参考文献

[1] Aly, R., Remus, S. and Biemann, C. (2019) Hierarchical Multi-Label Classification of Text with Capsule Networks. Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics: Student Research Workshop, Florence, July 2019, 323-330.
https://doi.org/10.18653/v1/P19-2045
[2] Wehrmann, J., Cerri, R. and Barros, R.C. (2018) Hierarchical Multi-Label Classification Networks. Proceedings of the 35th International Conference on Machine Learning, Stock Holmsmässan, July 2018, 5225-5234.
https://doi.org/10.1145/3019612.3019664
[3] Huang, W., Chen, E., Liu, Q., et al. (2019) Hierarchical Multi-Label Text Classification: An Attention-Based Recurrent Network Approach. Proceedings of the 28th ACM International Conference on Information and Knowledge Management, New York, November 2019, 1051-1060.
https://doi.org/10.1145/3357384.3357885
[4] Zhang, X., Xu, J., Soh, C., et al. (2021) LA-HCN: Label-Based Attention for Hierarchical Multi-Label Text Classification Neural Network. Expert Systems with Applications, 187, Article ID: 115922.
https://doi.org/10.1016/j.eswa.2021.115922
[5] Devlin, J., Chang, M.W., Lee, K., et al. (2019) Bert: Pre-Training of Deep Bidirectional Transformers for Language Understanding. Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), Minneapolis, June 2019, 4171-4186.