说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

[开源推荐]Google开源基于Deep Learning的word2vec工具

HTML文档下载 WORD文档下载 PDF文档下载
谷歌已经使用Deep Learning技术开发了许多新方法来解析语言,目前,谷歌开源了一款基于Deep Learning的学习工具——word2vec,这是首款面向大众的Deep Learning学习工具。

word2vec(word to vector)顾名思义,这是一个将单词转换成向量形式的工具。通过转换,可以把对文本内容的处理简化为向量空间中的向量运算,计算出向量空间上的相似度,来表示文本语义上的相似度。

word2vec为计算向量词提供了一种有效的连续词袋(bag-of-words)和skip-gram架构实现,word2vec遵循Apache License 2.0开源协议。

如何转换?

word2vec主要是将文本语料库转换成词向量。它会先从训练文本数据中构建一个词汇,然后获取向量表示词,由此产生的词向量可以作为某项功能用在许多自然语言处理和机器学习应用中。

在举例子之前,引入余弦距离(Cosine distance)这个概念(摘自维基百科):

通过测量两个向量内积空间的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是-1。从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。两个向量有相同的指向时,余弦相似度的值为1;两个向量夹角为90°时,余弦相似度的值为0;两个向量指向完全相反的方向时,余弦相似度的值为-1。在比较过程中,向量的规模大小不予考虑,仅仅考虑到向量的指向方向。余弦相似度通常用于两个向量的夹角小于90°之内,因此余弦相似度的值为0到1之间。

然后可以通过distance工具根据转换后的向量计算出余弦距离,来表示向量(词语)的相似度。例如,你输入“france”,distance工具会计算并显示与“france”距离最相近的词,如下:

              Word             Cosine distance      -------------------------------------------                spain              0.678515              belgium              0.665923          netherlands              0.652428                italy              0.633130          switzerland              0.622323           luxembourg              0.610033             portugal              0.577154               russia              0.571507              germany              0.563291            catalonia              0.534176
在word2vec中主要有两种学习算法:连续词袋和连续skip-gram,switch-cbow允许用户选择学习算法。这两种算法有助于预测其它句子的词汇。

从词转换到句子或更长的文本

在一些特定的应用程序中,它还可以用于多个词汇,例如,“san francisco”,这样它就会通过预先处理数据集,让其形成句子,找到与“san francisco”余弦距离最近的内容:

              Word          Cosine distance-------------------------------------------          los_angeles              0.666175          golden_gate              0.571522              oakland              0.557521           california              0.554623            san_diego              0.534939             pasadena              0.519115              seattle              0.512098                taiko              0.507570              houston              0.499762     chicago_illinois              0.491598
如何衡量词向量质量

可能影响到词向量质量的几个因素:

  • 训练数据的数量和质量
  • 向量的大小
  • 训练算法

向量的质量对任何一个应用程序都非常重要,然而,根据复杂的任务来探索不同的超参数设置可能会过于苛刻。因此,我们设计了简单的测试集,来快速评估矢量词的质量。

词聚类(Word clustering)

词向量也可以从巨大的数据集中导出词类,通过执行词向量顶部的K-means聚类即可实现,脚本演示地址:./demo-classes.sh,最后输出的是一个词汇表文件和与之对应的类ID标识,例如:

carnivores 234carnivorous 234cetaceans 234cormorant 234coyotes 234crocodile 234crocodiles 234crustaceans 234cultivated 234danios 234...acceptance 412argue 412argues 412arguing 412argument 412arguments 412belief 412believe 412challenge 412claim 412
性能

在多核CPU上(使用开关‘-threads N’),通过使用并行训练可以显著提高训练速度,超参数选择对性能也至关重要(包括速度和准确率),主要选择有:

  • 架构:skip-gram(慢、对罕见字有利)vs CBOW(快)
  • 训练算法:分层softmax(对罕见字有利)vs 负采样(对常见词和低纬向量有利)
  • 欠采样频繁词:可以提高结果的准确性和速度(适用范围1e-3到1e-5)
  • 维度词向量:通常情况下表现都很好
  • 文本(window)大小:skip-gram通常在10附近,CBOW通常在5附近

