word2vec的学习心得

来源:互联网 发布:水浒传媒 优化方案 编辑:程序博客网 时间:2024/06/07 01:39

词向量的表示方法有很多中,比如用语料库、one-hot、词典、bag of words、TF-IDF、n-gram等等,这些都可以将一个词表示成词向量,但是它们有一个问题就是

它们只是单纯的把词用向量表示出来,但没有利用到词和词之间的关系,比如猫用[0,0,1,...,0]狗用[0,1,....0]表示,没有注意到猫和狗

之间的关系它们都是动物,所以我现在看一下能从其他周围的向量根据关系来预测向量的模型。


一:用一个词附近的其他词来表示该词是核心,怎么表示的呢?就是根据向量的关系,前面的几种方法很明显不好用。

共现矩阵:这是一个对角矩阵,用它的一行或者一列来作为词向量的表示,但是缺点就是向量维数随着词典大小线性增长,存储空间比较大

,并且一些文本分类模型会面临稀疏性,在往词典中加入新的词时很难处理,模型可能会欠拟合。


当共现矩阵的维度很高且稀疏时,我们要想办法将其进行降维处理成低维稠密向量,用到了svd,svd很简单不说了,调用numpy库中的函数实现即可,


二:NNLM

NNLM直接从语言模型出发,将模型最优化的过程转化为词向量的表示过程。


三:Continuous Bag of words model


四:skip-gram model

未完待修改。。。