【SEO牛人GoGo闯】折腾!通过word2vec结合SEO做关键词分类

SEO名人好文章系列,是本人收集前辈们分享过的精华,听听大牛的思考,对自己做SEO帮助很大。今天分享的是GoGo闯的好文章:【折腾】通过word2vec结合SEO做关键词分类

大概一年前开始研究nlp(自然语言处理)时,就接触过word2vec这个强大的文本聚类开源项目(见《自然语言处理方面的一些待好好研读的文章笔记》),当时就意识到这东西对SEO来说肯定特别有帮助,只因我不够专注,没能继续深入研究下去。今天去逛@GoGo闯大神的博客时,突然发现他发了下面这篇文章,竟然把word2vec与实际项目结合得如此完美,忍不住第一时间转过来跟大家分享一下。这里不得不吐槽一下,这篇文章是我有史以来最难转的文章!排版太难搞了,以前都是直接用为知笔记或者印象笔记一键剪藏后发布,这回却行不通了,原因是会破坏掉源代码结构,只能我手动一段段复制粘贴了,简直逆天!!!

----------以下是GoGo闯原文,有重新排版,无文字删改,原文章版权归GoGo闯所有----------

手上有份职位词表,数万职位,现在想给每个职位找出相关职位来做推荐。

相关职位,指的是相同职类但不同职位,如:java工程师 – php开发、python工程师、C++开发…..,会计师 – 经济师、统计师、审计师…..,UI设计 – 平面设计、海报设计、广告设计师….

由于职位表是没有职类这层逻辑的,现有的数据也没办法给职位做关联的参考,人工把数万个职位做关联也不现实,所以需要有一个快速简单粗暴的办法。

之前了解过google的开源项目word2vec在聚类、找关联方面效果不错,常用做广告推荐,原理如下:

在A公司的多个页面中,电商公司B有他们的一个主页,专门介绍他们公司一些产品促销,抢购和发布会什么的。

公司A目前有很多用户的浏览数据,如用户u浏览了公司A的页面a1,a2,a3等。

把这些数据处理一下,整合成word2vec能处理的数据,如下

U1  a1,a2,a3……

U2  a2,a3,a5,……

U3  a1,a3,a6,……

其中u1,u2,u3表示不同的用户,后面的一串表示这些用户的浏览记录,如U1  a1,a2,a3表示用户u1先浏览了页面a1,再浏览a2,然后浏览了a3,……

这些数据还不符合word2vec的输入数据格式,把第一列去掉,变成下面的样子

a1,a2,a3……

a2,a3,a5,……

a1,a3,a6,……

这些数据就可以作为word2vec的输入数据了。

就把这些数据作为word2vec的训练数据,词向量维度为3,进行训练,完成后得到下面的输出

A1  (0.3,-0.5,0.1)

A2  (0.1,0.4,0.2)

A3  (-0.3,0.7,0.8)

……

An  (0.7,-0.1,0.3)

就得到了每个页面的向量。

这些向量有啥意义呢?其实单个向量的意义不大,只是用这些向量可以计算一个东西——距离,这个距离是页面之间的距离,如页面a1和a2可以用欧式距离或者cos距离计算公式来计算一个距离,这个距离是有意义的,表示的是两个网页在用户浏览的过程中的相似程度(也可以认为是这两个页面的距离越近,被同一个人浏览的概率越大)。注意这个距离的绝对值本身也是没有意义的,但是这个距离的相对大小是有意义的,意思就是说,假设页面a1跟a2、a3、a4的距离分别是0.3、0.4、0.5,这0.3、0.4、0.5没啥意义,但是相对来说,页面a2与a1的相似程度就要比a3和a4要大。

那么这里就有玄机了,如果页面a1是电商公司B的主页,页面a2、a3、a4与a1的距离在所有页面里面是最小的,其他都比这三个距离要大,那么就可以认为同一个用户u浏览a1的同时,浏览a2、a3、a4的概率也比较大,那么反过来,一个用户经常浏览a2、a3、a4,那么浏览a1的概率是不是也比较大呢?从实验看来可以这么认为的。同时还可以得到一个推论,就是用户可能会喜欢a1这个页面对应的广告主的广告。

