【文本分类】《基于提示学习的小样本文本分类方法》

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
简介: 使用P-turning提示学习,进行小样本文本分类。本文值得学习。

参考论文信息


  论文名称:《基于提示学习的小样本文本分类方法》


  发布期刊:《计算机应用》


  期刊信息:CSCD扩展版


  在ChatGPT出世这么久之后,终于决定跨入Prompt Learning的大门。我们先来介绍提示学习。


提示学习(Prompt Learning)


 Prompt Learning是一种新兴的自然语言处理技术,它可以通过预先定义的提示语来引导模型生成更加准确和连贯的文本。


 这种技术的核心思想是,在训练自然语言处理模型时,给定一个特定的输入提示来帮助模型更好地理解所需生成的输出文本。这种技术被广泛应用于各种自然语言处理任务,包括文本生成、问答、摘要、翻译和对话等。


 Prompt Learning技术的优点在于,它可以根据任务的不同和预期的输出文本的结构来设计和定义不同的提示语。同时,Prompt Learning技术还可以缩短训练时间,并提高模型的泛化能力。



Prompt Learning是继fine-tuning之后,NLP领域的“第四范式”。

将近代NLP技术的发展总结为四种范式,分别为:

P1. 非神经网络时代的完全监督学习 (Fully Supervised Learning, Non-Neural Network)

P2. 基于神经网络的完全监督学习 (Fully Supervised Learning, Neural Network)

P3. 预训练,精调范式 (Pre-train, Fine-tune)

P4. 预训练,提示,预测范式(Pre-train, Prompt, Predict)


Prompt,也就是提示,就按其字面理解,它就是伴随着输入一起,给予模型的一种上下文,它告诉、指导模型接下来你应当要做什么任务,是一个提示。或者换一种说法,就是前面说的它能够将下游任务改造成预训练模型期望的样子。


 举一个例子:在文本分类领域中


我们的 预训练模型 是GPT,bert这样的模型,

 我们的 下游任务 是 句子的情感分类问题。


 现在我拿到一句话"我喜欢这部电影"


 要判断"我喜欢这个电影"这句话的情感(“正面" 或者 “负面”)


 对于下游任务来说


我们的输入X:我喜欢这部电影

 输出Y应该是:正面y+或者负面y-


 我们使用prompt的方法去改造下游任务,让我们的预训练模型可以做这个任务,那我们可以将这句话变成一个完型填空。


 在"我喜欢这部电影"这个输入后面,


 加上一个模板“[X]整体上来看,这是一个 [Z] 的电影”

 即“我喜欢这部电影,整体上来看,这是一个 __ 的电影”


 在这里面,[Z]是我们预训练模型要预测的内容,“我喜欢这部电影,整体上来看,这是一个[Z]的电影”这样完形填空式的输入是预训练模型喜欢且擅长做的输入形式。


 之后,我们给出两个选项,让模型预测。


 A:无聊的 B:有趣的


 其中选项A就是无聊的对应的是负面情感,B有趣的对应的就是正面情感。


 Z=A -> X=y+ Z=B -> X=y-


 就这样,一个下游情感分类的任务改造成了预训练模型可以处理的形态。



Fine-tuning中:是预训练语言模型“迁就“各种下游任务。具体体现就是上面提到的通过引入各种辅助任务loss,将其添加到预训练模型中,然后继续pre-training,以便让其更加适配下游任务。总之,这个过程中,预训练语言模型做出了更多的牺牲。


 Prompting中,是各种下游任务“迁就“预训练语言模型。具体体现也是上面介绍的,我们需要对不同任务进行重构,使得它达到适配预训练语言模型的效果。总之,这个过程中,是下游任务做出了更多的牺牲。



但是在这里,一个合适的prompt(提示)对于模型的效果至关重要,像是提示的长度提示词汇的位置等等,一点prompt的微小差别,可能会造成效果的巨大差异。


 比如,我们离谱一点,你在上面的话中加一个但字,”我喜欢这本电影,但这本电影是___”,很明显预测出来的东西就完全相反了。


 所以现阶段prompt方法再做的大部分事情就是


设计一个合适的提示模板,来创造一个完形填空的题目;

 设计一个合适的填空答案,创造一个完型填空的选项;


 以此来设计,怎么样给模型一个最好的提示,让下游任务能够更加适配预训练模型。


论文思路


 论文提出:“设计一个合适的提示模板,来创造一个完形填空的题目”比较困难,所以使用论文《GPT Understands, Too》中的P-tuning方法,使用连续空间内的向量作为模板。但是由于《GPT Understands, Too》使用的是LSTM,本篇论文提出使用BERT,且在做完形填空的时候,使用BERT的MLM。



相关文章
|
机器学习/深度学习 人工智能 自然语言处理
基于非英语数据集的图形机器学习和集成学习方法增强文本分类和文本情感分析
基于非英语数据集的图形机器学习和集成学习方法增强文本分类和文本情感分析 摘要 近年来,机器学习方法,特别是图学习方法,在自然语言处理领域,特别是文本分类任务中取得了巨大的成果。然而,许多这样的模型在不同语言的数据集上显示出有限的泛化能力。在本研究中,我们在非英语数据集(如波斯语Digikala数据集)上研究并阐述了图形机器学习方法,该方法由用户对文本分类任务的意见组成。更具体地说,我们研究了(Pars)BERT与各种图神经网络(GNN)架构(如GCN、GAT和GIN)的不同组合,并使用集成学习方法来处理某些知名的非英语数据集上的文本分类任务。我们的分析和结果表明,应用GNN模型可以更好地捕捉文
105 0
|
5月前
|
机器学习/深度学习 算法 数据处理
【阿旭机器学习实战】【33】中文文本分类之情感分析--朴素贝叶斯、KNN、逻辑回归
【阿旭机器学习实战】【33】中文文本分类之情感分析--朴素贝叶斯、KNN、逻辑回归
|
6月前
|
机器学习/深度学习 算法
【机器学习】如何使用朴素贝叶斯分类器来处理类别特征?
【5月更文挑战第10天】【机器学习】如何使用朴素贝叶斯分类器来处理类别特征?
|
6月前
|
自然语言处理 Python
使用Python实现文本分类与情感分析模型
使用Python实现文本分类与情感分析模型
100 1
|
数据采集 机器学习/深度学习 自然语言处理
nlp入门之基于贝叶斯算法的拼写错误检测器
基于贝叶斯思想简单的实现了一个拼写错误检测器
|
6月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch搭建循环神经网络(RNN)进行文本分类、预测及损失分析(对不同国家的语言单词和姓氏进行分类,附源码和数据集)
PyTorch搭建循环神经网络(RNN)进行文本分类、预测及损失分析(对不同国家的语言单词和姓氏进行分类,附源码和数据集)
246 0
|
6月前
|
机器学习/深度学习 自然语言处理 数据挖掘
预训练语言模型中Transfomer模型、自监督学习、BERT模型概述(图文解释)
预训练语言模型中Transfomer模型、自监督学习、BERT模型概述(图文解释)
152 0
|
缓存 自然语言处理 测试技术
零样本文本分类——低资源场景下文本分类的利器(2)
零样本文本分类——低资源场景下文本分类的利器
|
机器学习/深度学习 自然语言处理 分布式计算
零样本文本分类——低资源场景下文本分类的利器(1)
零样本文本分类——低资源场景下文本分类的利器
|
机器学习/深度学习 自然语言处理 算法
SnowNLP使用自定义语料进行模型训练(情感分析)
SnowNLP使用自定义语料进行模型训练(情感分析)
1711 1
SnowNLP使用自定义语料进行模型训练(情感分析)