ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Word2vec之Skip-gram 模型

2021-01-02 16:59:03  阅读:260  来源: 互联网

标签:中心词 Word2vec Skip 模型 索引 gram 背景 词典 向量


什么是Skip-gram模型?

在跳字模型中,我们用一个词来预测它在文本序列周围的词。例如,给定文本序列"the", “man” “hit , his”,和"son",跳字模型所关心的是,给定"hit" ,生成它邻近词"the", " man", “his ,和"son"的概率。在这个例子中,“hit"叫中心词,“the”, " man”, “his”,和"son"叫背景词。由于"hit"只生成与它距离不超过2的背景词,该时间窗口的大小为2。

Skip-gram模型

假设词典大小为|V|,我们将词典中的每个词与从0到|V|-1的整数一一对应︰词典索引集V={0,1…|V|-1}。一个词在该词典中所对应的整数称为词的索引。给定一个长度为T的文本序列中,t时刻的词为w(t)。当时间窗口大小为m时,跳字模型需要最大化给定任一中心词生成背景词的概率:
在这里插入图片描述
上式的最大似然估计与最小化以下损失函数等价

我们可以用v和u分别代表中心词和背景词的向量。换言之,对于词典中一个索引为i的词,它在作为中心词和背景词时的向量表示分别是vi和ui。而词典中所有词的这两种向量正是跳字模型所要学习的模型参数。为了将模型参数植入损失函数,我们需要使用模型参数表达损失函数中的中心词生成背景词的概率。假设中心词生成各个背景词的概率是相互独立的。给定中心词wc在词典中索引为c,背景词wo在词典中索引为o,损失函数中的中心词生成背景词的概率可以使用softmax函数定义为
分子:两个向量做点乘运算;分母是把词典中的所有索引都做点乘然后加到一起,

当序列长度T较大时,我们通常随机采样一个较小的子序列来计算损失函数并使用随机梯度下降优化该损失函数。通过微分,我们可以计算出上式生成概率的对数关于中心词向量vc的梯度为:

而上式与下式等价:

通过上面计算得到梯度后,我们可以使用随机梯度下降来不断迭代模型参数vc。其他模型参数uo。的迭代方式同理可得。最终,对于词典中的任一索引为i的词,我们均得到该词作为中心词和背景词的两组词向量vi和ui

标签:中心词,Word2vec,Skip,模型,索引,gram,背景,词典,向量
来源: https://blog.csdn.net/m0_45283671/article/details/112099979

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有