一种融合标签信息的多标签文本分类方法

2024-03-05 01:41任彦凝陈俊霖
小型微型计算机系统 2024年3期
关键词:注意力标签语义

任彦凝,陈俊霖,刘 群

(重庆邮电大学 计算智能重庆市重点实验室,重庆 400065)

0 引 言

多标签文本分类任务是自然语言处理领域一项基础而重要的研究方向,推动了许多现实技术的发展.在司法领域,一个案件极有可能符合几种法条,需要综合考虑从而作出判决,多标签文本分类可用于法条的预测[1].此外,针对非结构化的法律文本,判断若干项法律要素是否存在其中,是多标签文本分类任务在司法领域的另一重要应用[2].

在多标签文本分类任务中,利用标签信息的主流方法是探索标签关系和引入标签语义元数据[3].单独考虑两者会使分类模型利用信息不全,无法在所有数据集上都取得好的分类效果[4].根据数据集中已有的标注结果可以将标签关系抽象成树或图的结构[5],而标签语义元数据通常需要查阅大量资料来获取.对于专业性强或容易发生歧义的文本,人工查阅标签语义可能伴随着理解错误和信息不准确的问题.如在法律领域,非专业人士很难赋予法律标签精准无误的语义.而且不同数据集标签各异,人工查找标签语义工作量巨大.因此大部分多标签文本分类方法都未引入任何形式的标签语义元数据,而是将标签视为无意义的标识符.

目前关于多标签文本分类的深度学习模型普遍采用卷积神经网络(CNN)[6]、循环神经网络(RNN)[7]、长短时记忆网络(LSTM)[8]以及Transformer[9,10]等模型.然而这些模型自身也存在各自的缺陷.CNN无法处理序列输入,其受到固定窗口的限制,无法应对长文本输入的情况.RNN在自然语言处理领域的应用可以有效解决这一问题,而伴随着模型深度的增加,梯度爆炸和梯度消失阻碍了RNN的更多发展.因此LSTM和GRU的提出解决了这种长期依赖问题.Transformer是较成熟的序列到序列算法,可以解决输入输出序列长度不一致的问题.但是Transformer模型往往需要大量的迭代训练才能达到最优效果,且训练过度会导致过拟合现象,因此这一类模型对训练轮次的要求较高,这严重制约了多标签分类模型的实际部署和应用.

针对上述问题,本文提出了一种融合标签信息的多标签文本分类方法.不同于以往获取语义元数据的方式,本文提出了一种自动标签语义生成器,通过自动提取整合样本信息生成标签语义.利用数据集生成标签语义元数据相比于脱离样本实际意义的外部元数据而言更加符合数据集的特征.此外,针对深度模型需要大量迭代训练的问题,本文在基于BERT预训练模型的基础上提出了combined-attention模型,将标签语义和标签关系作为两种注意力头,使得信息提取更加完整.并且此模型内部设置的门控单元使得两种注意力头的权重大小得以自适应分配,从而在不同种类数据集上均可实现优异的分类效果.

综上,本文主要贡献如下:

1)提出标签语义向量生成器,对于所有语种及多标签文本分类数据集均可用,适用范围广;

2)提出combined-attention融合注意力模型,将常用于提取多标签文本分类特征的两种关键信息以注意力头的方式融合在一起,保证模型在不同数据集上均能提取到有效的分类特征;

3)本文在3个英文公共数据集上进行实验,结果表明本模型能够对分类精度有最高5.68%的提升.将此模型成功应用于中文法律数据集来判断样本中是否出现某些法律要素,验证了模型的有效性和实用性.

1 相关工作

