Pembobotan Kata atau Term Weighting TF-IDF
Daftar Isi “Pembobotan Kata atau Term Weighting TF-IDF“
1. Term Frequency (TF)
2. Inverse Document Frequency (IDF)
3. Contoh Kasus Perhitungan Term Weighting TF-IDF
Pada dokumen yang besar, skema yang paling sukses dan secara luas digunakan untuk pemberian bobot term adalah skema pembobotan atau Term Weighting TF-IDF.
Kelemahan scoring dengan Jaccard coefficient adalah tidak disertakannya frekuensi suatu term dalam suatu dokumen, maka diperlukan skoring dengan kombinasi Term Weighting TF-IDF.
Hal yang perlu diperhatikan dalam pencarian informasi dari koleksi dokumen yang heterogen adalah pembobotan term. Term dapat berupa kata, frase atau unit hasil indexing lainnya dalam suatu dokumen yang dapat digunakan untuk mengetahui konteks dari dokumen tersebut, maka untuk setiap kata tersebut diberikan indikator, yaitu term weight.
1. Term Frequency (TF)
TF (Term Frequency) adalah frekuensi dari kemunculan sebuah term dalam dokumen yang bersangkutan. Semakin besar jumlah kemunculan suatu term (TF tinggi) dalam dokumen, semakin besar pula bobotnya atau akan memberikan nilai kesesuaian yang semakin besar.
Pada Term Frequency (TF), terdapat beberapa jenis formula yang dapat digunakan :
- TF biner (binary TF), hanya memperhatikan apakah suatu kata atau term ada atau tidak dalam dokumen, jika ada diberi nilai satu (1), jika tidak diberi nilai nol (0).
- TF murni (raw TF), nilai TF diberikan berdasarkan jumlah kemunculan suatu term di dokumen. Contohnya, jika muncul lima (5) kali maka kata tersebut akan bernilai lima (5).
- TF logaritmik, hal ini untuk menghindari dominansi dokumen yang mengandung sedikit term dalam query, namun mempunyai frekuensi yang tinggi.
Rumus TF logaritmik
Dimana nilai ft,d adalah frekuensi term (t) pada document (d).
Jadi jika suatu kata atau term terdapat dalam suatu dokumen sebanyak 5 kali maka diperoleh bobot = 1 + log (5) = 1.699. Tetapi jika term tidak terdapat dalam dokumen tersebut, bobotnya adalah nol (0). - TF normalisasi, menggunakan perbandingan antara frekuensi sebuah term dengan nilai maksimum dari keseluruhan atau kumpulan frekuensi term yang ada pada suatu dokumen.
Rumus TF normalisasi
2. Inverse Document Frequency (IDF)
IDF (Inverse Document Frequency) merupakan sebuah perhitungan dari bagaimana term didistribusikan secara luas pada koleksi dokumen yang bersangkutan.
IDF menunjukkan hubungan ketersediaan sebuah term dalam seluruh dokumen. Semakin sedikit jumlah dokumen yang mengandung term yang dimaksud, maka nilai IDF semakin besar.
Sedangkan untuk Inverse Document Frequency (IDF) dihitung dengan menggunakan formula sebagai berikut:

Rumus IDF
Dimana D adalah jumlah semua dokumen dalam koleksi sedangkan dfj adalah jumlah dokumen yang mengandung term (tj).
Jenis formula TF yang biasa digunakan untuk perhitungan adalah TF murni (raw TF). Dengan demikian rumus umum untuk Term Weighting TF-IDF adalah penggabungan dari formula perhitungan raw TF dengan formula IDF dengan cara mengalikan nilai TF dengan nilai IDF:

Rumus TF-IDF
Dimana Wij adalah bobot term (tj) terhadap dokumen (di). Sedangkan tfij adalah jumlah kemunculan term (tj) dalam dokumen (di). D adalah adalah jumlah semua dokumen yang ada dalam database dan dfj adalah jumlah dokumen yang mengandung term (tj) (minimal ada satu kata yaitu term (tj)).
Berapapun besarnya nilai tfij, apabila D = dfj, maka akan didapatkan hasil 0 (nol), dikarenakan hasil dari log 1, untuk perhitungan IDF. Untuk itu dapat ditambahkan nilai 1 pada sisi IDF, sehingga perhitungan bobotnya menjadi sebagai berikut :

