赞
踩
word2vec是一个计算word vector的开源工具。当我们在说word2vec算法或模型的时候,其实指的是其背后用于计算word vector的CBoW模型和Skip-gram模型。
2013年,Google团队发表了word2vec工具。word2vec工具主要包含两个语言模型:跳字模型(skip-gram)和连续词袋模型(continuous bag of words,简称CBOW),以及两种高效训练的方法(降低复杂度):负采样(negative sampling)和层序softmax(hierarchical softmax)。
值得一提的是,word2vec词向量可以较好地表达不同词之间的相似和类比关系。
Word2vec可以通过词语上下文的结构信息,将单词的语义映射到一个固定的向量空间中。如果需要判定两个词语的语义相似度(或相关度),只需要计算两个词向量的夹角余弦或欧式距离等即可。
skip-gram:预测上下文(context)
CBOW 预测目标单词
CBOW是从原始语句推测目标字词,背景词推出中心词;而Skip-Gram正好相反,是从目标字词推测出原始语句,中心词推背景词。CBOW对小型数据库比较合适,而Skip-Gram在大型语料中表现更好。
word2vec利用霍夫曼树来模拟隐层到输出层的学习过程。
霍夫曼树是带权路径最小的二叉树,权值越大的叶子结点越靠近根结点
输入:权值为(w1,w2,…wn)(w1,w2,…wn)的nn个节点
输出:对应的霍夫曼树
1)将(w1,w2,…wn)(w1,w2,…wn)看做是有nn棵树的森林,每个树仅有一个节点。
2)在森林中选择根节点权值最小的两棵树进行合并,得到一个新的树,这两颗树分别作为新树的左右子树。新树的根节点权重为左右子树的根节点权重之和。
3) 将之前的根节点权值最小的两棵树从森林删除,并把新树加入森林。
4)重复步骤2)和3)直到森林里只有一棵树为止。
在霍夫曼树中,隐藏层到输出层的softmax映射不是一下子完成的,而是沿着霍夫曼树一步步完成的,因此这种softmax取名为"Hierarchical Softmax"。
在word2vec中,我们采用了二元逻辑回归的方法,即规定沿着左子树走,那么就是负类(霍夫曼树编码1),沿着右子树走,那么就是正类(霍夫曼树编码0)。判别正类和负类的方法是使用sigmoid函数,即
P ( + ) = σ ( x w T θ ) = 1 1 + e − x w T θ P(+) = \sigma(x_w^T\theta) = \frac{1}{1+e^{-x_w^T\theta}} P(+)=σ(xwTθ)=1+e−xwTθ
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。