通过技术手段快速了解十九届四中全会公报
本文简单粗暴,只有代码和图片,快速了解十九届四中全会公报的主要内容,点击阅读原文可获得原文。
# -*- coding: utf-8 -*-
from pyltp import SentenceSplitter
from pyltp import Segmentor
import collections
import numpy as np
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import os
import re
from PIL import Image
#文本预处理
data_txt = open('news.txt','r',encoding='utf-8').read()
pattern = re.compile(u'\t|\n|\.|-|:|;|\)|\(|\?|"')
data_txt = re.sub(pattern, '', data_txt)
#选用了ltp模型,效果比jieba好
#cut_txt = jieba.cut(data_txt) #jieba文本分词
LTP_DATA_DIR = '/Users/wenrui/anaconda3/ltp_data' # ltp模型目录的路径
cws_model_path = os.path.join(LTP_DATA_DIR, 'cws.model') # 分词模型路径,模型名称为`cws.model`
segmentor = Segmentor() # 初始化实例
segmentor.load(cws_model_path) # 加载模型
cut_txt = segmentor.segment(data_txt) # 分词
segmentor.release() # 释放模型
object_list = []
remove_words = [u"的",u'对','全会',u'等',u'能','两', \
u'都',u'。',u' ',u'和',u'、',u'中',u'在',u'了',u',',u'“',\
u'”',u'一个',u'是',u'人民日报']
#词频统计
for word in cut_txt:
if word not in remove_words:
object_list.append(word)
word_counts = collections.Counter(object_list)
path_image = 'timg.jpeg' #定义词频背景
background_image = np.array(Image.open(path_image))
font_path="simhei.ttf"
wd = WordCloud(
font_path=font_path, #设置字体格式,不然会乱码
background_color="black", #设置背景颜色
mask=background_image #设置背景图
).generate_from_frequencies(word_counts)
#保存词云图
wd.to_file('result.png')
#显示词云图
fig = plt.figure(figsize=(20, 15))
plt.imshow(wd,interpolation="bilinear")
plt.axis("off")
plt.show()
运行结果可得如下高频词云图
继续阅读
- 我的微信小程序
- 这是我的微信小程序扫一扫
-
- 我的微信公众号
- 我的微信公众号扫一扫
-
评论