0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Prompt Learning下引入外部知识达到好文本分类效果

深度学习自然语言处理 来源:夕小瑶的卖萌屋 作者:小伟 2022-07-08 11:53 次阅读

背景

利用Prompt Learning(提示学习)进行文本分类任务是一种新兴的利用预训练语言模型的方式。在提示学习中,我们需要一个标签词映射(verbalizer),将[MASK]位置上对于词表中词汇的预测转化成分类标签。例如{POLITICS: "politics", SPORTS: "sports"} 这个映射下,预训练模型在[MASK]位置对于politics/sports这个标签词的预测分数会被当成是对POLITICS/SPORTS这个标签的预测分数。

手工定义或自动搜索得到的verbalizer有主观性强覆盖面小等缺点,我们使用了知识库来进行标签词的扩展和改善,取得了更好的文本分类效果。同时也为如何在Prompt Learning下引入外部知识提供了参考。

方法

我们提出使用知识库扩展标签词,通过例如相关词词表,情感词典等工具,基于手工定义的初始标签词进行扩展。例如,可以将{POLITICS: "politics", SPORTS: "sports"} 扩展为以下的一些词:

bd18025a-ed60-11ec-ba43-dac502259ad0.png

表1: 基于知识库扩展出的标签词。

bd25f252-ed60-11ec-ba43-dac502259ad0.png

图1: 以问题分类任务为例的KPT流程图。

之后我们可以通过一个多对一映射将多个词上的预测概率映射到某个标签上。

但是由于知识库不是为预训练模型量身定做的,使用知识库扩展出的标签词具有很大噪音。例如SPORTS扩展出的movement可能和POLITICS相关性很大,从而引起混淆;又或者POLITICS扩展出的machiavellian(为夺取权力而不择手段的)则可能由于词频很低不容易被预测到,甚至被拆解成多个token而不具有词语本身的意思。

因此我们提出了三种精调以及一种校准的方法。

01

频率精调

我们利用预训练模型M本身对于标签词v的输出概率当成标签词的先验概率,用来估计标签词的先验出现频率。我们把频率较小的标签词去掉。

bd379138-ed60-11ec-ba43-dac502259ad0.png

公式1: 频率精调。C代表语料库。

02

相关性精调

有的标签词和标签相关性不大,有些标签词会同时和不同标签发生混淆。我们利用TF-IDF的思想来赋予每个标签词一个对于特定类别的重要性。

bd427238-ed60-11ec-ba43-dac502259ad0.png

公式2: 相关性精调,r(v,y)是一个标签词v和标签y的相关性,类似于TF项。右边一项则类似IDF项,我们要求这一项大也就是要求v和其非对应类相关性小。

03

可学习精调

在少样本实验中,我们可以为每个标签词赋予一个可学习的权重,因此每个标签词的重要性就变成:

bd4dc138-ed60-11ec-ba43-dac502259ad0.png

公式3:可学习的标签词权重。

04

基于上下文的校准

在零样本实验中不同标签词的先验概率可能差得很多,例如预测 basketball可能天然比fencing大,会使得很多小众标签词影响甚微。我们使用校准的方式来平衡这种影响。

bd5be0a6-ed60-11ec-ba43-dac502259ad0.png

公式4: 基于上下文的校准,分母是公式1中的先验概率。

使用上以上这些精调方法,我们知识库扩展的标签词就能有效使用了。

实验

bd6714d0-ed60-11ec-ba43-dac502259ad0.png

表2:零样本文本分类任务。

如表2所示,零样本上相比于普通的Prompt模板,性能有15个点的大幅长进。相比于加上了标签词精调的也最多能有8个点的提高。我们提出的频率精调,相关性精调等也各有用处。

bd73cfcc-ed60-11ec-ba43-dac502259ad0.png

表3:少样本文本分类任务。

如表3所示,在少样本上我们提出的可学习精调搭配上相关性精调也有较大提升。AUTO和SOFT都是自动的标签词优化方法,其中SOFT以人工定义的标签词做初始化,可以看到这两种方法的效果都不如KPT。

bd83242c-ed60-11ec-ba43-dac502259ad0.png

图2: SPORTS和BUSINESS类的知识库扩展的标签词对于预测的贡献。

标签词的可视化表明,每一条句子可能会依赖不同的标签词进行预测,完成了我们增加覆盖面的预期。

总结

最近比较受关注的Prompt Learning方向,除了template的设计,verbalizer的设计也是弥补MLM和下游分类任务的重要环节。我们提出的基于知识库的扩展,直观有效。同时也为如何在预训练模型的的利用中引入外部知识提供了一些参考。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 频率
    +关注

    关注

    4

    文章

    1433

    浏览量

    59125
  • 知识库
    +关注

    关注

    0

    文章

    10

    浏览量

    6713

