Computer >> Máy Tính >  >> Lập trình >> Python

Tạo đám mây Word bằng Python

Trong vấn đề này, có một tệp với một số văn bản. Chúng ta phải tạo Word Clouds từ các văn bản đó và một hình ảnh mặt nạ. Chương trình sẽ lưu trữ hình ảnh đám mây từ dưới dạng png định dạng.

Để thực hiện vấn đề này, chúng ta cần sử dụng một số thư viện của python. Các thư viện là matplotlib, wordcloud, numpy, tkinter và PIL.

Để cài đặt các thư viện này, chúng ta cần làm theo các lệnh sau -

Thiết lập Thư viện

$ sudo pip3 install matplotlib
$ sudo pip3 install wordcloud
$ sudo apt-get install python3-tk

Sau khi thêm các thư viện này, chúng ta có thể viết mã python để thực hiện tác vụ.

Thuật toán

Step 1: Read the data from the file and store it into ‘dataset’. 
Step 2: Create pixel array from the mask image. 
Step 3: Create the word cloud from the dataset. Set the background color, mask, and stop-words. 
Step 4: Store the final image into the disk. 

Dữ liệu đầu vào:tệp sampleWords.txt

Python là một ngôn ngữ kịch bản cấp cao, được thông dịch, tương tác và hướng đối tượng. Python được thiết kế để dễ đọc. Nó thường xuyên sử dụng các từ khóa tiếng Anh khi các ngôn ngữ khác sử dụng dấu câu và nó có ít cấu trúc cú pháp hơn các ngôn ngữ khác.

Python được phát triển bởi Guido van Rossum vào cuối những năm tám mươi và đầu những năm chín mươi tại Viện Nghiên cứu Quốc gia về Toán học và Khoa học Máy tính ở Hà Lan.

Python có nguồn gốc từ nhiều ngôn ngữ khác, bao gồm ABC, Modula-3, C, C ++, Algol-68, SmallTalk và Unix shell và các ngôn ngữ kịch bản khác.

Python đã được đăng ký bản quyền. Giống như Perl, mã nguồn Python hiện có sẵn theo Giấy phép Công cộng GNU (GPL).

Python hiện được duy trì bởi một nhóm phát triển cốt lõi tại viện, mặc dù Guido van Rossum vẫn giữ một vai trò quan trọng trong việc định hướng sự phát triển của nó.

Một đầu vào khác là hình ảnh mặt nạ (cloud.png). Kết quả cuối cùng nằm ở phía bên phải.

Tạo đám mây Word bằng Python

Mã mẫu

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

Đầu ra

Tạo đám mây Word bằng Python