Word2vec_1

初识Word2vec

Christopher Manning CS224n 2019秋

Overview

Word2vec由Mikolov 在2013年提出,是一个学习词向量(表示)的框架。

Idea

  • 现实世界中,首先看到是一大堆文本;–语料库
  • 文本中的每个词都有其固定的位置,我们就考虑能否将其位置数字化,通过一个形式表示出来呢?–词向量
  • 扫描(利用迭代算法实现)整个文本中词的位置,我们会发现它有两个信息,一个是单独的词另一个是以这个词为中心(背景词)的上下文(context)
  • 利用中心测和其上下文的词向量相似度去实现给了中心词c求上下文的概率。
  • 持续调整词向量直至最大化上下文的概率结束。
    在这里插入图片描述

objective function

需要做的是对于文本中每个词的位置t= 1……T,给定一个中心词WjW_j,预测窗口大小为m的上下文。
Likelihood = L(θ)L(\theta) = t=1T\prod_{t=1}^{T}mjm,j0P(Wt+jWt;θ)\prod_{-m\leq j \leq m, j \neq 0} P(W_t+_j|W_t; \theta)
$\theta$为所优化的全局变量,其目标(损失/代价)函数J(θ)J(\theta)是负对数似然函数:
J(θ)=1TlogL(θ)=1Tt=1Tmjm,j0logP(Wt+jWt;θ)J(\theta) = -\frac{1}{T}logL(\theta) = -\frac{1}{T}\sum_{t=1}^T\sum_{-m\leq j \leq m, j \neq 0 }logP(W_t+_j|W_t; \theta)

T指文本的长度,这里做一个平均化,对结果没有实质的影响,只是一个处理手段。
如何优化目标函数J(θ)J(\theta)?

  • 每个词有两个向量表示,一是中心词向量vwv_w,二是上下文向量uwu_w。那么接下来中心词c和上下文单词o,表示为一个熟悉的softmax函数: P(oc)=exp(uoTvc)wvexp(uwTvc)1P(o|c) = \frac{exp(u_o^Tv_c)}{\sum_w \in _v exp(u_w^Tv_c)} ……公式(1)
  • 优化的参数为uovcu_o,v_c
    在这里插入图片描述

最小化这个目标函数就等价于最大化预测的准确率,这是一个重要技巧,在许多此类函数的处理上都会采用。

  • Softmax函数

    • max 最大项的概率会扩大
    • soft 很小项的概率仍会分配一定的概率
  • 推导
    在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章