参考于
http://blog.csdn.net/xiaoquantouer/article/details/53583980
有一个地方很重要,一定要安装anaconda,安装库简直不要太方便。
先进行python jieba库进行中文分词:
#encoding=utf-8
import jieba
import jieba.posseg as pseg
import re
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
filename='D:/hellowxc/python/1.txt'
fileneedCut='D:/hellowxc/python/test.txt'
fn=open(fileneedCut,"r")
f=open(filename,"w+")
lines =fn.readlines() # 读取全部内容
for line in lines:
line.replace('\t', '').replace('\n', '').replace(' ','')
seg_list = jieba.cut(line, cut_all=False)
f.write(" ".join(seg_list))
f.close()
fn.close()
然后gensim和word2vec进行简单的训练建模
# -*- coding: utf-8 -*- """
功能:测试gensim使用,处理中文语料
时间:2017年5月16日17:10:23
""" from gensim.models import word2vec
import logging
# 主程序
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
sentences = word2vec.Text8Corpus(u"D:\\hellowxc\\python\\1.txt") # 加载语料
model = word2vec.Word2Vec(sentences, size=200)
#
print model
# 计算两个词的相似度/相关程度
try:
y1 = model.similarity(u"屋顶", u"建成")
except KeyError:
y1 = 0
print u"【屋顶】和【建成】的相似度为:", y1
print"-----\n" y2 = model.most_similar(u"屋顶", topn=20) # 20个最相关的
print u"和【屋顶】最相关的词有:\n"
for item in y2:
print item[0], item[1]
print"-----\n" # 寻找对应关系
print u"屋顶-建成,形状-"
y3 =model.most_similar([u'建成', u'形状'], [u'屋顶'], topn=3)
for item in y3:
print item[0], item[1]
print"----\n" # 寻找不合群的词
y4 =model.doesnt_match(u"屋顶 建成 形状 酒店".split())
print u"不合群的词:", y4
print"-----\n"
由于我数据特别小,只有6k,纯粹就是试用一下gensim。result没有任何意义。就不贴出来了。
just for test,走一遍大概的流程。