Python 制作信息科技新课标词云
1、课标pdf转txt网上有很多网络应用可以转,但要Q,我用АББYY FineReader转换的,用些问题,手工校正了一下,也可以用adobe Acrobat XI Pro来转,但效果没前者好。2、自建用户字典mydict.txt如下一行一个单词数据算法网络信息处理信息安全信息隐私信息意识计算思维数字化学习与创新信息社会责任数字素养信息素养核心素养原始创新原创精神自主可控技术人工智能创新国家安全
1、课标pdf转txt
网上有很多网络应用可以转,但要Q,我用АББYY FineReader转换的,用些问题,手工校正了一下,也可以用adobe Acrobat XI Pro来转,但效果没前者好。
2、自建用户字典mydict.txt
如下一行一个单词
数据 算法 网络 信息处理 信息安全 信息隐私 信息意识 计算思维 数字化学习与创新 信息社会责任 数字素养 信息素养 核心素养 原始创新 原创精神 自主可控技术 人工智能 创新 国家安全 网络安全 数据安全 跨学科主题 物联网 互联网 共享 在线学习 在线社会 在线平台 信息科技 真实性学习 科学原理 数字时代 在线社会 数字设备 解决问题 科技伦理 体验过程 控制的场景
3、用结巴分词
'''
用结巴分词,统计词频,定义了一个常用词词典
'''
import jieba
file = 'newkebiao.txt'
file_userdict = 'mydict.txt'
jieba.load_userdict(file_userdict)
f = open(file, 'r', encoding='UTF-8').read()
words = jieba.cut(f, cut_all=False, HMM=True)
counts = {}
for word in words:
if len(word) == 1:
continue
else:
counts[word] = counts.get(word, 0) + 1
items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)
for i in range(len(items)):
word, count = items[i]
print("{0:<12}{1:>3}".format(word, count))
程序运行结果:
D:\Python10\python.exe D:/PythonDemo/demo3.py
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\Bobo\AppData\Local\Temp\jieba.cache
Loading model cost 0.428 seconds.
Prefix dict has been built successfully.
学生 276
学习 248
数据 139
信息 132
通过 126
问题 120
信息科技 119
生活 115
...(省略若干行)
个人观点 1
有序 1
自立自强 1
4、制作云图
由于用些词无需显示,用第三步得到的词与词频做了一个停用词表stopwords.txt
from wordcloud import WordCloud, ImageColorGenerator, STOPWORDS
import matplotlib.pyplot as plt
from matplotlib.pyplot import imread
import jieba
file = 'newkebiao.txt'
file_userdict = 'mydict.txt'
jieba.load_userdict(file_userdict)
text = ""
with open(file, 'r', encoding='UTF-8') as f:
for line in f.readlines(): #按行读文件
# print(line)
words = jieba.cut(line, cut_all=False, HMM=True)
# print("/".join(words))
counts = {}
for word in words:
if len(word) == 1:
continue
else:
counts[word] = counts.get(word, 0) + 1
keys = [k for k, v in counts.items()]
text += " ".join([k for k in keys])
list_text = list(text.split()) # 将空格分隔的字符串转为列表
text = " ".join(i for i in list_text)
backg_pic = imread('mask.jpg') # 读入背景图片
# 加载停用词表
stopwords_file = 'stopwords.txt'
with open(stopwords_file, "r", encoding='UTF-8') as words:
stopwords = [i.strip() for i in words]
# 设置词云样式
wc = WordCloud(
background_color='white',
stopwords=stopwords,
mask=backg_pic,
font_path='simhei.ttf',
max_words=30,
max_font_size=200,
random_state=30, scale=1.8)
wc.generate_from_text(text)
image_colors = ImageColorGenerator(backg_pic)
plt.imshow(wc)
plt.axis('off')
plt.show()
wc.to_file("wordcloud.png")
5、最后生成的词云图
将课标分词后试着用网上的“微词云”来做,对于网上免费的东西,他们都是一个套套,只好放弃。
资源有新课标文本、自定义词典、停用词典
说明:以下资源仅做学习研究之用,侵权请删除!!!
资源链接:链接:https://pan.baidu.com/s/1lwNw4z6SP4bKCV8UIbs84A?pwd=148r
提取码:148r
更多推荐
所有评论(0)