Rumus TF-IDF +1
3. Contoh Kasus Perhitungan Term Weighting TF-IDF
Berikut dibawah ini diberikan contoh kasus perhitungan bobot dokumen terhadap query, dengan menggunakan metode Term Weighting TF-IDF menggunakan rumus yang telah dijelaskan diatas.
Contoh query: gold silver truck. Sehingga didapatkan query terms (Q):
– gold
– silver
– truck
Untuk koleksi dokumen nya terdapat:
dokumen 1 (d1) = Shipment of gold damaged in a fire
dokumen 2 (d2) = Delivery of silver arrived in a silver truck
dokumen 3 (d3) = Shipment of gold arrived in a truck
Jadi total jumlah dokumen dalah koleksi dokumen (D) = 3
Untuk setiap query dan dokumen dalam koleksi, dilakukan pemotongan string berdasarkan tiap kata yang menyusunnya, menghilangkan tanda baca, angka dan stopword.
Setelah melalui proses ini, maka kata “of”, “in”, dan “a” pada ketiga dokumen dihapus lalu di-stemming sehingga didapatkan term-term (documents terms) sebagai berikut:
– ship – gold – damage – fire – deliver – silver – arrive – truck
Tahapan proses keseluruhan diatas dinamakan preprocessing text.
Pada tahap selanjutnya tiap dokumen diwujudkan sebagai sebuah vektor dengan elemen sebanyak term query yang terdapat dalam tiap dokumen yang berhasil dikenali dari tahap ekstraksi dokumen sebelumnya. Vektor tersebut beranggotakan bobot dari setiap term query yang dihitung berdasarkan metode Term Weighting TF-IDF.

Representasi Term Query Pada Ruang Vektor
Fungsi metode ini adalah untuk mencari representasi nilai dari tiap dokumen dalam koleksi. Dari sini akan dibentuk suatu vektor antara dokumen dan query yang ditentukan oleh nilai bobot term query dalam dokumen.
Semakin besar nilai perhitungan bobot yang diperoleh maka semakin tinggi tingkat similaritas dokumen terhadap query. Contohnya untuk perhitungan bobot (w) term query silver dalam dokumen2 (d2) = Delivery of silver arrived in a silver truck, yaitu: jumlah kemunculan term silver dalam dokumen 2 (d2) adalah sebanyak dua kali (tf = 2), total dokumen yang ada di koleksi sebanyak tiga dokumen (D)=3, dari ketiga dokumen dalam koleksi, term silver muncul pada dokumen 2 (d2) saja, sehingga total dokumen yang mengandung term silver adalah satu dokumen (df)=1, sehingga dapat diperoleh nilai bobot term silver pada dokumen 2 (d2)

Contoh Perhitungan Term Weighting TF-IDF
Dengan demikian dapat diperoleh nilai bobot (w) untuk setiap term pada query dalam masing-masing dokumen:

Tabel matrix Term Weighting TF-IDF
Semoga artikel berjudul “Pembobotan Kata atau Term Weighting TF-IDF” bisa bermanfaat dan silahkan jika masih ada yang kurang jelas dapat ditanyakan di kolom komentar dibawah ini.
Silahkan Like Fanspage dan Share artikel ini jika menurut kamu bermanfaat untuk kamu dan orang lain.
Bang minta refensi atau daftar pustaka artikelnya
mohon maaf untuk daftar referensi menyusul 🙂
bang bisa minta kontak person gak? saya mau nanya lebih detail tentang TF IDF ini.
Selamat Siang Ka..
Boleh minta tolong ka, untuk perhitungan TF-IDF di match dengan perhitungan Cosine Similarity bagaimana ya ka caranya? Untuk bahan skripsi saya soalnya ka. bisa di email saja ka caranya?
Terima kasih.
Ditunggu metode SVM yaa ^^
kenapa yang di hitung term nya hanya gold silver dan truck saja?
sebagai contoh query nya
Kak, mungkin bisa dibantu untuk koding programnya?
banyak library yang dapat kita gunakan secara langsung, jadi tidak perlu coding dari awal
Kakk kalo nilai IDF nya negatif bagaimana?
nilai IDF didapat dari formula log(D/df) dimana “D” adalah jumlah dokumen sedangkan “df” adalah jumlah dokumen yang mengandung term, jadi tidak dimungkinkan nilai IDF negatif
Min, knp hasil tf.idf nya di jumlahkan semua (sum) ?
Kalau yang saya baca rumus di berbagai jurnal dan referensi tidak ada pentotalan jumlah bobot, tetapi hanya sampai berbentuk vektor saja.
perhitungan jumlah bobot untuk mengetahui ranking dokumen (d1, d2, d3) yang paling mirip dengan query (gold, silver, truck)
Bang itu yang truk kok dfnya bukan 3 ya?
karena kata “truck” muncul di dokumen d2 & d3