Lompat ke konten Lompat ke sidebar Lompat ke footer

Menghitung Jumlah Kata dalam Artikel Menggunakan Python

Pengolahan text merupakan salah satu cabang yang dipelajari dalam Data Science. Misalkan text yang dipelajari adalah artikel wikipedia atau artikel dari suatu portal berita. Beberapa proses dapat dilakukan terhadap text tersebut, bisa untuk klasifikasi suatu text, sentiment analysis, hingga mengelompokkan text (clustering) yang memiliki kesamaan isi atau topik.

Salah satu dasar dalam pengolahan text adalah menghitung frekuensi kata yang ada di dalam text. Misalkan, sebuah text tentang gajah, kata gajar muncul sebanyak 100 kali, kata hewan muncul sebanyak 20 kali, kata hutan muncul sebanyak 10 kali, dan seterusnya

Frekuensi kata tersebut dapat digunakan untuk mencari kemiripan dari beberapa text. Misalkan text-text yang berhubungan dengan hewan liar akan memiliki frekuensi kata seperti hutan, belantara, atau liar yang tinggi dibanding artikel lain. Karena itu, mencari frekuensi kata dalam text adalah salah satu proses yang harus dilakukan sebelum proses machine learning

Menghitung Frekuensi Kata Menggunakan Python

Sebagai scripting language, python memiliki banyak object yang dapat digunakan untuk menghitung frekuensi kata pada sebuah text.

Algoritma Menghitung Jumlah Kata pada Text

Untuk menghitung jumlah kata dalam sebuah text, mari kita gunakan beberapa langkah berikut ini:

  1. Siapkan text yang akan dihitung jumlah katanya. Agar lebih mudah, kita dapat menyimpannya dalam file txt, kemudian di-load ke dalam python. Biasanya akan di-load menjadi 1 string.
  2. Kemudian, hapus semua tanda baca yang ada dalam text. Kita bisa menentukan sebanyak mungkin tanda baca, karena walaupun tanda baca tidak terdapat dalam text, hal tersebut tidak akan membuat error program yang dibuat.
  3. Setelah bersih, ubah text tersebut menjadi list yang berisi kata-kata yang sudah dipisah.
  4. Buatlah sebuah dictionary, dengan key berupa kata yang dihitung dan valuenya adalah jumlah katanya. 
  5. Lakukan loop terhadap list yang berisi kata-kata tadi, cek semua kata yang ada. Jika kata belum ada, maka kata akan dimasukkan ke dalam dictionary dan mempunyai value 1.
  6. Jika kata sudah ada, maka value nya akan bertambah 1.

Mudah kan algoritma untuk menghitung jumlah kata, langsung saja kita buat program python berdasarkan algoritma tersebut.

 

Script Python Untuk Menghitung Jumlah Kata pada Text

Berikut ini adalah script python untuk menghitung jumlah kata pada sebuah artikel. Artikel yang digunakan adalah artikel python wikipedia yang sudah dicopy dan disimpan dalam sebuah file *.txt agar mudah dibaca ke dalam program.


1  import string
2  import pandas as pd
3  
4  # Membuka File
5  file = open("text.txt", "r")
6  text = file.read()
7  
8  # Menghilangkan Tanda Baca
9  tanda_baca = string.punctuation
10 
11 for char in tanda_baca:
12     text = text.replace(char, "")
13 
14 text = text.replace("\n", "")
15 text = text.replace("\t", "")
16  
17 # Memisahkan Kata dan Menghitungnya
18 list_kata = text.split()
19 
20 jumlah_kata = {}
21 
22 for kata in list_kata:
23     if kata not in jumlah_kata:
24         jumlah_kata[kata] = 1
25     
26     else::
27         jumlah_kata[kata] += 1
28 
29 # Mengurutkan Jumlah Kata Terbanyak
30 jumlah_kata = pd.DataFrame.from_dict(jumlah_kata, orient='index')
31 jumlah_kata.sort_values(by=[0], ascending=False, inplace=True)
32
33 print(jumlah_kata.head(10))

 

