当前位置: 首页 > news >正文

『TensorFlow』读书笔记_Word2Vec

由于暂时不会深入接触NLP相关领域,所以本章的内容就不过多涉及了,以后会进行学习,应该。

Word2Vec又称Word Embeddings,中文称为"词向量"、"词嵌入"等。

One_Hot_Encoder

图像和语音天然可以表示为稠密向量,自然语言处理领域在Word2Vec之前都是使用离散符号,如"中国"表示为5178,"北京"表示为3987这样,即One_Hot_Encoder,一个词对应一个向量(向量中一个值为1其余值为0),这使得整篇文章变为一个稀疏矩阵。而在文本分类领域,常使用Bag of Words模型,将文章对应的稀疏矩阵进行合并,比如"中国"出现23次,则5178位置特征值为23这样。

由于One_Hot_Encoder的特征编码是随机的,完全忽视了字词之间可能的关联。而且稀疏向量作为存储格式时,其效率比较低,即我们需要更多的训练数据,另外,稀疏矩阵计算也非常麻烦。

向量空间模型

向量表达可以有效的解决这些问题,向量空间模型会将意思相近的词映射到邻近的位置。向量空间模型在NLP中依赖的假设是Distributional Hypothesis,即相同语境中出现的词其意义也相近。

向量空间模型有两个子类,

  • 其一是计数模型,计数模型会统计相邻词出现的频率,然后将之处理为小而稠密的矩阵
  • 其二是预测模型,预测模型则是根据一个词相邻的词去推测出这个词,以及其空间向量

Word2Vec就属于一种预测模型,其分为两个模式,

  • CBOW模式从缺词的原始语句推测目标词,适用于小型数据
  • Skip-Gram利用目标词逆推原始语句,对大型语料库效果很好

预测模型一般是给定前h个词的情况下去最大化目标词的概率,CBOW模型并不需要计算全部词汇表中的可能性,随机选择k个词汇和目标词汇进行计算loss,这个方法由tf.nn.nce_loss()已经实现了。

以一句话为例;“the quick brown fox jumped over the lazy dog”为例,滑窗尺寸为一时映射关系有:【the、brown】->【quick】这样的,而Skip-Gram中相反,我们希望得到的是(quick,the)、(quick,brown)这样的关系。面对随机生成的负样本时,我们希望概率分布在the的位置尽可能的大。

 

相关文章:

  • Android UI进阶之旅15 SVG的使用
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • Android的一些命名规范
  • 零元学Expression Blend 4 - Chapter 13 用实例了解布局容器系列-「Pathlistbox」I
  • Spring源码系列-容器刷新
  • WPF用样式实现TextBox的虚拟提示效果
  • ReactiveCocoa学习
  • [POJ2411]Mondriaan's Dream
  • CentOS7防火墙
  • vue.js 初步学习资源
  • Atlassian发布JIRA项目组合管理解决方案
  • 图片后门恶意捆绑工具FackImageexploer
  • php扩展模块安装
  • Android Studio 3.0 Android 分析器 | 中文教学视频
  • GeoIP2 数据库更新地址
  • gcc介绍及安装
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Javascript基础之Array数组API
  • Java多态
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • node.js
  • php的插入排序,通过双层for循环
  • react-native 安卓真机环境搭建
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 排序(1):冒泡排序
  • 使用 QuickBI 搭建酷炫可视化分析
  • 试着探索高并发下的系统架构面貌
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 用Canvas画一棵二叉树
  • zabbix3.2监控linux磁盘IO
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​ubuntu下安装kvm虚拟机
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • (39)STM32——FLASH闪存
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (C#)获取字符编码的类
  • (TOJ2804)Even? Odd?
  • (办公)springboot配置aop处理请求.
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (一)Java算法:二分查找
  • (已解决)什么是vue导航守卫
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • (转载)深入super,看Python如何解决钻石继承难题
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .net和php怎么连接,php和apache之间如何连接
  • /dev下添加设备节点的方法步骤(通过device_create)
  • @ModelAttribute 注解
  • @reference注解_Dubbo配置参考手册之dubbo:reference