Membuat Wordcloud Dengan Python
Dalam tutorial kali ini, saya akan mencoba untuk membuat sebuah wordcloud menggunakan Python menggunakan library wordcloud.
Apa itu wordcloud? Berikut adalah definisinya menurut kamus cambridge:
An electronic image that shows words used in a particular piece of electronic text or series of texts. The words are different sizes according to how often they are used in the text.
Sederhananya, wordcloud adalah gambar yang menunjukkan daftar kata-kata yang digunakan dalam sebuah teks, umumnya semakin banyak kata yang digunakan semakin besar ukuran kata tersebut dalam gambar.
Dalam contoh ini saya akan menggunakan data hasil scrapping dari halaman website FEB Unpad dengan alamat https://feb.unpad.ac.id/menristek-dorong-unpad-membangun-sdm-unggul-melalui-penciptaan-ekosistem-inovasi/.
Data hasil scrapping sendiri sudah dibersihkan secara sederhana untuk menghilangkan tanda baca, mengecilkan huruf, dll. Teknik membersihkan teks hasil scrapping tidak akan dibahas disini karena selain cukup panjang juga tutorial kali ini hanya difokuskan pada pembuatan wordcloud menggunakan python.
Data yang digunakan dapat diunduh di sini. Kode yang digunakan bisa diakses di sini.
Mari Kita Mulai
Install library wordcloud
Langkah awal adalah kita melakukan instalasi library wordcloud dengan cara mengetikkan perintah berikut:
pip install wordcloud
Fungsi wordcloud membutuhkan masukan berupa text yang nantinya akan dihitung masing-masing katanya, yang selanjutnya akan digunakan untuk menggenerate hasil akhir berupa obyek.
Impor library yg digunakan
Sebelum mulai menggenerate wordcloud, kita perlu meng-impor beberapa library yang digunakan dalam program, ketikkan kode berikut:
from wordcloud import WordCloud import matplotlib.pyplot as plt
Bisa dilihat diatas, selain kita memanggil library wordcloud, kita juga memanggil library matplotlib. Library matplotlib ini juga dipanggil karena hasil dari fungsi wordcloud nantinya digambar pada kanvas matplotlib.
Buka data text
Setelah mengimpor beberapa library yang nantinya akan digunakan, selanjutnya kita coba buka data teks yang akan digunakan untuk membuat wordcloud. Ketikkan kode dibawah ini untuk membuka file dan menyimpan isinya kedalam variabel isi_text.
f = open("berita_feb_unpad.txt", "r") isi_text = f.read()
Untuk melihat apakah variabel isi_text sudah terisi, bisa dilakukan dengan mencoba mencetak variabel tersebut ke layar:
print(isi_text)
Maka akan didapatkan hasil sbb:
Buat Wordcloud
Buat wordcloud dengan teks
Setelah variabel yang akan digunakan sebagai masukan fungsi wordcloud siap, maka kini kita siap untuk membuat obyek wordcloud. Silahkan ketik kode berikut untuk membuatnya:
wordcloud = WordCloud(width=1600, height=800, max_font_size=200, background_color='white')
Dalam fungsi tersebut terdapat beberapa argumen diantaranya width, height, max_font_size, dan background_color. Sesuai dengan namanya width dan height digunakan untuk mengatur lebar dan tinggi gambar wordcloud yang akan dihasilkan, kemudian max_font_size merupakan ukuran maksimal font dan background_color adalah untuk mengatur backgroud wordcloud yang nantinya dihasilkan.
Setelah obyek wordcloud obyek dibuat, kita selanjutnya panggil metode generate() untuk mengkalkulasi wordcloud dari argumen variabel isi_text.
wordcloud.generate(isi_text)
Menggambar hasil
Menampilkan worcloud kedalam gambar
Akhirnya kita siap untuk menampilkan hasilnya, disinilah library matplotlib akan digunakan. Kita dapat menggambar hasil wordcloud tersebut menggunakan fungsi imshow() yang disediakan oleh library matplotlib. Ketikkan kode berikut:
plt.figure(figsize=(12,10)) plt.imshow(wordcloud, interpolation='bilinear') plt.axis("off") plt.show()
Berikut adalah hasilnya:
Dari hasil diatas dapat dilihat bahwasanya kata inovasi dan dan menjadi kata yang paling banyak ditulis dalam berita. Karena proses pembersihan teks yang dilakukan masih sederhana, dalam wordcloud diatas masih banyak bertebaran kata yang tidak memiliki makna seperti dan, di, yang, atau, dll, yang memang sebaiknya dibersihkan dahulu dari teks sebelum kita membuat wordcloud.
Kesimpulan
Dengan menggunakan library wordcloud kita dapat dengan mudah membuat teks wordcloud di python dengan beberapa langkah sederhana:
- Pertama adalah mempersiapkan dokumen teks yang akan digunakan untuk membuat wordcloud,
- Kedua adalah membuat obyek wordcloud dengan memberikan parameter dasar sebagai argumen, yang selanjutnya memanggil metode generate() untuk membuat obyek tersebut,
- Terakhir adalah menggunakan bantuan library matplotlib untuk menampilkan hasilnya.