分布相似性概念
语言学家认为,一个单词的含义是由经常和它一起出现的上下文决定的,“You shall know a word by company it keeps.”
w2v模型(google2013)
核心思想:
- 基于大量的语料库corpus of text
- 固定词汇表中的每个单词都由一个向量表示
- 文本中的每个位置 t,其中有一个中心词c,和上下文(“外部”)单词o(用固定窗口扫描文本库的句子,获得center word和context word).
- 使用c和o的词向量的相似性 来计算给定c的o的概率 ,反之亦然。
- 不断调整word vector,使这个概率最大化。每个单词可以由两个向量表示,一个是它作为center word时的向量Vw,一个是它作为context word时的向量Uw。
过程
选定一个单词,定义一个以该单词为中心,长度为2的窗口。
如图所示,那么into就是center word,其周围的两个单词就构成了上下文(context word),移动窗口,扫描到下一个单词,banking就成为了center word,context word也随之改变。
-
step1:条件概率
在word2vec中,条件概率表示为center word 与context word做点乘,在进行softmax函数运算。O表示上下文单词,c表示中心词,Vw为中心词,Uw为上下文单词, -
整体似然概率
整体似然概率表示为所有条件概率的连乘积形式。 -
目标函数(损失函数):
目标函数J(θ)是(平均)负对数似然,其中log形式是方便将联乘转化为求和,负号是希望将极大化似然率转化为极小化损失函数的等价问题。
根据每个单词的条件概率公式和损失函数,根据梯度下降法就可以求出使目标函数最小的word vector形式了。
Skip-Gram与CBOW
上文中的w2v计算方法是skip-gram方法:求context word相对于center word的概率。CBOW是求center word相对于context word的概率,其他方面基本相同。
cbow模型
skip-gram模型