Word2Vec的主要目的适用于词的特征提取,然后我们就可以用LSTM等神经网络对这些特征进行训练。

由于机器学习无法直接对文本信息进行有效的处理,机器学习只对数字,向量,多维数组敏感,所以在进行文本训练之前还要做一些转化工作,Word2Vec就是担负此重任的有效工具,当然还有其他工具,就不再说明。本次只是简单介绍Word2Vec的工作原理,想要详细理解还请看一下文章最后分享的链接。

Word2Vec工作过程

1.建立字典,每个词生成 one-hot 向量

Word个数为 n ,产生 n 维向量,第i 个 word 的向量为(0, 0, 0,…. 1, 0, 0, 0, 0)其中1的位置在向量的第i个位置上。

   

2.训练数据集构建

我门可以使用长度为4的滑动窗口进行取“词对”,如下图:

3.建立简单的神经网络

建立神经网络的真正意义在于要学到当前词是通过何种向量映射到其它词的。最后这个向量才是能够作为文本学习的特征向量。 Word2Vec本身不具有多大的学习作用,但它产生的词映射向量在当前的技术看来是作为机器学习语言的前提。如下图,我们所需要的就是中间的神经元模型:

4 . 生成最终 Vect

训练 model 特征提取,每个 one-hot 对应一个300d向量如下图

生成最终 look up word table

Word2Vec 特点

1.利用上下文 (context) 进行学习两个词上下文类似,生成的vector 会接近

2. 具有类比特性king-queen+female =male

3. 字符 -->数据,方便机器学习处理

本次笔记只是简单的介绍一下Word2Vec的工作过程,我们还可以通过其它的优秀博客来深度理解Word2Vec。

https://blog.csdn.net/mytestmy/article/details/26969149

还可以从这篇http://techblog.youdao.com/?p=915下载以下总结,讲的挺详细的。

深度学习-语言处理特征提取 Word2Vec笔记的更多相关文章

  1. Coursera深度学习(DeepLearning.ai)编程题&笔记

    因为是Jupyter Notebook的形式,所以不方便在博客中展示,具体可在我的github上查看. 第一章 Neural Network & DeepLearning week2 Logi ...

  2. deeplearning.ai 改善深层神经网络 week1 深度学习的实用层面 听课笔记

    1. 应用机器学习是高度依赖迭代尝试的,不要指望一蹴而就,必须不断调参数看结果,根据结果再继续调参数. 2. 数据集分成训练集(training set).验证集(validation/develop ...

  3. deeplearning.ai 神经网络和深度学习 week4 深层神经网络 听课笔记

    1. 计算深度神经网络的时候,尽量向量化数据,不要用for循环.唯一用for循环的地方是依次在每一层做计算. 2. 最常用的检查代码是否有错的方法是检查算法中矩阵的维度. 正向传播: 对于单个样本,第 ...

  4. 深度学习-Wasserstein GAN论文理解笔记

    GAN存在问题 训练困难,G和D多次尝试没有稳定性,Loss无法知道能否优化,生成样本单一,改进方案靠暴力尝试 WGAN GAN的Loss函数选择不合适,使模型容易面临梯度消失,梯度不稳定,优化目标不 ...

  5. 深度学习 —— 使用 gensim 实现 word2vec

    在自然语言处理领域中,将单词(words)或词语(phases)映射到向量空间(vector space)中可以很容易就得到单词之间的相似度,因为向量空间中两个向量的相似度很容易求得,比如余弦相似度. ...

  6. 深度学习-DCGAN论文的理解笔记

    训练方法DCGAN 的训练方法跟GAN 是一样的,分为以下三步: (1)for k steps:训练D 让式子[logD(x) + log(1 - D(G(z)) (G keeps still)]的值 ...

  7. 深度学习-生成对抗网络GAN笔记

    生成对抗网络(GAN)由2个重要的部分构成: 生成器G(Generator):通过机器生成数据(大部分情况下是图像),目的是“骗过”判别器 判别器D(Discriminator):判断这张图像是真实的 ...

  8. 深度学习框架 Torch 7 问题笔记

    深度学习框架 Torch 7 问题笔记 1. 尝试第一个 CNN 的 torch版本, 代码如下: -- We now have 5 steps left to do in training our ...

  9. deeplearning.ai 神经网络和深度学习 week2 神经网络基础 听课笔记

    1. Logistic回归是用于二分分类的算法. 对于m个样本的训练集,我们可能会习惯于使用for循环一个个处理,但在机器学习中,是把每一个样本写成一个列向量x,然后把m个列向量拼成一个矩阵X.这个矩 ...

随机推荐

  1. gulp/webpack运行sass报错解决方法

    帮同事安装gulp和webpack运行环境,使用cnpm install安装node-sass之后,运行项目总是报错,提示vendor目录不存在,几番百度之后,找到处理方法,这里记录一笔,防止以后遇到 ...

  2. 利用Xilinx ROM仿真时注意包括.mif文件

    利用Xilinx ROM仿真时,注意包括.mif文件.一般是将.v文件和.mif文件放在同一个目录下,以便.v文件读取.mif数据.如不注意,就不会读出有效数据.

  3. 玩家属性同步优化-脏数据标记(位运算、数组、stl之bitset)

    把大神的帖子中一部分摘抄出来,结合自己写的位运算代码和循环代码(数组遍历)进行性能测试分析并给出结果. 摘自: https://www.gameres.com/827195.html 本文适用于所有脏 ...

  4. allure-pytest 测试报告分享给大家

    allure-pytest生成测试报告,经过实践得出如下经验,参考了很多大神的博客一并附上 1.安装allure-pytest pip install allure-pytest 2.执行命令生成js ...

  5. OpenFOAM——设置自定义非均匀场区域

    在使用OpenFOAM进行计算的时候,我们需要对计算域设置非均匀场,比如最典型的溃坝算例,在开始计算以前,我们需要首先设定某一区域的水的体积分数为1,就是下面这样的: 有可能我们在计算传热问题的时候, ...

  6. SpaceClaim通过脚本创建新窗口

    下载安装SharpDevelop,下载地址:http://www.icsharpcode.net/OpenSource/SD/Download/Default.aspx#SharpDevelop3x ...

  7. Kubernetes kubectl 命令概述

    kubectl用于运行Kubernetes集群命令的管理工具. 语法 kubectl [command] [TYPE] [NAME] [flags] command:指定要在一个或多个资源执行的操作 ...

  8. openstackx

  9. Python3基础 yield next 获取生成器生出的值

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  10. (转)CentOS 7.6 上编译安装httpd 2.4.38

    原文:https://www.s4lm0x.com/archives/40.html https://www.cnblogs.com/sunshine-H/p/8110608.html----超详细 ...