这个在实验中实际上也出现过的。这里模拟一个例子吧,如a1是匹克体育用品公司在媒体公司A上的官网,a2是湖人队比赛数据页,a3是热火队的灌水讨论区,a4是小牛队的球员讨论区。这个结果看起来是相当激动人心的。

根据这样的一个结果,就可以在广告主下单的那个页面上增加一个条件——经常浏览的相似页面推荐,功能就是——在广告主过来选条件的时候,可以选择那些经常浏览跟自己主页相似的页面的用户。举个例子就是,当匹克体育用品公司来下单的时候,页面上给它推荐了几个经常浏览页面的粉丝:湖人队比赛数据页,热火队的灌水讨论区,小牛队的球员讨论区。意思是说,目标人群中包括了经常浏览这三个页面的人。

这个功能上线后是获得过很多广告主的好评的。

这样word2vec这个算法在这里就有了第一种用途。

referer:http://itindex.net/detail/50749-%E5%AD%A6%E4%B9%A0-word2vec-%E7%AC%94%E8%AE%B0

以上的逻辑简单说是这样的,如果用户平均访问深度为5个商品,A、B两个用户经常访问a、b、c这三个商品,则可以判定这两个用户喜好是一样的,所以可以给A用户推荐B经常浏览的另外两个商品,反之一样。

于是联想到可以把这几万个职位词在搜索结果页前50名的url对应的主域拿出来,如果两个职位50个主域重合度特别高,则可以认为这两个职位是相关的。然后就乎开始爬百度了,结果同样整理成word2vec需要的格式,然后分析:

WORD1    url1    url2    ….   url50

WORD2    url1    url2    ….   url50

…..

WORD50000 url1 url2 …. url50

无奈所有职位重合度都很高,因为经常出现的总是那么几个网站,分不出来。。。于是打算用文本语料来试下,word2vec分析的效果,取决于语料质量。质量主要是语料选取的范围、量级和粒度。

比如好搜query为“注册会计师”的搜索结果页右侧,通过word2vec是可以找出这种关系的,但我只需要职称、职业这两个div对应的内容,其他证书、考试啥的虽然与注册会计师有关,但不是我所要的。所以如果语料选的很宽泛,会跑出来很多不需要的关联词,同时如果语料范围定的合理但量级很小,那相关职位会找的不全。综上考虑,把几万个职位词丢到百度商情,循环跑上十几轮,用跑出来的词做分析,500w。。。

安装google word2vec解析器

svn checkout http://word2vec.googlecode.com/svn/trunk/
cd trunk
make

出现报错:找不到malloc.h

将word2vec几个文件中的 “#include <malloc.h>”替换成“#include <stdlib.h>”之后,再重新执行make

运行成功!

将从商情跑出来的词进行分词并删除停止词,每个词之间用空格隔开,保存为一个文件,这里的文件名为:shiyan,然后执行:./word2vec -train shiyan -output vectors.bin -cbow 0 -size 200 -window 10 -negative 0 -hs 1 -sample 1e-3 -threads 8 -binary 1

trunk  ./word2vec -train shiyan -output vectors.bin -cbow 0 -size 200 -window 10 -negative 0 -hs 1 -sample 1e-3 -threads 8 -binary 1
Starting training using file shiyan
Vocab size: 52346
Words in train file: 12107001
Alpha: 0.000005  Progress: 100.00%  Words/thread/sec: 80.91k  %

分词训练参数:

-train:输入文件

-output:输出的词向量(或聚类)

-cbow 0:0表示使用skip-gram模型(慢,对罕见词有利),1表示使用continuous bag-of-words模型(速度快)。

-size 200:每个单词的向量维度是200

-window 10:窗口大小,skip-gram通常在10附近,cbow通常在5附近。

-negative 0:采样使用hierarchical softmax方法(负采样,对常见词有利),不使用negative sampling方法(对罕见词有利)。

-sample 1e-3:采样阈值,如果一个词语在训练样本中出现的频率越大,那么就越会被采样。

