斯坦福 NLP with Deep Learning 第二节课笔记

365 阅读3分钟

Word meaning

  1. 如何表示一个单词的意思

    单词的定义:

    • 是一个单词、一个短语的含义
    • 是一个人想通过单词或者符号表达的想法
    • 是通过写作表的想法

    最常见的语言思维方式: signifier <-> signified(iead or thing) = denotation

  2. 我们如何在计算机中具有可用的意义

    最常见的答案:使用像英语的 wordnet 这样的分类法来处理词语的含义,具有上位词是关系和同义词集。

    但是这种离散的表示是有缺陷的:

    • 虽然有大量的词资源,但是缺忽略了词之间的细微差别,比如同义词。
    • 为登陆词不能及时更新
    • 具有主观性
    • 要求人工去创造和适应
    • 很难精确计算词相似度
  3. 基于大量规则和统计学的 NLP 认为单词是原子的符号,所以在最初的向量空间中,一个词向量中只有一个 1 和其余若干个 0,这就是 one-hot 编码表示方法,如下:

     [0 0 0 0 0 0 0 0 0 1 0]
    
  4. 从符号到分布式表示

    • one-hot 编码表示方法很稀疏冗余,而且无法表示词意相似的概念,因为它们只是一些包含 0 、 1 概念的向量而已。
    • 你可以通过邻居词代表一个词来获得很多有价值的含义,这就是分布式相似性
  5. 词义用向量定义

    • 用一个密集的向量表示每个单词,使其能够预测出现在其上下文单词。
  6. 分布式表示和分布相似性

    这两个词不一样,一方面是因为它们有强烈的共现性,另一方面是因为两者都是从分发开始。 分布相似性的概念是关于词语意的,即可以使用上下文的背景语义来描述词的含义。 分布式表示从 one-hot 可以看出我们在大的向量空间中来表示含义。

Word2vec introduction

  1. 学习神经网络词嵌入的基本思想

    • 我们定义一个模型,旨在根据单词向量 w 在中心词和上下文词之间进行预测,p(context | Wt),损失函数为 J=1-p(W-t | Wt)
    • 我们在一个大的语言语料库中查看许多位置 t ,我们不断调整单词的向量表示以最小化这种损失。
  2. word2vec 的主要思想:预测每个单词及其上下文的单词。

  3. word2vec 的两个主要算法

    • Skip-grams:预测给定目标的上下文词
    • Continuous Bag of Words:从词袋语境中预测目标词
  4. word2vec 的两个训练方法

    • Hierarchical softmax
    • Negative sampling
  5. 详情可以在网上找文章看相关细节,推荐:www.cnblogs.com/pinard/p/71… , 这个博主写了一系列的文章,包括 CBOW 、 Skip-Gram 、 Hierarchical softmax 和 Negative sampling

Word2vec objective function gradients 和 Optimization refresher

  1. 这里主要是用到了梯度下降和随机梯度下降
  2. 由于数据太多的情况下,梯度下降耗时太大,根本不实际所以对于大量数据而言一般是要用到随机梯度下降(SGD)
  3. 参考这篇:www.cnblogs.com/pinard/p/59…

Assignment 1 notes

因为课堂超时没有讲

Usefulness of word2vec

因为课堂超时没有讲