Hai hai sobat Exsight, melanjutkan artikel dari sebelumnya terkait Word Cloud dalam Text Analysis #1, pada artikel ini kita akan melakukan tutorial pembuatan Word Cloud dengan Software Python. Yuk simak artikel ini dengan seksama yaa!
Tutorial Python Word Cloud
Studi Kasus
Pembuatan word cloud dalam hal ini bertujuan untuk merangkum informasi, melakukan identifikasi kata kunci, serta visualisasi data teks berdasarkan suatu studi kasus. Adapun studi kasus yang kita gunakan yaitu terkait artikel berjudul “Polusi Udara di Jakarta Makin Parah, BMKG Akhirnya Buka Suara” yang didapatkan dari situs www.cnbcindonesia.com.
Load Library Python
Tahapan paling awal sebelum running syntax di Python yaitu melakukan load library . Apabila kamu masih belum memiliki library untuk pembuatan Word Cloud , maka dapat menginstall terlebih dahulu dengan cara
pip install (nama library nya)
Adapun Library Python yang digunakan untuk pembuatan Word Cloud yaitu
pip install newspaper3k
from newspaper import Article
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
import numpy as np
import matplotlib.pyplot as plt
import PIL.Image
Scrapping Data
Setelah load library Python, tahapan berikutnya yaitu melakukan scrapping data. Scrapping data adalah proses pengambilan dan pengumpulan informasi berupa data text dari berbagai sumber di internet secara otomatis menggunakan program syntax Python, dalam hal ini kita akan melakukan scrapping data untuk artikel berjudul “Polusi Udara di Jakarta Makin Parah, BMKG Akhirnya Buka Suara” yang didapatkan dari situs www.cnbcindonesia.com. Syntax Python yang digunakan adalah sebagai berikut.
#Menambahkan tautan/link berita untuk di scraping
article = Article('https://www.cnbcindonesia.com/news/20230816114723-4-463466/polusi-udara-di-jakarta-makin-parah-bmkg-akhirnya-buka-suara')
#Melakukan parsing
article.download()
article.parse()
Membuat Word Cloud
Langkah berikutnya, setelah melakukan scrapping data, kita dapat membuat visualisasi Word Cloud dengan syntax sebagai berikut.
wc = WordCloud(background_color="white", max_words=2000,
stopwords=["di","dari","karena","yang","itu","pada","dan"], max_font_size=256,
random_state=42, width=500, height=500)
wc.generate(article.text)
plt.imshow(wc, interpolation="bilinear")
plt.axis('off')
plt.show()
Berdasarkan Gambar 1. diketahui bahwa kata kunci dari artikel yang paling sering digunakan, ditandai dengan kata-kata dengan ukuran huruf yang cukup besar dan menonjol seperti “Jakarta”, “polusi”, “udara”, “musim”, “hujan”, “kemarau”, “Indonesia”, “tidak” dan sebagainya.
Membuat Word Cloud dengan Masking
Apabila kita perhatikan pada Gambar 1, Word Cloud yang dihasilkan berbentuk kotak. Namun, kita juga bisa loh memodifikasi hasil Word Cloud menjadi berbagai bentuk yang lebih menarik yaitu dengan cara Masking Word Cloud.
Mula-mula diawali dengan kita mencari bentuk Word Cloud yang akan dibuat. Untuk artikel ini, kita akan membuat Word Cloud seperti logo comment, dimana untuk sumber gambar dapat dilihat pada https://www.kaggle.com/datasets/aashita/masks?select=comment.png.
Berdasarkan Gambar 2., pada bagian data explorer kita download gambar “comment.png”. Setelah itu kita buat Syntax Masking Word Cloud sebagai berikut.
python_mask=np.array(PIL.Image.open("comment.png"))
wc2 = WordCloud(background_color="white", max_words=2000,
stopwords=["di","dari","karena","yang","itu","pada","dan"],mask=python_mask)
wc2.generate(article.text)
plt.imshow(wc2)
plt.axis('off')
plt.show()
Maka didapatkan hasil masking word cloud seperti yang dapat dilihat pada Gambar 3, di mana diketahui bahwa kata kunci dari artikel yang paling sering digunakan, ditandai dengan kata-kata dengan ukuran huruf yang cukup besar dan menonjol yaitu “Jakarta”, “musim”, “tidak”,”polusi”, “udara”, “hujan”, “Indonesia” dan sebagainya.
Referensi
Sekian penjelasan terkait Tutorial Pembuatan Word Cloud dengan Python. Jika masih ada yang dibingungkan bisa langsung saja ramaikan kolom komentar atau hubungi admin melalui tombol bantuan di kanan bawah. Stay tuned di website https://exsight.id/blog/ agar tidak ketinggalan artikel-artikel menarik lainnya.