python gensim的第一次试用

时间:2022-10-20 16:23:44

参考于

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('\t', '').replace('\n', '').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"-----\n"
23
24 y2 = model.most_similar(u"屋顶", topn=20) # 20个最相关的
25 print u"和【屋顶】最相关的词有:\n"
26 for item in y2:
27 print item[0], item[1]
28 print"-----\n"
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"----\n"
36
37 # 寻找不合群的词
38 y4 =model.doesnt_match(u"屋顶 建成 形状 酒店".split())
39 print u"不合群的词:", y4
40 print"-----\n"

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

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