在学习LSTM的时候,了解了word2vec,简单的理解就是把词变成向量。看了很多书,也搜索了很多博客,大多数都是在word2vec的实现原理、数学公式,和一堆怎么样重新写一个word2vec的python代码。对于我这种数学弱鸟级别的人来说,这显然是没有什么意义的,更别说价值了。我所需要的就是理解几个简单的问题:

1、什么是word2vec?

2、为什么是word2vec?

3、word2vec能干什么?

4、怎么用word2vec来达到目的?

最起码目前我能理解这几个问题,以及足够了,至于那些数学公式,还需要时间,我高中数学都忘光了,已经在京东上购买了高中数学书,估计学到能看懂这些数学公式,都天荒地老了,有没有word2vec的算法都不好说了。

什么是word2vec?

word2vec是谷歌提出的一种算法,能把文字表述成一种向量表。在这种向量表里,关系相近的词语向量距离比较近。通过这个向量表可以十分清晰的看出来词语和词语的分布。

为什么是word2vec?

因为计算机不懂得人类的语言,必须把词语变成数字化得东西,才能进一步的参与运算,可以把词语简单的映射,行程one-hot的词典,然后就可以参与lstm的网络训练了。但是这样的情况有几个问题。

1、one-hot的方式是一个稀疏矩阵,占用很大的位置。计算起来十分不方便。

2、one-hot仅仅是把词语或者文字数字化了,而没有词语和词语之间的联系和关系。如果能把语义上相近的词语放到一起,这样就可以一眼看出来词语和词语的关系,同时根据词语和词语分布进行语义方面的分析和计算。

而为了实现既可以语义上分布有规律,有可以缩小矩阵减少计算。人类进行了很多摸索和算法,而目前为止,word2vec就恰恰好可以实现这个目的,同时避免缺点。

word2vec能干什么?

我个人的理解,word2vec主要达到两个效果

1、把词语进行数字化以后,可以参与其他的计算了。

2、词语根据语义分布的有规律了,可以根据这个进行一些有意思的玩法了。

关于把词语放入词典,可以参与其他的计算。这个暂且不去探讨,因为我也还不懂。说了也是胡说

词语语义有规律的分布以后,就可以进行一些有意思的玩法,比如

1、一个网站的内容可以提取出来词语,得到空间向量,然后广告内容也可以得到空间向量,计算向量之间的距离,就可以知道哪个广告匹配哪个内容了?

2、兴趣推荐,内容推荐,商品推荐,大概的意思都这样,社交网络的大V推荐

我能想到的大概就这么多:

看看别人怎么说吧:

https://x-algo.cn/index.php/2016/03/12/281/

https://www.jianshu.com/p/f58c08ae44a6

word2vec的理解的更多相关文章

  1. 对word2vec的理解及资料整理

    对word2vec的理解及资料整理 无他,在网上看到好多对word2vec的介绍,当然也有写的比较认真的,但是自己学习过程中还是看了好多才明白,这里按照自己整理梳理一下资料,形成提纲以便学习. 介绍较 ...

  2. word2vec参数理解

    之前写了对word2vec的一些简单理解,实践过程中需要对其参数有较深的了解: class gensim.models.word2vec.Word2Vec(sentences=None,size=10 ...

  3. 对Word2Vec的理解

    1. word embedding 在NLP领域,首先要把文字或者语言转化为计算机能处理的形式.一般来说计算机只能处理数值型的数据,所以,在NLP的开始,有一个很重要的工作,就是将文字转化为数字,把这 ...

  4. word2vec入门理解的博客整理

    深度学习word2vec笔记之基础篇 https://blog.csdn.net/mytestmy/article/details/26961315 深度学习word2vec笔记之算法篇 https: ...

  5. word2vec 的理解

    1.CBOW 模型 CBOW模型包括输入层.投影层.输出层.模型是根据上下文来预测当前词,由输入层到投影层的示意图如下: 这里是对输入层的4个上下文词向量求和得到的当前词向量,实际应用中,上下文窗口大 ...

  6. 文本分布式表示(二):用tensorflow和word2vec训练词向量

    看了几天word2vec的理论,终于是懂了一些.理论部分我推荐以下几篇教程,有博客也有视频: 1.<word2vec中的数学原理>:http://www.cnblogs.com/pegho ...

  7. word2vec之tensorflow(skip-gram)实现

    关于word2vec的理解,推荐文章https://www.cnblogs.com/guoyaohua/p/9240336.html 代码参考https://github.com/eecrazy/wo ...

  8. Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树

    Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树 目录 Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树 0x00 摘要 0x01 背景概念 1.1 词向量基础 ...

  9. Alink漫谈(十七) :Word2Vec源码分析 之 迭代训练

    Alink漫谈(十七) :Word2Vec源码分析 之 迭代训练 目录 Alink漫谈(十七) :Word2Vec源码分析 之 迭代训练 0x00 摘要 0x01 前文回顾 1.1 上文总体流程图 1 ...

随机推荐

  1. Hive学习之路 (十八)Hive的Shell操作

    一.Hive的命令行 1.Hive支持的一些命令 Command Description quit Use quit or exit to leave the interactive shell. s ...

  2. kubernetes API Server 权限管理实践

    API Server权限控制方式介绍 API Server权限控制分为三种:Authentication(身份认证).Authorization(授权).AdmissionControl(准入控制). ...

  3. Docker存储方式选型建议

    转自:https://segmentfault.com/a/1190000007168476 第一部分 问题诊断 事情从一次实施项目说起,我们需要帮助客户将他们的应用容器化并在数人云平台上发布此应用. ...

  4. vagrant之道(即其工作流程)

    原文http://mitchellh.com/the-tao-of-vagrant The Tao of Vagrant 在安装vagrant或了解它如何工作之前,了解vagrant在实际工作环境中的 ...

  5. 多线程之线程间协作的两种方式:wait、notify、notifyAll和Condition

    Java并发编程:线程间协作的两种方式:wait.notify.notifyAll和Condition 在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作.比如说最经典的生产者-消费者 ...

  6. package.xml

    package.xml 也是一个catkin的package必备文件, 它是这个软件包的描述文件, 在较早的ROS版本(rosbuild编译系统)中, 这个文件叫做 manifest.xml , 用于 ...

  7. Google 历年笔试面试30题

    1.正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,需要计算出Q中的前几项,例如,当a=3,b=5,N=6时,序列为3,5,6,9,10,12(1).设计一个函数void g ...

  8. MacOS在Finder中建立快速新建txt的workflow

    Mac是不支持右键直接新建txt的,因此有时候需要用到文本文稿的时候会比较麻烦.   因此这里提供一种个人认为比较方便的方法,让Mac也能很简洁的新建txt文件.   工具介绍: Automator ...

  9. 用脚本js把结果转化为固定小数位的形式

    function roundTo(base,precision) { var m=Math.pow(10,precision); var a=Math.round(base * m) / m; ret ...

  10. member access within misaligned address 0x0000002c3931 for type 'struct ListNode‘

    From MWeb 在做leetcode 第2题时使用C语言编写链表时报错 错误复现 错误原因 解决办法 错误复现 报错时的代码如下 /** * Definition for singly-linke ...