-binary 1:1表示模型存储为二进制,0表示模型存储为文本。

还有其他一些默认参数:

-alpha:学习速率,默认为0.025

-min-count:最低频率,默认是5,如果一个词语在文档中出现的次数小于5,那么就会丢弃。

-classes 5:输出单词聚类(聚类个数为5),此时将不再输出词向量。

加载和测试这个模型:

trunk ./distance vectors.bin

Enter word or sentence (EXIT to break): seo
 
Word: seo  Position in vocabulary: 681
 
                                              Word       Cosine distance
------------------------------------------------------------------------
                                         seo优化      0.719739
                                搜索引擎优化      0.657688
                                            优化      0.638677
                                         关键词        0.607671
                                         网站seo      0.595945
                                               sem      0.585403
                                         seo推广      0.582900
                                         关键字        0.572032
                                   seo搜索引擎      0.555099
                                         seo技术      0.552127
                                      搜索引擎      0.537766
                                         外贸seo      0.537455
                                      网站推广      0.536381
                                      网店推广      0.527872
                                      网站优化      0.524872
                                   seo网站推广      0.516956
                                            外链      0.515978
                                            搜索      0.507645
                                      淘宝推广      0.502895
                                   网站seo优化      0.498923
                                      网络营销      0.498747
                                            推广      0.497343
                                            整站      0.497005
                                            竞价      0.489886
                                            内链      0.488461
                                      网盟推广      0.487965
                                      网站站长      0.487357
                                      竞价推广      0.483573
                                      优化推广      0.482869
                                            收录      0.477189
                                            旺道      0.476077
                                            站外      0.471112
                                      网站营销      0.467853
                                            黑帽      0.460517
                                            王通      0.460462
                                         淘宝客        0.451625
                                            靠前      0.445665
                                            站长      0.439734
                                         外贸b2c      0.436770
                                      淘宝美工      0.435778
 
Enter word or sentence (EXIT to break): 软件开发
 
Word: 软件开发  Position in vocabulary: 592
 
                                              Word       Cosine distance
------------------------------------------------------------------------
                                手机软件开发      0.686619
                                      开发软件      0.613448
                                      软件编程      0.602904
                                网站前端开发      0.594718
                                   ios软件开发      0.594441
                                  java软件开发      0.587273
                                          ui设计      0.580842
                                         ios开发      0.577102
                                      前端开发      0.576923
                               android软件开发      0.576495
                                            开发      0.575300
                                   ios应用开发      0.573682
                                应用软件开发      0.572448
                                      软件测试      0.571539
                                      手机开发      0.570288
                                安卓软件开发      0.555979
                                               ios      0.548380
                                         php开发      0.543266
                                    软件ui设计      0.540917
                                         web前端      0.539397
                                手机应用开发      0.536349
                                         app开发      0.532582
                                手机软件测试      0.523931
                                      软件技术      0.523016
                                      软件设计      0.522313
                                移动应用开发      0.521805
                                  .net软件开发      0.519345
                                iphone软件开发      0.515472
                                   客户端开发        0.513703
                                网页前端开发      0.511749
                                手机游戏开发      0.507798
                                         erp开发      0.504769
                                   嵌入式软件        0.502161
                                app开发工程师        0.498728
                                   软件开发师        0.498368
                                          c#开发      0.493418
                                      网页前端      0.492120
                                 html5前端开发      0.488186
                                ios软件工程师        0.486978
                                      网站前端      0.485179
 
Enter word or sentence (EXIT to break): 设计师
 
Word: 设计师  Position in vocabulary: 383
 
                                              Word       Cosine distance
