jieba库
jieba是优秀的中文分词第三方库 ,具体使用方法如下
import jieba
test_str=' 新华网东京记者据日本共同社28日报道'
test_str=test_str.strip()
result=jieba.cut(test_str,cut_all=False)
#print(result)打印为可迭代的生成器
print(' '.join(result))
运行结果如下所示:
import jieba
seg_list=jieba.cut("我来到北京清华大学",cut_all=True)
print("全模式:"+"/".join(seg_list))#全模式
seg_list=jieba.cut("我来到北京清华大学",cut_all=False)
print("精确模式:"+"/".join(seg_list))#精确模式
seg_list=jieba.cut("他来到了网易杭研大厦")#默认是精确模式
print("默认模式:"+"/".join(seg_list))
seg_list=jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造")#搜索引擎模式
print("搜索引擎模式:"+"/".join(seg_list))
运行结果如下所示:
关于jieba库,词向量,词云图的综合运用
词向量代码如下:
import jieba
novel=open('西游记.txt','rb')
content=novel.read()
novel_segmented = open('西游记_segmented.txt','w')
cutword = jieba.cut( content , cut_all = False )
seg =' '.join(cutword).replace(',','').replace(':','').replace('\n','')
print(seg,file=novel_segmented)
novel.close()
novel_segmented.close()
from gensim.models import word2vec
#训练word2vec模型,生成词向量
s = word2vec.LineSentence('西游记_segmented.txt')#接收文件
model = word2vec.Word2Vec(s,size=500,window=5,min_count = 5,workers = 4)
model.save ('result.txt')
print(model['孙悟空'])
print('行者与唐僧:',model.similarity('行者','唐僧'))
print('行表与八戒:',model.similarity('行者','八戒'))
print('行者与沙僧:',model.similarity('行者','沙僧'))
print('行者与如来:',model.similarity('行者','如来'))
print('行者与红孩儿:',model.similarity('行者','红孩儿'))
运行结果如下:
词云图代码如下:
import matplotlib.pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator,STOPWORDS
import jieba
import numpy as np
from PIL import Image
#读取要生成词云的文件
text_from_file_with_apath=open('西游记.txt',encoding='gb18030').read()
#通过jieba分词进行分词并通过
dwy=jieba.cut(text_from_file_with_apath,cut_all=True)
wl_space_split=' '.join(dwy)
my_wordcloud=WordCloud(
background_color='white',#设置背景颜色
max_words=200,
#设置最大显示的字数
stopwords=STOPWORDS,#设置停用词
font_path='C:/Windows/Fonts/simsun.ttc'
#设置字体格式,如不设置显示不了中文
).generate(wl_space_split)
#显示图片
plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()
运行结果如下:
来源:CSDN
作者:dwanwan16
链接:https://blog.csdn.net/wanerding/article/details/104611894