Oke, mari kita bahas per bagian dari script python tersebut.

Import Modul dan Membaca Data
1  import string
2  import pandas as pd
3  
4  # Membuka File
5  file = open("text.txt", "r")
6  text = file.read()

Pertama kita input dulu modul yang digunakan. Disini digunakan 2 modul, string untuk mengambil tanda baca yang mungkin ada pada text, dan pandas untuk membuat dataframe dari outputnya.

Kemudian dilanjutkand dengan membuka file menggunakan input standard python pada baris 5 dan 6. Ingat ya, seluruh isi text disimpan menjadi 1 baris string pada variabel text. Baris baru atau enter pada string python diganti dengan simbol "\n".

Membersihkan Text Dari Tanda Baca
8  # Menghilangkan Tanda Baca
9  tanda_baca = string.punctuation
10 
11 for char in tanda_baca:
12     text = text.replace(char, "")
13 
14 text = text.replace("\n", "")
15 text = text.replace("\t", "")

Langkah selanjutnya adalah menghilangkan seluruh tanda baca, sehingga hanya ada kata dan spasi saja. 

  • Pertama kita ambil dulu semua tanda baca yang ada, menggunakan modul string pada baris ke-9. Disimpan pada variabel tanda baca.
  • Kemudian hilangkan tanda baca dari text menggunakan method text.replace(char, ""). Seharusnya method .replace() mengganti char dengan sesuatu. Tapi karena penggantinya adalah string kosong (""), maka sama saja dengan dihapus.
  • Penghapusan dilakukan terhadap seluruh tanda_baca, sehingga digunakan for loop pada baris ke 11, dimana masing-masing tanda baca dimasukkan pada variabel char.
  • Enter dan tab tidak terdapat pada tanda baca dari modul string, sehingga harus dilakukan penghapusan secara terpisah. Tanda enter ("\n") dihapus pada baris ke ke-14 dan tanda tab ("\t") dihapus pada baris ke-15.
Memisahkan Kata dan Menghitungnya
17 # Memisahkan Kata dan Menghitungnya
18 list_kata = text.split()
19 
20 jumlah_kata = {}
21 
22 for kata in list_kata:
23     if kata not in jumlah_kata:
24         jumlah_kata[kata] = 1
25     
26     else::
27         jumlah_kata[kata] += 1

 

Setelah bersih dari tanda baca, langkah selanjutnya adalah menghitung jumlah kata dalam text. Terdapat beberapa langkah untuk melakukannya.

  • Pertama pisahkan dulu kata-kata pada text menjadi sebuah list. Pada baris ke-18, digunakan method text.split() dan hasilnya disimpan pada variabel list_kata.
  • list_kata berisi seluruh kata pada text yang sudah berdiri sendiri, 1 kata 1 string.
  • Kemudian buat dictionary python untuk menyimpan hasil penghitungan jumlah kata. Dictionary disimpan pada variabel jumlah_kata. Dictionary nya masih kosong, tapi bisa ditambahkan pasangan key-value kemudian.
  • Key adalah kata yang dihitung dan value adalah jumlah katanya dalam integer. Sehingga jumlah kata dapat ditambah.
  • Lakukan scanning menggunakan loop terhadap seluruh baris kata dalam list (baris 22). Masing-masing kata akan dicek, apakah sudah ada di dalam jumlah_kata, atau belum.
  • Jika kata belum ada pada jumlah_kata (baris 23), maka masukkan kata ke dictionary dan beri value 1. Tentu saja karena baru 1 kata yang didapatkan.
  • Jika kata sudah ada pada jumlah_kata (baris 27), maka tambahkan 1 ke valuenya. Tanda (+=) artinya menambahkan ke value yang sudah ada. Artinya, jika setelah loop ditemukan 3 kata yang sama, maka value kata tersebut adalah 3.

Posting Komentar untuk "Menghitung Jumlah Kata dalam Artikel Menggunakan Python"