Python中文分词_使用介绍(wordcloud+jieba)

词云又叫文字云,是对文本数据中出现频率较高的“关键词”在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思。

安装需要的libs

接下来的代码里会用到如下四个主要的libs,我本地是64位win10,安装过程如下:

安装wordcloud

这里写图片描述

安装numpy

安装numpy,直接pip install numpy安装失败,手工下载需要的版本,手动安装:numpy手工安装lib下载地址
这里写图片描述

安装scipy

安装scipy,直接pip install scipy安装失败,手工下载需要的版本,手动安装:scipy手工安装lib下载地址
这里写图片描述

安装jieba

使用pip install jieba命令安装即可.
这里写图片描述

测试程序:

from os import path
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
from scipy.misc import imread

s1 = """ 北京时间4月8日,骑士主场以100-114不敌老鹰。
  老鹰(41-37)二连胜,仍居东部第五。保罗-米尔萨普缺阵,德怀特-霍华德、肯特-巴泽莫尔和丹尼斯-施劳德也没上场。迈克-邓利维拿下了20分,蒂姆-哈达威22分,厄尔森-伊尔亚索瓦13分7个篮板,克里斯-亨弗里斯12分7个篮板,迈克-穆斯卡拉13分。
  骑士(51-28)四连胜结束,但仍保持东部第一。勒布朗-詹姆斯得了27分、8个篮板和7次助攻,凯里-欧文18分7次助攻, 凯文-勒夫15分,钱宁-弗莱16分。[直播实录]   [技术统计]
  骑士三分球36投仅9中,而老鹰为37投16中。
  骑士众将在关键时刻找到了总冠军的感觉,JR-史密斯最近手感火热,而詹姆斯也再现联盟第一人风采,近四场比赛,两度打出三双。[新浪小炮智能预测NBA][下载APP看篮彩方案]
  骑士保持东部第一的位置,而且有1.5场的优势。只要再胜两场,他们就是东部冠军。
  老鹰排名东部第五,只领先第六的雄鹿半场。他们已经不可能争夺第四,而且季后赛门票还没到手,仍有悬念。
  由于是背靠背比赛,老鹰今天让米尔萨普休息。毕竟他刚复出不久,老鹰不想让他在这种比赛中冒险。
  尽管少了多名大将,老鹰打得非常顽强。
  首节双方都状态欠佳。本节还有4分钟时,詹姆斯在快攻中表演扣篮,骑士以17-12领先,但在本节剩下的时间,骑士只投中一球。老鹰打出一波9-2后,以21-19超出。
  老鹰在第二节率先找到感觉,他们以一波11-2开始本节,一举以32-21取得两位数的优势。本节中段,老鹰连续命中三分后,以40-28保持优势。骑士也逐渐找回手感,科沃尔还以三分,詹姆斯突破上篮,勒夫也远投得手,他们还以一波15-2后,以43-42反超。双方又开始拉锯战,半场结束时,骑士以50-52落后。
  双方都无法控制局面,而且也不稳定,各自打出攻击高潮。第三节中段,勒夫命中三分,詹姆斯投篮得手,骑士以67-58领先了9分。卡尔德隆还以三分,邓利维此后三度远投得手,老鹰外线开火,又将比分超出。三节过后,老鹰以83-78领先。
  哈达威连续投篮命中,穆斯卡拉扣篮得手,老鹰打出一波9-0,在比赛还有4分15秒时以103-89拉开差距。骑士叫了暂停后,也未能发动攻势,而老鹰继续外线开火,将优势扩大到20分,胜负失去悬念。
  最后一节老鹰投中5记三分,得了31分。(吴哥)"""
s2 = """ 北京时间4月8日,骑士在主场以100-114负于第二阵容出战的老鹰。骑士替补控卫德隆-威廉姆斯出场16分钟,8投2中,三分球2投0中,得到4分,外加2个篮板、1次助攻和1次抢断。
  德隆无疑是骑士在本赛季的重要引援。自从本赛季开始以后,骑士队就急需找到一个合格的替补控卫。赛季中期,骑士当家球星詹姆斯更是多次公开敦促骑士队引进替补控卫。
  从理论上来说,德隆的加盟对骑士的一号位是一个重大的升级,毕竟他曾是联盟顶级控卫,即便现在状态大不如前,担任替补控卫应该也足够。
  本赛季,德隆代表骑士打了20场比赛,场均得到6.4分和3.6次助攻,投篮命中率和三分球命中率分别为45.3%和36.1%。这样的表现只能算中规中矩。
  然而德隆最近的状态真心一般,今天这场比赛之前,他已经连续8场比赛得分没有上双,其中有2场得分为0。"""