去哪里收集训练数据

随着训练数据的增加,词向量质量也显著提升,如果以研究为目的的,可以考虑线上数据集:

  • 来自维基百科的上亿字符(在Matt Mahoney页面底部,适用预处理perl脚本)
  • WMT11网站:多语言的大量文本数据。

快速入门

  1. 代码下载:http://word2vec.googlecode.com/svn/trunk/
  2. 运行“make”编译word2vec工具
  3. 运行demo脚本:./demo-word.sh and ./demo-phrases.sh

关于word2vec更多介绍,大家可以阅读:https://code.google.com/p/word2vec/

(责编:王果)

编程语言与工具专题论坛:各类编程语言使用体会分享 淘宝、腾讯、豆瓣、支付宝、网易专家热议大数据分析与BI实战 “创新或灭亡”:Google的80/20只是转移视线的说辞罢了 自动化编排,配合SDN的iMC V7更加开放 [回顾]比尔·盖茨传奇的前半生 IT基础设施与运维论坛:IT基础设施及运维经验分享 记华为HCC2013 Day1:发力高端存储 HCC 2013虚拟化论坛:虚拟化未来发展方向 Windows 8操作系统市场份额增至7.41% Windows 7仍最受欢迎 【开源专访】Sea.js创始人玉伯的前端开发之路 SDCC 2013:阿里周宝方谈“去IOE”战略及实施 百度和高德:最后谁是地图的王者? 【CTO论道】瑞智和康CEO陶建辉:软硬结合是消费电子新潮流 10大高效率原型设计工具 JIRA与敏捷:李小龙教给我们的敏捷开发之道 百度开放云:Light Up The World,与开发者共享云未来 有胆你就来!11个在线编码大赛 CTO如何避免决策失控:第一步-定义角色 后机械硬盘时代,那些引领风骚的闪存初创公司 致远文杰:传统企业如何实现移动化转型? 记华为HCC2013 Day2:SDN开放编程系统OPS打造生态圈 HCC2013:华为FusionCube融合至简,性能至优 已确认Stephen Elop候选微软下任CEO 英语对于软件开发者来说到底有多重要? SDCC 2013中国软件开发者大会成功落幕 新浪微博宋琦:PHP在微博优化中的“大显身手” 8月份浏览器份额:IE浏览器PC端出现反弹 移动端跌出前五 如何让Ruby项目速度提升10倍 跨平台进行到底:Facebook发布Unity SDK 云薪资管理初创公司ZenPayroll:年处理薪资超1亿美元,获多位知名CEO力挺 Twitter开源Summingbird:近原生编码下整合批处理与流处理 各位,帮我一下,非赏急! 数据库快照复制问题,总出错,求救!(50分) 请问这是怎么一回事。win2k(p)+tomcat+jdk1.4.` 在VB中怎样设置Excel单元格的样式?如设置为百分数显示单元格数值? 下拉菜单问题? 请问这是怎么一回事。win2k(p)+tomcat+jdk1.4.` 求救,我财务系统的问题,大大们一定要帮助我呀! 我在调试jsp是的一个错误信息,请指教~~~ 急!!! 一个烦人的问题 关于在应用程序中使用dll中资源的问题 關於並行執行的問題 也许你现在就会改变!! 看 http://Scjp.myrice.com 为什么要学Java 其实我们很封闭! 关于NT的小问题! 请问: 請問哪里有c++的書籍下載? 几个控件重叠在一起,怎样用代码的方式使其中的某个控件在运行时放至最上!?谢! 也许你现在就会改变!! 看 http://Scjp.myrice.com 其实我们很封闭! 如何发布我的网站? 怎样编程在Windows开始菜单的的“启动”栏中添加本程序的快捷方式? 谁有installshield 6.30的license注册文件? 请问:DataGrid在WebForm中明明有数据显示,但用浏览器看就没,为何? 显卡选择问题 ? 也许你现在就会改变!! 看http://Scjp.myrice.com 其实我们很封闭! 一个Acme .....???? 共计350分哟。急急。。。。我在PHP区有发言。但是还连不上SQL SERVER2000呀。。请进 boyqing(阿清):我的问题转到这了! 谁有installshield 6.30的license注册文件? 高手请进! 大家用java都来做什么????? 搞linux,unix底层的在中关村有没有搞头? 请问为什么我的CBuilder中在菜单项File/new下的无法找到RemoteDataModule?我是新手,请帮忙! 这几句TSQL有错?帮忙看看 请教关于网卡与声卡冲突的处理方法 谁有installshield 6.30的license注册文件? 请问如何在页面操作中保存dataset 怎样选定ListCtrl中的一行(包括subItem区域)? 类对象的实例和类的实例有什么区别?? 请问各位大虾,公文管理系统怎么做? 如何将TIF或TIFF文件转换成网页可以显示的JPG,或是GIF文件(最好给出JAR和例子) 这段程序应该怎么编? 各位老大,近来看看吧,一下午了也没有人来回答,苦命呀!加分...狂加....跳楼... TO net_lover(孟子E章) : 在datagrid中如何在获得当前字段内的内容? 高手都过来,这里有好几个问题!!! 安全队列问题?up有分! 如何在XML文件中獲得某個節點下重復的節點的個數﹐用IXMLNodeCollectionMA嗎? 谁解决了我的问题,我再送他100分一共200分!够吧! 滚屏公告栏滚动速度太快,如何调慢?帮帮忙 一个简单的问题? 需要紧急帮助!!!!!! 6只兔,3只牛,2只狗,3只猪,4只鸭. 蝗虫生活在干燥的环境中,它的呼吸器官是 为了不惊动蜗牛,以便用放大镜观察到蜗牛触角上双眼,下列正确的是:A:前后移动蜗牛B:放大镜靠在蜗牛上C:同时移动头部和放大镜D:将蜗牛放在放大镜上蝗虫适于陆地生活的特点是:1身 为什么说人类第一次登月是人类探索太空的里程碑 蝗虫适应干旱环境的原因如题 蝗虫的复眼是适于陆地生活的形态结构特点吗? 若sin2α+2sin2β=2cosα,y=sin2α+cos2β的最大值为M,最小值为m.求M+m.2α和2β均为平方α、β 描写蓝天的诗(现代诗、古诗都可以)、歌词或好的句子、段落是<蓝>天!只要是写蓝天的句子或诗就行 已知曲线c1的参数方程为x=4+5cost 为什么说人类第一次登月对整个人类来说是巨大的飞跃,是人类探索太空的里程碑 蝗虫生活在干燥的环境中,防止水分散失的结构是( )A,肺 B,气管 C,气囊 D,外骨骼 这个参数方程如何消去参数kx=-k/(k^2+4)y=4/(k^2+4)答案是4x^2+y^2-y=0 :求证:(1-2sinθcosθ)/(cos2θ-sin2θ)=(cos2θ-sin2θ)/(1+2sinθcosθ).求证:(1-2sinθcosθ)/(cos2θ-sin2θ)=(cos2θ-sin2θ)/(1+2sinθcosθ).cos2θ指的是cos^2θ~对的 没抄错 你认为哪里错了? 关于鱼体内的寄生虫问题现在菜市场里有一些卖鱼的人经常把自己从河里用电网打捞上来的鱼拿出来卖.我的妈妈很喜欢买这样的小鲫鱼,又便宜又好吃.可是现在河水污染严重,很多鱼的体内都 已知函数f括号x=-x方+2x求曲线y=f(x)与x轴所围城的平面图形的面积S大哥帮小弟做下选择填空吧,我已经照好照片了 谈一下人类第一次登月成为人类探索太空里程碑的意义 急用 都什么鱼有寄生虫?怎样才能杀死?吃了对人体有什么危害? 蝗虫翅膀的特点 2sinα=cosα,求cos2α+sin2α+1/cos^2 α 已知曲线C的参数方程为x=2cosθ y=3sinθ θ为参数,0≤θ 请你根据蝗虫呼吸特点,提出消灭蝗虫的方案 初一上册第19课课后第一大题 登月过程示意图怎么画 已知曲线C﹛x=2cosθ,y=√3sinθ ﹙θ是参数﹚﹜,直线l :y=x-1,则直线l被曲线C所截弦AB长为多少 蝗虫的特征是什么? 关于月球,登月 探索太空的事例内容越具体越好。 已知曲线c1的参数方程是x=2cos... 昨晚家里突然出现不知名的昆虫,请问这是什么虫子,有害么? 蝗虫的足翅触角各有什么特点 已知曲线C:x=2cosα y=3sinα(α参数)与以直角坐标原点为极点,x轴正半轴为极轴的极极坐坐标系下的点M(2,π/4).(1)判断点M与曲线C的位置关系;.(2).在极坐标系下,将M绕极点逆时针旋转θ(θ属于[0,π]) 蝗虫嘴的特点 蝴蝶破茧而出的优美语句给积分! 在平面直角坐标系xoy中,曲线c1的参数方程x=4+2cosθ,y=2sinθ,点M是曲线C1上的动点,线段OM中点是P,(1)求线段OM中点P的轨迹直角坐标方程(2)以坐标原点O为极点,x的正半轴建系,直线l的极坐标方程pcosθ- 家里出现了未知名的虫子出现在家有段时间了 但在家里翻了好久也没发现是从哪来的 有谁认识这是什么虫子 哪来的 或者是什么东西生的 我好找根源 比较蝶类、金龟甲、蛾类、蝇类、蝗虫、蝽象、蜂类、蝼蛄、螳螂、步甲、蜜蜂等触角、足、翅的类型. 蝗虫有哪些特点使其能在陆地生活 蝗虫的生活特点急 今晚用 关于蝴蝶的句子 要优美,又有忧伤的感觉就像言情小说里描写的忧伤 蝗虫的那些特点使其适应陆地及空中生活? 房间天花板上有长的像蛆的虫是什么 蝗虫的翅的特征是什么 蝗虫单复眼有什么作用,是否有适于陆地生活的特点,蝗虫有什么适于陆地生活的特点 动物 昆虫 蚂蚁怎么排顺序? 关于蝴蝶的美丽的句子我需要:1、诗句2、赞美的句子3、类似散文的抒情句 函数y=2cosx(x属于【0,2π】)与直线y=2围成的图形的面积是多少为什么看y=2,y=-2.x=0,x=π围成的矩形 蚂蚁是一种什么样的动物?是害虫还是昆虫呢? 蝗虫有几对翅? 若函数y=2cosx(0≤x≤2π)的图像和直线y=2围成一个封闭的图形,求这个封闭图像的面积 设平面图形A由x^2+y^2=x确定,求该平面图形的面积及其绕直线x=2旋转一周所得的旋转体的体积,尽快啊…… 蝴蝶优美的诗句 已知函数y=2cosx和y=2图像在x∈【0,2π】范围内构成一个封闭的平面图形,利用对称性可得面积为能否帮我画张草图, 求y=2x与y=x^3围成的平面图形的面积 两只鸭换四只羊3只羊换6只兔子,问三只鸭换几只兔 有关蝴蝶的优美句子 把曲线的参数方程化为一般方程:x=3sint,y=4sint,z=5cost (0小于等于t小于2pai) 3年级下才数学题2只鸭子可换4只羊3只羊可换6只兔子3只鸭子可换几只兔子怎样列式 如图,桌子上有四分之三杯水,小健喝掉三分之一,想把水加满,他拿起另一杯盛满水的杯子向第一个杯子倒结果不小心,加满溢出来后他才发现,这时第二杯水只剩下四分之一,那么溢出的水到底是 把下列参数方程化为普通方程〔1〕x=5cost y=3sint 2只鸡可以换3只鸭,4只兔可以2只鸭,1只鸡可以换几只兔?这道题有几种算法? 如下图,桌子上有四分之三杯水,小健喝掉三分之满水的杯子向第一个杯子倒结果不小心,加满溢出来后他才发现 下列与蝗虫适于陆地生活无关的是()A 体表具有外骨骼B 身体分节,有三对足两对翅C 有三个单眼,仅能感光D 具优势与陆地进行呼吸的气门和气管为什么?请说明理由,
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