词向量 词嵌入 word embedding
词嵌入 word embedding
embedding 嵌入
embedding: 嵌入, 在数学上表示一个映射f:x->y, 是将x所在的空间映射到y所在空间上去,并且在x空间中每一个x有y空间中唯一的y与其对应。 嵌入,也就是把x在y空间中找到一个位置嵌入,一个x嵌入为一个唯一的y。
word embedding 词嵌入
也就是把当前预料文本库中每一个词语都嵌入到一个向量空间当中,并且每一个词语对应唯一的词向量,也就是词向量。
所以, one-hot也是word Embedding的一种实现,word2Vec也是为了实现 word embedding而提出的一种方案。
为什么要提出 word Embedding?
本质的想法是,把语料库中的每一个词语,映射成向量空间当中的唯一向量,这个向量在空间中的方向和位置能某种程度上衡量这个词的意思、感情色彩等。所以从传统的基于统计的n-gram模型之后,提出了one-hot模型,开始走向词向量,然后发现one-hot模型属于硬分类,只有词语不同和相同的信息,丢失了词义、不通词之间的词义,于是又提出了深度学习训练出的词向量模型,之后又经过改进,有了现在比较有名的word2vec模型。
word2vec模型本身其实是包含两种算法的模型,把语料库中的词语映射到向量空间,获得词向量的一种手段。
embedding层
初学nlp知识的时候,经常听到embedding层,一直不知道是什么意思。
我理解的embedding层,是一个全连接层。 这个全连接层的参数,也就是一个矩阵。将词的one-hot编码与这个全连接层的系数矩阵相乘,得到了一个新的向量,这个向量就是词向量,这样一层全连接层被称作了embedding层,其实就是一个用于讲词映射为向量的映射矩阵。那么这样一个系数矩阵的参数,也就是embedding层这个全连接层的参数是怎么得到的,要详细学习一下word2vec模型里面的两个算法,说的直白点是在用深度学习对词做其他任务的时候,将第一层全连接层的系数保留了下来,也就是则个映射矩阵,也就是embedding层。
写在最后
具体word2vec模型是怎么样的,暂且不在这里细说。只是我再学习的过程中,绝大多数讲解中都讲wordEmbedding 和 word2vec混在一起说,也没说清楚什么是word embedding,看到有前辈讲的很清楚,我将自己的理解记录下来,以供他人参考。当然,我的理解可能是不对的,欢迎批评指正