cs224n-task02

1 Word2vec

Word2vec的作用

word2vec的作用就是学习词向量的一个方法

word2vec的主要思想

  1. 对语料库的每个单词进行迭代
  2. 使用词向量预测上下文单词
  3. 更新词向量来让预测更加的准确
    在这里插入图片描述
    在这里插入图片描述

Word2vec的参数和计算

在这里插入图片描述

  • 每行代表一个单词的词向量,点乘后得到的分数通过softmax映射为概率分布,我们得到的概率分布式是在该中心词的基础上的上下文中的单词的概率分布,(注意:该分布与上下文所在的位置是没有关系的(应该都是P(o|c),所以在每个位置的预测是一样的)
  • 我们希望模型对上下文中(相当频繁)出现的所有单词给出一个合理的高概率估计。
  • the、and 、that、of 这样的停用词,是每一个单词点乘后得到的较大概率的单词。

优化:梯度下降

梯度下降:每次使用全部样本更新
复杂梯度下降:每次知识用单个样本进行更新
mini-batch具有以下优点:

  • 通过平均值,减少梯度估计的噪音
  • 在GPU上并行化运算,加快运算速度
    在这里插入图片描述

存在问题:

  • J(θ)是关于整个语料库所有窗口的函数,求梯度代价很大。

  • 解决方案:SGD随机梯度下降。随机选取窗口进行梯度更新。

  • 但是在每个窗口中,最多有2m+1个单词,所以梯度非常稀疏。

  • 在这里插入图片描述

  • 解决方法

只更新U、V中确定的某几行。
在这里插入图片描述
分母中对语料库中所有的单词都进行求点乘,代价太大,所以采用负采样的方法。

负采样

1、为对中心词向量和外围词向量的点乘进行sigmoid计算,把softmax变成sigmoid。
2、选取了K个负样本,负样本为窗口之外的样本。对于窗口中的每个词u,计算uovc的sigmoid,计算负样本和中心词的点乘ujvc,求sigmoid。最大化uovc,最小化ujvc,得出目标函数如下所示。
在这里插入图片描述

2 共现矩阵

两个选择:
窗口和全文档
窗口:和word2vec类似
文档:给出普遍的话题,导致潜在语义分析。
共现矩阵的例子如下,其中窗口大小设置为1
在这里插入图片描述

共现矩阵存在的问题:

随着语料库的大小的增大,向量的大小会增长。
非常高维,需要许多存储空间。
子序列分类问题模型有非常稀疏的问题。
模型不健壮

解决方案:

使用低维度的向量。如何降维呢?
采用奇异值分解,把所有信息量都浓缩在一个小的维度向量中。

基于计数的模型和直接预测的模型比较:

计数模型:
训练速度快
有效的利用数据
主要用来获取单词的相似度
对于出现次数多的单词基于重视
直接预测:
与语料库大小有关
数据使用不高效
提高其他任务的性能
能捕捉到复杂的语义模式

在这里插入图片描述
共现概率的比值可以对意义成分进行编码。
在这里插入图片描述
如何获得共现概率的比率呢?
在这里插入图片描述
glove模型Combining the best of both worlds GloVe
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值