基于提示学习的中文文本分类方法探究

2023-11-20 10:59宋城宇王思远李佩宏林可菁
火力与指挥控制 2023年10期
关键词:微调标签分类

蔡 飞,宋城宇,王思远,李佩宏,林可菁

(1.国防科技大学信息系统工程重点实验室,长沙 410073;2.中国人民大学信息资源管理学院,北京 100872)

0 引言

当前,网络与信息技术发展迅速,数据已成为继能源、矿产之后的又一国家战略资源[1]。能否对海量非结构化的数据进行快速、高效、自动化的管理,将对各国、各级组织机构的决策造成重大影响。传统的文本分类方法通常依赖专家进行人工判断,效率低下的同时往往需要大量的人力与时间成本[2]。自动文本分类是实现文本信息有效管理的基础,其目的在于运用自动化方法为未标注文本分配预先设定好的标签。

随着计算机硬件与自然语言处理技术的发展,借助各种文本特征工程进行文本分类的方法逐渐成为主流。根据其获取表征方式可大致分为3 类:1)基于统计的自动文本分类方法,如独热编码(one-hot)等,一般通过单词级别的上下文信息来学习文本表征。其局限表现为对单词的局部信息表征能力不足。2)基于神经网络的自动文本分类方法,如卷积神经网络(CNN)、循环神经网络(RNN)等[3-4],一般使用分布式的特征来表达文本中复杂的语义关系。然而,在面对每一个新数据集时都需要重新训练网络权重,造成泛化性和鲁棒性不足的缺陷。3)基于微调预训练语言模型的自动文本分类方法,如BERT、RoBERTa 等[5-7],一般在大型无标注数据集上进行无监督训练,来获得更具有泛用性的语义信息。当面对下游任务时,只需要使用少量的标注数据即可使模型参数适应下游任务的数据分布。但随着预训练模型参数的加速增长,标注数据不足造成的过拟合风险也逐渐增加。因此,如何充分利用预训练模型丰富的语义信息并快速适应标注数据较少的新任务,仍是一个艰巨的挑战。

受到GPT-3 模型小样本学习过程的启发[8],研究者逐渐开始使用一种被称为提示学习(Prompt Learning)的新范式。简单来讲,提示学习将微调方法“预训练-微调”的训练模式转换为“预训练-提示-预测”的模式[9],如图1 所示。一般地,提示学习使用自然语言词汇或多维向量作为标签词来替换原有标签,然后使用一段带有掩码([MASK])的序列作为模版,并将其与输入文本进行串联。由此,模型对输入的分类过程就转换成了对掩码位置应填入的标签词的选择过程。提示学习的优势在于:首先,其训练过程与预训练本身的预训练目标一致,因此,填补了预训练和下游任务之间原有的目标不匹配问题;其次,用具有语义信息的标签词替代原本无实际意义的标签,可以为模型提供更多的监督信号。因此,提示学习能够有效适应多种自然语言处理任务的预训练模型微调,在自动化文本分类中有更广阔的应用场景。

图1 传统微调与提示学习的微调示意图Fig.1 Fine tuning schematic diagram of traditional fine tuning and prompt learning

目前,针对提示学习的应用研究还普遍集中于英文任务上,相对地,针对中文自动文本分类的探究,仍普遍停留在基于神经网络和预训练模型的方法上。因此,本文旨在通过多个自然语言处理任务上的实验,来验证提示学习对于中文预训练模型性能的提升作用,并为提示学习在中文领域的进一步发展提供理论与实践基础。

1 国内外研究现状

1.1 传统事件分类方法

