Word2Vec

把单词映射成一个向量
两个单词意思越相近,单词的空间位置就越近。


利用神经网络将单词映射到向量空间。

Word2Vec模型

Word2Vec的发展

Word2Vec举例


king和man的向量距离会更近。
man和woman的向量距离会更近。

概述CBoW and Skip-Gram

CBoW:给定上下文去预测一个词。
我爱机器学习
input: 我X机器学习
output: 爱
预测结果是根据语料来预测的。

Skip-Gram:给一定一个词去预测上下文。
我爱机器学习
input: 爱
output: 我X机器学习
预测结果是根据语料来预测的。

Skip-Gram多样性会比较强,会有很多不一样的猜测。

CBoW

其实SUM这里做的一个求权加和,再通过softmax最一个多分类,取出一个最大概率的词。其实就是求最大似然。

  • 特点:
    没有隐层:所谓的隐藏层就是映射层。
    结合双向上下文 上下文词序无关。
    输入低维稠密 映射层求和

Skip-Gram

Word2的关键技术



其实是一种哈夫曼编码的形式进行优化


为了减少计算量又没有影响到训练过程而采用的。

尤其是中文,同义词很多。

改进

  • GloVe
    解决多义和上下文关联问题。

针对整个语料库构建一个贡献的局面。
要讲GloVe模型的思想方法,我们先介绍两个其他方法:

一个是基于奇异值分解(SVD)的LSA算法,该方法对term-document矩阵(矩阵的每个元素为tf-idf)进行奇异值分解,从而得到term的向量表示和document的向量表示。此处使用的tf-idf主要还是term的全局统计特征。

另一个方法是word2vec算法,该算法可以分为skip-gram 和 continuous bag-of-words(CBOW)两类,但都是基于局部滑动窗口计算的。即,该方法利用了局部的上下文特征(local context)

LSA和word2vec作为两大类方法的代表,一个是利用了全局特征的矩阵分解方法,一个是利用局部上下文的方法。

GloVe模型就是将这两中特征合并到一起的,即使用了语料库的全局统计(overall statistics)特征,也使用了局部的上下文特征(即滑动窗口)。为了做到这一点GloVe模型引入了Co-occurrence Probabilities Matrix。


实际上GloVe的效果并不如wo2vec后面也很很多论文提到。

你可能感兴趣的:(Word2Vec)