由于暂时不会深入接触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的位置尽可能的大。

『TensorFlow』读书笔记_Word2Vec的更多相关文章

  1. 『TensorFlow』读书笔记_降噪自编码器

    『TensorFlow』降噪自编码器设计  之前学习过的代码,又敲了一遍,新的收获也还是有的,因为这次注释写的比较详尽,所以再次记录一下,具体的相关知识查阅之前写的文章即可(见上面链接). # Aut ...

  2. 『TensorFlow』读书笔记_VGGNet

    VGGNet网络介绍 VGG系列结构图, 『cs231n』卷积神经网络工程实践技巧_下 1,全部使用3*3的卷积核和2*2的池化核,通过不断加深网络结构来提升性能. 所有卷积层都是同样大小的filte ...

  3. 『TensorFlow』读书笔记_ResNet_V2

    『PyTorch × TensorFlow』第十七弹_ResNet快速实现 要点 神经网络逐层加深有Degradiation问题,准确率先上升到饱和,再加深会下降,这不是过拟合,是测试集和训练集同时下 ...

  4. 『TensorFlow』读书笔记_SoftMax分类器

    开坑之前 今年3.4月份的时候就买了这本书,同时还买了另外一本更为浅显的书,当时读不懂这本,所以一度以为这本书很一般,前些日子看见知乎有人推荐它,也就拿出来翻翻看,发现写的的确蛮好,只是稍微深一点,当 ...

  5. 『TensorFlow』读书笔记_多层感知机

    多层感知机 输入->线性变换->Relu激活->线性变换->Softmax分类 多层感知机将mnist的结果提升到了98%左右的水平 知识点 过拟合:采用dropout解决,本 ...

  6. 『TensorFlow』读书笔记_简单卷积神经网络

    如果你可视化CNN的各层级结构,你会发现里面的每一层神经元的激活态都对应了一种特定的信息,越是底层的,就越接近画面的纹理信息,如同物品的材质. 越是上层的,就越接近实际内容(能说出来是个什么东西的那些 ...

  7. 『TensorFlow』读书笔记_进阶卷积神经网络_分类cifar10_上

    完整项目见:Github 完整项目中最终使用了ResNet进行分类,而卷积版本较本篇中结构为了提升训练效果也略有改动 本节主要介绍进阶的卷积神经网络设计相关,数据读入以及增强在下一节再与介绍 网络相关 ...

  8. 『TensorFlow』读书笔记_进阶卷积神经网络_分类cifar10_下

    数据读取部分实现 文中采用了tensorflow的从文件直接读取数据的方式,逻辑流程如下, 实现如下, # Author : Hellcat # Time : 2017/12/9 import os ...

  9. 『TensorFlow』读书笔记_AlexNet

    网络结构 创新点 Relu激活函数:效果好于sigmoid,且解决了梯度弥散问题 Dropout层:Alexnet验证了dropout层的效果 重叠的最大池化:此前以平均池化为主,最大池化避免了平均池 ...

随机推荐

  1. 获取子字符串函数MidStr

    MidStr返回指定范围内的字符串.该函数有三个参数.第一个参数为源字符串,第二个参数为起点(下标从1开始),第三个参数为结束点.通过第二.第三个参数则可指定要复制字符串的范围. function M ...

  2. Git命令行基本操作

    Git--- download网址:https://git-scm.com/downloads 0. 安装Git 网上有很多Git安装教程,如果需要图形界面,windows下建议使用TortoiseG ...

  3. bugfree3.0.1-导入excel测试用例

    大多数项目里只用BugFree做缺陷管理工具,其实还可以通过该工具导入测试用例,记录测试结果,最后获得统计结果. 难点 1.导入文件要求XML格式: 2.一般我们的测试用例都是用excle文件存取,很 ...

  4. 20165330 2017-2018-2 《Java程序设计》第7周学习总结

    课本知识总结 第十一章 JDBC与MySQL数据库 安装XAMPP软件及启动MySQL 下载链接:XAMPP 安装步骤:参考教程xampp新手学习指引(windows示例) 启动MySQL:打开系统c ...

  5. WinDBG相关

    WinDBG 技巧:如何生成Dump 文件(.dump 命令)   程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为d ...

  6. pytorch torchvision对图像进行变换

    class torchvision.transforms.Compose(转换) 多个将transform组合起来使用. class torchvision.transforms.CenterCrop ...

  7. phpcms列表页替换

    根据栏目代号获取栏目图 <img src="{$CATEGORYS[$top_parentid][image]}" width="1200" height ...

  8. eclipse启动时自动多一个javaw.exe的进程解决办法

    问题描述:(My)Eclipse软件打开时,通过任务管理器发现有一个javaw.exe的进程自动启动. 并且关闭此进程时,(My)Eclipse会随之报错终止运行. 原因:启动(My)Eclipse的 ...

  9. Kubernetes-Host网络模式应用

    目录贴:Kubernetes学习系列 在实际生产环境中,有些容器内应用(比如编码器)需要用到物理层面的网络资源(比如组播流).这就要求Kubernetes中的该Pod以HOST模式来启动.以下实验了K ...

  10. Java内存模型学习笔记

    Java内存模型(JMM):描述了java程序中各种变量(线程共享变量)的范根规则,以及在JVM中将变量存储到内存和从内存中读取出变量这样的底层细节.共享变量就是指一个线程中的变量在其他线程中也是可见 ...