作为信息抽取的子任务之一,文本分类是自然语言处理领域的一个重要的研究方向[11-13],如今已经在推荐系统和指挥控制系统中被广泛应用[14-16]。随着计算机硬件和信息技术的快速发展,基于机器学习的方法在文本分类这一领域取得了较好的应用效果。例如,LI 等通过分别对触发词和文本要素进行特征提取,并联合两者特征进行相关度计算进行文本分类[17];LIAO 等通过跨事件出现的文本要素之间的相似性来进行文本分类[18];张帆等通过短时傅立叶变换转换地震事件的观测资料文本,并结合深度学习方法辅助模型进行训练[19]。随着亟待处理的数据呈指数级增长,深度学习技术逐渐开始被应用于文本分类任务。例如,薛峰等提出了一种融合单词等级和单词文档关联性语义的多模态监督主题模型用于综合多种模态的数据来增加监督信号,辅助模型训练[20];周旭等提出了一种对偶变分多模态注意力网络,用于同时处理完备和不完备社会事件文本[21];CHEN 等基于卷积神经网络(convolutional neural networks,CNN)来动态提取句子级别文本特征向量,并输入分类层进行分类[22]。

然而,基于深度学习的文本分类方法依然存在以下不足:1)需要大量的标注数据或人力资源对模型进行训练;2)面对不同任务和数据时,需要初始化并重新训练网络参数,难以具有快速适应性。

1.2 基于预训练模型的提示学习方法

近年来,随着各种预训练语言模型的提出[23-25],依靠大规模无标注数据获得潜在语义知识,并进一步使用提示学习方法辅助完成下游任务的研究越来越多。提示模版构建是转换下游任务输入形式的过程,主要可以分成3 类,分别是手动构建、离散模版生成和连续模版微调[26-29]。手动构建模板是最便捷直观的方式,一般由领域专家根据输入文本和标签之间的联系,以启发式的方法来设计一段自然语言序列作为模板。例如,罗贤昌等通过手动构造自然语言模板,来增强模型对软件需求精准分类的性能,显著增强了模型对不均衡数据的泛化能力[30];SCHICK 等通过针对单句和句子对输入设计了直观的自然语言模板,并通过预测伪标签的方式增强了模型在文本分类任务的表现[31];BROWN 等手动设计了前缀式的模板来解决一系列的自然语言处理任务,包括问答、机器翻译和常识推理等[32];PETRONI等通过人工设置的完形填空式模板来从预训练模型中抽取知识[33]。基于提示学习的文本分类方法能够弥补预训练模型与下游任务之间的不匹配关系,进而更加准确高效地完成下游任务。相较于现有的文本分类方法,基于提示学习的文本分类方法,更加适合快速任务适应、样本量少等复杂应用场景。

2 提示驱动的文本分类

2.1 问题定义

文本分类任务也可被看作为序列标记任务,具体来讲,给定由多组输入和标签组成的训练集Dtrain={x,y},其中,x∊X 为输入句子,y∊Y 为预先设定好的标签。文本分类模型fe能够根据输入文本x 来返回其所属的类别y,即fe(x)→y。假定对于每一个类别y 都给定K 个训练例子,则训练集包含的总实例数为|Dtrain|=|Y|×K。除此之外,另设一个验证集Ddev用于执行模型选择和超参数调整,一个只包含输入不包含标签的测试集Dtest用于验证模型的最终性能。

2.2 提示模版

模版(Template)是提示学习的重要组成部分之一,一般用于对输入句子进行重构。形式上,模版是一串由自然语言词汇或是可微调向量组成的序列,表示为:T,其中,包含一个可供模型填词的掩码位置:[MASK]。提示学习通过将模版与原始输入进行串联拼接,用T(x)表示。以二元情感分类的输入实例xi=“This pizza was delicious.”为例,其模版转换过程可以表示为:

2.3 标签词表示

相对于对输入进行重构的模版,标签词(Verbalizer)的目标是将原本无实际意义的标签词与自然语言词汇进行匹配,选择出更符合标签原本含义的词来代替原标签,以达到提供额外监督信号的目的。这一过程可以用V()表示,同样以二元情感分类的标签为例,其匹配结果可以表示为:

2.4 模型微调

在进行一般微调时,现有的微调方法通常将输入句子与特殊占位符(如:[CLS]和[SEP])进行连接,并训练一个针对特定下游任务的分类模型fe使得正确标签经过softmax 后的预测概率最大化:

