python分析热点词汇

您所在的位置:网站首页 战地5注册账号安全吗知乎推荐一下 python分析热点词汇

python分析热点词汇

#python分析热点词汇| 来源: 网络整理| 查看: 265

今天,咿哑呀带领大家学习怎样给一篇文章总结分析出词云,让我们更清楚地了解文章的主要意思,理解文章意义。为了分析文章,我们需要使用第三方库jieba,将文章分解出相关词语,然后将出现次数最多的词语进行有序排序提炼,再使用第三方库wordcloud和matplotlib库将关键词进行绘制,就成了文章词云。

4147827220d2d1fd3f8d1461da266c47.png

下面,我们将词云组合成一个类,让运用的更广泛。首先我们要在系统终端命令窗口用命令pip install安装jieba3k、wordcloud、matplotlib等库。安装完成后,新建一个python脚本文件wordcloud.py。在wordcoud.py中写以下代码:

import io

import re

import jieba

import matplotlib.pyplot as plt

from wordcloud import WordCloud, ImageColorGenerator

from scipy.misc import imread

然后,写word_cloud类,这个类是整个词云的关键代码。代码如下:

class word_cloud:

def __init__(self, txt_file, jpg_file):

self.mapping = {}

rewords = ''

with io.open(txt_file, encoding="utf-8") as f:

for s in re.findall("\w+", f.read()):

rewords += s.lower() + ' '

for word in jieba.cut(rewords):

if len(word) > 1:

self.mapping[word] = self.mapping.get(word, 0) + 1

97747accf0a412d152595104c21ef3cf.png

word_num=int(len(self.mapping.keys())*0.9)

wordlist = sorted(self.mapping.items(), key=lambda item: item[1], reverse=True)[:word_num]

worddict = {}

total = 0

mstr=''

for item in wordlist:

total += item[1]

for item in wordlist:

worddict[item[0]] = item[1] / total

mstr += item[0] +':'+ str(item[1] / total) + '\n'

with open('output\\'+txt_file.split('\\')[-1][:-4]+'.txt','w', encoding='utf8') as f:

f.write(mstr)

color_mask = imread(jpg_file) # 读取背景图片

image_colors = ImageColorGenerator(color_mask)

cloud = WordCloud(

font_path="fonts\simhei.ttf",

background_color='white',

# 词云形状

mask=color_mask,

# 允许最大词汇

max_words=word_num,

max_font_size=40

)

word_cloud = cloud.generate_from_frequencies(worddict) # 产生词云

plt.imshow(word_cloud.recolor(color_func=image_colors))

plt.axis('off')

plt.show()

word_cloud.to_file(txt_file.split('\\')[-1][:-4]+'.png')

49ff280a9dd8f793af054c77d3f73792.png

注意,这个类中使用了fonts中的字库simhei.ttf,要确保目录中有这个字库,否则,更换相关代码。继续写入主函数代码:

if __name__ == '__main__':

word_cloud(r"test.txt", r'bg.jpg')

然后,在wordcloud.py的同一目录下,建好所需要的test.txt文章,同时,保存一幅需要形成词云形状的图片bg.jpg。按F5运行这个脚本,看是不是形成了一个词云图片,并且,在这个目录下是不是生成了一个词云文件test.png。

如果这篇文章对你有用,请点赞、转发、收藏、评论,如果喜欢我的文章,请搜索并关注“咿哑呀”,我将分享更多文章给大家。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3