在学习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. saltstack之编写自定义模块

    编写自己的模块 1 默认会放在/srv/salt/_modules vi hello.py """ CLI Example : salt '*' hello.world ...

  2. python 小技巧同时迭代多个列表,多变量同时运算

    再来一个大家很熟悉的 dict={"a": "b","c": "d"}k,v=dict.items()print(k,v ...

  3. git的安装以及简单使用

    前提准备: 1.已有github官网账号:(若无,注册流程百度一下) 2.git安装包,官网下载:https://git-scm.com/downloads.(顺带吐槽下,真是龟速下载.) 一.安装g ...

  4. 让自己的项目支持 Carthage

    据说 cocoaPods 升级到1.0之后变得使用起来不太方便了,好吧,这段时间公司事儿比较多而且是自己写的sdk就不怎么写demo了,cocoaPods也没用几次…… 前两天朋友说要转战 Carth ...

  5. HDU 2639(01背包求第K大值)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2639 Bone Collector II Time Limit: 5000/2000 MS (Jav ...

  6. 倒计数锁存器(CountDown Latch)和 CyclicBarrier(同步屏障)

    倒计数锁存器(CountDown Latch)是异常性障碍,允许一个或多个线程等待一个或者多个其他线程来做某些事情. public static long time(Executor executor ...

  7. 【ev】视频软件

    EV系列:EV录屏.EV剪辑

  8. pci枚举初始化部分(1)

    基于linux-4.20-rc3源码分析 1 .扫描所有PCI设备并检测,填充设备结构体 static struct pci_dev *pci_scan_device(struct pci_bus * ...

  9. python-redis列表模式

    往列表里存放数据先进后出(左进) lpush  names  A  B C D E 往列表里存放数据后进先出(右进) rpush names  G P H K 查看列表里面的数据: lrange na ...

  10. WPF字体模糊解决方案

    原文:WPF字体模糊解决方案 WPF对字体渲染做了很大的改善,与Winform窗体字体相比较,更加平滑,但是当字体大小较小时,则会出现字体模糊的现象.可通过以下方法进行改善处理: 对于XAML用户界面 ...