可以将NLP发展历史划分为三阶段,各阶段呈现出较为鲜明的特点。第一阶段以统计语言模型为主,各类词语&句子的表征方法层出不穷,没有哪种模型占据绝对优势;第二阶段以Word2Vec类的词向量模型为主,WordEmbedding技术大行其道,迁移学习的思想崭露头角;第三阶段预训练语言模型逐渐成熟,迁移学习的思想发挥到极致,BERT等模型站在前人的肩膀上大放异彩,NLP进入崭新的时代。
第一阶段以传统统计语言模型为主,神经网络语言模型锋芒初露
我们主要介绍了该阶段的两个模型,分别为N-gram和NNLM。N-gram是为了估计一段自然语言文本出现概率的大小而提出的模型,按链式法则将句子拆解为词语出现的条件概率,以较为简单的想法实现了较好的效果,但存在无法建模更长的上下文语义以及无法建模词语间相似性的缺点。NNLM则首次将深度学习的思想引入语言模型中,不仅可以对更长的文本进行建模,而且产生了“词向量”这一副产物,影响深远。
第二阶段以Word2Vec为代表,word embedding方法成为标配
Word2Vec包括CBOW和Skip-gram两组模型,任务分别为根据上下文预测中心词以及根据中心词来预测上下文,相比于第一阶段的NNLM简化了网络结构,同时使用了Hierarchical Softmax和Negative Sampling两种方法提高训练效率,使得大规模语料训练成为了现实。更重要的是,模型得到的词向量能够在语义上有非常好的表现。WordVec之后一大批wordembedding方法相继涌现,从不同的角度对词编码、句子&段落编码进行改进,word embedding成为NLP研究的标配,迁移学习思想逐渐明朗。
第三阶段预训练语言模型大行其道,在巨人的肩膀上BERT模型诞生
ELMo、GPT及BERT模型是第三阶段预训练语言模型的代表。ELMo的特点是可以根据上下文动态地生成词向量,具有学习不同语境下词汇多义性的能力,且使用双向语言模型使得特征的提取更为准确。GPT则首次将Transformer应用于语言模型,并且设计了一套高效的训练策略,证明了Transformer在NLP领域具有超强的能力和潜力。BERT模型集前人模型之大成,利用Transformer实现了真正意义上的双向语义理解,并在预训练阶段使用MLM和NSP两个任务实现语义的更深层次理解,完善和扩展了GPT中设计的通用任务框架。