其中,h[CLS]代表[CLS]位置的隐向量,通常用于表示整个输入序列的语义特征,W∊R|y|×d代表随机初始化后可微调的权重矩阵。与之相反,在进行提示驱动的微调时,语言模型的任务就转化为向[MASK]位置填词的“完形填空任务”。其过程可表示为:

其中,h[MASK]代表[MASK]位置的隐向量,V(y)代表标签的表示向量。与传统微调方法相比,提示学习能够充分利用预训练模型中的语义信息,且不会引入额外的参数。另外,它也可以弥补预训练模型与下游任务之间的形式差异,使得训练更加高效。

3 实验设置

3.1 数据集

为了更加全面地评估中文背景下提示学习对文本分类模型性能的影响,选取了涵盖多领域、不同难易程度任务的中文基线数据集(chinese general language understanding evaluation,CLUE)[10]中的5个文本分类任务,其中包括:

1)BQ:智能客服问句匹配任务,目标是对工业场景下的客服问答语句对合理性进行判断;

2)INEWS:情感分类任务,目标是判断输入文本的情感为积极或是消极;

3)LCQMC:口语化描述的语义相似度任务,目标是判断两个自然语言输入的相似性;

4)TNEWS:新闻主题分类任务,目标是判断输入短文本所属的新闻主题;

5)XNLI:自然语言推断任务,目标是判断两个给定的自然语言句子是蕴含、对立或中性关系。

文中实验所用数据集的统计信息如表1 所示。所选数据集涵盖了单句与双句分类,包含关系判别、情感分析和主题分类等多个任务,具有标签数量和平均输入长度差异大的特点,能够更加全面地评估提示驱动的文本分类方法带来的影响。

表1 数据集统计信息Table 1 Statistical information of datasets

3.2 实验环境与对比方法

本文中的所有实验结果均来自同一实验平台,硬件配置为英特尔i7-13700KF CPU @ 5.4GHz,英伟达GeForce RTX 3070ti-8G GPU。操作系统为Windows 11,Python 版 本 为3.11,Pytorch 版 本 为2.0+cu118。

对于文中用于比较模型性能的不同任务,本文采用一个统一的预训练语言模型来进行输入的编码与输出的预测,即RoBERTa-wwm-ext2。该模型在原有BERT 的基础上做出针对中文领域的改进,添加一个被称为全词掩码的预训练任务(whole word masked,WWM)以适应中文中词与词之间无分隔符的特点。除此之外,该模型在Google 发布的官方Chinese BERT 参数基础上进行训练,以获取更多泛化语义知识。最终模型结构由108 M 的参数量、12个隐藏层组成,最大输入长度为512。

用于性能对比的方法为:

1)一般微调方法[34]:一种常规监督学习模型,在原始语言模型的基础上增加一个序列分类层;

2)BERT-BiLSTM-CNN[35]:一种基于预训练模型(BERT)、双向长短期记忆网络(BiLSTM)和卷积神经网络(CNN)的混合神经网络模型文本分类方法。其名称在下文中使用“混合网络”来代替。

3.3 模版与标签词

对于每一个单独的任务,都有一个特定的模版和标签词组合用于将原始输入重构成提示学习的输入形式。形式上,使用x 来指代输入句子,对于句子对任务则使用testa,testb来代表两个输入句子,使用[MASK]来指代需要模型填入的掩码位置。

对于判断句子对意义判别的BQ 数据集:

4 实验结果与分析

4.1 总体性能

对上述的5 个文本分类数据集,选择一般微调作为基线模型与提示学习进行性能比较。同时,为了比较模型训练时的样本利用率,实验时分别采用全量数据、1%数据和1‰数据3 种设置,以此来验证模型对数据量的敏感程度。总体性能如下页表2所示。

