自然语言表示学习:文本语义向量化表示研究与应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1 发展历史

自然语言处理领域中,语义表示学习的发展主要包括三个阶段:独热表示(One-hot Representation)、分布式表示(Distributed Representation)和预训练语言模型(Pre-trained Language Model)。

传统的语义表示方法采用独热表示方法。该方法使用一个高维且稀疏的向量表示词,即向量空间的维度是词典的大小,每个词向量中只有一个维度上的数据为 1,其余维度数据为 0。向量仅能表示这个词在词典中的索引信息。这种独热表示方法存在明显的缺点:

● 严重的数据稀疏:每个向量仅在一个维度上有信息,所有词向量组成的矩阵是一个庞大的稀疏矩阵;

● 计算复杂度高:在大规模语料中词典通常很大,因此向量的维度很高,在文本处理和语义相似度计算过程中,高维度向量计算严重浪费存储空间和计算资源,并且庞大的特征维数极易造成过拟合,影响任务效果;

● 无法表示语义特征:由于向量中唯一的非零元素仅记录了词的索引位置,没有记录词的语义信息,因此独热表示方法在实际应用中无法体现词间的相似性和语义关联性等语义特征信息。

为了克服独热表示方法的缺陷,Bengio等人提出了分布式表示方法。分布式表示方法是一种将自然语言词映射到低维连续的实数向量空间的技术。其中,向量的每一个维度都刻画词的一种直接或潜在的语义特征,向量空间维度远远小于词表大小。与独热表示方法相比,分布式表示方法的优势在于:

● 使用低维稠密的向量表示方式,打破了维度“困境”,节约计算资源;

● 向量的每一维度数据都表示一种直接或潜在的信息,携带词的语义特征;

● 通过向量的线性变化可以表示词间语义关系,具有语义计算简便、相似度测量简洁的特点。

借助深度学习的复兴,基于神经网络的分布式表示方法可以从大规模的数据中自动学习词的语义特征,迅速成为了自然语言处理领域的研究热点。2013年Mikolov等人提出了Word2Vec方法,利用单层神经网络模型从大规模无标注语料中快速学习词的分布式表示。2014年,斯坦福自然语言团队Pennington等人提出了GloVe方法,利用全局共现信息的矩阵分解方法学习分布式表示,并发布了从大规模语料中训练的高质量词向量库,用于支持下游自然语言处理任务。这些方法公开发布了模型代码和词向量库,极大程度上方便了下游任务的进行,可以直接使用高质量的分布式语义表示,避免了从随机初始化的模型开始进行训练。鉴于此,分布式的语义表示方法被广泛应用于自然语言处理领域的任务中,成为了不同模型中必备的文本语义初始化模块。

在分布式表示方法的研究过程中,研究人员发现这种方法的缺陷是使用固定的向量表示词,无法应对一词多义、词表空缺等问题。预训练语言模型的出现在一定程度上解决了这个问题。预训练语言模型是一种动态的语义表示方法,它基于大规模的语料对语言模型进行预训练,然后应用到下游任务过程中,避免了从随机初始化的模型开始进行训练。整个网络及参数被迁移到下游的任务中,在精调阶段模型中的词语义特征可以根据语境信息进行动态调整。在2018年,Peters等人提出了ELMo模型,对前向和后向语言模型进行拼接,学习深层语义特征。Open-AI 团队提出了生成式的预训练模型 GPT,利用Transformer(变形器)预训练单向语言模型可以更好地捕获词间的关联,学习高质量的预训练语言模型。随后,谷歌研究团队提出了BERT模型,并设计了掩码语言模型任务,同时利用双向的信息学习词的语义特征,该模型在文本分类、机器阅读理解、命名实体识别等十一项任务中均取得了较优的效果,显著超越了传统的方法,极大地推动了预训练语言模型的发展。此后,出现了XLNet、RoBERTa、SpanBERT 等多种模型,不断提升预训练语言模型的语义表示能力,使其被广泛应用到自然语言处理任务中,成为了自然语言处理任务的新范式。

总结来说,文本语义的表示经历了独热表示、分布式表示、预训练语言模型三个阶段。作为自然语言处理领域的基础任务,分布式表示方法和预训练语言模型极大推动了当时自然语言处理领域的发展,推动了领域变革,提升了下游任务的效果。