统计语言模型的发展历程

基于统计的语言模型(统计语言模型)其实出现得很早,但是它的发展历程和AI技术很类似,虽然有了理论,但是由于网络结构和数据量的局限,早期的统计语言模型并没有实现突破性的应用。这些语言模型存在不少缺点,例如过拟合、无法处理文本间长距离依赖性、无法捕捉微妙的语义信息等。

好在经过几十年的探索和积累,NLP领域也开始出现更高级的思路和算法。能够解决上述这些问题的技术和语言模型在深度学习时代开始逐渐涌现。

统计语言模型发展的里程碑如下图所示。

统计语言模型发展的里程碑

图中上半部分是语言模型技术的进展;下半部分则是词向量(词的表示学习)技术的进展。其中,词向量表示的学习为语言模型提供了更高质量的输入信息(词的向量表示)。图中涉及的技术具体介绍如下。

1948年,著名的N-Gram模型诞生,思路是基于前N-1个项目来预测序列中的第N个项目,所谓的“项目”,就是词或者短语。

1954年的Bag-of-Words模型是一种简单且常用的文本表示方法,它将文本表示为一个单词的集合,而不考虑单词在文本中的顺序。在这种表示方法中,每个单词都可以表示为一个单词频率向量,对应一个特定的维度,向量的值表示该单词在文本中出现的次数。

1986年出现的分布式表示(Distributed Representation)是一种将词或短语表示为数值向量的方法。在这种表示法中,单词的语义信息被分散到向量的各个维度上,因此可以捕捉到单词之间的相似性和关联性。分布式表示主要基于单词在文本中的上下文来构建,因此具有较多的语义和句法信息。这种表示方法有助于解决传统Bag-of-Words模型和独热编码(One-Hot Encoding)中的词汇鸿沟问题(词汇歧义、同义词等)。

2003年的神经概率语言模型则提出使用神经网络来学习单词之间的复杂关系,它是后续的神经网络语言模型,比如CNN、RNN、LSTM的思想起点。

2013年出现的另外一个重要的里程碑,即Word2Vec(W2V),是一种通过训练神经网络模型来学习词汇的分布式表示,简单而又高效。Word2Vec有两种主要的架构:连续词袋(Continuous Bag of Words,CBOW)模型和Skip-Gram模型。CBOW模型通过预测单词上下文(周围词)的目标单词来学习词向量,而Skip-Gram模型则通过预测目标单词周围的单词来学习词向量。Word2Vec生成的词向量可以捕捉到单词之间的相似性、语义关联及词汇的句法信息。其思想和训练结果被广泛用于许多NLP模型中。

2018年之后,基于Transformer的预训练语言模型一统江湖,在自然语言处理领域的许多任务中成为主导方法。它通过更大的语料库和更加复杂的神经网络体系结构来进行语法语义信息的学习,这就是语言模型的预训练过程。这些模型在具体NLP任务(如机器翻译、问答系统、文本分类、情感分析、文本生成等任务)上进行微调后,都表现出色,并且不断刷新各种基准测试的最高分数。如今,许多研究者和工程师都在使用这些预训练语言模型作为他们自然语言处理项目的基础。

因此,14页图中的每一个节点,都为后续技术的诞生打下了基础,因此也成为本书的讲解脉络。语言模型的进化,驱动了NLP技术的发展,而其中的关键点是从基于规则的模型到基于统计的模型的跃迁,以及海量语料库训练出来的大模型的使用