Word meaning
-
如何表示一个单词的意思
单词的定义:
- 是一个单词、一个短语的含义
- 是一个人想通过单词或者符号表达的想法
- 是通过写作表的想法
最常见的语言思维方式: signifier <-> signified(iead or thing) = denotation
-
我们如何在计算机中具有可用的意义
最常见的答案:使用像英语的 wordnet 这样的分类法来处理词语的含义,具有上位词是关系和同义词集。
但是这种离散的表示是有缺陷的:
- 虽然有大量的词资源,但是缺忽略了词之间的细微差别,比如同义词。
- 为登陆词不能及时更新
- 具有主观性
- 要求人工去创造和适应
- 很难精确计算词相似度
-
基于大量规则和统计学的 NLP 认为单词是原子的符号,所以在最初的向量空间中,一个词向量中只有一个 1 和其余若干个 0,这就是 one-hot 编码表示方法,如下:
[0 0 0 0 0 0 0 0 0 1 0] -
从符号到分布式表示
- one-hot 编码表示方法很稀疏冗余,而且无法表示词意相似的概念,因为它们只是一些包含 0 、 1 概念的向量而已。
- 你可以通过邻居词代表一个词来获得很多有价值的含义,这就是分布式相似性
-
词义用向量定义
- 用一个密集的向量表示每个单词,使其能够预测出现在其上下文单词。
-
分布式表示和分布相似性
这两个词不一样,一方面是因为它们有强烈的共现性,另一方面是因为两者都是从分发开始。 分布相似性的概念是关于词语意的,即可以使用上下文的背景语义来描述词的含义。 分布式表示从 one-hot 可以看出我们在大的向量空间中来表示含义。
Word2vec introduction
-
学习神经网络词嵌入的基本思想
- 我们定义一个模型,旨在根据单词向量 w 在中心词和上下文词之间进行预测,p(context | Wt),损失函数为 J=1-p(W-t | Wt)
- 我们在一个大的语言语料库中查看许多位置 t ,我们不断调整单词的向量表示以最小化这种损失。
-
word2vec 的主要思想:预测每个单词及其上下文的单词。
-
word2vec 的两个主要算法
- Skip-grams:预测给定目标的上下文词
- Continuous Bag of Words:从词袋语境中预测目标词
-
word2vec 的两个训练方法
- Hierarchical softmax
- Negative sampling
-
详情可以在网上找文章看相关细节,推荐:www.cnblogs.com/pinard/p/71… , 这个博主写了一系列的文章,包括 CBOW 、 Skip-Gram 、 Hierarchical softmax 和 Negative sampling
Word2vec objective function gradients 和 Optimization refresher
- 这里主要是用到了梯度下降和随机梯度下降
- 由于数据太多的情况下,梯度下降耗时太大,根本不实际所以对于大量数据而言一般是要用到随机梯度下降(SGD)
- 参考这篇:www.cnblogs.com/pinard/p/59…
Assignment 1 notes
因为课堂超时没有讲
Usefulness of word2vec
因为课堂超时没有讲