当前位置:   article > 正文

NLP词向量技术

词向量

什么是词向量:
词向量(Word Vector)是对词语义或含义的数值向量表示,包括字面意义和隐含意义。 词向量可以捕捉到词的内涵,将这些含义结合起来构成一个稠密的浮点数向量,这个稠密向量支持查询和逻辑推理。

词向量也称为词嵌入,其英文均可用 Word Embedding,是自然语言处理中的一组语言建模和特征学习技术的统称,其中来自词表的单词或短语被映射为实数的向量,这些向量能够体现词语之间的语义关系。从概念上讲,它涉及从每个单词多维的空间到具有更低维度的连续向量空间的数学嵌入。当用作底层输入表示时,单词和短语嵌入已经被证明可以提高 NLP 任务的性能,例如文本分类、命名实体识别、关系抽取等。

词向量的发展历程

词向量作为词的分布式表示方法,经过多年研究,产生了非常多的词向量的生成模型。
在这里插入图片描述
1.one-hot(独热)编码
one-hot(独热)编码是最简单的词向量表达方式。它以字典建立向量,每个词都单独用一个很长的向量表示,该向量的维度是词典大小。向量中绝大多数元素为 0,只有一个维度的值为 1,这个维度就代表了当前的词。在这里插入图片描述
2.基于共现矩阵的模型
通过考虑词和词的共现问题,可以反映词之间的语义关系。最简单的方法是使用基于文档的方式来表示词向量。 共现矩阵(Co-Occurrence Matrix)首先指定窗口大小,然后统计窗口(和对称窗口) 内词语共同出现的次数作为词的向量。在这里插入图片描述
3.Word2vec
基于共现矩阵的模型实际是 one-hot 的一种优化,仍然存在维度灾难以及语义鸿沟的问题。因此后来的工作着重于构建分布式低维稠密词向量。Word2vec(Word to Vector)顾名思义,即为把单词转换成向量的一种方法。
用上下文来预测目标词的概率,词向量可以作为它的副产物学习到这种基于序列共现的语境信息。在这里插入图片描述
4.glove
glove 是由斯坦福 NLP 研究小组在 2014 年提出的一种词向量表示算法,是一个基于全局词频统计的词表征工具。利用共现矩阵来弥补Word2vec基于局部窗口的、忽略了全局信息的缺点,同时考虑局部信息和整体的信息。
采用基于共现矩阵去训练词向量的方法,词之间的关系可以由共现矩阵体现,又可以用词向量表示,因此可以建立起共现次数与词向量之间的关系。
在这里插入图片描述
5.FastText
Word2vec 训练出的词向量,难以很好地表征形态相近的词汇的语义, 在应用过程中针对未登录词也无能为力。基于以上问题,FastText 词向量的研发者提出了基于子词信息 N-gram 的词汇表示形式。FastText 由脸书的 FAIR 实验室在 2016 年开源,用于实现快速文本分类以及训练词向量的资料库。
首先FastText 模型输入一个词的序列,输出这个词序列属于不同类别的概率。
在这里插入图片描述
6.ELMo
以上的词向量技术本质上都是静态方式, 构造的都是独立于上下文的、静态的词向量,单词训练好之后就固定了,无论下游任务是什么,输入的向量始终是固定的,无法解决一词多义等问题。ELMo是一种动态词向量技术,词向量不再用固定的映射表来表达。
ELMo 使用双向语言模型来进行预训练,用两个分开的双层 LSTM 作为编码器。ELMo 先用一个语言模型去学习单词的词向量,当在使用时,可以根据上下文的语义去调整单词的词向量。
在这里插入图片描述
7.GPT
GPT 模型提出一种半监督的方式来处理语言理解的任务。使用非监督的预训练和监督方式的微调。模型的目标是学习一个通用的语言表示,可以经过很小的调整就应用在各种任务中。这个模型的设置不需要目标任务和非标注的数据集在同一个领域。
使用编码能力更强的 Transformer。同时是使用单向语言模型, 也就是只根据上文来预测当前词。先通过无标签的文本去训练生成语言模型,再根据具体的 NLP 任务,来通过有标签的数据对模型进行微调。

8.BERT
BERT模型真正实现了双向语言模型。ELMo 虽然是双向语言模型,但实际上是分开执行再组合 loss 值;GPT 在预训练时使用的基于 Transformer 模型的单向语言模型,使 embedding 获得的上下文信息不完整。此外,BERT 模型还增加了一个特性,使神经网络学习句子之间是否具有连贯的关系,最终能在智能问答等领域得到很好的结果。在这里插入图片描述

Word2vec

Word2vec 是一个计算词向量的开源工具。当我们在说 Word2vec 算法或模型的时候,其实指的是其背后用于计算词向量的 CBOW 模型和 Skip-Gram 模型。在向量空间中,词之间的相互关系、上下文关系都以向量之间的关系来表征,如通过词之间的距离(欧氏距离等)来判断它们之间的语义相似度。

CBOW 模型

Word2vec 预测词向量时都只使用了当前词的局部上下文,且以当前词为中心进行对称选取,我们将当前词到左(右)侧的距离称为滑动窗口大小。

基本原理:
输入 :给定的上下文。 输出 :预测的中心词。假设目标词前后各取 k 个词,即窗口的大小是 k,那么 CBOW 模型预测的将是 :

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/874010
推荐阅读
相关标签