word2vec的理解
在学习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的理解的更多相关文章
- 对word2vec的理解及资料整理
对word2vec的理解及资料整理 无他,在网上看到好多对word2vec的介绍,当然也有写的比较认真的,但是自己学习过程中还是看了好多才明白,这里按照自己整理梳理一下资料,形成提纲以便学习. 介绍较 ...
- word2vec参数理解
之前写了对word2vec的一些简单理解,实践过程中需要对其参数有较深的了解: class gensim.models.word2vec.Word2Vec(sentences=None,size=10 ...
- 对Word2Vec的理解
1. word embedding 在NLP领域,首先要把文字或者语言转化为计算机能处理的形式.一般来说计算机只能处理数值型的数据,所以,在NLP的开始,有一个很重要的工作,就是将文字转化为数字,把这 ...
- word2vec入门理解的博客整理
深度学习word2vec笔记之基础篇 https://blog.csdn.net/mytestmy/article/details/26961315 深度学习word2vec笔记之算法篇 https: ...
- word2vec 的理解
1.CBOW 模型 CBOW模型包括输入层.投影层.输出层.模型是根据上下文来预测当前词,由输入层到投影层的示意图如下: 这里是对输入层的4个上下文词向量求和得到的当前词向量,实际应用中,上下文窗口大 ...
- 文本分布式表示(二):用tensorflow和word2vec训练词向量
看了几天word2vec的理论,终于是懂了一些.理论部分我推荐以下几篇教程,有博客也有视频: 1.<word2vec中的数学原理>:http://www.cnblogs.com/pegho ...
- word2vec之tensorflow(skip-gram)实现
关于word2vec的理解,推荐文章https://www.cnblogs.com/guoyaohua/p/9240336.html 代码参考https://github.com/eecrazy/wo ...
- Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树
Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树 目录 Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树 0x00 摘要 0x01 背景概念 1.1 词向量基础 ...
- Alink漫谈(十七) :Word2Vec源码分析 之 迭代训练
Alink漫谈(十七) :Word2Vec源码分析 之 迭代训练 目录 Alink漫谈(十七) :Word2Vec源码分析 之 迭代训练 0x00 摘要 0x01 前文回顾 1.1 上文总体流程图 1 ...
随机推荐
- ElasticSearch学习之——基本的文档CURD
一.文档的添加 POST http://127.0.0.1:9200/{index}/{type}/{id} { "key":"value", "ke ...
- Hadoop学习之路(十五)MapReduce的多Job串联和全局计数器
MapReduce 多 Job 串联 需求 一个稍复杂点的处理逻辑往往需要多个 MapReduce 程序串联处理,多 job 的串联可以借助 MapReduce 框架的 JobControl 实现 实 ...
- [消息传输123]ActiveMQ
http://www.uml.org.cn/zjjs/201802111.asp https://www.cnblogs.com/cyfonly/p/6380860.html
- tuple元组详解
这次要讲的内容是:c++11中的tuple(元组).tuple看似简单,其实它是简约而不简单,可以说它是c++11中一个既简单又复杂的东东,关于它简单的一面是它很容易使用,复杂的一面是它内部隐藏了太多 ...
- ajax表单提交post(错误400) 序列化表单(post表单转换json(序列化))
序列化表单 使用serializeArray()序列化 转换成json格式 function arrayTOjson(node) { var b = "{"; for (var i ...
- 升级优化关于日志生成logging封装TimedRotatingFileHandler
1.变更升级:优化日志自定义输出到文件的level,以及文件夹生成用户自由控制 # coding=utf-8 import logging import time import os import l ...
- Spring源码分析(二十一)加载BeanFactory
摘要: 本文结合<Spring源码深度解析>来分析Spring 5.0.6版本的源代码.若有描述错误之处,欢迎指正. 目录 一.定制化BeanFactory 二.加载BeanDefinit ...
- Java笔试题解析(二)——2015届唯品会校招
曾经总是看别人写的笔经面经.今天自己最终能够写自己亲身经历的一篇了 T-T. 前阵子去了唯品会的秋招宣讲会,华工场(如今才知道原来找家互联网公司工作的人好多).副总裁介绍了VIP的商业模式是逛街式的购 ...
- N项阶乘累加求和新算法
pdf原版链接
- 使用JS与jQuery实现文字逐渐出现特效
该需求出现原因:想要实现一个在一开始加载页面时就出现一行文字逐渐出现的效果,且需要实现的是一种逐渐的过渡出现效果为不是一种生硬的突然间歇性出现.于是便开始尝试利用最近正在学习的jQuery技术和JS实 ...