8.2 NLP主流任务和快速实践——NLP主流任务和快速实践
自然语言处理(natural language processing,简称NLP)是计算机科学和人工智能领域重要的方向,自2018年BERT预训练模型被提出以来,自然语言处理领域的各项任务指标不断被刷新,甚至在一些任务上已经超过了人类的基准值,例如阅读理解评测数据SQuAD 1.0。
预训练模型基于新的自然语言处理任务范式:预训练+微调,极大推动了自然语言处理领域的发展。
基于这个新的训练范式,预训练模型可以被广泛应用于NLP领域的各项任务中。一般来讲,比较常见的经典NLP任务包括以下四类:
- 分类式任务:给定一串文本,判断该文本的类别标签
- 问答式任务:给定问题和文档,要求从文档中抽取出问题的答案
- 序列标注式任务:给定一串文本,输出对应的标签序列
- 生成式任务:给定一串文本,同时要求模型输出一串文本
本节将讲解如何基于预训练模型BERT去建模分类式任务、问答式任务和序列标注式任务,并基于文本分类式任务进行实践,帮助大家进一步理解。
1. 基于BERT实现NLP主流任务
预训练模型BERT于2018年被谷歌提出,在当时刷新了11项自然语言处理任务,推动自然语言评测数据集GLUE分数达到80.5%(相比之前的SOTA模型,绝对提升7.7%);推动自然语言推理数据集MultiNLI 分数达到86.7%(绝对提升4.6%);推动阅读理解数据集SQuAD v1.1 分数达到93.2%(绝对提升1.5%);推动SQuAD v2.0 分数达到83.1%(绝对提升5.1%),BERT对自然语言处理中的作用可见一斑,是自然语言处理领域名副其实的里程碑。
那如何基于BERT去建模自然语言处理领域的任务呢?下面我们以分类式任务、问答式任务和序列标注式任务为例,讲解基于BERT实现这些任务的方式。
1.1 分类式任务
一般来讲,分类式任务根据输入语句的数量是1句话还是2句话,可以将分类式任务分为单句分类任务和句对分类任务。
其中,比较常见的单句分类任务包括文本类别分类,情感极性分类等,此类任务基于BERT模型可以按照 图1.1a 进行建模,即构造输入序列后,使用[CLS] token 位置的输出向量进行单句文本分类。
比较常见的句对分类任务是文本匹配,其主要用于判断输入的两句话在语义上是否相似。其经典的建模方式如 图1.1b 所示, 和单句分类任务不同之处在于,句对分类任务需要对两句话使用 [SEP] token拼接为一串序列,然后输入BERT模型,其同样采用[CLS] token 位置的输出向量进行单句文本分类。
1.2 问答式任务
问答式任务是指在给定问题和文档,要求从文档中抽取出问题的答案,比较常见的任务是智能问答和阅读理解。
该类任务的建模方式如 图1.1c 所示,使用[SEP] token 将问题和文档进行拼接后输入BERT模型,同时从输出的序列向量中,去定位答案的起始和结束位置。
1.3 序列标注式任务
序列标注式任务:给定一串文本,输出对应的标签序列,比较常见的任务是命名实体识别、文本分词、词性标注等序列到序列的任务。
该类任务的建模方式如 图1.1d 所示,输入一串文本后,根据输入文本的序列向量去预测文本序列中每个token的标签。
图1.1 基于BERT的主流建模方式
在学习到这么多任务的建模方式后,下面我们基于分类式任务中的文本匹配任务进行实践,带领大家体验使用BERT建模文本分类任务。
2. 基于预训练模型BERT实现文本匹配任务
文本匹配是自然语言处理领域基础的核心任务之一,其主要用于判断给定的两句文本是否语义相似。文本匹配技术具有广泛的应用场景,比如信息检索、问答系统,文本蕴含等场景。
例如,文本匹配技术可以用于判定以下三句话之间的语义相似关系:
- 苹果在什么时候成熟?
- 苹果一般在几月份成熟?
- 苹果手机什么时候可以买?
文本匹配技术期望能够使得计算机自动判定第1和第2句话是语义相似的,第1和第3句话,第2和第3句话之间是不相似的。
本节将基于PaddleNLP库中的BERT模型建模文本匹配任务,带领大家体验预训练+微调的训练新范式。由于PaddleNLP库中的BERT模型已经预训练过,因此本节将基于预训练后的BERT模型,在LCQMC数据集上微调BERT,建模文本匹配任务。
标签:NLP,自然语言,BERT,分类,实践,建模,主流,任务,文本 From: https://blog.csdn.net/m0_67184231/article/details/143589815