自然语言处理学习(二)百度飞桨直播2:词向量(word2vec)


这是百度AI Studio自然语言处理的第二次直播记录,课程地址:
百度飞桨。

词向量(word2vec)

一、词向量动机和基本概念

1、什么是词向量

自然语言处理学习(二)百度飞桨直播2:词向量(word2vec)

2、实现词向量的两大挑战

自然语言处理学习(二)百度飞桨直播2:词向量(word2vec)

3、解决方法

自然语言处理学习(二)百度飞桨直播2:词向量(word2vec)
此时没有语义信息。自然语言处理学习(二)百度飞桨直播2:词向量(word2vec)
向量、矩阵都是张量。
GPU很难支持查询操作,解决方法是进行one-hot编码。
左边的表称为word2id dict。
将one-hot encoding矩阵和embedding matrix相乘,在这里one-hot矩阵为4×50004\times5000,embedding matrix为5000×65000\times6,最后得到一个大小为4×64\times6的矩阵。因为one-hot只在对应词有1,所以最后还是取出对应词的embedding向量。

自然语言处理学习(二)百度飞桨直播2:词向量(word2vec)

4、词向量的两种算法:CBOW和SKIP-GRAM

(1)比较

自然语言处理学习(二)百度飞桨直播2:词向量(word2vec)

自然语言处理学习(二)百度飞桨直播2:词向量(word2vec)

自然语言处理学习(二)百度飞桨直播2:词向量(word2vec)

(2)用神经网络实现CBOW

自然语言处理学习(二)百度飞桨直播2:词向量(word2vec)
这里隐层得到一个4×64\times6的矩阵,然后将四个词的向量相加,得到1×61\times6的向量,这就是整个小句子的向量表示。
自然语言处理学习(二)百度飞桨直播2:词向量(word2vec)
oio_i表示最后1×V1\times V的第i个位置的“得分数”。

(3)用神经网络实现SG

自然语言处理学习(二)百度飞桨直播2:词向量(word2vec)
第一个embedding才是真的语义信息,第二个只是用来分类输出。

自然语言处理学习(二)百度飞桨直播2:词向量(word2vec)

自然语言处理学习(二)百度飞桨直播2:词向量(word2vec)

(4)关键过程

自然语言处理学习(二)百度飞桨直播2:词向量(word2vec)
自然语言处理学习(二)百度飞桨直播2:词向量(word2vec)