Word2vec之CBOW 模型

CBOW模型流程举例

假设我们现在的语料库是这一个简单的只有四个单词的文本:

Step 1. 得到上下文词的one-hot向量作为输入,同时得到预期的输出one-hot向量(这个用来最后计算损失函数)。

Step 2. 输入层每个词的one-hot与权重矩阵WVN相乘,得到对应的向量。(其实这就是对应词的词向量,矩阵的参数是网络通过训练得到的)。
V表示语料库中词的个数,即one-hot向量的维数是V。
N表示隐藏层神经元的数量,即希望最后得到的词向量维数为N。

得到每个词的词向量


Step 3. 将得到的三个向量相加求平均,作为输出层的输入。

Step 4. 将向量与输出层的权重矩阵U相乘,得到输出向量。



Step 5. 将softmax作用于输出向量,得到每个词的概率分布。


Step 6. 通过损失度量函数(如交叉熵),计算网络的输出概率分布与预期输出onehot向量的之间损失值。通过这个损失值进行反向传播,更新网络参数。

经过上述步骤的多次迭代后,矩阵W就是词向量矩阵,每个词通过one-hot查询词向量矩阵就能得到其对应的词向量。

总结

先来看着这个结构图,用自然语言描述一下CBOW模型的流程:

1.输入层:背景词的one-hot向量。
2.隐藏层:所有one-hot分别乘以输入权重矩阵W,再将所得的向量相加求平均作为隐藏层向量。
3.输出层:隐藏层向量乘以输出权重矩阵W’ 。 将softmax作用于输出向量,得到每个词的概率分布,概率最大的index所指示的单词为预测出的中心词。
它的隐藏层并没有激活函数,但是输出层却用了softmax,这是为了保证输出的向量是一个概率分布。

one-hot编码,就是有多少个不同的词,我就会创建多少维的向量。这样可能会造成维数爆炸。于是就出来了连续向量表示,word2vec就是将语料库中的词转化成向量,以便后续在词向量的基础上进行各种计算。word2vec的字、词向量,能够包涵语义信息,向量的夹角余弦能够在某种程度上表示字、词的相似度。

Word2vec之CBOW 模型相关推荐

  1. 谈谈Word2Vec的CBOW模型

    0x00 背景 最近在做毕设,需要使用Google的word2vec.查阅了相关资料,总结后,写下这篇. 注,本文大多取自以下内容: cbow例子,取自知乎,已取得答主同意 word2vec数学原理详 ...

  2. Word2vec之CBOW

    一.Word2vec word2vec是Google与2013年开源推出的一个用于获取word vecter的工具包,利用神经网络为单词寻找一个连续向量看空间中的表示.word2vec是将单词转换为向 ...

  3. Word2vec之CBOW模型和Skip-gram模型形象解释

    Word2vec中两个重要模型是:CBOW和Skip-gram模型 首先Wordvec的目标是:将一个词表示成一个向量 这里首先说下我对CBOW模型的理解 这是主要是举个例子简化下 首先说下CBOW的 ...

  4. Word2Vec之Skip-Gram与CBOW模型

    Word2Vec之Skip-Gram与CBOW模型 word2vec是一个开源的nlp工具,它可以将所有的词向量化.至于什么是词向量,最开始是我们熟悉的one-hot编码,但是这种表示方法孤立了每个词 ...

  5. 自己动手写word2vec (四):CBOW和skip-gram模型

    系列所有帖子 自己动手写word2vec (一):主要概念和流程 自己动手写word2vec (二):统计词频 自己动手写word2vec (三):构建Huffman树 自己动手写word2vec ( ...

  6. word2vec包中cbow模型--学习笔记

    基于Hierarchical softmax的CBOW模型 网络结构:包括3层,分别为输入层,投影层和输出层 假设Context(w)是由词w的前后各c个词组成 输入层:包含Context(w)中2c ...

  7. word2vec原理(五):skip-gram和CBOW模型代码实现

    目录 代码一 代码二 第一部分代码对于skip-gram和CBOW模型是通用的,第二部分是实现skip-gram模型的代码. 代码一: import os from six.moves.urllib. ...

  8. word2vec中的CBOW模型

    模型结构 CBOW模型,中文译为"连续词袋模型",完成的任务是给定中心词  的一定邻域半径(比如半径为2,通常成为windows,窗口,这里窗口的大小为5)内的单词 ,预测输出单词 ...

  9. 理解 Word2Vec 之 Skip-Gram 模型

    20211003 NLP系列:Word2Vec原始论文:Efficient Estimation of Word Representations in Vector Space - 简书 原始论文翻译 ...

最新文章

  1. Ubuntu 系统打开任务管理
  2. 公务员_只愿与一人十指紧扣_新浪博客
  3. 【转】编程思想之消息机制
  4. BZOJ 2288 贪心 +链表
  5. ITK:迭代图像中的区域,而无需写访问权即可访问索引
  6. jquery 过滤html代码,jquery – 如何使指令使用过滤的HTML属性?
  7. JUnit 5 –架构
  8. mysql 解压缩安装_[mysql] MySQL解压缩安装步骤
  9. 一加8 Pro或将配备120Hz刷新率屏幕
  10. phpcms9.6 ueditor_Phpcms v9深度整合百度编辑器Ueditor
  11. linux下已修改但尚未保存_linux下查看和修改文件时间
  12. 2022年6月25日PMP考试通关宝典-2
  13. linux e1000e 网卡驱动,Ubuntu安装Intel e1000e千兆网卡
  14. android下canvas连线题思路
  15. 6. 机器人正运动学---齐次变换矩阵的三种解读
  16. 关于Iphone的手势识别
  17. 2019 春季算法工程师实习生招聘历程
  18. 常见思维模型汇总(二)
  19. 百面机器学习(13)——生成式对抗网络
  20. 淘宝官方订单 API 接口,获取购买到的商品订单列表

热门文章

  1. Flink系列-背压(反压)
  2. 三百个好用的免费软件名单[转]
  3. oracle 断电起不来,解决方案
  4. 后台控制游戏开关_今天购买这些开关游戏
  5. JAVA SE知识整合(暂时完结 五万七字)后续分点详解
  6. Springboot集成rabbitMQ之mandatory和备份交换机
  7. 华为“721法则”:如何让新员工快速融入“狼群”
  8. 成都振芯GM8913和GM8914:流媒体行车记录仪方案!~
  9. 操作系统饥饿现象_操作系统中的饿死现象怎样理解?
  10. C/C++开发工程师面试题整理(二)——操作系统进程、线程