Algoritma TF-IDF (Term Frequency – Inverse Document Frequency)


Algoritma TF-IDF (Term Frequency – Inverse Document Frequency) adalah salah satu algoritma yang dapat digunakan untuk menganalisa hubungan antara sebuah frase/kalimat dengan sekumpulan dokumen. Contoh yang dibahas kali ini adalah mengenai penentuan urutan peringkat data berdasarkan query yang digunakan.
Inti utama dari algoritma ini adalah melakukan perhitungan nilai TF dan nilai IDF dari sebuah setiap kata kunci terhadap masing-masing dokumen. Nilai TF dihitung dengan rumus TF = jumlah frekuensi kata terpilih / jumlah kata dan nilai IDF dihitung dengan rumus IDF = log(jumlah dokumen / jumlah frekuensi kata terpilih). Selanjutnya adalah melakukan perkalian antara nilai TF dan IDF untuk mendapatkan jawaban akhir.



Diasumsikan data kalimat yang tersedia adalah sebagai berikut:

Isi kalimat
Saya suka sama suami situ sebab suami situ suka senyum-senyum sama saya.
Santapan kita setiap jam setengah satu siang satu soto sapi sama seratus tusuk sate sapi pula.
Saya sebal sama situ sebab situ suka senyum-senyum sama suami saya sehingga suami saya suka senyum-senyum sendiri saja.
Sempat-sempatnya semut-semut itu saling senyum-senyum dan salam-salaman sama semut-semut yang mau senyum-senyum dan salam-salaman sama semut-semut itu.

Contoh data awal adalah sebagai berikut:



Dan query data yang digunakan adalah

Isi Kalimat
Sapi saling suka

Contoh data baru adalah sebagai berikut:


Langkah-langkah penggunaan algoritma ini adalah

1. Lakukan proses tokenizing dan lowercase pada masing-masing dokumen dan query
Setiap kata akan dijadikan huruf kecil semua,
dan kemudian dilakukan proses penghilangan tanda baca
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini

* Gunakan fungsi ini untuk menghilangkan tanda baca
Tanda baca yang diperhitungkan adalah:
titik ,koma, titik koma, titik dua, hubung -, tanda tanya, tanda seru, kurung biasa (), kurung kotak [], kurung kurawal {}, tanda petik satu, tanda petik ganda, garis miring

2. Hitung jumlah dari masing-masing kata yang terdapat pada masing-masing dokumen
Sebagai contoh jika dokumen berisi kalimat “hati hati ya”
Maka jumlah kata “hati” adalah 2, dan jumlah kata “ya” adalah 1

3. Hitung nilai TF dengan rumus
TF = jumlah frekuensi kata terpilih / jumlah kata

4. Hitung IDF dengan rumus
IDF = log(jumlah dokumen / jumlah frekuensi kata terpilih)

5. Nilai jawaban dilakukan dengan cara melakukan perkalian antara nilai TF dan nilai IDF
Tampilkan hasil jawaban akhir pada layar


Hasil akhir adalah: (klik untuk perbesar gambar)


Contoh modul / source code dalam bahasa VB (Visual Basic) dapat didownload disini:



Jika membutuhkan jasa kami dalam pembuatan program, keterangan selanjutnya dapat dilihat di Fasilitas dan Harga
Jika ada yang kurang paham dengan langkah-langkah algoritma diatas, silahkan berikan komentar Anda.
Selamat mencoba.

Tinggalkan sebuah komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *