Prompt Learning——basic & 【EACL 2021】PET

重磅推荐专栏:
《大模型AIGC》
《课程大纲》
《知识星球》

本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经验分享,旨在帮助读者更好地理解和应用这些领域的最新进展

https://arxiv.org/pdf/2001.07676.pdf

在这里插入图片描述
如上图所示,是一个文本情绪分类的任务:判别“Best pizza ever!” 是正面情绪还是负面情绪?

文本提出的创新思路是:

1、可以先对文本进行完心填空任务的构造,如变成“Best pizza ever! It was __”。该方案可以进行零样本学习,利用MLM(即Masked Language Model)预训练的掩码语言模型模型(如BERT),预测得到缺失的token预测为“great”或“bad”的概率。即预训练模型能在预训练数据上学习到标签“great”或“bad”语义,以及其填入文中的语义合理性。

2、其实在第1步就能进行文本分类了,但是作者认为还可以进一步训练出分类器。我们利用集成学习的方式,多个预训练模型得到集成的soft-label

3、利用无监督文本数据和soft-label train一个文本分类模型

总结思考

PET的思想还可以进行有监督的少样本学习:对于有标签的数据,构造样本的时候,我们先给每个句子补上Pattern,除了Pattern自带的Mask位置之外,再还随机Mask其他一部分,以增强对模型的正则。

实操

接下来,我们使用 OpenPrompt 架构来进行实操,下面OpenPrompt 的整体架构图:

请注意,不是所有模块都必须使用 Prompt Learning。例如,在生成任务中,学习过程中没有进行 verbalizers 的学习。 PromptTrainer 是一个控制数据流和训练过程的控制器,具有一些独特的属性,用户也可以以常规方式实现训练过程。

情感分类

步骤 1. 定义任务

第一步是确定当前的 NLP 任务,想想你的数据是什么样的,你想从数据中得到什么!也就是说,这一步的本质是确定任务的classses和InputExample。为简单起见,我们以情绪分析为例。

from openprompt.data_utils import InputExample

classes = [  # 情绪分析分为两类,一类是负面的,一类是正面的
    "负面",
    "正面"
]
dataset = [  # 为简单起见,仅举两个例子
    # text_a 是数据的输入文本,其他一些数据集在一个样本中可能有多个输入句子。
    InputExample(
        guid=0,
        text_a="今天阳光灿烂。",
        label=1
    ),
    InputExample(
        guid=1,
        text_a="最近天天下雨。"
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小爷毛毛(卓寿杰)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值