自然语言处理从入门到应用——动态词向量(Dynamic Word Embedding)/上下文相关的词向量(Contextualized Word Embedding)

分类目录:《自然语言处理从入门到应用》总目录


如前文所述,词向量的学习主要利用了语料库中词与词之间的共现信息,其背后的核心思想是分布式语义假设。在目前介绍的静态词向量学习算法中,无论是基于局部上下文预测的word2vec算法,还是基于显式全局共现信息的 GloVe回归算法,其本质都是将一个词在整个语料库中的共现上下文信息聚合至该词的向量表示中。因此,在一个给定的语料库上训练得到的词向量可以认为是静态的,即:对于任意一个词,其向量表示是恒定的,不随其上下文的变化而变化。然而,在自然语言中,同一个词在不同的上下文或语境下可能呈现出多种不同的词义、语法性质或者属性。以“下场”一词为例,其在句子“他 亲自 下场 参加 比赛”和“竟 落得 这样 的 下场”中的词义截然不同,而且具有不同的词性(前者为动词,后者为名词)。一词多义是自然语言中普遍存在的语言现象,也是自然语言在发展变化过程中的自然结果。在静态词向量表示中,由于词的所有上下文信息都被压缩、聚合至单个向量表示内,因此难以刻画一个词在不同上下文或不同语境下的不同词义信息。

为了解决这一问题,研究人员提出了上下文相关的词向量(Contextualized Word Embedding)。顾名思义,在这种表示方法中,一个词的向量将由其当前所在的上下文计算获得,因此是随上下文而动态变化的。在后面的文章中中,也将其称为动态词向量(Dynamic Word Embedding)。在动态词向量表示下,前面例子中的“下场”在两句话中将分别得到两个不同的词向量表示。需要注意的是,动态词向量仍然严格满足分布式语义假设。

在一个文本序列中,每个词的动态词向量实际上是对该词的上下文进行语义组合后的结果。而对于文本这种序列数据而言,循环神经网络恰好提供了一种有效的语义组合方式。在序列数据建模应用中,既有利用循环神经网络最后时刻的隐含层表示作为整个文本片段(句子)的向量表示,以进行文本分类;也有利用每一时刻的隐含层表示进行序列标注(如词性标注)。这意味着,循环神经网络模型中每一时刻(位置)的隐含层表示恰好可以作为该时刻词在当前上下文条件下的向量表示,即动态词向量。同时,循环神经网络可以通过语言模型任务进行自监督学习,而无须任何额外的数据标注。基于该思想,Matthew Peters等人提出语言模型增强的序列标注模型TagLM。该模型利用预训练循环神经网络语言模型的隐含层表示作为额外的词特征,显著地提升了序列标注任务的性能。随后,他们进一步完善了这项研究,并提出深度上下文相关词向量的思想以及预训练模型ELMo(Embeddings from Language Models)。在包括自动问答、文本蕴含和信息抽取等多项自然语言处理任务上的实验表明,ELMo能够直接有效地为当时最好的模型带来显著的提升。同时,ELMo模型还被推广至多语言场景,在CoNLL-2018国际多语言通用依存句法分析的评测任务中取得了优异的表现。

在特定的条件下,也可以利用更丰富的监督信号训练循环神经网络。例如,当存在一定规模的双语平行语料时,可以利用基于序列到序列的机器翻译方法训练循环神经网络。在训练完成后,便可以利用翻译模型的编码器对源语言进行编码以获取动态词向量。文献[12]提出的CoVe模型采用了这种预训练方法。但是,双语平行语料的获取难度相比单语数据更高,且覆盖的领域也相对有限,因此通用性有所欠缺。

参考文献:
[1] 车万翔, 崔一鸣, 郭江. 自然语言处理:基于预训练模型的方法[M]. 电子工业出版社, 2021.
[2] 邵浩, 刘一烽. 预训练语言模型[M]. 电子工业出版社, 2021.
[3] 何晗. 自然语言处理入门[M]. 人民邮电出版社, 2019
[4] Sudharsan Ravichandiran. BERT基础教程:Transformer大模型实战[M]. 人民邮电出版社, 2023
[5] 吴茂贵, 王红星. 深入浅出Embedding:原理解析与应用实战[M]. 机械工业出版社, 2021.

猜你喜欢

转载自blog.csdn.net/hy592070616/article/details/131259691