python3.6 基于Pycharm实现中文分词、去停用词、词云可视化
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python3.6 基于Pycharm实现中文分词、去停用词、词云可视化,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3065字,纯文字阅读大概需要5分钟。
内容图文
![python3.6 基于Pycharm实现中文分词、去停用词、词云可视化](/upload/InfoBanner/zyjiaocheng/842/f687847f33844091887f107d18941c8e.jpg)
python3.6 基于Pycharm实现中文分词、去停用词、词云可视化
可视化词云的时候遇到了中文不显示的问题,解决方法代码中有标注。
import glob import random import jieba import matplotlib.pyplot as plt from wordcloud import WordCloud # 数据读取 def get_content(path): with open(path, 'r', encoding='utf8', errors='ignore') as f: content = '' for line in f: # 去掉每句话开头和结尾的空格 line = line.strip() content += line return content # 定义一个高频词函数 def get_if(words, top=10): tf_dic = {} for w in words: # 遍历words中的每一个词切片,以词为键,出现的次数为值存储在字典中 tf_dic[w] = tf_dic.get(w, 0) + 1 return sorted(tf_dic.items(), key=lambda x: x[1], reverse=True)[:top] def stop_words(path): with open(path, 'r', encoding='utf-8', errors='ignore') as f: print(line.strip() for line in f) return [line.strip() for line in f] if __name__ == '__main__': # 获取txt文件 files = glob.glob('./chinese_english') # 读取所有文件的内容存在corpus的列表中 corpus = [get_content(x) for x in files] # 获取一个0到corpus长度的整数随机数 sample_inx = random.randint(0, len(corpus)) # 使用jieba精确模式分词, split_words = list(jieba.cut(corpus[sample_inx])) # stop_words('./stop_words.txt') split_words = [x for x in jieba.cut(corpus[sample_inx]) if x not in stop_words('./stop_words.txt')] # 打印随机选取的样本 print('样本之一: ' + corpus[sample_inx]) # 打印随机选取的样本的分词情况 print("\n----------------------->开始分词") # print('样本分词结果: ' + ' '.join(split_words)) for word in split_words: print('样本分词结果: ' + word) # 统计显示高频词 print("\n---------------------------------->统计分词结果") # print('样本的top(10)词为: ' + str(get_if(split_words))) for i in get_if(split_words): print('样本的top(10)词为: ' + str(i)) word_cloud = " ".join(split_words) my_wordcloud = WordCloud(font_path='simfang.ttf', collocations=False).generate(word_cloud) plt.imshow(my_wordcloud) plt.axis("off") plt.show()
部分输出结果如下
样本分词结果: 新鲜 样本分词结果: 烤面包 样本分词结果: 味道 样本分词结果: 某 样本分词结果: 一座 样本分词结果: 房里 样本分词结果: 飘 样本分词结果: 出来 样本分词结果: 也许 样本分词结果: 是 样本分词结果: 微风 样本分词结果: 轻拂 样本分词结果: 树叶 样本分词结果: 声音 样本分词结果: 或者 样本分词结果: 是 样本分词结果: 晨光 样本分词结果: 照射 样本分词结果: 轻轻 样本分词结果: 飘落 样本分词结果: 秋叶 样本分词结果: 上 样本分词结果: 方式 样本分词结果: 请 样本分词结果: 你们 样本分词结果: 寻找 样本分词结果: 东西 样本分词结果: 并且 样本分词结果: 记住 样本分词结果: 它们 样本分词结果: 吧
------------------------------>统计分词结果
样本的top(20)词为: ('class', 3)
样本的top(20)词为: ('一个', 3)
样本的top(20)词为: ('一些', 3)
样本的top(20)词为: ('放学', 3)
样本的top(20)词为: ('东西', 3)
样本的top(20)词为: ('I', 3)
样本的top(20)词为: ('you', 3)
样本的top(20)词为: ('你们', 3)
样本的top(20)词为: ('人', 3)
样本的top(20)词为: ('它', 3)
样本的top(20)词为: ('也许', 3)
样本的top(20)词为: ('way', 3)
样本的top(20)词为: ('or', 3)
样本的top(20)词为: ('it', 3)
样本的top(20)词为: ('very', 2)
样本的top(20)词为: ('school', 2)
样本的top(20)词为: ('with', 2)
样本的top(20)词为: ('when', 2)
样本的top(20)词为: ('over', 2)
样本的top(20)词为: ('things', 2)
词云
内容总结
以上是互联网集市为您收集整理的python3.6 基于Pycharm实现中文分词、去停用词、词云可视化全部内容,希望文章能够帮你解决python3.6 基于Pycharm实现中文分词、去停用词、词云可视化所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。