google word2vec 学习基础文档20151018

上传人:小** 文档编号:94145804 上传时间:2019-08-02 格式:DOC 页数:7 大小:263KB
返回 下载 相关 举报
google word2vec 学习基础文档20151018_第1页
第1页 / 共7页
google word2vec 学习基础文档20151018_第2页
第2页 / 共7页
google word2vec 学习基础文档20151018_第3页
第3页 / 共7页
google word2vec 学习基础文档20151018_第4页
第4页 / 共7页
google word2vec 学习基础文档20151018_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《google word2vec 学习基础文档20151018》由会员分享,可在线阅读,更多相关《google word2vec 学习基础文档20151018(7页珍藏版)》请在金锄头文库上搜索。

1、Google word2vec 学习基础陈良臣2015年10月18日1. word2vec简介word2vec是 word to vector 的缩写。 word2vec 是 Google 在2013年年中开源的一款将词表征为实数值向量的高效工具,采用的模型有 CBOW(Continuous Bag-Of-Words,即连续的词袋模型)和Skip-Gram 两种。能够把词映射到K维向量空间,甚至词与词之间的向量操作还能和语义相对应。(word2vec 通过训练,可以把对文本内容的处理简化为 K 维向量空间中的向量运算,而向量空间上的相似度可以用来表示文本语义上的相似度。) 因此,word2ve

2、c输出的词向量可以被用来做很多NLP相关的工作,比如聚类、找同义词、词性分析等等。如果换个思路,把词当做特征,那么Word2vec就可以把特征映射到 K 维向量空间,可以为文本数据寻求更加深层次的特征表示。2. 词向量介绍词向量就是用来将语言中的词进行数学化的一种方式,顾名思义,词向量就是把一个词表示成一个向量。词向量,顾名思义,就是用一个向量来表示一个单词,这个向量不是随便的一个,而是根据单词在语料中的上下文而产生,具有意义的向量。而word2vec就是根据语料来生成单词向量的一个工具。生成单词向量有什么用?最主要的一点就是用来计算相似度。直接计算两个词的余弦值便可以得到。一种最简单的词向量

3、方式是 one-hot representation,就是用一个很长的向量来表示一个词,向量的长度为词典的大小,向量的分量只有一个 1,其他全为 0, 1 的位置对应该词在词典中的位置。举个例子,“话筒”表示为 0 0 0 1 00 0 0 0 0 0 0 0 0 0 0 .“麦克”表示为 0 0 0 0 00 0 0 1 0 0 0 0 0 0 0 .每个词都是茫茫 0 海中的一个 1。3. word2vec代码word2vec的原版代码是google code上的,基于c语言。 除了google自己的word2vec工具,各位对词向量感兴趣的牛人们也相继编写了各自不同的版本。版本地址Cht

4、tps:/ 最权威的当然是C语言版本,但是阅读起来比较困难一点。Python版本有优化处理,所以速度相对来说也不慢,但只是实现了分层softmax方法对skip-gram模型进行训练。Java版本分别实现了分层softmax方法对CBOW模型和skip-gram模型进行训练。C+版本的没有阅读其代码,所以未知4. word2vec工作流程 1) 准备语料数据. 2) 利用分词工具对语料库进行分词 3)用word2vec工具训练词向量 4) 分析备注:下面提供一些网上能下载到的中文的好语料,供研究人员学习使用。(1).中科院自动化所的中英文新闻语料库 http:/ http:/ http:/ h

5、ttp:/ http:/ http:/ http:/ http:/ word2vec常用功能 1. 词语相似度 1)计算两个词语相似度。如图1计算asp与net的相似度为0.6215127 2)列出所有相似词语列表。如图2为“php”的结果。 3)寻找对应关系:如图3: 男人-男孩 女人-? 如图4:内蒙-呼和浩特 河北-? 4) 删选不合群的词语,可以用来做特征选择:如图5所示: 5)测试词向量的加减 这个主要功能是:给定一个negative的词w0、两个positive的词w1、w2,寻找词向量表中与向量(w1+w2-w0)最相似的词; 因为w1+w2-w0是一个向量,并且一般不会直接对应

6、向量表中某个向量,所以只能寻找相似度最高的向量。其论文中著名的加减法是:king+woman-man=queen 6. 词语相似度计算代码实现 基于HowNet(知网) 和Word2vec的词语相似度计算实现(包含完整的java代码) 代码下载地址:http:/ (使用HowNet分词,Word2vec训练词向量) 7. Word2vec原理与模型采用的模型有 CBOW(Continuous Bag-Of-Words,即连续的词袋模型)和Skip-Gram 两种. cbow模型是用上下文预测中间的词,并且参数是用的上下文词向量的和。skip-gram模型是中间的词预测上下文,并且参数是中间词的

7、词向量。假设有这样一句话:今天下午2点钟搜索引擎组开组会。任务1:对于每一个word,使用该word周围的word来预测当前word生成的概率。如使用“今天、下午、搜索、引擎、组”来生成“2点钟”。任务2:对于每一个word,使用该word本身来预测生成其他word的概率。如使用“2点钟”来生成“今天、下午、搜索、引擎、组”中的每个word。两个任务共同的限制条件是:对于相同的输入,输出每个word的概率之和为1。两个任务分别对应两个的模型(CBOW和skim-gram)。8. 参考资料:1). DeepLearning实战之word2vechttp:/ 利用中文数据跑Google开源项目wo

8、rd2vechttp:/ Windows下使用Word2vec继续词向量训练http:/ word2vec使用指导 http:/ Word2vec原理介绍 http:/ NCE算法研究以及其在Word2vec工具上的应用 http:/ 5). word2vec使用小结http:/ Word2Vec在中文的应用http:/ 学习Word2vechttp:/ 深度学习word2vec笔记(基础篇)http:/ 干货 | word2vec 从1到100http:/ word2vec代码注释http:/ word2vec源码解析之word2vec.chttp:/ 基于Word2vec的词语相似度计算,包含完整的java代码http:/ 如何用 word2vec 计算两个句子之间的相似度?http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号