vc 嵌入另一程序窗口_NLP·一、词向量Word Embedding(一)

本文介绍了词嵌入的概念,重点解析了Word2vec的Skip-grams算法,包括模型的工作原理、计算过程、损失函数及参数更新。文章还提及了程序实现和梯度下降优化的后续计划,并引用了相关学习资源。
摘要由CSDN通过智能技术生成

一、词嵌入/词向量为什么可行

一句话概括就是:一个词的语义由其上下文的单词决定。

1accbdc32f58f80a93033e57054f4435.png

word vectors ==word embeddings ==word representations.

They are a distributed representation

二、Word2vec的两种算法

30072d980d0c362107ce18d5ceeda057.png

2.1 CBOW

用上下文的单词预测中心词,假设window size = 2:

e3e3b76f8c6c63b079d62bcebc41d443.png
c37e099cdc153fdb5dce2a4ed0e610d5.png

在每个position t = 1,……,T,window size = m, 求已知上下文的单词,预测中心词出现的概率的似然:

dfced4ccb8a121b4eaa25c2c533c406d.png

2.1.2 计算

a62c78f0b59b9ea5cbfa3d8f9896180a.png

为了简化计算,我们假设每个词代表的向量一共有两个,一个是作为中心词的词向量,一个是作为上下文单词时的词向量。将单词表里的词对应的词向量组合成矩阵:

8b6e5e3180fff02f1be256ea81acc4ef.png

由于向量内积的几何含义就是一个向量投影到另一个向量上的大小,越大,两个向量相似度越高;越小,两个向量的相似度越低:

f03f3eff11e1526564b13991cecdc334.png

由于单词表的单词数量是有限个,因此要对概率归一化,这里就用到了softmax函数:

3b93970e7bc6357671e4bad0d29aaf26.png

2.2 Skip-grams

用中心词预测上下文的单词,假设window size = 2:

20906645a723384658b60801400b1498.png
cf4085c956f6da0c5471aaf857167d7e.png

在每个position t = 1,……,T,window size = m, 求已知上下文的单词,预测中心词出现的概率的似然:

0683bb49cbab4f1278be37d9cc3368f4.png

损失函数:

9a97d67ed480e110630e8188f37a628f.png

2.2.1 程序实现思想——skip-gram

2842f65bf04c806050f31759fcdc3432.png

2.2.1.1 生成batch:X,y(以skip-gram为例,那么就是输入是中心词,输出是上下文单词的概率)

skip_window:窗口的大小,即window size

num_skips:代表着我们从整个窗口中选取多少个不同的词

095d6bd8bc161bc93792fd1921fff270.png

例子:batch_size = 4; skip_window = 2; num_skip = 1:

3c97f3216c979187727519c26d029514.png

2.2.1.2 前向传播——这里Word2vec讨了个巧,利用深度学习的宏观意义上的编码器解决了更新参数theta的方法:

6177172e654b7e974ce6cca4aa885421.png
d381680b57a33b2b6e79a488b0ad15c4.png

注:1、为什么要将单词表向量化?

88ce0c23ea3e4edafa3ffdc2d5baf11b.png
5949d5d907be46d6b910d1ff761e5ea9.png

总结前向传播

3423472b2cf5eca657c4e87558b8b73a.png

2.2.1.3 计算loss

f4999a50375540cf7ee1699f78ba969d.png

求此损失函数等价于计算输出的交叉熵:

7970599640e5ba6e480de0085955c0d1.png

2.2.1.4 梯度下降更新那两个词向量矩阵

b78ef560b2d65b9bfd6a0d3cbb909a97.png
48d2e48f69b00ae763264d5368e6d7b0.png
8bf392b7e1e549392d11cc6169a3485a.png
6e61cc50f03bfd6a4654c1b17aac4c08.png

参数更新:

39e2cf66a43dec06dc499237ca332222.png

三、后期计划:

1、程序实现展示;

2、梯度下降参数更新的优化

四、参考:

1、斯坦福cs224n

2、Chris McCormick 的blog

http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值