Pengertian dan Kegunaan TF-IDF

Pengertian TF-IDF

TF-IDF adalah kepanjangan dari Term Frequency-Inverse Document Frequency dan biasanya digunakan untuk memperoleh informasi lebih dalam tentang teks. TF-IDF ini adalah sebuah ukuran statistik yang digunakan untuk mengevaluasi seberapa penting sebuah kata di dalam sebuah dokumen atau dalam sekelompok kata. Seberapa pentingnya sebuah kata tersebut akan meningkat secara proporsional berdasarkan berapa kali kata tersebut muncul di dokumen tadi di dalam kumpulan kata tadi. Variasi skema kedalaman kata ini umumnya digunakan oleh mesin pencari sebagai alat utama untuk memberikan skor dan penilaian terhadap seberapa relevan dokumen tersebut terhadap kueri yang digunakan oleh seorang user. Dengan kata lain, TF-IDF merupakan salah satu cara untuk mengelompokkan atau mengkategorikan sebuah dokumen.

Cara Menghitung

Biasanya bobot TF-IDF terdiri dari dua istilah: hitungan pertama normalisasi Term Frequency (TF) atau seberapa kali sebuah kata muncul di sebuah dokumen, dibagi dengan jumlah kata di dokumen tersebut, istilah kedua adalah Inverse Document Frequency (IDF), dihitung sebagai logaritma jumlah dokumen di dalam kumpulan kata dibagi jumlah dokumen yang muncul dengan istilah yang sama.

Perlu pula untuk dicatat perbedaan antara TF-IDF dan analisis sentimen. Walaupun keduanya merupakan teknik mengklasifikasi teks, tujuannya sangat berbeda. Disamping itu, analisis sentimen bertujuan untuk mengklasifikasikan dokumen ke dalam sebuah opini, seperti positif dan negatif. Sementara, TF-IDF mengklasifikasi dokumen ke dalam kategori yang terdapat di dalam dokumen itu sendiri. Ini akan bisa memberikan kejelasan tentang maksud sebuah review daripada kepuasan seseorang.

Jika kita menganalisis data review sebuah produk dari sebuah situs e-commerce yang menjual perangkat komputer, kita akan disuguhkan dengan sejumlah dokumen tentang laptop, mouse, keyboard dan sebagainya. Kita akan berhubungan dengan sejumlah data yang sangat besar tentang tipe review yang telah ditulis tentang perangkat komputer tersebut, tetapi tidak akan mempelajari tentang pendapat pengguna mengenai produk tadi. Walaupun algoritmanya sangat mirip waktu mengklasifikasikan sebuah teks, hasilnya akan sangat berbeda.

Penerapan

Algoritma ini akan berguna ketika anda telah memiliki sejumlah besar kumpulan dokumen yang akan dikategorikan. Bayangkan website perusahaan besar dengan 10 ribu kontributor yang mengirimkan tulisan ke website tersebut. Tergantung dari tag yang disisipkan di tiap postingan, item ini akan muncul pada daftar halaman dalam berbagai bagian dari situs. Walaupun si penulis bisa memberi tag secara manual ketika mereka menulis sebuah konten, tetapi biasanya mereka lupa memberi tag ini, dan akhirnya terhadap ribuan tulisan yang tidak terkelompokkan melalui tag ini. Hanya sedikit penulis yang mau menyisihkan waktu untuk menambahkan tag sewaktu menulis sebuah tulisan. Untuk dokumen seperti inilah (yang tidak dikelompokkan dengan menggunakan tag) TF-IDF berguna, karena dia bisa menghasilkan tag untuk tulisan tersebut dan membantu sekali dalam mengelompokkan area yang cocok.

Hitung-hitungan

Pentingnya sebuah kata akan meningkat secara proporsional berdasarkan seberapa sering kata tersebut muncul di dalam sebuah dokumen. Akan tetapi, jika beberapa dokumen berisikan kata yang sama muncul beberapa kali, maka ini akan menjadi sebuah masalah. Itulah makanya TF-IDF juga mengimbangi nilai kata tadi dengan frekuensi istilah di seluruh dokumen, nilainya disebut dengan Inverse Document Frequency.