------------------------------------------------------------------------
                                      设计美工      0.542570
                                            平面      0.516078
                                      设计学徒      0.500554
                                              ceac      0.483488
                                      设计团队      0.478844
                                   家具设计师        0.459778
                                   软装设计师        0.458273
                                   设计师实习        0.457935
                                   手绘设计师        0.453170
                                              acaa      0.444251
                                   装饰设计师        0.441549
                                       ui设计师        0.438041
                                施工图设计师      0.438001
                                   家装设计师        0.433551
                                            美工      0.433171
                                      平面设计      0.429313
                                   网络设计师        0.427992
                                   珠宝设计师        0.426903
                                             adobe      0.426485
                                   设计实习生        0.423995
                                   女装设计师        0.419589
                                            主创      0.417825
                                      电脑设计      0.411264
                                   照明设计师        0.405545
                                         插画师        0.404566
                                   数码设计师        0.401514
                                               绘        0.400261
                                   灯光设计师        0.398222
                                         化妆师        0.398177
                                   设计师主管        0.398145
                                    it项目经理      0.397077
                                         纸样师        0.396515
                                         近现代        0.393856
                                   插画设计师        0.388611
                                      概念设计      0.387966
                                   商业摄影师        0.387836
                                      制作学徒      0.387594
                                      室内设计      0.387581
                                         设计类        0.387304
                                  android程序员        0.385852
 
Enter word or sentence (EXIT to break): 平面设计
 
Word: 平面设计  Position in vocabulary: 446
 
                                              Word       Cosine distance
------------------------------------------------------------------------
                                      广告设计      0.684518
                                      淘宝美工      0.667863
                                      服装设计      0.657802
                                            美工      0.641394
                                影视后期制作      0.640994
                                电脑平面设计      0.630919
                                平面广告设计      0.621206
                                      动漫设计      0.599133
                                      影视后期      0.594395
                                      动漫制作      0.571649
                                      室内设计      0.570330
                                淘宝美工设计      0.558992
                                      网店美工      0.553565
                                      珠宝设计      0.548055
                                网页美工设计      0.546348
                                      游戏特效      0.545785
                                      服装打版      0.544812
                                      动画设计      0.539909
                                      服装制版      0.539548
                                网页前端设计      0.526358
                                      电脑文秘      0.525707
                                          ui设计      0.525259
                                      美工设计      0.521181
                                      设计美工      0.520906
                                      服装打板      0.510823
                                影楼后期制作      0.508018
                                      服装制板      0.505013
                                          3d设计      0.504442
                                      鞋类设计      0.500875
                                    手机ui设计      0.499561
                                   室内外设计        0.493166
                                         seo技术      0.491319
                                      游戏设计      0.488357
                                   游戏特效师        0.485421
                                            美甲      0.483693
                                室内设计专业      0.483351
                                室内装修设计      0.480742
                                影视后期剪辑      0.480355
                                室内装潢设计      0.475572
                                      影视动画      0.474696
 
Enter word or sentence (EXIT to break): 摄影师
 
Word: 摄影师  Position in vocabulary: 1218
 
                                              Word       Cosine distance
------------------------------------------------------------------------
                                   婚纱摄影师        0.667226
                                         化妆师        0.665565
                                   时尚摄影师        0.622016
                                   商业摄影师        0.605789
                                            摄影      0.597364
                                   家具设计师        0.579942
                                   珠宝设计师        0.543122
                                      动画导演      0.535288
                                         插画师        0.535001
                                         化装师        0.533826
                                   婚礼策划师        0.513327
                                   化妆造型师        0.509725
                                         造型师        0.500360
                                   儿童摄影师        0.498681
                                         美容师        0.489576
                                   音乐制作人        0.487725
                                         发型师        0.487454
                                   女装设计师        0.486705
                                      瑜伽老师      0.478010
                                         美发师        0.475100
                                   插画设计师        0.468988
                                      平面模特      0.468060
                                         摄像师        0.466966
                                   环艺设计师        0.465835
                                   形象设计师        0.465747
                                私人健身教练      0.459519
                                               拍        0.458284
                                   淘宝摄影师        0.456123
                                   家装设计师        0.453661
                                            习俗      0.453126
                                         摄影网        0.452991
                                   时装设计师        0.452957
                                      摄影记者      0.451351
                                   家居设计师        0.451215
                                   软装设计师        0.447289
                                      瑜伽教练      0.447075
                                   服饰设计师        0.446279
                                            拍摄      0.438833
                                         摄影家        0.438829
                                            民歌      0.436176
 
