【提示学习】HPT: Hierarchy-aware Prompt Tuning for Hierarchical Text Classification

简介: 本文是较早把Prompt应用到层级多标签文本分类领域的论文。思路是把层级标签分层编入到Pattern中,然后修改损失函数以适应多标签的分类任务。

阅读摘要


 本文是较早把Prompt应用到层级多标签文本分类领域的论文。思路是把层级标签分层编入到Pattern中,然后修改损失函数以适应多标签的分类任务。


[0] 摘要


 作者在描述创新点和思路时,主要抓住gap这个词:


 1、使用预训练语言模型PLM微调做层级多标签文本分类的常规方法,与掩模语言模型(MLM)预训练任务之间存在巨大差距,所以要把分类任务移植为MLM的形式,来弥补差距。


 2、MLM任务是多分类任务,层级多标签分类是多标签分类任务,两者的损失函数不一样,存在差距。


 作者思路就是弥补上述两个差距。


[1] 介绍


 层次文本分类HTC是一个多标签文本分类问题,分类结果对应于层次结构的一条或多条路径。



  上图中,(a)表示传统PLM解决HTC的模型结构,文本直接输入PLM里面去编码,层级标签信息会建模成树型或图型结构(通常是GAT,即图注意力网络)。


【注】由于文本编码模型这块已经有点饱和了,所以你可以看到现在好多硕士论文都在探索“标签相关性”的概念,这个概念就会与GAT或者图有关。


 尽管Fine tuning取得了成功,但GPT3的问世引起了大家对Prompt Learning的思考:Fine tuning可能限制了微调模型充分利用PLM中的知识。因此要使用Prompt,弥合PLM的下游任务和预训练任务之间的差距,从而充分挖掘PLM的潜力。


 当使用Prompt Learning(或者说MLM任务)解决HTC任务时,就会产生两个问题:


 1、掩模语言模型(MLM)的标签是平面的,HTC的层次结构标签怎么拓展到MLM任务上。


 2、MLM任务是多分类任务,层级多标签分类是多标签分类任务,如何设置损失函数。


 如上图中(b),作者把层级信息注入到MLM任务的Soft Pattern中,以解决问题1;使用零界多标签交叉熵损失解决问题2。


[2] 相关工作


[2.1] HTC


 根据使用标签层次结构的方式,HTC的现有工作可以分为局部方法和全局方法:局部方法为每个节点或级别构建分类器,而全局方法仅为整个图构建一个分类器。


 早期的全局方法忽略了标签的层次结构,并将问题视为扁平的多标签分类。后来,一些研究尝试通过元学习、强化学习和注意力模块来合并标签结构。虽然这些方法可以捕获分层信息,但通过结构编码器直接编码整体标签结构可以进一步提高性能。


[2.2] Prompt tuning


 主要介绍了Hard Prompt和Soft Prompt。


[4] 方法


 介绍了两点:怎么把树形标签结构过渡到MLM任务中;怎么解决多标签文本分类的损失。



【注】如上图:


  part 1是模板,可以看到在常规文本输入之后,还拼接了一些特殊的伪标签;


  part 2是分层感知提示模块,标签树的每一层都做一个标记ti ,放入模板中,ti后面还跟了e [ P R E D ] 来预测这个标记,经过MLM模型后,标记ti 只会预测对应层级的标签,文中称之为层级约束Hierarchy Constraint;


  part 3是MLM任务的损失,许多Prompt Text Classification论文里面又称为auxiliary loss,其实是BERT会对输入随机mask掉15%后计算的损失,它和我们计算分类的损失可以认为是独立的,互不干扰;


  part 4是层级分类的损失函数,论文中没有使用常规的多标签分类损失BCELoss,而是提出了Zero-bounded Multi-label Cross Entropy Loss。


[4.1] 分层感知提示


 层级约束


 为了合并标签层次结构,提出分层提示。由于标签层次结构是树状结构,因此基于层次结构的深度来构造模板。


 给定一个预定义的标签层次yh = (Y, E),深度为L,输入文本为x,则模板为[CLS] x [SEP] [V1] [PRED] [V2] [PRED]…”[vl] [pred] [sep]。特殊的[PRED]令牌进行标签预测,表示多标签预测。


 对于verbalizer,为每个标签yi创建一个可学习的虚拟标签单词vi,并通过对其对应标记的平均嵌入来初始化其嵌入vi。如图2中绿色部分所示,不预测一个槽中的所有标签,而是根据标签的层将标签分成不同的组,并约束[PRED]只预测一个层上的标签。为此,每个模板词[Vi]后面跟着一个[PRED]标记,用于第i层的预测。


 层级注入


 层级约束只引入了标签的深度,但缺乏它们的连通性与层级结构。为了解决标签层次的连通性问题,文章提出层级注入。


 如part 2的蓝色部分,作者使用GAT来编码标签信息,并把层级信息注入到输入的模板中。


