NLP[3] - [Word Embedding系列] : Word2vec的CBOW模型

 
本《Word Embedding系列》文章包括:

(1)One-hot编码
(2)Word Embedding
(3)LSA(Latent Semantic Analysis)
(4)Word2vec的CBOW模型
(5)Word2vec的Skip-gram模型
(6)GloVe模型
(7)相关编程实现
 

本文介绍Word2vec的CBOW模型


 

一、回顾Word Embedding

词向量(词嵌入,Word Embedding)已经比较熟悉了,可以看 (2)Word Embedding 这个系列的第二章。

在本章部分提到的Word2vec就是词嵌入的一个典型例子,在NLP中一提到词嵌入的时候,就会第一时间想到了Word2vec,第二章中提到的Word Embedding可以理解成将高维的特征降维,用低维的向量去表示特征信息。

在Word2vec中词嵌入体现在哪里呢?
答案是:输入矩阵,下面来一一讲解。

 

二、什么是Word2vec?

在这里插入图片描述
刚刚提到,Word Embedding可以理解成降维,在Word2vec中是通过矩阵 W V × N {W_{V \times N}} WV×N来体现,输入层是一个用one-hot方式编码的单词向量 x = ( x 1 , . . . , x V ) x = ( x_1 , . . . , x_V ) x=(x1,...,xV),其中只有一个 x i x_i xi为1,其余均为0.
从输入层到隐藏层权重值可以用一个 V × N V × N V×N维的矩阵 W V × N {W_{V \times N}} WV×N来表示。
             
其中 W W W 矩阵的每一行代表的是一个与输入层相关的单词的N维向量表示形式 v w v_w vw(这里就体现到了Word Embedding,因为我们拿单词向量 x = ( x 1 , . . . , x V ) x = ( x_1 , . . . , x_V ) x=(x1,...,xV)去点乘 W W W时,就是索引矩阵 W W W x i x_i xi为1的这一行,于是 V × N V × N V×N维的矩阵 W V × N {W_{V \times N}} WV×N将原本V维的单词向量降维到N维度的向量。)

那么假设我们给定了一个输入单词(a context),其单词向量的第k个元素 x k = 1 x_k = 1 xk=1,其余均为0,则有
              (1)
从上式我们可以看出, h 向量完全是从 W 矩阵第k行复制过来的(同 v w I v_{wI} vwI 均为N维向量)。 v w I v_{wI} vwI 即为输入单词 w I w_{I} wI 的一种向量表示(其实就是词嵌入后的输入向量,我们后面会提到)。

 
在这里插入图片描述

在这里插入图片描述

其实这部分有篇博客讲的非常棒:

1、 Word2Vec (Part 1): NLP With Deep Learning with Tensorflow (Skip-gram)

2、《word2vec Parameter Learning Explained》论文学习笔记


还有一部分是看CS224n整理的笔记:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


 
 

三、Word2vec的CBOW模型

在《word2vec Parameter Learning Explained》论文学习笔记 这篇给翻译的文章中有详细的关于CBOW的讲解过程,原文章的作者Rong Xin 于2017年驾驶飞机失事,永远离开了我们。

我这里仍然附上一篇 CS224n-2019 笔记列表 整理的博客。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


关注CBOW模型,你需要知道两个点:
(1)CBOW 是根据中⼼词周围的上下⽂单词来预测该词的词向量。如何通过多个上下文的输出向量得到一个最终向量的?

答案是:求向量的平均值(当然还有其他高效的方法)
在这里插入图片描述

(2)输入词矩阵和输出词矩阵是如何更新的?

在这里插入图片描述

最后再附上自己的笔记吧:
在这里插入图片描述

 
 


参考博客:
【1】Word2Vec:https://www.tensorflow.org/tutorials/text/word2vec
【2】word2vec详解:https://nocater.github.io/2018/12/29/word2vec%E8%AF%A6%E8%A7%A3/
【3】Word2Vec Tutorial - The Skip-Gram Model:http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/
【4】Embedding从入门到专家必读的十篇论文:https://zhuanlan.zhihu.com/p/58805184
【5】[NLP] 秒懂词向量Word2vec的本质:https://zhuanlan.zhihu.com/p/26306795
【6】理解 Word2Vec 之 Skip-Gram 模型:https://zhuanlan.zhihu.com/p/27234078
【7】Word2Vec介绍:直观理解skip-gram模型:https://zhuanlan.zhihu.com/p/29305464

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值