Contoh Mentag Tulisan di Blog

Langkah 1: Nilai di Tiap Dokumen

Anggaplah anda memiliki sebuah tulisan dengan jumlah kata 100 dan di sana muncul kata kucing sebanyak 5 kali. Kalkulasi untuk Term Frequency adalah sebagai berikut:

TF = 5/100 = 0,05

Selanjutnya diasumsikan anda memiliki tulisan di blog tadi sebanyak 10.000 buah dokumen dan kata kucing muncul sebanyak 100 kali. Maka kalkulasi untuk Inverse Document Frequency adalah sebagai berikut:

IDF = log (10.000/100) = 2

Untuk menghitung TF-IDF, kalikan kedua nilai tadi, hasilnya seperti dibawah ini:

TF-IDF = 0,05 x 2 = 0,1

Langkah 2 : Menentukan Ambang Tag

Selanjutnya anda akan melakukan aspek kreatif dari data. Anggaplah bahwa anda mempunyai rentang nilai yang cukup besar, rentangnya dari 0,05 hingga 0,5.

Berdasarkan contoh di atas, 0,05 bisa diartikan sebagai 100 kata dokumen dengan 1 contoh kata kucing dan 0,5 merupakan 100 kata dokumen dengan kata kucing muncul 25 kali. Untuk menentukan jika dokumen tadi bisa di tag dengan kata kucing, anda harus menentukan ambang nilainya.

Nilai yang anda pilih bisa bervariasi tergantung dari data setnya. Sebuah dokumen dengan hanya satu kata kucing (bernilai 0,05) biasanya topiknya tidak akan terfokus pada kucing, akan tetapi jika bernilai tinggi atau 0,5 barangkali bisa disimpulkan bahwa tulisan tadi topiknya adalah tentang kucing.

Contoh Kode TF-IDF Menggunakan Node.js

Kata kunci untuk algoritma satu kumpulan dokumen menerapkan TF-IDF untuk mendapatkan kembali kata kunci di dalam sebuah kumpulan dokumen. Fungsi ini butuh sekumpulan dokumen, masing-masingnya sebagai string berbeda, dan sebuah integer untuk menentukan seberapa kali kata kunci tersebut muncul.

Contoh di bawah ini untuk tiga dokumen dan menghasilkan dua kata kunci teratas dari tiap dokumen, termasuk nilai TF-IDF.

var algorithmia = require(“algorithmia”);

var client = algorithmia(process.env.ALGORITHMIA_API_KEY);

var input = [[“badger badger buffalo mushroom mushroom mushroom mushroom mushroom mushroom mushroom”,”antelope buffalo mushroom”,”bannana”],2];

client.algo(“nlp/KeywordsForDocumentSet/0.1.7”).pipe(input).then(function(output) {

if (output.error) {

console.log(output.error);

} else {

console.log(output.result);

}

});

Hasilnya:

[ { mushroom: 0.5187490272120597, badger: 0.8078365072138199 },

{ antelope: 0.47712125471966244, buffalo: 0.17609125905568124 },

{ bannana: 0.47712125471966244 } ]

Seperti anda lihat, algoritma ini menghitung frekuensi dari tiap kata. Jika anda melakukan perhitungan ini, anda akan menemukan bahwa nilai TF-IDFnya tidak sederhana. Perlu diperhatikan bahwa dikarenakan dokumen terakhir hanya berisi satu nilai, nilai kembali untuk dokumen terakhir hanya berisi satu nilai saja.

Free Hit Counters
Web Site Hit Counters

One thought on “Pengertian dan Kegunaan TF-IDF

  1. Bagus sekali bahasannya,kebetulan sekali saya memerlukan artikel ini,terima kasih atas ilmunya

Silakan sampaikan komentar Anda