本文为NLP入门之transform的学习笔记,学习资料为DataWhale的transform开源资料,黑马程序员bufen课程。
一、NLP的应用
- 文本分类:对单个、两个或者多段文本进行分类
例:“这个教程真棒!”这段文本的情感倾向是正向的,“我在学习transformer”和“如何学习transformer”这两段文本是相似的。 - 序列标注:对文本序列中的token、字或者词进行分类
例:“我在国家图书馆学transformer。”这段文本中的国家图书馆是一个地点,可以被标注出来方便机器对文本的理解。 - 问答任务——抽取式问答和多选问答
-
1、抽取式问答根据问题从一段给定的文本中找到答案,答案必须是给定文本的一小段文字。
例:问题“小学要读多久?”和一段文本“小学教育一般是六年制。”,则答案是“六年”。 -
多选式问答,从多个选项中选出一个正确答案
例:“以下哪个模型结构在问答中效果最好?“和4个选项”A、MLP,B、cnn,C、lstm,D、transformer“,则答案选项是D。
-
- 生成任务——语言模型、机器翻译和摘要生成
根据已有的一段文字生成(generate)一个字通常叫做语言模型,根据一大段文字生成一小段总结性文字通常叫做摘要生成,将源语言比如中文句子翻译成目标语言比如英语通常叫做机器翻译。
即NLP可以用于分子性质预测(分类和回归)以及分子生成的任务中。
二、Transformer的诞生
- 2017年,Attention Is All You Need论文首次提出了Transformer模型结构并在机器翻译任务上取得了The State of the Art(SOTA, 最好)的效果
- 2018年,BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding使用Transformer模型结构进行大规模语言模型(language model)预训练(Pre-train),再在多个NLP下游(downstream)任务中进行微调(Finetune),一举刷新了各大NLP任务的榜单最高分,轰动一时
- 2019年-2021年,研究人员将Transformer这种模型结构和预训练+微调这种训练方式相结合,提出了一系列Transformer模型结构、训练方式的改进(比如transformer-xl,XLnet,Roberta等等)
图来源:A Survey of Transformers
三、Transformer的优势
相比之前占领市场的LSTM和GRU模型,Transformer有两个显著的优势:
- Transformer能够利用分布式GPU进行并行训练,提升模型训练效率.
- 在分析预测更长的文本时, 捕捉间隔较长的语义关联效果更好.