word2vec是一种无监督预训练词向量模型。
CBOW
CBOW的全称为Continuous Bag-of-WordModel。模型的任务是在给定某单词的上下文(context)的情况下,预测这个词出现的概率。
具体来说,假设目标词的词向量是 wtw_twt,大小为 kkk 的窗口中,wtw_twt 的上下文中的单词为 wt−k,…,wt+kw_{t-k},\dots,w_{t+k}wt−k,…,wt+k。
给定 wtw_twt 的上下文,字典中的其他词 wv(v∈V)w_v(v\in V)wv(v∈V) 出现的概率的预测为
P(wv∣wt−k,…,wt+k)=exp(ywv)∑i∈Vexp(ywi)P(w_v|w_{t-k},\dots,w_{t+k})=\frac{\exp(y_{w_v})}{\sum_{i\in V}\exp(y_{w_i})}P(wv∣wt−k,…,wt+k)=∑i∈Vexp(ywi)exp(ywv)
其中,y=(yw1,yw2,…,yw∣V∣)∈R∣V∣y=(y_{w_1},y_{w_2},\dots,y_{w_{|V|}})\in { R}^{|V|}y=(yw1,yw2,…,yw∣V∣)∈R∣V∣是关于模型参数和 wtw_twt 的上下文 wt−k,…,wt+kw_{t-k},\dots,w_{t+k}wt−k,…,wt+k 的函数。在CBOW中,定义为y=b+U⋅h(wt−k,…,wt+k∣W)y=b+U\cdot h(w_{t-k},\dots,w_{t+k}|W)y=b+U⋅h(wt−k