自然语言处理一直被誉为人工智能皇冠上的明珠。一方面,实现语言智能十分艰难。尽管机器人在电竞、围棋等方面频频超越人类,但目前的系统仍无法达到三、四岁孩童的语言和理解能力。另一方面在于自然语言处理本身对实现智能的重要性。在自然语言处理中最基础、最核心的就是预处理技术,本文将各个阶段最具代表性的词嵌入预处理技术进行了一个简单概述和总结。
NLP的预处理技术
在这里插入图片描述
众所周知,传统的机器学习最重要的技术就是特征工程的构建,正所谓“数据和特征”决定了机器学习的上限,算法只能无限逼近于这个上限,特征工程也成为数据挖掘从业者一个“门槛”。而深度学习与此不同,深度学习的数学本质是一系列的复合函数,结构上可看作端到端的特征提取器。

如上图所示,一个用于计算机视觉的CNN网络结构每一层都可以看作是一个特征提取器,其中低层次的神经元提取线条、轮廓等低层次的特征,这些特征与任务的关联性不高,具有任务的通用性,高层次神经元提取形状、车轮、车灯等高层次特征,这些特征与当前任务的高度相关,这就为计算机视觉的迁移学习提供了理论基础。

当我们手头上有一些从大量标记数据中训练出来的性能优异的网络架构时,那就可以使用这些网络架构的低层次神经元来提取其他视觉任务的数据特征,很幸运的是在机器视觉领域既有这样一个大数据集——Imagenet,也有这样一些优秀的CNN网络架构——Alexnet,VGG,Googlenet,Resnet等。

比如,当下垃圾分类非常热门,我们希望训练一个可以识别干垃圾、湿垃圾、可回收垃圾、有害垃圾一共4个类别图片分类器手头还有一个别人用几百万张图片, 2万多个类别的ImageNet数据集训练好的模型
在这里插入图片描述
训练方法1: 锁定前面 Conv 层的参数,只训练替换的 Dense 层
训练方法2: Conv 层和替换后的 Dense 层共同训练 (Fine-tune)

既然预训练在图像领域取得了巨大的成功,为何不能把它应用到自然语言处理上呢?这是由于自然语言的非结构性、不统一性、多样性等特点无法给自然语言标注一个像Imagenet这样的数据集。但研究者从20年前就开始探索如何从大量无标注的语料学习自然语言内在的结构——语言模型【Language Model】,这就涌现了一系列的NLP预处理技术下面就对一些有划时代意义的词嵌入技术进行简要的概述。
在这里插入图片描述
在这里插入图片描述
NLP预处理技术最早是静态的WordEmbedding技术再到后来的动态Embedding

静态Embedding技术
在这里插入图片描述
静态Embedding技术相较于最早的One-hot具有极大的进步,词向量表示虽然没有实际意义上的物理意义,但是具备了一定的数学意义,比如:同类别的猫狗兔等向量距离极其相近,此外更具备四则运算性质皇帝—男 = 皇后-女

但是,静态Embedding无法解决多义词问题,这就促进了广大研究者的研究热情,提出了动态的Embedding技术
在这里插入图片描述
ELMO是一个两阶段的预处理技术,很好地解决了一词多义问题,但是网络架构以LSTM为Backbone特征提取能力较弱,此外,网络是两阶段训练效果不如端到端的训练
GPT
在这里插入图片描述

GPT相较于ELMO使用更强大的特征提取器Transformer
BERT

在这里插入图片描述
2018年google发表paper 《Attention Is All You Need 》首次提出BERT,此后BERT刷爆所有的NLP任务,各项任务的准确度也都得到了提升,大大降低了 NLP 任务的门槛,大大降低了你为了某个任务去设计神经网络结构而绞尽脑汁的时间。处心积虑想的 CNN, RNN 结构,大概率不会比BERT好。
在这里插入图片描述
在这里插入图片描述

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