python gensim的第一次试用

参考于

http://blog.csdn.net/xiaoquantouer/article/details/53583980

有一个地方很重要,一定要安装anaconda,安装库简直不要太方便。

先进行python jieba库进行中文分词:

 1 #encoding=utf-8
 2 import jieba
 3 import jieba.posseg as pseg
 4 import re
 5 import sys
 6 reload(sys)
 7 sys.setdefaultencoding( "utf-8" )
 8 filename='D:/hellowxc/python/1.txt'
 9 fileneedCut='D:/hellowxc/python/test.txt'
10 fn=open(fileneedCut,"r")
11 f=open(filename,"w+")
12 lines =fn.readlines()  # 读取全部内容
13 for line in lines:
14     line.replace('	', '').replace('
', '').replace(' ','')
15     seg_list = jieba.cut(line, cut_all=False)
16     f.write(" ".join(seg_list))
17 f.close()
18 fn.close()

然后gensim和word2vec进行简单的训练建模

 1 # -*- coding: utf-8 -*-
 2 
 3 """
 4 功能:测试gensim使用,处理中文语料
 5 时间:2017年5月16日17:10:23
 6 """
 7 
 8 from gensim.models import word2vec
 9 import logging
10 # 主程序
11 logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
12 sentences = word2vec.Text8Corpus(u"D:\hellowxc\python\1.txt")  # 加载语料
13 model = word2vec.Word2Vec(sentences, size=200)
14 #
15 print model
16 # 计算两个词的相似度/相关程度
17 try:
18     y1 = model.similarity(u"屋顶", u"建成")
19 except KeyError:
20     y1 = 0
21 print u"【屋顶】和【建成】的相似度为:", y1
22 print"-----
"
23 
24 y2 = model.most_similar(u"屋顶", topn=20)  # 20个最相关的
25 print u"和【屋顶】最相关的词有:
"
26 for item in y2:
27     print item[0], item[1]
28 print"-----
"
29 
30 # 寻找对应关系
31 print u"屋顶-建成,形状-"
32 y3 =model.most_similar([u'建成', u'形状'], [u'屋顶'], topn=3)
33 for item in y3:
34     print item[0], item[1]
35 print"----
"
36 
37 # 寻找不合群的词
38 y4 =model.doesnt_match(u"屋顶 建成 形状 酒店".split())
39 print u"不合群的词:", y4
40 print"-----
"

由于我数据特别小,只有6k,纯粹就是试用一下gensim。result没有任何意义。就不贴出来了。

just for test,走一遍大概的流程。

原文地址:https://www.cnblogs.com/weedboy/p/6862388.html