Python 生成中文词云
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 生成中文词云相关的知识,希望对你有一定的参考价值。
豆子无意中发现Python有个现成的模块 word cloud可以根据文本文件生成词云,很好很强大,简单地玩了一把。
写代码之前,首先需要安装3个依赖的Python模块,分别是matplotlib, jieba和wordcloud。这三个模块分别是用来作图,中文分词和生成词云的。安装方式可以直接通过 pip install实现。如果在线安装出现报错(很有可能的事情),那么可以去https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载对应版本和位数的whl文件,然后依然可以通过pip install 来指定下载的文件安装。
下面来看个简单的实例:
首先给我的词云下载一个背景图,到时候生成的图案甚至颜色就是和这个一样的,我随便下载了个小熊的图片
然后随便从新浪网上下载了一条新闻,保存为txt文件
×××:深刻认识建设现代化经济体系重要性
新华社北京1月31日电中共中央政治局1月30日下午就建设现代化经济体系进行第三次集体学习。中共中央总书记×××在主持学习时强调,建设现代化经济体系是一篇大文章,既是一个重大理论命题,更是一个重大实践课题,需要从理论和实践的结合上进行深入探讨。建设现代化经济体系是我国发展的战略目标,也是转变经济发展方式、优化经济结构、转换经济增长动力的迫切要求。全党一定要深刻认识建设现代化经济体系的重要性和艰巨性,科学把握建设现代化经济体系的目标和重点,推动我国经济发展焕发新活力、迈上新台阶。
这次中央政治局集体学习,由中央政治局同志自学并交流体会,刘鹤、孙春兰、李希、李强、李鸿忠、陈全国、陈敏尔、×××、蔡奇就这个问题作了重点发言,中央政治局各位同志听取了他们的发言,并就有关问题进行了讨论。
×××在主持学习时发表了讲话。他指出,建设现代化经济体系,这是党中央从党和国家事业全局出发,着眼于实现“两个一百年”奋斗目标、顺应中国特色社会主义进入新时代的新要求作出的重大决策部署。国家强,经济体系必须强。只有形成现代化经济体系,才能更好顺应现代化发展潮流和赢得国际竞争主动,也才能为其他领域现代化提供有力支撑。我们要按照建设社会主义现代化强国的要求,加快建设现代化经济体系,确保社会主义现代化强国目标如期实现。
×××强调,现代化经济体系,是由社会经济活动各个环节、各个层面、各个领域的相互关系和内在联系构成的一个有机整体。要建设创新引领、协同发展的产业体系,实现实体经济、科技创新、现代金融、人力资源协同发展,使科技创新在实体经济发展中的贡献份额不断提高,现代金融服务实体经济的能力不断增强,人力资源支撑实体经济发展的作用不断优化。要建设统一开放、竞争有序的市场体系,实现市场准入畅通、市场开放有序、市场竞争充分、市场秩序规范,加快形成企业自主经营公平竞争、消费者自由选择自主消费、商品和要素自由流动平等交换的现代市场体系。要建设体现效率、促进公平的收入分配体系,实现收入分配合理、社会公平正义、全体人民共同富裕,推进基本公共服务均等化,逐步缩小收入分配差距。要建设彰显优势、协调联动的城乡区域发展体系,实现区域良性互动、城乡融合发展、陆海统筹整体优化,培育和发挥区域比较优势,加强区域优势互补,塑造区域协调发展新格局。要建设资源节约、环境友好的绿色发展体系,实现绿色循环低碳发展、人与自然和谐共生,牢固树立和践行绿水青山就是金山银山理念,形成人与自然和谐发展现代化建设新格局。要建设多元平衡、安全高效的全面开放体系,发展更高层次开放型经济,推动开放朝着优化结构、拓展深度、提高效益方向转变。要建设充分发挥市场作用、更好发挥政府作用的经济体制,实现市场机制有效、微观主体有活力、宏观调控有度。以上几个体系是统一整体,要一体建设、一体推进。我们建设的现代化经济体系,要借鉴发达国家有益做法,更要符合中国国情、具有中国特色。
×××指出,建设现代化经济体系,需要扎实管用的政策举措和行动。要突出抓好以下几方面工作。一是要大力发展实体经济,筑牢现代化经济体系的坚实基础。实体经济是一国经济的立身之本,是财富创造的根本源泉,是国家强盛的重要支柱。要深化供给侧结构性改革,加快发展先进制造业,推动互联网、大数据、人工智能同实体经济深度融合,推动资源要素向实体经济集聚、政策措施向实体经济倾斜、工作力量向实体经济加强,营造脚踏实地、勤劳创业、实业致富的发展环境和社会氛围。二是要加快实施创新驱动发展战略,强化现代化经济体系的战略支撑,加强国家创新体系建设,强化战略科技力量,推动科技创新和经济社会发展深度融合,塑造更多依靠创新驱动、更多发挥先发优势的引领型发展。三是要积极推动城乡区域协调发展,优化现代化经济体系的空间布局,实施好区域协调发展战略,推动京津冀协同发展和长江经济带发展,同时协调推进粤港澳大湾区发展。乡村振兴是一盘大棋,要把这盘大棋走好。四是要着力发展开放型经济,提高现代化经济体系的国际竞争力,更好利用全球资源和市场,继续积极推进“一带一路”框架下的国际交流合作。五是要深化经济体制改革,完善现代化经济体系的制度保障,加快完善社会主义市场经济体制,坚决破除各方面体制机制弊端,激发全社会创新创业活力。(完)
责任编辑:张建利
Python 代码
from os import path
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
d = path.dirname(__file__)
# Read the whole text.
text = open(path.join(d, ‘xidada.txt‘),encoding=‘utf-8‘).read()
import jieba
# 结巴分词
wordlist = jieba.cut(text, cut_all=True)
wl = " ".join(wordlist)
print(wl)#输出分词之后的txt
coloring = np.array(Image.open(path.join(d, "bear.jpg")))
# 设置停用词
# stopwords = set(STOPWORDS)
# stopwords.add("said")
# 你可以通过 mask 参数 来设置词云形状
wc = WordCloud(background_color="white", max_words=2000, mask=coloring,
max_font_size=50, random_state=42,font_path=‘fangsong_GB2312.ttf‘)
wc.generate(wl)
# create coloring from image
image_colors = ImageColorGenerator(coloring)
# show
# 在只设置mask的情况下,你将会得到一个拥有图片形状的词云
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
plt.figure()
plt.show()
效果图
以上是关于Python 生成中文词云的主要内容,如果未能解决你的问题,请参考以下文章