[4.2] 零界多标签交叉熵损失


 首先MLM任务是多类别分类,单标签分类,使用的是交叉熵损失,并不适用我们的层级多标签分类。


 常规的层级多标签分类使用的是二元交叉熵损失(BCELoss),但是作者说BCE忽略了标签之间的相关性,为了弥合这种多标签和多类别的差距,在本文中,我们期望所有目标标签的分数大于所有非目标标签的分数,而不是单独计算每个标签的分数。


 在论文中,作者提出了两种损失函数:多标签交叉熵损失(MLCE)和零边界多标签交叉熵损失(ZMLCE)。


 多标签交叉熵损失如下:



 其中Np表示目标标签集合,Nn表示非目标标签集合,yi是每个标签的sigmoid之后的概率。损失函数的目标是最大化目标标签的得分与非目标标签的得分之间的差距。然而,在实际推断过程中,上面的公式没法算。


 为了解决这个问题,引入了一个常数得分为0的锚定标签,并希望目标标签和非目标标签的得分都大于和小于0。这样,他们提出了零边界多标签交叉熵损失:


它由两部分组成:第一部分是目标标签的得分,第二部分是非目标标签的得分。这样就很容易计算了。但是这个损失只是一层的损失,最后要求和。





image.png

相关文章
|
安全 Linux iOS开发
Anaconda下载及安装保姆级教程(详细图文)
Anaconda下载及安装保姆级教程(详细图文)
27181 1
Anaconda下载及安装保姆级教程(详细图文)
|
自然语言处理
【NLP】如何实现快速加载gensim word2vec的预训练的词向量模型
本文探讨了如何提高使用gensim库加载word2vec预训练词向量模型的效率,提出了三种解决方案:保存模型以便快速重新加载、仅保存和加载所需词向量、以及使用Embedding工具库代替word2vec原训练权重。
681 2
|
12月前
|
存储 机器学习/深度学习 人工智能
深入浅出 AI 智能体(AI Agent)|技术干货
随着人工智能技术的发展,智能体(AI Agents)逐渐成为人与大模型交互的主要方式。智能体能执行任务、解决问题,并提供个性化服务。其关键组成部分包括规划、记忆和工具使用,使交互更加高效、自然。智能体的应用涵盖专业领域问答、资讯整理、角色扮演等场景,极大地提升了用户体验与工作效率。借助智能体开发平台,用户可以轻松打造定制化AI应用,推动AI技术在各领域的广泛应用与深度融合。
21702 1
|
搜索推荐
九大排序算法时间复杂度、空间复杂度、稳定性
九大排序算法的时间复杂度、空间复杂度和稳定性,提供了对各种排序方法效率和特性的比较分析。
600 1
|
机器学习/深度学习 数据可视化 算法
【Python机器学习专栏】t-SNE算法在数据可视化中的应用
【4月更文挑战第30天】t-SNE算法是用于高维数据可视化的非线性降维技术,通过最小化Kullback-Leibler散度在低维空间保持数据点间关系。其特点包括:高维到二维/三维映射、保留局部结构、无需预定义簇数量,但计算成本高。Python中可使用`scikit-learn`的`TSNE`类实现,结合`matplotlib`进行可视化。尽管计算昂贵,t-SNE在揭示复杂数据集结构上极具价值。
839 1
|
测试技术 数据安全/隐私保护 Java
基于SpringBoot+Vue+uniapp的超市商品管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的超市商品管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
156 0
|
自然语言处理 安全 算法
【ACL 2023-NER注入到PLM】基于上下文学习的命名实体识别 Learning In-context Learning for Named Entity Recognition
【ACL 2023-NER注入到PLM】基于上下文学习的命名实体识别 Learning In-context Learning for Named Entity Recognition
332 0
|
机器学习/深度学习 算法 数据挖掘
【多标签文本分类】MSML-BERT模型的层级多标签文本分类方法研究
【多标签文本分类】MSML-BERT模型的层级多标签文本分类方法研究
1428 0
【多标签文本分类】MSML-BERT模型的层级多标签文本分类方法研究
|
机器学习/深度学习 计算机视觉
【论文速递】ICLR2023 - 基于视觉语言预训练模型的医疗图像小样本学习及零样本推理性能研究
【论文速递】ICLR2023 - 基于视觉语言预训练模型的医疗图像小样本学习及零样本推理性能研究
289 0
|
JSON IDE 测试技术
软件测试|好用的pycharm插件推荐(二)—— JSON Parser
软件测试|好用的pycharm插件推荐(二)—— JSON Parser