CS224n学习笔记 02_Word Vectors and Word Senses

CS224n学习笔记 02

    • Word2vec
      • Main idea of word2vec
      • Word2vec: more details
    • 基于统计的词向量
    • Glove
      • Co-occurrence Matrix
      • Conclusion

Word2vec

Main idea of word2vec

首先回顾一下,word2vec的主要思想:

  • 遍历整个语料库中的每个单词;
  • 使用单词向量预测周围的单词;
  • 更新向量以便更好地预测。
    CS224n学习笔记 02_Word Vectors and Word Senses_第1张图片

Word2vec: more details

word2vec 为什么设计两个向量?

  • 更容易优化,最后都取平均值
  • 可以每个单词只用一个向量

word2vec的两个变体模型

  • Skip-grams (SG)——输入中心词并预测上下文中的单词;
  • Continuous Bag of Words (CBOW)——输入上下文中的单词并预测中心词。

基于统计的词向量

关于共现矩阵word-word co-occurrence matrix):

  • 两个选项:windows vs. full document
  • Window :与word2vec类似,在每个单词周围都使用Window,包括语法(POS)和语义信息

利用某个定长窗口中单词与单词同时出现的次数来产生window-based (word-word) co-occurrence matrix。下面以窗口长度为1来举例,假设我们的数据包含以下几个句子:

  • I like deep learning.
  • I like NLP.
  • I enjoy flying.

则我们可以得到如下的word-word co-occurrence matrix:CS224n学习笔记 02_Word Vectors and Word Senses_第2张图片
使用共现次数衡量单词的相似性,但是会随着词汇量的增加而增大矩阵的大小,并且需要很多空间来存储这一高维矩阵,后续的分类模型也会由于矩阵的稀疏性而存在稀疏性问题,使得效果不佳。我们需要对这一矩阵进行降维,获得低维(25-1000)的稠密向量,常用的降维方法包括:Dimensionality Reduction on X (HW1)Hacks to X (several used in Rohde et al. 2005)

基于计数的方法:使用整个矩阵的全局统计数据来直接估计
优点:

  • 训练快速
  • 统计数据高效利用

缺点:

  • 主要用于捕捉单词相似性
  • 对大量数据给予比例失调的重视

转换计数的方法:定义概率分布并试图预测单词
优点:

  • 提高其他任务的性能
  • 能捕获除了单词相似性以外的复杂的模式

缺点:

  • 与语料库大小有关的量表
  • 统计数据的低效使用(采样是对统计数据的低效使用)

Glove

GloVe的全称是Global Vectors for Word Representation,它由一个加权最小二乘模型组成,基于全局word-word共现计数进行训练,从而有效地利用全局统计数据。模型生成了包含有意义的子结构的单词向量空间,在词类比任务上表现非常出色。Glove的训练流程大致可以表示为:输入语料库–> 统计共现矩阵–> 训练词向量–>输出词向量。

Co-occurrence Matrix

X表示 word-word 共现矩阵,词j出现在词i的上下文的次数表示为:
X i j X_{ij} Xij
任意词k出现在词i的上下文的次数表示为:
X i = ∑ k X i k X_{i}=\sum_{k}X_{ik} Xi=kXik
最后,词j出现在词i的上下文的概率表示为:
P i j = P ( w j ∣ w i ) = X i j X i P_{ij}=P(w_{j}\mid w_{i})=\frac{X_{ij}}{X_{i}} Pij=P(wjwi)=XiXij

Conclusion

GloVe 模型仅对单词共现矩阵中的非零元素训练,从而有效地利用全局统计信息,并生成具有有意义的子结构向量空间。给出相同的语料库,词汇,窗口大小和训练时间,它的表现都优于 word2vec,它可以更快地实现更好的效果,并且无论速度如何,都能获得最佳效果。

你可能感兴趣的:(CS224n,学习笔记)