word2vec Parameter Learning Explained学习笔记

目录


原因:

  • 看了几篇提及CBOW(Continuous Bag-of-Word)的综述,都没直接看懂。综述中都指向这篇文章的这张图。
    在这里插入图片描述

word2vec是一个预训练(pretrained)模型,在大量语料上训练词向量(或者称为词嵌入,word embedding)。尽管训练语料与应用场景不尽相同,但实验表明,对下游(downstream)应用效果良好。

CBOW的目的是通过上下文(context)预测目标词(target word)。举例来说,“I like this cute [target word] very much”,其中[target word]就是要预测的目标词,而上下文指的是与目标词距离为k的窗口内的词,如果窗口大小m=2,则上下文为“this cute”和“very much”。N-gram只考虑目标词前面的词。

我的理解:CBOW的训练模型,以m=1为例,训练数据train_data为多段文本的集合,其中每段文本,以text表示,可以得到len(text)-2个训练样本。例如,text=‘I love Tom Hank’,则训练样本两个,分别为‘I love Tom’和‘love Tom Hank’,目标词分别为‘love’和‘Tom’。输入张量shape=(None,sequence_length),其中第一维为None,代表输入个数,第二维为sequence_length,大小为2m+1。然后,送入嵌入Embedding层。然后,Dense层,最后,softmax层,得到vocabulary中每个词的概率。

实际上,采用bigram模型,即只考虑上下文中的一个词(没说是左侧还是右侧),也没有Embedding层,输入是这个词one-hot编码,也就是说,编码长度是vocabulary的大小V。输入是V维列向量。对于vocabulary中的第k个word x k \textbf{x}_k xk,只有第k维=1,其余为0。

模型三层,输入层,隐藏层(全连接+softmax),输出层。

  • 输入层——隐藏层之间的权重矩阵 W \textbf{W} W V × N V\times N V×N维,隐藏层——输出层之间的权重矩阵 W ′ \textbf{W}' W N × V N\times V N×V维矩阵。
    隐藏层的输入(或者说输入层的输出)是 W T x \textbf{W}^\textrm{T}\textbf{x} WTx,即N维列向量 h \textbf{h} h。将 W \textbf{W} W写作列向量的形式,即 W = ( w 1 , … , w V ) T \textbf{W}=(\textbf{w}_1,\ldots , \textbf{w}_V)^\textrm{T} W=(w1,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值