NLP自然语言处理学习笔记(二)Word2Vec

  • 一、Word2Vec
  • 二、负采样

本文是根据吴恩达教授的教学视频来整理的学习笔记,部分图片来源于视频的截图。原教学视频连接 https://mooc.study.163.com/learn/2001280005?tid=2001391038#/learn/content

一、Word2Vec

Word2Vec是词嵌入的一种算法。分为Skip-grams和CBOW两种。Skip-grams是给定中心词来预测上下文,CBOW是给定上下文来预测中心词。

下图中,以Orange为中心词,来预测上下文。

训练过程如下图:

Skip-grams算法的缺点主要是运行速度太慢。

改善方式一:softmax层需要对10000个样本求和,速度慢。因此使用分级softmax的算法,构建一课分类树,先判断预测出来的词是位于词汇表的前5000还是后5000,然后再继续做更细的分类。在实际使用中,这棵树通常可能不是对称的,将频繁出现的词放在贴近树根部的位置,将出现频率较低的词放到离树根部较远的位置。

改善方式二:负采样,下一小节将介绍。

二、负采样

正样本的分类结果是1,负样本的分类结果是0。

训练模型:
模型的输出是10000个softmax分类器,每次迭代选择1个正样本和k个负样本,来对参数进行更新。

如何选择负采样的样本?
如果按频率选择,会出现很多the, and, a, an这样的高频词,造成干扰。
如果完全均匀地选择,不考虑频率,效果又不太好。
因此有研究者建议,按频率的3/4次方来采样,可以取得比较好的效果。

NLP自然语言处理学习笔记(二)Word2Vec相关推荐

  1. NLP自然语言处理学习笔记(十二)(转自咕泡AI)

    问答机器人排序模型 目标 知道模型中排序中的概念和目的 知道模型中排序的实现方法 1. 排序模型的介绍 前面的课程中为了完成一个问答机器人,我们先进行了召回,相当于是通过海选的方法找到呢大致相似的问题 ...

  2. NLP自然语言处理学习笔记(十一)(转自咕泡AI)

    问答机器人介绍 目标 知道问答机器人是什么 知道问答机器人实现的逻辑 1. 问答机器人 在前面的课程中,我们已经对问答机器人介绍过,这里的问答机器人是我们在分类之后,对特定问题进行回答的一种机器人.至 ...

  3. NLP自然语言处理学习笔记(十)(转自咕泡AI)

    Attention的原理和实现 目标 知道Attention的作用 知道Attention的实现机制 能够使用代码完成Attention代码的编写 1. Attention的介绍 在普通的RNN结构中 ...

  4. NLP自然语言处理学习笔记(八)(转自咕泡AI)

    分类的目的和分类的方法 目标 能够说出项目中进行文本的目的 能够说出意图识别的方法 能够说出常见的分类的方法 1. 文本分类的目的 回顾之前的流程,我们可以发现文本分类的目的就是为了进行意图识别 在当 ...

  5. NLP自然语言处理学习笔记(七)(转自咕泡AI)

    走进聊天机器人 学习目标 知道常见的bot的分类 知道企业中常见的流程和方法 1. 目前企业中的常见的聊天机器人 QA BOT(问答机器人):回答问题 代表 :智能客服. 比如:提问和回答 TASK ...

  6. NLP自然语言处理学习笔记(一)(转自咕泡AI)

    1深度学习的介绍 目标 知道什么是深度学习 知道深度学习和机器学习的区别 能够说出深度学习的主要应用场景 知道深度学习的常见框架 1. 深度学习的概念 深度学习(英语:deep learning)是机 ...

  7. NLP自然语言处理学习笔记(三)(转自咕泡AI)

    Pytorch完成基础的模型 目标 知道Pytorch中Module的使用方法 知道Pytorch中优化器类的使用方法 知道Pytorch中常见的损失函数的使用方法 知道如何在GPU上运行代码 能够说 ...

  8. NLP自然语言处理学习笔记(四)(转自咕泡AI)

    使用Pytorch实现手写数字识别 目标 知道如何使用Pytorch完成神经网络的构建 知道Pytorch中激活函数的使用方法 知道Pytorch中torchvision.transforms中常见图 ...

  9. 自然语言处理自学笔记-02 Word2vec——基于神经网络学习单词表示

    自然语言处理自学笔记-02 Word2vec--基于神经网络学习单词表示 Word2vec 定义损失函数 skip-gram算法 从原始文本到结构化数据 制定实际的损失函数 近似损失函数 连续词带模型 ...

最新文章

  1. 解除微信回调的Activity必须在包名.wxapi下的限制
  2. 腾讯会议用户突破1亿,发布企业版最高支持2000人同时参会
  3. JStorm与Storm源码分析(三)--Scheduler,调度器
  4. boolean类型_JS核心理论之《数据类型、类型转换、深浅拷贝与参数传递》
  5. python pip安装失败vtk_安装最新的VTK库验证安装出错该怎么解决
  6. 快速掌握MATLAB应用,从这一步开始
  7. 【学习笔记】多重背包相关优化——二进制优化/单调队列优化
  8. Python内置函数sorted()和列表方法sort()的排序原理
  9. 【算法笔记HDU4825】Xor Sum(01字典树模版)
  10. 微型计算机存储器cache,微型计算机存储器系统中的Cache是
  11. zblog怎么定位html代码,zblog模板修改常用调用标签代码
  12. Centos 8 安装 Openbravo 之安装 ant
  13. vios映射_以最低要求映射VIOS LUN
  14. 百年辉煌师心向党 · 德高道厚幸福敬中——2021年石家庄敬业中学教师节庆祝大会
  15. lepus(天兔数据库监控系统)部署和使用
  16. Annotate点云标注工具
  17. C语言中字符数组的初始化与赋值
  18. Pareto最优解排序
  19. 我确实不知道如何使用计算机的英文,用英语介绍我的电脑
  20. 小米盒子老是服务器无响应,小米盒子反应慢的两个解决办法,彻底告别卡顿严重...

热门文章

  1. Scrum的三个内置子模式 | 图解敏捷系列
  2. Spectacle源码编译方法
  3. 第九十九节,JavaScript数据类型
  4. matlab ode边值问题,微分方程(组)边值问题的变分原理及MATLAB求解
  5. Qt新安装之后出现Error while building/deploying (kit: Desktop Qt 5.7.0 GCC 64bit) When executing step Make”
  6. matlab:线性规划实例编程---采用linprog包
  7. 2022年度中国PCB百强榜单公布
  8. leetcode5465
  9. hdu 5465 树状数组
  10. flask与Django的比较