first:安装中文分词库, 在命令行中输入
pip3 install jieba
1 2 3 4 5 6
| >>> import jieba >>> textlist=jieba.lcut('动力学和电磁学') ['动力学','和','电磁学'] >>> string = " ".join(textlist) >>> string ‘动力学 和 电磁学’
|
以上代码将一句完整的中文字符串转换成了以空格分隔的词组成的字符串,而后者是绘制词云时generate()方法要求传入的参数。
中文分词库jieba的常用方法
精确模式(最常用,只会这个就行):每个字只用一遍,不存在冗余词汇。jieba.lcut('动力学和电磁学')
全模式:把每个字可能形成的词汇都提取出来,存在冗余。jieba.lcut('动力学和电磁学',cut_all=True)
搜索引擎模式:将全模式分词的结果从短到长排列好。jieba.lcut_for_search('动力学和电磁学')
以下命令演示了三种分词模式及结果,精确模式是最常用的。
1 2 3 4 5 6 7 8 9 10
| >>> import jieba >>> textlist1 = jieba.lcut('动力学和电磁学') >>> textlist1 ['动力学', '和', '电磁学'] >>> textlist2 = jieba.lcut('动力学和电磁学',cut_all=True) >>> textlist2 ['动力', '动力学', '力学', '和', '电磁', '电磁学', '磁学'] >>> textlist3 = jieba.lcut_for_search('动力学和电磁学') >>> textlist3 ['动力', '力学', '动力学', '和', '电磁', '磁学', '电磁学']
|
学校介绍词云
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| import jieba import wordcloud
w=wordcloud.WordCloud(width=1000, height=700, background_color='white', font_path='Songti.ttc')
txt='河南理工大学(Henan Polytechnic University)位于河南省焦作市,是中国第一所矿业高等学府、河南省建立最早的高等学校,为河南省与应急管理部共建高校、河南省属重点大学。' textlist=jieba.lcut(txt) string=" ".join(textlist)
w.generate(string)
w.to_file('example4.png')
|
读取文本
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import jieba import wordcloud
w=wordcloud.WordCloud(width=1000, height=700, background_color='white', font_path='Songti.ttc') f=open('/Users/SJCHEN/Downloads/zihaowordcloud-master/code/关于实施乡村振兴战略的意见.txt',encoding='utf-8') txt=f.read() textlist=jieba.lcut(txt) string=" ".join(textlist)
w.generate(string) w.to_file('example5.png')
|