Lecture 1 Word Vectors

1.如何表示一个单词的含义

A. Representing words by their context:
通过一个词汇上下文的其他词汇来表达,这是现代统计NLP的思想,比如:

…government debt problems turning into banking crises as happened in 2009… …saying that Europe needs unified banking regulation to replace the hodgepodge… …India has just given its banking system a shot in the arm…

B.通过词向量word vectors:
CS224N学习笔记(一)Word2Vec
词向量又叫词嵌入(word embeddings)。
词向量能够在一定程度上表示词与词的关系,将很多词降维可视化之后,可以得到如下图形:
CS224N学习笔记(一)Word2Vec

2 Word2vec总览

Word2vec是指采用一定的方法得到词向量,它的主要idea是:

  • 有大量的语料库的文本
  • 每一个语料库里的单词都可以用词向量来表示
  • 对与文本里的每一个位置t,都存在一个center word c和context word o
  • 根据c与o在词向量上的相似性,计算给定c后的o的可能性
  • 调整词向量使这个可能性最大化

比如我们以下图为例:
CS224N学习笔记(一)Word2Vec
上图中给定了中心词 into,计算图中的四个概率。运行完成之后,将中心词向下移动,继续计算,如图所示:
CS224N学习笔记(一)Word2Vec

2.Word2Vec的目标函数(object funtion)

对于前所所说的文本的位置t=1…T,把他们计算得到的概率连乘,得到总的可能性。
CS224N学习笔记(一)Word2Vec
目标函数就是上述公式取对数后平均。
CS224N学习笔记(一)Word2Vec
那么最小化目标函数,就是最大化预测的精度。

那么如何计算后面的概率公式呢?
对于每一个单词w,有:
CS224N学习笔记(一)Word2Vec
此时,对于center word c和一个context word o,其预测概率公式如下图:
CS224N学习笔记(一)Word2Vec

3.Word2vec: prediction function

预测函数如图:
CS224N学习笔记(一)Word2Vec
黄色部分计算的这o和c两个向量的相似程度,蓝色部分相当于计算一个和,这样总体来看就是一个softmax函数,得到概率。
这样就得到了总的目标函数,之后通过优化参数来训练这个模型。

4.通过计算向量梯度train the model

theta是上面目标函数的参数,前面说过要通过这个来训练词向量,所以theta就是所有词的词向量。
CS224N学习笔记(一)Word2Vec
注意:这里每一个词,有两个词向量,而图中展示的是两个词向量合并后的,所以维度是2dV。
之后我们通过计算梯度来优化参数,从而训练词向量。

5.计算Word2vec derivations of gradient

具体公式,参加视频里面的推到,这里不再列举了。
这里为了计算梯度求导的时候,要对函数中的每一个变量求偏导,要对向量v和u(center word 和context word),同时在每个窗口,也要计算更新参数,如图所示:
CS224N学习笔记(一)Word2Vec
对于这个模型,还有一些其他细节,如图所示:
CS224N学习笔记(一)Word2Vec

6.Optimization: Gradient Descent

就是最小化目标函数的方法,使用梯度下降。
CS224N学习笔记(一)Word2Vec
目标函数减去梯度的值乘以一个系数,梯度下降的公式:
CS224N学习笔记(一)Word2Vec
为了减少运算量,使用随机梯度下降,Stochastic gradient descent (SGD)。

相关文章:

  • 2021-08-06
  • 2021-04-10
  • 2021-05-24
  • 2021-09-08
  • 2021-08-19
  • 2021-04-02
  • 2021-06-25
猜你喜欢
  • 2021-11-23
  • 2021-10-28
  • 2021-07-31
  • 2021-11-11
  • 2021-05-09
  • 2021-12-02
  • 2021-07-04
相关资源
相似解决方案