照例附上大牛的笔记:http://www.hankcs.com/nlp/word-vector-representations-word2vec.html
这节课主要是讲word2vec。
两种常见的算法是:
(1) skip-grams(SG)
predict context words given taget(position independent),预测上下文
(2) continuous bag of words(cbow)
predict target word from bag-of-words context( 预测目标单词)
两种常见的训练方法是:
(1)hierarchical softmax
(2) negative sampling
课程里主要讲的是skip-gram
知识点(自己重新手写推了一遍,基本上明白啦):
(1) word2vec的损失函数
比较难理解的是中心词是t时,窗口里其他word的概率用的是用相似度来衡量的,那最理想的情况是窗口里全都是一样的词?教授在视频里解释是说这里默认一个窗口里的词都有某种意义上的相关性(就算是反义词,其实也是有联系的吧)。
还有比较难理解的是目标为什么不是与标注之间的比较,而是p的乘积最大。大概是对窗口[w1,w2,w3]来说计算出的概率是[p1,p2,p3],实际的在训练集里的标注是[1,1,1],min(1*1*1 - p1*p2*p3) = max(p1*p2*p3),不知道理解的对不对。
(2) skip-gram模型结构
(3) 梯度下降求解
这节课有作业,http://www.hankcs.com/nlp/cs224n-assignment-1.html,基本上照着大牛的解法自己在推一遍