词嵌入(Word Embedding)或者分布式向量(Distributional Vectors)是将自然语言表示的单词转换为计算机能够理解的向量或矩阵形式的技术。由于要考虑多种因素比如词的语义(同义词近义词)、语料中词之间的关系(上下文)和向量的维度(处理复杂度)等等,希望近义词或者表示同类事物的单词之间的距离可以理想地近,只有拿到很理想的单词表示形式,才更容易地去做翻译、问答、信息抽取等进一步的工作。
现在最流行的是Word2Vec。
2013年,Google团队发表了word2vec工具。word2vec工具主要包含两个模型:跳字模型(skip-gram)和连续词袋模型(continuous bag of words,简称CBOW),以及两种高效训练的方法:负采样(negative sampling)和层序softmax(hierarchical softmax)。值得一提的是,word2vec词向量可以较好地表达不同词之间的相似和类比关系。
Word2Vec的分类:
Skip-grams(SG):
定义一个概率分布:给定一个中心词汇,生成某个单词在它上下文出现的概率。
用向量表示单词,让概率分布最大化(最大似然概率)。
对于一个词汇,有且只有一个概率分布,是上下文中出现的概率,不是单指左边或者右边出现。
每个单词用两个向量表示!!
关键一点:用softmax函数形式来表示词汇在向量形式下的概率。
1.代表所有当c为中心词汇,o为文本词汇时的概率相加,可以看作为所有满足的情况。
2.exp让所有数位正数
3.正则项,表示c为中心词汇时,所有的上下文词汇的情况总和。
梯度下降法求解最优:
来源:CSDN
作者:BY@QEL
链接:https://blog.csdn.net/weixin_40532625/article/details/104354108