1-Interoduction-word-vectors

1 Introduction and Word Vectors

video

Human language and word meaning

human language的特征:

  • 不确定性。我们尝试使用语言来描述世界,表达自己的想法,但是自己表述的语言能否被其它的人接受实际是不确定的,可能是一种概率的问题。
  • ”human language is a pathetically slow network“,说话这种方式能够表达的能力是很有限的,因此在人类的交流中,实际语言是实现了一种对于信息的压缩,能够理解语言的背后是我们的大脑中已经拥有了很多先验知识。

Represent the meaning of word

Definition: meaning

  • the idea that is represented by a word

在早期的NLP中,人们将不同的词word表示为独立的符号(discrete symbol),这叫做localist representation,例如one-hot编码。

这样表示的问题:

  • word的数量很大,甚至可以构造出无限多的word,导致one-hot编码的dim越来越大
  • 对于one hot编码来说,不同的编码之间是独立的,和正交的,无法保留word原本的含义,也无法衡量两个word之间的相似程度

如何获取一个word的meaning?

一个著名的观点是:

”You shall know a word by the company it keeps“

——J. R. Firth 1957: 11

A word’s meaning is given by the words that frequently appear close-by.

针对one hot的问题,我们尝试为每个word建立更dense vector,即使word的distributed representation,word vector。

Word2vec

借助于前面的观点,word2vec出现了。

Word2vec (Mikolov et al. 2013) is a framework for learning word vectors

核心思想:

  • 一个大的语料库
  • 每个word都使用固定长度的vector表示
  • 选中center word,计算它周围的outside word/context word出现的概率,并且不断更新参数让这个概率最大

核心问题在于如何计算\(P(w_{t+j}|w_t)\)

在word2vec中,对于每个word建立两个vector:

  • \(v_w\) when word \(w\) is a center word
  • \(u_w\) when word \(w\) is a context word

核心公式: \[ P(o|c)=\frac{\text{exp}(u_o^T v_c)}{\sum_{w\in V} \text{exp}(u_w^T v_c)} \] 解释

使用点积来衡量相似度,当我们得知了context的时候,中心词的meaning应该也能知悉,即context与center word的meaning此时应该接近。对于在语料中经常出现的word,赋予它们比较大的概率。

上面的公示实际是softmax

  • soft:指对于所有的预测目标都有一个估计概率,哪怕它可能很小
  • max:指softmax的输出是概率最大的值