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
最新文章
- Android随笔之——静默安装、卸载
- 4.bootstrap练习笔记-内容区块
- Android开发——搭建最新版本的Android开发环境
- Socket模块学习
- Windows系统
- 对部分Java名词的总结
- iOS - Swift NSData		数据
- opencv 手势识别
- Unity NGUI 网络斗地主 -制作图集 Atlas
- Java系列--第三篇 基于Maven的Android开发CAIO
- 当KDS晶振遇上爱普生晶振国内生产厂家该如何抉择?
- 724. Find Pivot Index
- [再寄小读者之数学篇](2014-05-28 Ladyzhenskaya 不等式)
- Spring Boot 2程序不能加载 com.mysql.jdbc.Driver 问题
- 用flock命令解决Linux计划任务重复执行
- 18-hadoop-weather案例
- 在Windows系统上搭建aria2下载器
- Application Context的设计
- 【spring cloud】【IDEA】【maven】spring cloud多模块在idea上使用maven插件打包报错:程序包XXX不存在
- 洛谷 P1640 [SCOI2010]连续攻击游戏 解题报告
热门文章
- virtualbox+vagrant学习-2(command cli)-9-vagrant Plugin命令
- P3183 [HAOI2016]食物链
- HDU 2639(01背包求第K大值)
- CentOS 安装第三方yum源
- OpenID Connect Core 1.0(九)声明(Claims)
- RAC配置笔记
- Java面向对象之多态(来源于身边的案例)
- android6.0系统Healthd分析及低电量自动关机流程
- python抠图与pip install PIL报错
- Ubuntu 16.04 下简单安装使用golang之备忘