总体来看,将一般微调任务调整为提示学习的形式可以普遍增强模型性能。例如在全量数据集下的不同任务上、使用相同预训练模型的情况下,提示学习模型的准确率相比一般微调模型有较小提高(0.02%~2.07%)。而在样本量较小时,这种优势更加明显。例如在1‰训练数据量下,提示学习模型相比一般微调模型的准确度增幅最大可以达到12.58%。这个现象说明在训练样本不足的情况下,使用提示学习模型能够显著提高有限样本的利用率,从而增强模型的训练效率,以快速拟合数据分布。从不同的任务来看,两种模型性能差距最大的任务为主题分类任务TNEWS,与其他任务最明显的区别在于类别数量远多于其他任务。这表明提示学习在较难的多分类任务上也能够进行高效的训练。

对比结合预训练模型、双向长短期记忆网络和卷积网络的混合网络模型来看,与提示学习模型的性能在全量数据的情况下性能相近,甚至在有的数据集上表现更佳。例如在TNEWS 数据集上,混合网络模型的性能比提示学习模型性能高出0.13%。这是由于在该任务上,混合网络中的长短期记忆网络和卷积神经网络对长新闻文本的语义有更强的表征能力。但是当数据量缩小至1%~1‰时,提示学习模型性能明显超过了混合模型。这一现象说明混合网络更多的可微调参数在少量数据的训练下更容易出现过拟合现象,也凸显了提示学习这一方法在训练资源受限场景下的优势。

4.2 标签词敏感度分析

为了更好地理解标签词(Verbalizer)的选择对模型性能的贡献,可以将提示中的模版进行固定,并选取不同的标签词组合来分别表示不同标签。由于提示驱动的模型优势主要体现在样本量较为缺少的场景下,并且在数据充足的情况下,不同提示造成的差异会被掩盖,因此,这里以1‰训练数据量的LCQMC 语义相似度任务为例,对提示驱动的模型进行训练,结果如表3 所示:

表3 不同标签词下的模型表现Table 3 Model performance under different verbalizers

分析实验结果可以得出结论,在模版固定的前提下,更加合理的标签词组合往往能够取得更高的准确率结果。以实验测试的结果来看,更加符合输入情况的标签词,更能促进模型的高效训练,即(相似/不相似)>(好/坏)>(不相似/相似)>(猫/狗)。

4.3 模版敏感度分析

除标签词外,提示学习的另一个重要组成部分为模版(Template)。为了衡量不同模版对于提示学习性能的影响,本文将标签词设置进行固定,并同样以1‰训练数据量的LCQMC 语义相似度任务为例,对提示驱动的模型进行训练,结果如表4 所示:

表4 不同模版下的模型表现Table 4 Performance of different templates

总体来看,除组成模版的序列外,掩码与句子对输入的相对位置也同样会影响模型性能。举例来讲,掩码拼接于句子后面时,交换句子对的位置可能带来1%左右的性能波动。另外,更加能够阐释句子对之间关系的模版能够促使模型活得更好的性能。

5 结论

本文在CLUE 中的5 个文本分类数据集上的3种数据量设置下,对一般微调和提示驱动的文本分类方法进行了比较。总体来看,利用模版(Template)和标签词(Verbalizer)将原输入重构成带有提示的形式,能够有效提升预训练语言模型的文本分类能力。除此之外,提示驱动的文本分类方法在不同的标签数量、输入长度、任务类型下具有一定的鲁棒性。然而,本文对模版和标签词的构造采用了较为原始的人工构造方法,而不同的构建方法已被证明能够显著影响提示学习的质量。因此,能否设计一种针对不同任务生成高质量提示的方法,将对提示驱动的文本分类模型产生重大影响。

猜你喜欢
微调标签分类
分类算一算
分类讨论求坐标
无惧标签 Alfa Romeo Giulia 200HP
数据分析中的分类讨论
一种新型微调挤塑模具的设计及应用
不害怕撕掉标签的人,都活出了真正的漂亮
灵活易用,结合自动和手动微调达到好效果 StormAudio ISP 3D.16 ELITE/PA 16 ELITE
教你一招:数的分类
标签化伤害了谁
基于多进制查询树的多标签识别方法