赞
踩
自然语言处理(Natural Language Processing,NLP)是计算机科学,人工智能,语言学关于计算机和人类自然语言之间的相互作用的领域,是计算机科学领域与人工智能领域中的一个重要方向。
自然语言处理历史悠久,早在1949年的时候,美国人威弗就提出了机器翻译设计方案,可以视为自然语言处理领域的开端,此后自然语言处理在不断的发展,在上世纪该领域的方法主要是基于规则的方法和基于统计学的方法,这类方法效率较低,耗费人力,且无法处理大规模的数据集,因此自然语言处理领域一直不温不火。
2008年以来,随着深度学习在语音识别和图像处理领域取得成功,研究者们开始使用深度学习方法处理自然语言处理问题,从最初的词向量,到2013年的word2vec,再到2018年的bert,最后到如今的prompt,自然语言处理技术在最近的十年里面快速发展。
CMU的刘鹏飞博士总结了自然语言处理技术发展过程中的四种范式,每种范式代表了一种类型的自然语言处理方法,本文结合一些简单的示例,总结一下NLP中的四个范式。
第一范式指的是引入神经网络之前NLP领域的处理方法,提取出自然语言语料库中的一些特征,利用特定的规则或数学、统计学的模型来对特征进行匹配和利用,进而完成特定的NLP任务。常见的方法比如以下方法来进行序列分类、序列标注等任务:
第二范式指的是 神经网络引进之后,预训练模型出现之前 NLP领域的研究方法。
这类方法不用手动设置特征和规则,节省了大量的人力资源,但仍然需要人工设计合适的神经网路架构来对数据集进行训练。常见的方法比如CNN、RNN、机器翻译中的Seq2Seq模型等等。
第三范式指的是先在大的无监督数据集上进行预训练,学习到一些通用的语法和语义特征,然后利用预训练好的模型在下游任务的特定数据集上进行fine-tuning,使模型更适应下游任务。
GPT、Bert、XLNet等模型都属于第三范式,其特点是不需要大量的有监督下游任务数据,模型主要在大型无监督数据上训练,只需要少量下游任务数据来微调少量网络层即可。
第四范式指的是 将下游任务的建模方式重新定义: 通过合适的prompt(提示符、提示词)来实现直接在预训练模型上解决下游任务,这种模式需要极少量(甚至不需要)下游任务数据,使得小样本、零样本学习成为可能。
前文提到第三范式的fine-tuning过程是调整预训练模型,使其更加匹配下游任务,那么第四范式就正好相反,prompt过程则是调整下游任务,使其更加匹配预训练模型。也就是第三范式是预训练模型迁就下游任务,而第四范式是下游任务迁就预训练模型。
那么如何改造下游任务能更好的迁就预训练模型呢?以Bert为例,Bert有两个预训练任务,Masked LM完型填空任务和Next Sentence Prediction下个句子预测任务,对于这两种不同的与训练任务,prompt的类型也可以分为两类:
假设有一个情感分类任务,输入句子X,输出其情感标签Y{正向,负向}。
比如对于"这个餐厅的服务真不错。"这个句子进行情感分类,
由于正常的Bert的MLM预训练任务是预测整个词表,而上文的prompt预测的只有两个单词{很,不},因此需要调整词表,然后使用交叉熵损失函数进行模型。
因此,整个第四范式的处理过程为:
比如判断"我去了北京"和"我去了上海"这两句话之间的联系,可以使用完型填空的方式构造prompt:
将两个输入句子映射为prompt,然后将标签从{匹配,不匹配}映射为{是的,不是},借助MLM模型进行训练。
第四范式研究领域主要有三个问题:
首先,对于prompt,主要指的是"将原输入附加一段补充描述语句,通过这段补充描述语句实现任务转换和对任务求解,这段描述语句与原始输入一起形成一段语义合理的语句作为 prompt 的输入"。
也就是说,对于输入的文本x,可以通过两步生成prompt:
参考资料:
近代自然语言处理技术发展的“第四范式”
NLP的四个范式
从4篇最新论文详解NLP新范式——Continuous Prompt
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。