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

文章目录

  • 词向量(word2vec)
      • 一、词向量动机和基本概念
        • 1、什么是词向量
        • 2、实现词向量的两大挑战
        • 3、解决方法
        • 4、词向量的两种算法:CBOW和SKIP-GRAM
          • (1)比较
          • (2)用神经网络实现CBOW
          • (3)用神经网络实现SG
          • (4)关键过程

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

词向量(word2vec)

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

1、什么是词向量

自然语言处理学习(三)百度飞桨直播2:词向量(word2vec)_第1张图片

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

自然语言处理学习(三)百度飞桨直播2:词向量(word2vec)_第2张图片

3、解决方法

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

自然语言处理学习(三)百度飞桨直播2:词向量(word2vec)_第5张图片

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

(1)比较

自然语言处理学习(三)百度飞桨直播2:词向量(word2vec)_第6张图片

自然语言处理学习(三)百度飞桨直播2:词向量(word2vec)_第7张图片

自然语言处理学习(三)百度飞桨直播2:词向量(word2vec)_第8张图片

(2)用神经网络实现CBOW

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

(3)用神经网络实现SG

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

自然语言处理学习(三)百度飞桨直播2:词向量(word2vec)_第12张图片

自然语言处理学习(三)百度飞桨直播2:词向量(word2vec)_第13张图片

(4)关键过程

自然语言处理学习(三)百度飞桨直播2:词向量(word2vec)_第14张图片
自然语言处理学习(三)百度飞桨直播2:词向量(word2vec)_第15张图片

你可能感兴趣的:(自然语言处理学习(三)百度飞桨直播2:词向量(word2vec))