基于深度学习的文本嵌入模型是自然语言处理方向一直以来的研究热点.相比于传统机器学习模型存在效果和可扩展性较差的问题,深度模型有着很大的优势.Peng将图的结点思想应用于文本嵌入,将词抽象成结点来表示,从而使得句可以抽象成图,根据词的邻域关系选择重要的词,使用广度优先算法得到每个词的子图,最后使用CNN进行相关计算[11].Chen将CNN和RNN结合起来,首先利用CNN提取文本中的关键信息,然后利用RNN将标签间关系引入到模型中,形成最后的分类信息,实验表明此模型不适用大规模数据集[12].2017年,Vaswani等提出注意力模型[13],此模型首先应用在图像领域,使得一次识别过程只集中在部分重要特征上,过滤甚至忽略掉无关特征.其使用过程首先是计算得到所有输入信息中的注意力分布权重,根据权重信息来计算输入信息的加权平均,从而将重要信息提取出来.Bahdanau等首先将注意力模型用于自然语言处理领域,使得当前文本计算单元可以自主选择关注上下文有用信息[14].不同于注意力在图像领域将图片视为像素的堆叠,在自然语言处理领域,字或单词被看作输入的基本单元,像素之间的关系也转变成字或词间的关系,文本中的句子和文章与图像中子图和整张图片有着自然的对应关系.谷歌团队提出基于自注意力的Transformer模型,用来解决单向文本信息流问题以及相同文本因不同位置而引发的歧义.自注意力是注意力的一种变体,在做自然语言处理时期望获得一个词与上下文之间的关联,而非将词独立起来.传统的滑动窗口只关注词上下文固定窗口内的词,其他窗口以外的词被忽略了,这极大程度上削弱了词间的关联性.如果想将窗口外的词全部考虑进来,就需要关注全部上下文,会导致参数量极剧增加,尤其在做长文本处理时,这种代价是不可接受的.自注意力的提出就是为了解决以上问题,自注意力是基于注意力机制的,其通过计算两词之间的相关性获得词间的注意力权重,既能考虑全文,又能将重点聚焦在关联度高的词汇上.Compressed Attention在进行文本摘要生成任务时,针对长文本首先采用池化操作对输入序列进行下采样以压缩模型输入量,抽取句子序列中最重要的若干个作为模型输入,牺牲掉少部分非重要信息换取低参数量和高训练效率,再用生成式方法训练模型[15],此方法能够压缩输入序列的长度.Routing Transformer将Transformer建模为路由模型,提出基于聚类的注意力模型.其应用k平均(k-means)聚类方法对查询向量和关键词向量进行聚类,每个查询向量只注意同一类关键词,过将相似的词聚成一类进行表示从而加速计算[16].

随着研究的不断深入,尽管研究者努力使用少的参数获得优秀的结果,但是深度模型的参数量却在大幅度增长.而且以上模型由于需要多次的迭代训练,相对于BERT 这种大规模预训练模型来说,其时间上的优势也逐渐减小了.

随着基于深度文本嵌入模型的应用,多标签文本分类的精度也不断提高.Liu等利用标签间互斥关系,使用对比学习的方法构建正负样本,对预训练模型参数进行调节[17],从而使模型能够很好地区分不同样本之间的差异,在做分类任务时利用这种差异能够获得好的效果.针对分类问题,Wang等将标签和词嵌入到同一空间.最终的特征向量一部分来源于此特征空间,一部分来源于原文本的嵌入向量,两者的权重用参数β调节[18].Xiao等针对数据集长尾分布的特点,探究头标签与尾标签的关系,将头标签元知识迁移到尾标签,用从头标签分类器学习到的元知识和尾标签训练得到的参数共同对尾标签分类,提高了尾标签的分类精度[19].Huang等用Node2Vector模型学习标签间关系得到标签关系向量,结合注意力和自注意力共同提取语义信息,但此文将标签看作无语义的符号[20].Rios等引入医学标签的外部语义提取有用信息,将外部语义、提取到的信息和通过图神经网络获取的标签间关系联合作为分类的特征向量[3],大大提高了模型在零样本和少样本上的分类准确度.

多标签文本分类模型通常需要同时考虑标签语义和标签关系,缺乏标签语义的指导会使得少样本分类效果较差.从以上的研究成果中可以看到目前大多数研究集中在如何根据数据集的分类结果收集标签关系,而多数获取标签语义的方法是查阅资料.但根据一些编码处理后的数据集逆向搜集标签的语义信息是困难且耗时的,特别是针对某些专业性要求较高的领域来说,很容易因为缺乏领域知识或认知偏差使获得的标签语义与样本中要表达的意思相去甚远.这对于如何最大程度利用现有信息,直接获取每个标签的语义提出了要求.

2 一种融合标签信息的多标签文本分类方法

对于给定的输入文本W=(w1,w2,w3,…,wn),n表示文本中词的个数,多标签文本分类模型为其分配若干相关的标签Y=(y1,…,ym),m表示此样本对应的标签数,且每个输入样本最终获得的标签数目不定.本文的模型框架如图1所示.

图1 多标签文本分类模型结构图Fig.1 Structure of multi-label text classification model

