词云展示——直接使用分词结果展示词云,未分词的文本需先进行分词处理

一般词云展示都是先将原始文本进行结巴分词后直接展示词云,本文的原始文本为网易云音乐抓取的李荣浩歌曲《你的答案》评论数据,因为前期已经将该评论文本经过了结巴分词处理,所以本文直接使用分词后的词组文本进行词云展示进行可视化!

1.首先了解wordcloud的相关参数

#了解词云图展示的相关参数,才能看懂代码含义
font_path : string  //字体路径,需要展现什么字体就把该字体路径+后缀名写上,如:font_path = '黑体.ttf'
width : int (default=400)  //输出的画布宽度,默认为400像素
height : int (default=200)  //输出的画布高度,默认为200像素
prefer_horizontal : float (default=0.90)  //词语水平方向排版出现的频率,默认 0.9 (所以词语垂直方向排版出现频率为 0.1 )
mask : nd-array or None (default=None)  //如果参数为空,则使用二维遮罩绘制词云。如果 mask 非空,设置的宽高值将被忽略,遮罩形状被 mask 取代。除全白(#FFFFFF)的部分将不会绘制,其余部分会用于绘制词云。如:bg_pic = imread('读取一张图片.png'),背景图片的画布一定要设置为白色(#FFFFFF),然后显示的形状为不是白色的其他颜色。可以用ps工具将自己要显示的形状复制到一个纯白色的画布上再保存,就ok了。
scale : float (default=1)  //按照比例进行放大画布,如设置为1.5,则长和宽都是原来画布的1.5倍。
min
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个任务可以分为三个步骤: 1. 分词使用中文分词工具(如jieba)对文章进行分词,将文章中的语切分出来。 2. 统计:统计每个语在文章中出现的次数,可以使用Python中的Counter类。 3. 生成图:使用Python中的wordcloud库生成图,将语出现次数作为权重,生成展示结果。 下面是一个简单的示例代码: ```python import jieba from collections import Counter from wordcloud import WordCloud # 读取文章 with open('article.txt', 'r', encoding='utf-8') as f: article = f.read() # 分词 words = jieba.cut(article) # 统计频 word_counts = Counter(words) # 生成图 wc = WordCloud(font_path='msyh.ttc', width=800, height=600, background_color='white') wc.generate_from_frequencies(word_counts) # 展示图 import matplotlib.pyplot as plt plt.imshow(wc, interpolation='bilinear') plt.axis('off') plt.show() ``` 其中,`article.txt`是要处理的文章文件,`msyh.ttc`是字体文件,要提前下载并放在当前目录下。运行程序后,会生成一个展示结果。 ### 回答2: 分词和统计是自然语言处理的基础步骤,在Python中可以利用第三方库jieba和wordcloud实现。以下是具体步骤: 1. 安装jieba和wordcloud库 ``` pip install jieba pip install wordcloud ``` 2. 加载文章 假设要分析的文章已被保存在一个文本文件中,例如"article.txt",可以使用Python的文件操作将文章内容读取为一个字符串变量。 ``` with open('article.txt', 'r', encoding='utf-8') as f: content = f.read() ``` 3. 对文章进行分词 利用jieba库的cut函数,将文章字符串进行分词并保存到一个列表中。 ``` import jieba word_list = jieba.cut(content) ``` 4. 对分词结果进行统计 创建一个空字典,遍历分词后的列表,将每个语作为key,出现的次数作为value保存到字典中。若该语在字典中已存在,则将其对应的value增加1。 ``` word_dict = {} for word in word_list: if word in word_dict: word_dict[word] += 1 else: word_dict[word] = 1 ``` 5. 生成图 利用wordcloud库的构造函数,将字典中的语和出现次数作为参数传递给WordCloud对象,并使用generate_from_frequencies方法生成图。 ``` from wordcloud import WordCloud import matplotlib.pyplot as plt wc = WordCloud(background_color='white',width=800,height=600,font_path='simhei.ttf') wc.generate_from_frequencies(word_dict) plt.imshow(wc) plt.axis('off') plt.show() ``` 6. 保存图 可以使用to_file方法将生成的图保存为本地图片。例如: ``` wc.to_file('word_cloud.png') ``` 完成上述步骤后,运行程序即可得到对文章的分词结果和图。要注意的是,中文分词图制作的效果可能受到文本质量、分词字典等因素的影响,所以要对结果进行适当的调整和优化。 ### 回答3: 随着信息技术的快速发展,自然语言处理(NLP)越来越成为我们生活中的常态。最基本的NLP技术之一是分词。它可以将一整段文本分解成一系列汇单位,使计算机能够更好地理解这些汇单元在文本中的作用和含义。在本篇文章中,我们将探讨如何编写一个程序,对一篇中文文章进行分词和统计,并使用展示结果。 1. 分词 为了进行分词,我们使用第三方Python库中的中文分词工具,比如jieba库。首要安装jieba库,可以使用pip install jieba指令来进行安装。 安装后,我们要导入jieba库并使用cut()函数对文章进行分词。示例代码如下: import jieba # 读取文件 with open('article.txt', 'r', encoding='utf-8') as f: article = f.read() # 进行分词 words = jieba.cut(article) 最后words将会是一个生成器对象,它可以用于迭代输出分词结果。 2. 统计 对于分好的汇,我们要将它们进行统计分析,得出各个汇的出现次数。首,我们要定义一个空字典word_dict来存放统计结果。接着,我们遍历分好的汇,每出现一个汇就在字典中将这个汇的键值加1.示例代码如下: # 定义一个空字典来存储统计结果 word_dict = {} # 遍历分词结果,统计分词出现次数 for word in words: if word not in word_dict: # 如果这个不在字典中,加入字典并键值设为1 word_dict[word] = 1 else: # 如果这个已经在字典中,将键值加1 word_dict[word] += 1 3. 图 最后,我们可以使用第三方库wordcloud将统计好的结果用进行展示。首要安装wordcloud库,可以使用pip install wordcloud指令来进行安装。 wordcloud库中的WordCloud类可以生成图。它有很多参数可以调整,如图片大小、背景颜色等。示例代码如下: from wordcloud import WordCloud import matplotlib.pyplot as plt # 生成图 wc = WordCloud(width=800, height=600, background_color='white') wc.generate_from_frequencies(word_dict) plt.imshow(wc) plt.axis('off') plt.show() 最后,这个程序就可以将一篇中文文章进行分词和统计,并使用进行可视化展示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值