Technical 技术

Keyword Analysis: Use Python and WordArt to Make Wordle

Wordle 的中文名称叫做词云,本意是指有词汇组成的像云一样多样的图形。平时在准备 Slides 的时候,Wordle 能生动直观的体现关键词,既美观又使用。现在市面上已经出现了类似于“易词云”这样的工具,帮助用户分析文本关键词汇。但这些工具可定制化程度不高,使用方式很受限。本文将提供一个结合 Python 和 WordArt 网站的解决方案,让读者更加灵活地生成自己想要的好看的词云。在开始前,请准备好:PyCharm IDE, 一段你想要分析的文本文档,和一个能连上互联网的浏览器。

词云样例
图片来源:WordArt

Step 1: 打开 PyCharm,安装 jieba 插件。jieba 是 Python 中使用最广泛的中文分词组件。在 PyCharm 中安装 jieba 的方式如下图所示。

点击 File – Settings
点击左侧的 Project Interpreter,再点击右侧的加号

Step 2: 下载停用词表。停用词是指在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为Stop Words。我使用的停用词表已经放在了百度云上,链接:https://pan.baidu.com/s/1yvf3Jpe7PHpC8MSKR1tVeA,提取码: rqfq

Step 3: 在 PyCharm 中敲入如下代码并运行。执行之后将得到一系列结果。每一行数据的左侧是词条,右侧是权重。将运行后的结果复制。

import jieba.analyse
#需要做关键词分析的文本路径
path = r'C:\Users\hcy1sgh\Desktop\To Do List\Common Solution Reuiqrement Engineering\Python_Analystics\sbutf8.txt'
file_in = open(path, 'r', encoding='UTF-8')
content = file_in.read()
try:
    #停用词表路径
    jieba.analyse.set_stop_words(r'C:\Users\hcy1sgh\Desktop\To Do List\Common Solution Reuiqrement Engineering\Python_Analystics\stop.txt')
    tags = jieba.analyse.extract_tags(content, topK=100, withWeight=True)
    for v, n in tags:
        #算出来的权重是小数,乘以一万用于凑整
        print (v + '\t' + str(int(n * 10000)))

finally:
    file_in.close()

Step 4: 打开 WordArt 网站,地址:https://wordart.com/

Step 5: 点击 Create Now, 在左侧的 Words 下 选择 Import, 勾选上 CSV Format, 然后粘贴刚才程序跑出来的结果。再点击 Import Words。

导入 Python 结果

Step 6: 在 Shapes 中选择一个喜欢的图形和颜色,在 Fonts 中导入一个自己喜欢的中文字体(需要自己在网上下载并导入到 WordArt)。

Step 7: 点击 Visualize,生成词云。点击 Downloads,可以下载词云图片,为自己所用。

Enjoy!

Subscribe
Notify of
guest
1 Comment
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
Grant Ruthers
4 years ago

I love your blog.. very nice colors & theme. Did you create this website yourself? Plz reply back as I’m looking to create my own blog and would like to know wheere u got this from. thanks

1
0
Would love your thoughts, please comment.x
()
x