Enter word or sentence (EXIT to break): 前端
 
Word: 前端  Position in vocabulary: 4791
 
                                              Word       Cosine distance
------------------------------------------------------------------------
                                      前端设计      0.543078
                                            硬件      0.510818
                                  java前端开发      0.501528
                                      网络测试      0.498747
                                      网页前端      0.481514
                                   嵌入式软件        0.477922
                                  .net软件开发      0.477773
                                            数通      0.472506
                                            后端      0.462648
                                      软件开发      0.459761
                                           powerpc      0.457401
                                            基带      0.456266
                                         web前端      0.452662
                                               ios      0.449036
                                            zigbee      0.447387
                                      网络开发      0.445944
                                      无线通讯      0.445250
                                            软调      0.440820
                                            前段      0.439289
                                            运维      0.438803
                                            网优      0.438579
                                      软件售前      0.438544
                                      网站前端      0.437701
                                          c#开发      0.436066
                                移动前端开发      0.429779
                                      网络协议      0.427880
                                               uhf      0.424018
                                      网站测试      0.423567
                                      软件设计      0.421407
                                   服务端开发        0.421256
                                      开发软件      0.420388
                                   架构工程师        0.419086
                                         覆盖率        0.418275
                                               ate      0.411748
                                         嵌入式        0.409611
                                         ios开发      0.408829
                                                ui      0.408764
                                   服务器开发        0.408281
                                应用软件开发      0.404719
                                网页前端开发      0.403501
 
Enter word or sentence (EXIT to break): 销售
 
Word: 销售  Position in vocabulary: 27
 
                                              Word       Cosine distance
------------------------------------------------------------------------
                                      窗帘销售      0.653045
                                      网店销售      0.641096
                                      商铺销售      0.627334
                                   专卖店销售        0.617265
                                      石材销售      0.604186
                                      瓷砖销售      0.589053
                                      壁纸销售      0.588842
                                      终端销售      0.588391
                                      轴承销售      0.586787
                                      电子销售      0.580002
                                         销售员        0.577832
                                      烟酒销售      0.577183
                                      礼品销售      0.570141
                                      店面销售      0.568592
                                      服装销售      0.567019
                                      木门销售      0.563036
                                      木材销售      0.560146
                                      行业销售      0.558169
                                      客车销售      0.557084
                                      茶叶销售      0.553065
                                      酒水销售      0.551092
                                      家装销售      0.546795
                                      影楼销售      0.546254
                                      白酒销售      0.545667
                                      灯饰销售      0.543876
                                网络电话销售      0.541846
                                      童装销售      0.538494
                                      商品销售      0.538148
                                      家电销售      0.535868
                                   保健品销售        0.534349
                                电子产品销售      0.533232
                                      美容销售      0.532570
                                房产电话销售      0.528413
                                            营销      0.523461
                                      产品销售      0.521886
                                      阀门销售      0.521680
                                      业务销售      0.517095
                                汽车电话销售      0.516339
                                   化妆品销售        0.515881
                                      网站销售      0.513903
 
Enter word or sentence (EXIT to break): 人事行政
 
Word: 人事行政  Position in vocabulary: 6302
 
                                              Word       Cosine distance
------------------------------------------------------------------------
                                            人资      0.541588
                                      酒店审计      0.514241
                                人力资源主任      0.513246
                                   行政人事部        0.511530
                                物业管理客服      0.506943
                                      后勤文员      0.504574
                                   市场营销部        0.504412
                                   品质技术员        0.504403
                                呼叫中心质检      0.499803
                                          it文员      0.499135
                                      财务秘书      0.496873
                                      文控文员      0.496536
                                      劳资专员      0.491849
                                   化妆品客服        0.490731
                                   人事行政部        0.490545
                                      行政岗位      0.482668
                                行政人事总监      0.480326
                                      仓管主管      0.477785
                                      出纳人员      0.476226
                                行政人事文员      0.473426
                                酒店销售经理      0.473005
                                      总账会计      0.472737
                                   市场销售部        0.472287
                                      物业文员      0.470851
                                       qe工程师        0.470445
                                      部门文员      0.470165
                                      内衣跟单      0.468921
                                      酒店质检      0.468573
                                         ktv经理      0.467774
                                物业公司经理      0.466842
                                      工厂会计      0.466649
                                   酒店接待员        0.464138
                                物业客服人员      0.463045
                                      商场财务      0.462976
                                   酒店采购员        0.461506
                                      服装企划      0.459963
                                汽车销售总监      0.458433
                                      技术文员      0.457545
                                   招商部经理        0.457445
                                      商场客服      0.456199
 
