Word2vec2vec分析和总结分析和总结.docx

Word2vec2vec分析和总结分析和总结.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CBOW(Continuous Bag-of-Word Model)又称连续词袋模型,是一个三层神经网络。如下图所示,该模型的特点是输入已知上下文,输出对当前单词的预测。CBOW 模型的训练过程如下图所示:Word2vec 和 Doc2vec 做 Word Embedding 和 Sentence/Document Embedding 。 CBOW(Continuous Bag-of-Word Model)又称连续词袋模型,是一个三层 神经网络。如下图所示,该模型的特点是输入已知上下文,输出对当前单词的预 测。 CBOW 模型的训练过程如下图所示: Word2vec 的训练过程可以看做是通过神经网络机器学习算法来训练 N-gram 语言模型,并在训练过程中求出word Word2vec 的训练过程可以看做是通过神经网络机器学习算法来训练 N-gram 语言模型, 并在训练过程中求出word 所对应的vector的方法。根据语言模型的不同,又可分为“CBOW” 和“Skip-gram”两种模型。而根据两种降低训练复杂度的方法又可分为“ Hierarchical Softmax”和“Negative Sampling”。两种模式和两种方法进行组合,所以实际上是有四种实现。 第一层是输入层,首先选定一个窗口大小,当前单词为 Wi,每一个词随机初始化一个K 维向量,则 CBOW 模型的输入是当前词的上下文窗口内的词的词向量, 中间层(隐层)将上下文词的向量累加(或者求均值)得到中间向量(K 维), 第三层是一颗哈夫曼树,叶节点代表语料里所有的词(语料含有 V 个独立的词, 则二叉树有|V|个叶节点)。对于一个叶节点(即语料库中的一个词),如果记左子树为 1,右子树为 0,就会有一个全局的编码,例如“01001”。接下来, 隐层的每一个节点(K 维)都会跟哈夫曼树的非叶结点有联系,每一个非叶结点其实是一个二分类的 Softmax,它将中间向量的每一个节点分到树的左右子树上。 整个训练过程如下: 根据语料库建立词汇表 V,V 中的所有词均初始化一个K 维向量,并根据词频构建哈夫曼树; 将语料库中的文本依次进行训练,以一个文本为例,将单词 Wi 的上下文窗口内的词向量输入模型,由隐层累加(或求均值),得到 K 维的中间向量 Wnew。Wnew 在哈夫曼树中沿着某个特定的路径到达某个叶子节点(即当前词 Wi); 由于已知 Wi,则根据 Wi 的哈夫曼编码,可以确定从根节点到叶节点的正确路径,也确定了路径上所有分类器(非叶结点)上应该作出的预测。举例来说, 如果 Wi 的编码为“01101”,则从哈夫曼树的根节点开始,我们希望中间向量与根节点相连经过 Softmax 计算分为 0 的概率接近于 1,在第二层输入 1 的概率接近于 1,以此类推,直至到达叶子节点; 根据 3 中一直进行下去,把一路上计算得到的概率想乘,即可得到Wi 在当前网络下的概率 P,那么残差就是(1-P),于是就可以采用梯度下降法调整路径中非叶结点的参数,以及最终上下文词的向量,使得实际路径向正确路径靠拢, 经过 n 次迭代收敛后,即可得到每个词的向量表示。 Skip-gram Skip-gram 模型的最大特点是:由当前词预测上下文词 Skip-gram 模型的训练过程如下图所示: 与 CBOW 模型不同的是,Skip-gram 模型输入层不再是多个词向量,而是只有一个词向量,所以不用做隐层的向量累加。此外, Skip-gram 模型需要用当前词预测上下文窗口中的每一个词。 具体的训练过程如下: 根据语料库建立词汇表 V,V 中的所有词均初始化一个K 维向量,并根据词频构建哈夫曼树; 将语料库中的文本依次进行训练,以一个文本为例,将当前单词 Wi 的词向量输入模型; 由于已知 Wi 的上下文词,则根据 Wi 上下文词的哈夫曼编码,可以确定从根节点到叶节点的正确路径,也确定了路径上所有分类器(非叶结点)上应该作出的预测,则将当前词的向量输入哈夫曼树的根节点一路行进到某个叶子节点,即为完成了一次预测,根据梯度下降算法更新路径中非叶结点的参数以及 Wi 的向量; 重复 3 中的步骤,直到预测完所有的上下文词。 使用哈夫曼树的作用:如果不适用哈夫曼树,而是直接从隐层计算每一个输出的概率——即传统的 Softmax,则需要对词汇表 V 中的每一个词都计算一遍概率,这个过程的时间复杂度是 O|V|,而如果使用了哈夫曼树,则时间复杂度就降到了 O(log2(|V|))。另外,由于哈夫曼树的特点,词频高的编码短,这样就更加快了模型的训练过程。 其实,上面介绍的 CBOW 和 Skip-gram 模型就是在 Hierarchical Softmax 方法下实现的,还记得我们一开始提到的还有

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档