word embedding理解

编程入门 行业动态 更新时间:2024-10-20 00:47:53

<a href=https://www.elefans.com/category/jswz/34/1767248.html style=word embedding理解"/>

word embedding理解

word embedding:NLP语言模型中对单词处理的一种方式,这种技术会把单词或者短语映射到一个n维的数值化向量,核心就是一种映射关系,主要分为两种方式:

1.one hot encoding:对语料库中的每个单词都用一个n维的one hot向量表示,其中n为语料库中不同单词的个数。这种方法的原理是把语料库中的不同单词排成一列,对于单词A,它在语料库中的位置为k,则它的向量表示为第k位为1,其余为0的n维向量。比如:

这种方法简单易行,但存在语料库太长导致单词向量十分冗长的缺点,同时不同的单词之间没有明显的联系。

2.word2vec:可以理解为一种对单词onehot向量的一种降维处理,通过一种映射关系将一个n维的onehot向量转化为一个m维的空间实数向量(可以理解为原来坐标轴上的点被压缩嵌入到一个更加紧凑的空间内),由于onehot向量在矩阵乘法的特殊性,我们得到的表示映射关系的n*m的矩阵中的每k行,其实就表示语料库中的第k个单词。

采用这种空间压缩降维的处理方式对语料库中的词进行训练,主要有两种方式

(1)skip-gram神经网络训练模型:一种隐层为1的全连接神经网络,且隐层没有激活函数,输出层采用softmax分类器输出概率。输入为一个单词,输出为每个单词是输入单词的上下文的概率,真实值为输入单词的上下文中的某个单词。

主要通过skip-window控制,它代表着我们从当前input word的一侧(左边或右边)选取词的数量。假如我们有一个句子“The dog barked at the mailman”,我们选取“dog”作为input word,那么我们最终获得窗口中的词(包括input word在内)就是['The', 'dog','barked', 'at']。另一个参数叫num_skips,它代表着我们从整个窗口中选取多少个不同的词作为我们的output word,当skip_window=2,num_skips=2时,我们将会得到两组 (input word, output word) 形式的训练数据,即 ('dog', 'barked')('dog', 'the')

(2)CBOW:原理与skip-gram类似,但是输入为上下文信息,输出为信息中的中心词。

word2vec的优点:表示单词的向量维度缩减很大,有益于后续RNN训练的收敛性。如果某两个单词的上下文很相似,则计算出来的表示这两个单词的特征向量会很相似,在空间中表示相近的物理位置,所以可以用两个单词生成的向量的长度表示其含义的远近。除了词向量的大小之外,词向量的方向还表示一种含义,若某两个词向量的方向相同,则其表示的含义也相近。如下图所示:

更多推荐

word embedding理解

本文发布于:2024-03-13 02:34:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1732988.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:word   embedding

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!