s3 = """ 北京时间4月6日,尽管缺少了内线防守核心特里斯坦-汤普森,卫冕冠军克利夫兰骑士仍然在勒布朗-詹姆斯的带领下,客场114-91大胜波士顿凯尔特人,赢得了这场东区榜首大战。
  本场比赛创下一项新的历史纪录:23分的分差,成就了骑士有史以来在凯尔特人主场所取得的优势最大的一场胜利。
  此前的纪录创于2010年2月26日,那是詹姆斯离开骑士,去南海滩与好兄弟德维恩-韦德相会前的最后一个赛季。那场球詹姆斯独得36分7个篮板9次助攻,带领球队最终以108-88击败了没有保罗-皮尔斯的凯尔特人。
  眨眼之间,七年过去,物是人非,詹姆斯还是那个詹姆斯,但他身边的队友,以及对面的敌人,都已经完全变成了另外一拨人。"""
d = path.dirname(__file__)
mylist = [s1, s2, s3]
word_list = [" ".join(jieba.cut(sentence)) for sentence in mylist]
new_text = ' '.join(word_list)
imagename = path.join(d, "背景.png")  # 背景图片路径
coloring = imread(imagename)             # 读取背景图片 
fontname=path.join(d, "msyh.ttf")  # 使用的是微软雅黑字体
wordcloud = WordCloud( 
    mask=coloring, 
    font_path=fontname).generate(new_text)
plt.imshow(wordcloud)
plt.axis("off")
plt.show()

运行效果:

分词结果背景图:

这里写图片描述

分词最终结果图:

这里写图片描述

资源下载:

上面提到的所有代码资料下载地址为:代码下载

github上下载地址为:这里写链接内容

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我可以为您讲解如何使用Pythonwordcloudjieba制作中文词云图。 首先,您需要安装以下库:wordcloudjieba 和 matplotlib。您可以使用以下命令进行安装: ``` pip install wordcloud pip install jieba pip install matplotlib ``` 接着,您需要准备一段中文文本。您可以从网络上下载一些中文文章,或者自己写一些中文文本。 然后,您可以使用jieba库将中文文本进行分词。jieba库提供了一个基于前缀词典实现的中文分词器,可以将中文文本分成一个个词语。下面是一个使用jieba库进行中文分词的示例代码: ```python import jieba # 设置停用词文件路径 jieba.analyse.set_stop_words("stopwords.txt") # 读取文本文件 with open("text.txt", "r", encoding="utf-8") as f: text = f.read() # 对文本进行分词 words = jieba.cut(text) # 输出分词结果 print(",".join(words)) ``` 在上面的代码中,我们使用了一个停用词文件来过滤掉一些无意义的词语。您可以自己准备一个停用词文件,也可以使用别人已经准备好的停用词文件。 接下来,您可以使用wordcloud库生成词云图。wordcloud库提供了一个WordCloud类,可以根据词语频率生成词云图。下面是一个使用wordcloud库生成词云图的示例代码: ```python import jieba from wordcloud import WordCloud import matplotlib.pyplot as plt # 设置停用词文件路径 jieba.analyse.set_stop_words("stopwords.txt") # 读取文本文件 with open("text.txt", "r", encoding="utf-8") as f: text = f.read() # 对文本进行分词 words = jieba.cut(text) # 生成词语频率字典 word_freq = {} for word in words: if word not in word_freq: word_freq[word] = 0 word_freq[word] += 1 # 生成词云图 wc = WordCloud(font_path="simhei.ttf", background_color="white") wc.generate_from_frequencies(word_freq) # 显示词云图 plt.imshow(wc, interpolation="bilinear") plt.axis("off") plt.show() ``` 在上面的代码中,我们使用了一个字体文件来设置词云图的字体。您可以自己选择一个中文字体文件,也可以使用别人已经准备好的字体文件。 最后,您可以使用matplotlib库将词云图显示出来。使用plt.imshow()函数可以显示图像,使用plt.axis("off")函数可以去掉坐标轴,使用plt.show()函数可以显示图像。 希望以上内容能够帮助到您制作中文词云图。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值