当我们想快速了解小说、电影剧本中的内容时,可以绘制 WordCloud 词云图,显示主要的关键词(高频词),可以非常直观地看到结果。

制作词云图,根据蒙板图像确定词云图形状。在本文中,有一个包含一些文本的文件linuxmi.txt。我们从linuxmi.tx文本和一个蒙版图像linuxmi.png创建词云。该程序将词云图像存储为png格式linuxmi.com.png。词云默认是矩形的,本代码采用图片作为蒙版,产生异形词云图。

要实现这个问题,我们需要使用python的一些库。这些库是matplotlib、wordcloud、numpy、tkinter和PIL。

要安装这些库,我们需要运行以下命令−

安装相关库

$ sudo pip3 install matplotlib

$ sudo pip3 install wordcloud

$ sudo apt-get install python3-tk

添加这些库后,我们可以编写python代码来执行任务。

算法

第1步:从文件中读取数据并将其存储到“dataset”中。

步骤2:根据蒙版图像创建像素阵列。

步骤3:从dataset中创建词云。设置背景颜色,掩码和停用词。

步骤4:将最终图像存储到磁盘中。

创建linuxmi.txt文件

import matplotlib.pyplot as pPlot
from wordcloud import WordCloud, STOPWORDS
import numpy as npy
from PIL import Image
dataset = open("linuxmi.txt", "r").read()
def create_word_cloud(string):
    maskArray = npy.array(Image.open("linuxmi.png"))
    cloud = WordCloud(background_color = "black", max_words = 200, mask = maskArray, stopwords = set(STOPWORDS))
    cloud.generate(string)
    cloud.to_file("linuxmi.com.png")
dataset = dataset.lower()
create_word_cloud(dataset)

最终结果如下。

发表评论

电子邮件地址不会被公开。 必填项已用*标注