模型分为4个子模块:文本嵌入单元、标签语义向量生成器、标签关系向量生成器、combined-attention分类器.第1个子模块是文本嵌入单元,采用有效的预训练模型BERT能够获取更优质丰富的信息,对于提升模型分类精度大有裨益.第2个子模块是标签语义向量生成器,若某个数据集有t种标签,为了获得每个标签的语义元信息,首先将原始数据集分成t个子集合,将所有含有标签yi的样本归入第i个子集.采用注意力机制根据t个子集中的样本嵌入表示来提取每个标签的语义向量,此向量作为标签的语义元数据将被送入combined-attention分类器.第3个子模块是标签关系向量生成器,对于相当一部分数据集来说,标签的出现具有等价、包含、互斥等特点.为获取这种标签间的关系构建了标签共现矩阵,使用Node2Vector方法生成标签关系向量.此向量作为标签间的关系表征也被送入combined-attention分类器.第4个子模块是combined-attention分类器,此模块将第1个模块的输出作为注意力键向量,将第2个和第3个模块的输出作为查询向量,即注意力头,经过此注意力层得到文本分类相关的有效信息,最终整合两种关键信息,形成分类结果.

2.1 文本嵌入单元

本模型的文本嵌入使用大规模预训练模型BERT.为证明本模型的有效性,不对BERT进行微调仅使用预训练的参数.BERT模型的输入由字嵌入(Token Embeddings)、分割嵌入(Segment Embeddings)、位置嵌入(Position Embeddings)3部分组成.对于输入文本W=(w1,w2,w3,…,wn),用BERT将其嵌入为D,公式如式(1)所示:

(1)

式中,D表示句子嵌入的矩阵表示,dj表示第j个单词嵌入得到的向量表示,EToken表示字嵌入矩阵,ESegment表示分割嵌入矩阵,EPosition表示位置嵌入矩阵.本文模型在对分类样本进行嵌入和待提取语义元数据的样本进行嵌入两部分使用BERT做编码器,将BERT最后一层的输出D作为本模块的输出.

2.2 标签语义向量生成器

在进行语义提取前,首先需要对数据集进行处理,将样本根据其对应的标签yi分别放入子集Seti中,得到标签类别总数的t个子集,子集Seti中包含的样本都是被标记为此标签的.(因为此任务为多标签文本分类,所以也不可避免有其他类别的标签信息包含其中,如何进行语义清洗从而使一个向量单独表示一个标签的方法将在下面进行介绍.)将每个子集的样本经过BERT模型得到嵌入表示,如式(2)所示:

(2)

式中,k为子集中的样本数:

(3)

然后,利用式(3)计算样本间语义相似性权重矩阵,式中Relu(·)是激活函数,用λ和ξ两个字符表明d来自不同样本,再利用权重矩阵清洗原样本得出标签i的语义表示si.具体过程为,将子集中的样本分为两两一组,先在组间进行清洗,由此组样本得出其对应的一级中间语义,再将所有一级中间语义分组进行语义清洗得到更高级的中间语义,最后经过不断清洗得出此数据集所指向的标签语义.清洗过程首先利用注意力机制计算样本间的注意力权重,用权重矩阵的行向和以及列向和分别与对应样本相乘得到结果再相加,从而弱化两样本间的非公共语义,保留公共语义.原理图如图2所示,其中灰色部分表示注意力权重,灰度越高权重越大,易知句子间相似度高的部分注意力权重大.经过行(列)向求和得到的权重向量与样本1(2)相乘,能够极大程度地保留被注意到的语义,同时弱化未被注意的语义.最后将所有子集求得的标签语义向量拼接成标签语义矩阵S∈t×emb,emb表示D的嵌入维度,如式(4)所示:

图2 标签语义提取过程Fig.2 Label semantic extraction procession

S=concat(s1,s2,s3,…,st)

(4)

式中,concat(·)表示向量拼接操作,将S输入到combined-attention分类器.

2.3 标签关系向量生成器

本模块的输入是数据集中的标签集合{Y1,Y2,…,Yg},其中g表示数据集中的样本数,首先基于标签集合构建标签共现矩阵,行列均为标签标识符,矩阵中的值为两个标签共同标识一个句子的次数.由此矩阵构建标签关系图(V-E,V为结点集,E为边集),初始化图的结点数为数据集的标签总数边权重为矩阵中对应的共现次数.为得到每个标签的标签关系向量,本模块采用Node2Vector算法的随机游走策略,其参考了文本嵌入时使用的跳字模型(Skip-Gram)将图中结点表示成向量.给出所有初始结点,Node2Vector的目标是最大化结点的近邻结点出现概率.按照Skip-Gram的思路,在构建模型的过程中,需要遵循条件独立性假设和特征空间对称性假设.最终需要优化的目标函数如式(5)所示:

(5)