Enter word or sentence (EXIT to break): java
 
Word: java  Position in vocabulary: 88
 
                                              Word       Cosine distance
------------------------------------------------------------------------
                                               php      0.758849
                                                c#      0.722526
                                               jsp      0.688918
                                              j2ee      0.684869
                                               asp      0.643252
                                        javascript      0.641425
                                               c++      0.635134
                                               net      0.630710
                                            python      0.629371
                                            delphi      0.608799
                                              flex      0.600048
                                               web      0.584956
                                         多线程        0.581113
                                           javaweb      0.578110
                                            javaee      0.568087
                                           android      0.568071
                                               ios      0.563578
                                                vc      0.558348
                                            linuxc      0.555954
                                                 c      0.554644
                                            aspnet      0.549799
                                           struts2      0.546701
                                              ajax      0.545580
                                               mvc      0.541996
                                              axis      0.540643
                                                vb      0.537916
                                             linux      0.536819
                                     android开发      0.536751
                                             html5      0.531652
                                            hadoop      0.530698
                                               cxf      0.530626
                                         hibernate      0.528411
                                              html      0.526316
                                             java2      0.525255
                                             extjs      0.523899
                                              ruby      0.523172
                                         php开发      0.522322
                                         web前端      0.517817
                                         嵌入式        0.513669
                                          c#开发      0.513444

随便敲几个词,结果靠谱,但是结果貌似无法导出来。好在python有实现word2vec功能的库:gensim,在python自然语言处理常用的库,依赖于NumPy和SciPy,内嵌word2vec,于是安装gensim

执行:sudo pip install gensim

安装成功后,配置python下word2vec训练模型:

#coding:utf-8
 
import logging
import os.path
import sys
import multiprocessing
 
from gensim.models import Word2Vec
from gensim.models.word2vec import LineSentence
 
if __name__ == '__main__':
    program = os.path.basename(sys.argv[0])
    logger = logging.getLogger(program)
 
    logging.basicConfig(format='%(asctime)s: %(levelname)s: %(message)s')
    logging.root.setLevel(level=logging.INFO)
    logger.info("running %s" % ' '.join(sys.argv))
 
    # check and process input arguments
    if len(sys.argv) < 4:
        print globals()['__doc__'] % locals()
        sys.exit(1)
 
    inp, outp1, outp2 = sys.argv[1:4]
 
    model = Word2Vec(LineSentence(inp),size=200, window=10, min_count=5,workers=multiprocessing.cpu_count())
 
    # trim unneeded model memory = use(much) less RAM
    #model.init_sims(replace=True)
    model.save(outp1)
    model.save_word2vec_format(outp2, binary=False)

执行:python dp.py shiyan.txt shiyan.txt.model shiyan.txt.vector

