深度学习NLP笔记(一):词向量表示

入坑自然语言处理,学习路线按照CS224N课程来,本人小白一枚,写的不对或不明确的地方请随意指正。

一、词向量表示

1. 独热表示(one-hot)

简单讲,就是使用一个二进制的向量来代表一个词,每个词对应一个位置,该位置为1,其他位置全为0的向量代表了这个词,词表的大小就是串的长度。这种方式简介且易于理解,但有两个缺点。
  (i)向量的维度会随词表包含的词的数量增加而增加;
  (ii)任意两个向量都是正交的,这意味着任意两个词都是独立的,在语义上是毫无关系的。比如,“喜悦”和“高兴”两个词是高度相关的,但用one-hot表示法无法表示出它们之间的关联性。

2. 分布式表示(Dristributed representation)

分布式表示的思想是通过训练将词向量映射到低维空间,使用“距离”来表示词与词之间的关联(距离的定义有多种,包括欧氏距离、余弦距离等,此处待写)。

二、Skip-gram和CBOW

1.Skip-gram

Skip-gram模型是给定一个词,预测这个词前后的词,比如,有一句话“杭州的西湖很美”,我们把“西湖”作为输入,模型的输出就应该为{“杭州”、“很”、“美”}。
  借用斯坦福CS224N课件提供的图片来描述一下模型。Skip-gram
  首先输入的是一个词的one-hot表示xi,这个向量与中心词(center word)权重矩阵W相乘可以得到这个词的向量表示,得到词向量之后,再与其他center word的权重矩阵W′ 相乘可以得到每个词的词向量,再经过softmax层即可得到概率表示。以上的WW′ 就是我们学习的目标。

2.CBOW(词袋模型)

CBOW模型与Skip-gram模型正好相反。Skip-gram是给定中心词,预测上下文;CBOW模型是指给定上下文,预测中心词。如下图所示,CBOW模型的输入层、隐藏层、输出层,包括学习参数的顺序与Skip-gram模型完全成一个镜像。不再细说。
 在这里插入图片描述

三、过程推导

此处以Skip-gram模型为例,假设我们有如图一句话,并取“life”为中心词,则它前后的词出现的概率即可表示为 P ( w t − i ∣ w t ) P(w^{t-i}|w^{t}) P(wtiwt) P ( w t + i ∣ w t ) P(w^{t+i}|w^{t}) P(wt+iwt),比如“always”就可以表示为 P ( w t − 2 ∣ w t ) P(w^{t-2}|w^{t}) P(wt2wt),“was”可以表示为 P ( w t + 1 ∣ w t ) P(w^{t+1}|w^{t}) P(wt+1wt).
在这里插入图片描述

我们做一个假设,即给定一中心词,它生成的的每个背景词之间是相互独立的。那么整体概率就是,m为窗口大小: ∏ − m ≤ j ≤ m , j ≠ 0 P ( w t + j ∣ w t ) \prod_{-m\leq j\leq m,j\neq 0}P(w^{t+j}|w^{t}) mjm,j<

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值