Sequence Models-第二周

1. Word reperesentation

1.1 1-hot reperesentation

通过上一周的学习,我们了解到,在自然语言处理过程中,可以采用1-hot reperesentation来表示句子中的每个单词,即用该单词在词库中的位置表示。但这种表示方法有一个显而易见的缺点:即任意两个单词间的距离关系是一样的,这种表示方法无法表示相似词汇之间的相似性。
例如:对于1-hot reperesentation,即使我们的模型学习到了orange juice,也无法基于orange与apple的相似性,在下一个空格中同样选择juice.
Sequence Models-第二周

1.2 Featurized reperesentation

Word embedding 是一种基于词汇本身的特征意义来表示词汇的方法。这种表示方法能够使相似的词汇之间的距离更接近。
Sequence Models-第二周
可视化Word embedding:
Sequence Models-第二周

2. 应用word embedding

从一个非常大的无标注的预料库中学习word embedding,然后将前面学习到的word embedding 用于新项目的训练。(有点迁移学习的意思)
Sequence Models-第二周
Sequence Models-第二周

3. Word embedding的特性

可以通过类比推理来理解word embedding的特性。
Sequence Models-第二周
我们可以用Cosine similarity计算两个实体之间的相似性。
Sequence Models-第二周

4. Embedding matrix

学习到的word embedding,就是这么一个大的embedding matrix矩阵。每一列代表一个单词,每一行代表一个属性。
Sequence Models-第二周

5. Learning word embeddings

首先,介绍一个简单的神经网络模型。
如下,为了训练模型预测最后一个单词juice,我们把它前4个单词选中,分别乘以embedding matrix作为模型输入,输出采用softmax**函数。
Sequence Models-第二周
如果你的目的是训练一个模型让它去预测最后一个单词,那你应该选用前四个单词作为输入;如果你是想用模型训练出一个embedding matrix的化,那你还有还有更多选择,如选择附近4个词汇,一个单词,附近的一个单词。
Sequence Models-第二周

6. Word2Vec

6.1 Skip-grams
随机选择目标单词一定距离附近的词汇作为作为目标词汇的配对靶向词汇。
Sequence Models-第二周
6.2 Model
然后基于softmax**函数建立训练模型
Sequence Models-第二周

6.3 Problems with softmax classification
由于输出层的维度过高,导致softmax的计算过程太慢,可以采用二项搜索的策略。
另外,在对配对靶向采样时,应避免采集过多常见的连接词,如of, and, the等。
Sequence Models-第二周

7. Negative sampling

上面提到的softmax计算很慢,negative sampling 是一种更有效率的采样方法。
生成训练集:
首先,生成一个正向样本,即对目标单词随机选择其附近一定距离的一个单词。然后再生成k个负向样本,即在词库中随机选择一个单词与目标单词配对。
Sequence Models-第二周
训练模型:
上一节的模型要训练一个10000维的softmax输出层,速度很慢;而现在我们变为训练一个10000维的logistic regression输出层,更为简单的是,对于每一个正向样本,我们只需要计算k+1个逻辑回归节点。
Sequence Models-第二周
负采样:
怎样进行负采样呢?从词库完全随机选取并不是一个很好的选择,我们可以考虑根据词库里单词在语料库里的出现频率进行采样。
Sequence Models-第二周

8. GloVe word vectors

GloVe是另一个比较受欢迎的用于生成Embedding matrix 的模型。
Sequence Models-第二周
这个模型的训练过程我其实没有太明白,还是等到以后用到时在回来思考吧。
Sequence Models-第二周

通过模型训练学习到的embedding matrix并不容易直观地理解。
Sequence Models-第二周

9. Sentiment Classification

Sentiment Classification就是通过一段文字判断作者的情绪。
Sentiment Classification的难点是通常没有很大的训练集。
Sequence Models-第二周
一个简单的情绪分类模型如下,将句子中的每个词汇经过Embedding matrix 转换后,计算平均值,并由softmax**。这个简单模型的一个主要问题在于忽略了句子中词汇的先后顺序。
Sequence Models-第二周
Sequence Models-第二周
为了考虑词汇的先后顺序,RNN模型是一个不错的选择
Sequence Models-第二周

10. Debiasing word embeddings

取决于所训练的语料库,word embeddings常带有各种人类的偏见。
Sequence Models-第二周
偏见消除过程如下:
Sequence Models-第二周

注:如无特殊说明,以上所有图片均截选自吴恩达在Coursera开设的神经网络系列课程的讲义。