式中,f(·)是映射函数,NS(u)是结点u采样出的所有邻接结点集,Zu是归一化因子.在给定当前结点v的情况下,为求取访问下一个结点u的概率,Node2Vector采用有偏的随机游走,其概率公式如式(6)所示:

(6)

式中,πuv是结点v和u之间的未归一化转移概率,Z是归一化常数.经过Node2Vector得到标签关系矩阵R∈t×emb.

2.4 combined-attention分类器

本模型的输入是前面3个模块的输出,其中文本嵌入单元的输出D作为注意力键向量,标签语义向量生成器的输出S和标签关系向量生成器的输出R作为注意力头分别用于提取D中关键信息.combined-attention包括两个子层,分别是多头注意力层Lfirst和前向传输层Lsecond,每个子层都进行了残差连接和归一化.多头注意力层的注意力头为标签语义向量S和标签关系向量R.标签语义向量作为标签语义头用来提取样本基于独立性的标签语义信息,标签关系向量作为标签关系头用来提取基于联系性的标签关系信息.由于不同数据集中,标签语义头和标签关系头发挥作用的大小不同,为两种注意结果分配不同权重分别为β和1-β.β通过模型训练进行调节.combined-attention输出见式(7)、式(8):

Lfirst=Norm(D+β×att(D,S)+(1-β)×att(D,R))

(7)

Lsecond=Norm(Lfirst+forward(Lfirst))

(8)

式中,att(·)表示注意力处理,Norm(·)表示归一化处理,forward(·)表示全连接层.将Lsecond经过sigmoid函数生成概率向量Y,如式(9)所示:

Y=sigmoid(Lsecond)

(9)

根据不同需求取前τ个最大值作为最终分类结果.此模块模型如图3所示.

图3 信息提取及概率向量生成Fig.3 Information extraction and probability vector generation

3 实 验

3.1 数据集说明

表1 数据集Table 1 Datasets

·RCV1数据集是路透社金融类新闻数据集,是文本分类的常用数据集.包含训练样本23149条,测试样本781265条.其数据量在80KB级别,共有103个类标签;

·AAPD数据集是计算机科学领域的大型数据集,训练集中包含论文摘要55840条,测试摘要1000条,经过处理后的数据量在3.5KB 级别,共有54个类标签;

·EUR-Lex数据集是欧盟法律数据集,此次使用的公共版本包含训练样本11585条,测试样本3865 条,共有3956个类标签.其中有两个类别在训练和测试集中均没有样本,最后保留3954个类标签;

·Divorce数据集是2019年法研杯要素提取的数据集.将数据集进行预处理,筛选出训练样本1240条,测试样本396条,共有20个类标签.

3.2 损失函数与评价标准

为应对标签样本不平衡问题,使用BCEWithLogitsLoss作为损失函数,如式(10)所示:

(10)

本次评价指标采用τ精度(P@τ)和τ检索评价指标(nDCG@τ).这两种评价指标在多标签分类模型中被广泛使用,公式见式(11)、式(12):

(11)

(12)

3.3 参数说明

固定文本输入长度,采取长则截取、短则填充的形式.考虑到大部分关键信息存在于文章首尾,取文章开头128词和末尾372词拼接成长度为500的样本输入到BERT模型,每个词的维度为512,批处理大小32,训练轮数40轮,使用Adam优化器,学习率设置为0.00001.

3.4 基线模型

本次实验对比了5种多标签文本分类方法,简介如下:

· XML-CNN[21]模型为解决textCNN中信息提取不充分的问题,提出了动态最大池化,使得每个特征都有对应的结果,不仅提高了信息利用率,也将文本位置信息加以利用.

· Attention-XML[4]利用k-means聚类算法构造概率标签树,解决大规模标签造成的分类精度降低问题;

· BBN[22]提出了双边分支网络(BBN)处理长尾分布任务,同时训练表示学习和分类器学习;

· HTTN[19]利用迁移学习方法,用头标签训练的模型参数指导尾标签的分类;

· LAHA[20]融合注意力机制和自注意力机制以指导多标签文本分类.

3.5 实验结果与分析

本模型在3个英文数据集上多次实验结果均好于对比模型,在中文司法数据集上也体现了一定的优越性.本模型10次实验的平均结果如表2所示.可以看到在英文数据集上,对比以往的模型来说本文模型实验结果的各项指标均优于其他模型.而在司法数据集上,部分效果有所提升.司法数据集上部分分类指标略低的原因可能在于对比文本惯常采用的总-分-总的篇章结构,司法样本通常将案件关键信息逐条描述出来,且并非完全按照重要程度高低来表述.因此采用首尾截取的方法在司法数据集上的适用性稍差.