原文标题:ACL2022 | KPT: 文本分类中融入知识的Prompt Verbalizer

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    何在文本字段中使用上标、下标及变量

    在KiCad的任何文本字段中,都可以通过以下的方式实现上标、下标、上划线以及显示变量及字段值的描述: 文本变量“文本变量”可以在 原理图设置->工程->文本变量 中设置。下图中设置了一
    的头像 发表于 11-12 12:23 38次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>文本</b>字段中使用上标、下标及变量

    AI对话魔法 Prompt Engineering 探索指南

    作者:京东物流 李雪婷 一、什么是 Prompt Engineering? 想象一,你在和一个智能助手聊天,你需要说出非常清晰和具体的要求,才能得到你想要的答案。Prompt
    的头像 发表于 11-07 10:11 638次阅读
    AI对话魔法 <b class='flag-5'>Prompt</b> Engineering 探索指南

    RK3588 技术分享 | 在Android系统中使用NPU实现Yolov5分类检测

    : NPU帮助机器完成更高效的翻译、文本分类和情感分析,推动了自然语言处理技术的发展。 实例分享:Yolov5分类检测 在RK3588处理器上,不仅可以基于Linux系统使用NPU,也可以
    发表于 10-24 10:13

    何在TMS320C6727 DSP上创建基于延迟的音频效果

    电子发烧友网站提供《如何在TMS320C6727 DSP上创建基于延迟的音频效果.pdf》资料免费下载
    发表于 10-16 10:35 0次下载
    如<b class='flag-5'>何在</b>TMS320C6727 DSP上创建基于延迟的音频<b class='flag-5'>效果</b>

    雷达的基本分类方法

    电子发烧友网站提供《雷达的基本分类方法.pdf》资料免费下载
    发表于 09-11 09:09 6次下载

    RK3588 技术分享 | 在Android系统中使用NPU实现Yolov5分类检测

    : NPU帮助机器完成更高效的翻译、文本分类和情感分析,推动了自然语言处理技术的发展。 实例分享:Yolov5分类检测 在RK3588处理器上,不仅可以基于Linux系统使用NPU,也可以
    发表于 08-20 11:13

    利用TensorFlow实现基于深度神经网络的文本分类模型

    要利用TensorFlow实现一个基于深度神经网络(DNN)的文本分类模型,我们首先需要明确几个关键步骤:数据预处理、模型构建、模型训练、模型评估与调优,以及最终的模型部署(尽管在本文中,我们将重点放在前四个步骤上)。下面,我将详细阐述这些步骤,并给出一个具体的示例。
    的头像 发表于 07-12 16:39 669次阅读

    卷积神经网络在文本分类领域的应用

    显著成就后,也逐渐被引入文本分类任务中。卷积神经网络通过模拟人类视觉系统的信息处理方式,能够有效地提取文本中的局部特征,进而实现高精度的文本分类。本文将对卷积神经网络在
    的头像 发表于 07-01 16:25 595次阅读

    何在idf工程中引入mdf WiFi-Mesh函数?

    我原先在idf开发好的程序,如何引入mdf进行开发?需要用到WiFi-Mesh,看了mdf的例程是比较合适的,而idf的wifi-m
    发表于 06-28 14:59

    交换机的基本分类

      交换机作为网络通讯中的核心设备之一,其在网络架构中起着至关重要的作用。随着信息技术的飞速发展,交换机也在不断演进和革新,以满足日益复杂的网络需求。本文将对交换机的分类及其特点进行详细介绍,以期为读者提供清晰、深入的理解。
    的头像 发表于 06-06 11:06 1551次阅读

    了解如何使用PyTorch构建图神经网络

    图神经网络直接应用于图数据集,您可以训练它们以预测节点、边缘和与图相关的任务。它用于图和节点分类、链路预测、图聚类和生成,以及图像和文本分类
    发表于 02-21 12:19 697次阅读
    了解如何使用PyTorch构建图神经网络

    何在VDAC上使用外部频闪功能?

    何在 VDAC 上使用外部频闪功能? 它使用上升边缘吗? 我看不到具体说明。
    发表于 01-30 08:12

    如何从训练集中生成候选prompt 三种生成候选prompt的方式

    预测正确的),让LLM给出当前prompt预测错误的原因,这一原因即文本形式的“gradient”。使用的还是LLM!
    的头像 发表于 01-12 11:29 870次阅读
    如何从训练集中生成候选<b class='flag-5'>prompt</b> 三种生成候选<b class='flag-5'>prompt</b>的方式

    人工智能中文本分类的基本原理和关键技术

    在本文中,我们全面探讨了文本分类技术的发展历程、基本原理、关键技术、深度学习的应用,以及从RNN到Transformer的技术演进。文章详细介绍了各种模型的原理和实战应用,旨在提供对文本分类技术深入理解的全面视角。
    的头像 发表于 12-16 11:37 1157次阅读
    人工智能中<b class='flag-5'>文本分类</b>的基本原理和关键技术

    何在代码中配置DDS编程示例

    DDS编程示例 我们尝试在代码中配置DDS,以之前Hello World话题通信为例。 运行效果 启动两个终端,分别运行发布者和订阅者节点: $ ros2 run learning
    的头像 发表于 11-24 18:08 958次阅读
    如<b class='flag-5'>何在</b>代码中配置DDS编程示例