文本分析

戏子无情 提交于 2020-03-03 04:51:51

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()

运行结果如下:
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!