表2 实验结果对比(%)Table 2 Comparison of experimental results(%)

3.6 精度变化

将此模型与其余对比模型训练40轮,以AAPD数据集上评价指标P@1在训练过程的变化曲线为例进行可视化,如图4所示.可以看到,在BERT模型的引入以及组合式注意力的共同作用下,本文模型能达到不错的训练效果,并且在进一步的训练中能保持相对稳定的预测性能.而其余模型在达到最好预测效果后的进一步训练中出现了不同程度的精度波动,无法保持好的分类能力.这是因为本文的模型能够同时利用标签语义和标签关系从而有效提取了文本中的有效关键信息.另外,使用BERT预训练模型使得其在嵌入阶段能够进行准确的特征编码,提高了学习优化的效率,且模型的学习率较小而不容易出现过拟合,所以能保持好的分类效果.

图4 AAPD 训练过程 P@1 变化曲线Fig.4 AAPD training process P@1 change curve

3.7 消融实验

实验对比了使用一组标签语义和两组标签语义的情况下模型的分类效果,如图5所示,使用两组语义实验效果好于仅使用一组.这是因为两组语义可以涵盖更多的样本,其中的语义信息也就越丰富.继续增加语义头个数也能够对实验结果有少许助益,为了简化模型最终采用两个语义注意力头.

图5 一组与两组标签语义效果图Fig.5 Precision diagram of one group and two groups of label semantic

为探究模型中标签语义和标签关系的引入对实验结果的影响,分别只使用标签语义头或标签关系头进行实验,实验结果如图6所示.在RCV1和Divorce数据集上,使用标签关系的分类效果略好.在AAPD和EUR-Lex数据集上,使用标签语义分类效果更好.这与RCV1、Divorce数据集标签关联度强而AAPD、EUR-Lex数据集标签独立性强的特点相符合,而两者的共同指导效果均优于单独使用其中一个.

图6 消融实验效果图Fig.6 Precision diagram of ablation experiment

进一步将标签语义和标签关系的注意内容进行可视化,如表3所示.英文样本采样于AAPD数据集,标签为“cs.IT、math.IT”,标签语义头注意到了“field models extension scalar models channel matrices”等关键词,标签关系头注意到了“we consider networks where the channel coefficients are general scalars over some extension field ff p m( scalar m th extension field models ),m times m diagonal matrices over”这些关键词.中文样本采样于Divorce数据集,标签为“婚后分居、二次起诉离婚、准予离婚、法定离婚”,标签语义头注意到了“分居 外出 再次 离婚 支持”等关键词,标签关系头注意到了“现 原告 再次 诉至 本院 要求 与 被告 离婚 本院 认为 原 被告 分居 时间 较长 经 我院 判决 不准 离婚 后 仍 未能 和好 夫妻 感情 确已 破裂 原告 要求 与 被告 离婚 诉讼 请求 应予支持”等关键词.可见标签语义头和标签关系头均能在一定程度上注意到分类关键词,且两者分别注意到了文本的不同部分,说明两种注意力头有互补作用,同时应用两者能够获取更完整的信息.

表3 注意力可视化结果Table 3 Results of attention visualization

4 结 论

本文提出了一种融合标签信息的多标签文本分类方法.为了捕捉标签间的独立性和关联性,设计了标签语义向量生成器获取每个标签的语义元数据、标签关系向量生成器生成代表标签关系的向量.模型利用注意力机制逐步清洗提取标签语义向量,解决了标签语义需要人工搜索的问题.使用Node2Vector方法构建标签关系向量,将两种向量作为提取句子特征的两个注意力头,输入到combined-attention模型中.为了让模型适应不同种类数据集,在训练模型时采用自适应的方式为两种注意力信息赋予不同权重.本模型在3个英文公共数据集上均取得了优异的分类效果,在中文法律数据集上部分评价指标也有一定提升.

在未来的研究中,将进一步分析模型的语义信息来源与标签间关系的表示方法,利用好两者关系解决尾标签分类精度低的问题.此外,本文模型中的标签语义向量生成器与标签关系向量生成器增加了模型整体的复杂度,导致每次迭代训练的时间有所增加,在保证学习效率的前提下减小模型的复杂度是后面研究的重点.

猜你喜欢
注意力标签语义
让注意力“飞”回来
语言与语义
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
“上”与“下”语义的不对称性及其认知阐释
标签化伤害了谁
基于多进制查询树的多标签识别方法
认知范畴模糊与语义模糊