➜  dp  python dp.py shiyan shiyan.model shiyan.vector
2015-08-09 01:12:23,883: INFO: running dp.py shiyan shiyan.model shiyan.vector
2015-08-09 01:12:23,888: INFO: collecting all words and their counts
2015-08-09 01:12:23,889: INFO: PROGRESS: at sentence #0, processed 0 words, keeping 0 word types
2015-08-09 01:12:23,948: INFO: PROGRESS: at sentence #10000, processed 29137 words, keeping 4567 word types
2015-08-09 01:12:24,009: INFO: PROGRESS: at sentence #20000, processed 58144 words, keeping 7218 word types
...
2015-08-09 01:12:42,947: INFO: PROGRESS: at sentence #2820000, processed 9432488 words, keeping 185672 word types
2015-08-09 01:12:43,013: INFO: PROGRESS: at sentence #2830000, processed 9468107 words, keeping 186243 word types
2015-08-09 01:12:43,037: INFO: collected 186343 word types from a corpus of 9480079 raw words and 2833228 sentences
2015-08-09 01:12:43,293: INFO: min_count=5 retains 52345 unique words (drops 133998)
2015-08-09 01:12:43,293: INFO: min_count leaves 9273773 word corpus (97% of original 9480079)
2015-08-09 01:12:43,434: INFO: deleting the raw counts dictionary of 186343 items
2015-08-09 01:12:43,461: INFO: sample=0 downsamples 0 most-common words
2015-08-09 01:12:43,461: INFO: downsampling leaves estimated 9273773 word corpus (100.0% of prior 9273773)
2015-08-09 01:12:43,462: INFO: estimated required memory for 52345 words and 400 dimensions: 204145500 bytes
2015-08-09 01:12:43,463: INFO: constructing a huffman tree from 52345 words
2015-08-09 01:12:45,750: INFO: built huffman tree with maximum node depth 21
2015-08-09 01:12:45,780: INFO: resetting layer weights
2015-08-09 01:12:46,985: INFO: training model with 4 workers on 52345 vocabulary and 400 features, using sg=1 hs=1 sample=0 and negative=0
2015-08-09 01:12:46,985: INFO: expecting 2833228 examples, matching count from corpus used for vocabulary survey
2015-08-09 01:12:47,986: INFO: PROGRESS: at 0.74% examples, 60270 words/s
2015-08-09 01:12:48,986: INFO: PROGRESS: at 1.33% examples, 52628 words/s
2015-08-09 01:12:49,993: INFO: PROGRESS: at 2.00% examples, 52100 words/s
......
2015-08-09 01:15:06,579: INFO: PROGRESS: at 98.70% examples, 65500 words/s
2015-08-09 01:15:07,583: INFO: PROGRESS: at 99.40% examples, 65545 words/s
2015-08-09 01:15:08,294: INFO: reached end of input; waiting to finish 12 outstanding jobs
2015-08-09 01:15:08,329: INFO: training on 9480079 raw words took 141.3s, 65611 trained words/s
2015-08-09 01:15:08,329: INFO: saving Word2Vec object under shiyan.model, separately None
2015-08-09 01:15:08,330: INFO: not storing attribute syn0norm
2015-08-09 01:15:08,330: INFO: not storing attribute cum_table
2015-08-09 01:15:08,330: INFO: storing numpy array 'syn0' to shiyan.model.syn0.npy
2015-08-09 01:15:08,536: INFO: storing numpy array 'syn1' to shiyan.model.syn1.npy
2015-08-09 01:15:10,605: INFO: storing 52345x400 projection weights into shiyan.vector

通过gensim来加载和测试这个模型

#coding:utf-8
 
import gensim,sys
 
query = sys.argv[1]
model = gensim.models.Word2Vec.load_word2vec_format("shiyan.vector", binary=False)
for line in  model.most_similar(query.decode('utf8'),topn=40):
    print line[0],line[1]

执行:python xiangsi.py 软件开发

