参考于
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,走一遍大概的流程。