完整的使用jieba分词后生成词云
Posted 星延
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了完整的使用jieba分词后生成词云相关的知识,希望对你有一定的参考价值。
导入需要的模块
import jieba jieba.setLogLevel(jieba.logging.INFO) # 设置日志等级,使底层日志不要打印出来 import jieba.analyse from wordcloud import WordCloud from wordcloud import ImageColorGenerator import matplotlib.pyplot as plt
使用jieba生成字符串:浮点数的键值对来表示的关键词及频率,这个地方可以根据需要自定义很多参数,具体参考jieba文档
frequencies = {} for word,m in jieba.analyse.textrank(text_file,topK=100,withWeight=True,allowPOS=(\'ns\',\'n\',\'vn\',\'v\',\'nr\',\'nt\',\'nw\',\'nz\',\'PER\',\'LOC\',\'ORG\')): frequencies[word] = m
生成词云
backgroud_Image = plt.imread(pic_file) wc= WordCloud( font_path = font_path, # 字体文件的路径,字符串 width = 1000, # 绘图区宽度,默认400,整型 height = 700, # 绘图区高度,默认200,整型 mask = backgroud_Image, scale = 2, # 计算过程和实际绘图的比例,浮点型,默认1,数值越大图片越清晰 max_words = 200, # 绘图使用的最大单词数,整型,默认200 background_color = None, # 背景颜色,颜色值,默认为\'black\' mode = \'RGBA\', # 模式,默认为\'RGB\',当为\'RGBA\'时,倘若背景颜色为None,则会得到透明的背景 relative_scaling = 0.5, # 单词出现频率对其字体大小的权重,值为0时,只考虑单词排名对字体大小的影响,值为1时,具有2倍出现频率的单词具有2倍的字体大小,一般值设置为0.5最棒,浮点型 ).generate_from_frequencies( frequencies ) image_colors = ImageColorGenerator(backgroud_Image) wc.recolor(color_func=image_colors) # 重新上色 plt.imshow(wc) # 生成图片 plt.axis(\'off\') # 关闭坐标轴 plt.show() # 显示图片 wc.to_file(ciyun_file)
以上是关于完整的使用jieba分词后生成词云的主要内容,如果未能解决你的问题,请参考以下文章