➜  dp  python xiangsi.py 软件开发
软件测试 0.644203305244
软件编程 0.641749203205
ios软件开发 0.590277433395
安卓软件开发 0.58010995388
ui设计 0.577515244484
android软件开发 0.571004211903
前端开发 0.569640994072
ios开发 0.568329393864
ios 0.5585090518
开发软件 0.554177343845
手机软件开发 0.554124116898
iphone开发 0.551974534988
php开发 0.548898220062
ios应用开发 0.543795704842
软件技术 0.543053269386
前端 0.538294553757
手机软件测试 0.535252809525
ios软件工程师 0.535138607025
seo技术 0.534423351288
游戏软件 0.533400118351
app工程师 0.532044112682
java软件开发 0.531271100044
游戏设计 0.531262934208
美工设计 0.526203334332
动漫设计 0.525193333626
php网站制作 0.523901283741
app开发工程师 0.523256838322
嵌入式软件 0.522759318352
c#开发 0.520873367786
游戏特效 0.508026242256
网页美工设计 0.503576040268
动漫制作 0.502809166908
网络工程 0.502703726292
计算机软件 0.500763297081
iphone软件开发 0.500563025475
java 0.500288248062
手机游戏开发 0.498192459345
erp开发 0.493500709534
影楼后期制作 0.487614810467
web前端 0.485604643822
应用软件开发 0.485008656979
网络管理 0.484756171703
移动前端开发 0.484711945057
策划人员 0.48280531168
硬件 0.482684314251
美工设计师 0.48266467452
动漫设计师 0.481665492058
网络营销 0.481587409973
网页前端开发 0.481107622385
软件技术支持 0.480998277664
it 0.480265170336
手机开发 0.479971259832
javaweb开发 0.478168129921
安卓 0.477316766977
建网站 0.475247681141
计算机硬件 0.474990665913
android游戏开发 0.474090397358
网页游戏开发 0.473975598812
程序开发 0.472855627537
安卓手机开发 0.472422420979
软件界面设计 0.472275555134
javaee 0.470984250307
开发 0.470956414938
平面广告设计 0.470800548792
影视后期 0.470746666193
电脑平面设计 0.470167994499
软件设计 0.466253072023
android开发人员 0.46543353796
影视后期制作 0.463842242956
c语言程序员 0.463717520237
.net软件开发 0.460093021393
编程语言 0.458144903183
php软件开发 0.457925081253
电脑软件 0.4575317204
3d美工 0.455626904964
ui工程师 0.455027461052
phpadmin 0.454506158829
ipd 0.454408198595
app开发 0.454272389412
三维动画 0.454136043787
三维动画设计 0.453771173954
编程工程师 0.453233599663
ui 0.452533066273
计算机行业 0.452187091112
嵌入式 0.452162027359
网站前端开发 0.451245456934
电子市场 0.449694275856
flash动画设计 0.4491943717
html工程师 0.447791397572
软件ui设计 0.447774231434
二维动画制作 0.446723341942
淘宝运营 0.443565249443
网站前端 0.44346344471
软件销售 0.443296849728
安卓程序员 0.442745238543
电商运营 0.442650645971
php网站开发 0.441696703434
底层 0.441174566746
unity3d开发 0.441150724888
计算机编程 0.440518915653

之后可以根据表中的职位词和跑出的相关词组成一行字符串,加上id,不同职位交叉计算相关词的重合度,如果>50%都算是相同职类的。

总的来讲word2vec对于SEO的使用成本挺高的,需要不断修改很多东西,如分词的词典、word2vec参数设置、大量语料的抓取等,但过了这个坎,还是可以结合SEO做很多东西。

参考资料:

http://www.cnblogs.com/hebin/p/3507609.html

http://radimrehurek.com/gensim/models/word2vec.html

http://www.52nlp.cn/%E4%B8%AD%E8%8B%B1%E6%96%87%E7%BB%B4%E5%9F%BA%E7%99%BE%E7%A7%91%E8%AF%AD%E6%96%99%E4%B8%8A%E7%9A%84word2vec%E5%AE%9E%E9%AA%8C

(本文来源于SEO方法博客:www.seofangfa.com)

 

GoGo闯个人介绍:

流量贩子,91年4月生。做过SEO,搞过站群,熟悉python、linux、mysql、mongodb等。好运动,一礼拜不骑行、跑步、举铁就浑身难受。果粉、黑色脑残粉。希望 ‘成为一个有趣的人,拥有保持独立人格和独立思考能力’。好折腾,连续写一天代码不头疼,连续学一年新语言不怵头。好户外,已骑行川藏线、滇藏线、环津京翼。

个人博客:http://www.kaopuseo.com/ (探讨SEO、黑帽、黑色产业、互联网流量引入、流量转化与变现的观点、想法及技巧)。微信公众号:流量贩子。

西安SEO总结

(1)这个我还没研究,要学习。

 

 

滚动至顶部