词向量Word2vec

下面是记录一下,学习词向量的笔记(根据自己的风格)

一、词向量

假设现在词向量长度length=3,一个词对应one-hot向量,假设为1*n,乘一个hiddenmatrix,维度为n*3。求one-hot向量与hidden matrix求乘积。得到的就是词向量。

这个hidden matrix用神经网络不断训练,可以得到一个比较平衡的matrix。

假设两个单词语义接近,则两个单词的词向量也接近。反之,如果两个单词的词向量接近,则语义也会接近。

二、词向量长度length如何设定?

       如果length过长,那训练的时候就需要非常多数据。如果用神经网络,loss下降不明显,不能准确预测。而且向量不具备语义相似性,会导致找不到同义词,会返回随机值。

       如果length过短,会造成模型过度训练,输入一个单词,期望找到相似词汇时,会找到这个单词左右(周围)的单词,并不是语义最接近的单词。

        length取决于文本量(词汇数和训练文本数)。一般来说,如果是几百万的文本量,length可取300或500,可以根据观察以上length过长或过短的特征来判断。

三、词向量主要方法

       Skip-gram(gram是元素的意思)。给定中间的单词预测周围的单词。

       CBOW(continue bag of words连续词袋子)。输入周围的单词,预测中间的单词。为什么叫连续词袋子呢?因为中间有个地方,要从两边填进去,像个呆子一样哈哈哈哈哈。

词向量Word2vec_第1张图片

四、其他小笔记

激活函数本质是对数字的变换

t-sne可以把高维降维画图

Huffman tree(哈夫曼树)是词向量太大的优化方法,词语出现频率越高,就在树的上面,距离根节点越短,路径越短。

你可能感兴趣的:(词向量Word2vec)