Lecture 1
1.1 词在计算机中的表达
1.1.1 WordNet
- 一个包含同义词集和上位词(“is a”关系)的列表的辞典
- 可以视作1个专家经验总结出来的词汇表
- 缺点:
- 忽略了词汇的细微差别 如:例如“proficient”被列为“good”的同义词。这只在某些上下文中是正确的。
- 缺少单词的新含义,如果有新含义需要人工维护,开销大
- 因为是小部分专家构建的,有一定的主观性
- 构建与调整都需要很多的人力成本
- 无法定量计算出单词相似度
1.1.2 词的离散表征
- 使用 one-hot独热编码 将每个单词转化为 one-hot vector
- 在独热向量表示中,向量维度 = 词汇量(如500,000),以下为一些独热向量编码过后的单词向量示例:
- 缺点:
- 独热向量离散表征里,所有词向量是正交的,没有联系
- 独热向量没有相似性概念
- 向量维度过大
1.1.3 词的上下文表征
- idea:一个单词的意思是由经常出现在它附近的单词给出的
“You shall know a word by the company it keeps” (J. R. Firth 1957: 11)。
- 当一个单词 w w w 出现在文本中时,它的上下文是出现在其附近的一组单词(在一个固定大小的窗口中)
- 基于海量数据,使用 w w w 的许多上下文来构建 w w w 的表示
- 如图所示,banking的含义可以根据上下文的内容表征。
1.2 Word2Vec
1.2.1 词向量表示
- 为每个单词构建一个稠密表示的向量,使其与出现在相似上下文中的单词向量相似
- 词向量(word vectors)有时被称为词嵌入(word embeddings)或词表示(word representations)。
- 稠密词向量是分布式表示(distributed representation)。
1.2.2 Word2Vec原理
- Word2vec (Mikolov et al. 2013)是一个学习词向量表征的框架。
- 核心思路如下:
- 基于海量文本语料库构建
- 词汇表中的每个单词都由一个向量表示(学习完成后会固定)
- 对应语料库文本中的每个位置 t t t,有一个中心词 c c c 和一些上下文(“外部”)单词 o o o
- 使用 c c c 和 o o o 的词向量来计算概率 P ( o ∣ c ) P(o|c) P(o∣c),即给定中心词推断上下文词汇的概率(反之亦然)
- 不断调整词向量来最大化这个概率
1.2.3 Word2Vec构建词向量
点击链接,文章第3、4节
本文参考: