ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

jieba分词以及wordcloud词云

2019-05-06 17:44:26  阅读:204  来源: 互联网

标签:jieba sentence wordcloud 词云 import line txt 分词


1.从网上下载一份 天龙八部的txt文档以及一份通用的jieba停用词表

 

2.下载一个背景  图片.jpg

 

3.检查一个字体文件   C:/Windows/Fonts/simsun.ttc

 

# -*- coding:utf-8 -*-
import jieba
import jieba.analyse
from PIL import Image
import  numpy as np
from wordcloud import WordCloud,ImageColorGenerator
import  matplotlib.pyplot as plt
#中文分词,将 天龙八部.txt 文档 除去停用词进行分词,将分词结果导入天龙八部分词.txt
stopwords= [line.strip() for line in open("./停用词表.txt",encoding="utf-8")]
def seg_sentence(sentence):
    sentence_seged = [word for word in jieba.cut(sentence.strip()) if (word not in stopwords and word != '\t') ]
    result = ' '.join(sentence_seged)
    return result
outputs = open("天龙八部分词.txt","w",encoding='utf-8')
for line in open("./天龙八部.txt",'r',encoding='GB18030'):
    line_seg = seg_sentence(line)
    outputs.write(line_seg+'\n')
outputs.close()


#采用TF-IDF算法进行关键词提取,返回关键词及IF-IDF权重
text = open("./天龙八部分词.txt",encoding="utf-8").read()
result = jieba.analyse.extract_tags(text,topK=20,withWeight=True,allowPOS=('nr',))
print (result)

#将结果[('段誉', 0.5881865046044787), ('萧峰', 0.4631424402591722).....]装换为字典做 词云模块的输入
keywords = dict()
for i in result:
    keywords[i[0]]=i[1]
    
#词云背景
image = Image.open('./图片.jpg')
graph = np.array(image)
wc = WordCloud(font_path='C:/Windows/Fonts/simsun.ttc',
               background_color ="White",
               max_words=15,
               mask= graph)
#生成词云
wc.generate_from_frequencies(keywords)
plt.imshow(wc)
image_color = ImageColorGenerator(graph)
plt.axis("off")
plt.show()
wc.to_file('词云.jpg')

 

标签:jieba,sentence,wordcloud,词云,import,line,txt,分词
来源: https://www.cnblogs.com/students/p/10820942.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有