Text Mining
Text Mining
Metode TF-IDF merupakan suatu cara untuk memberikan bobot hubungan suatu kata
(term) terhadap dokumen. Metode ini menggabungkan dua konsep untuk perhitungan bobot,
yaitu frekuensi kemunculan sebuah kata di dalam sebuah dokumen tertentu dan inverse frekuensi
dokumen yang mengandung kata tersebut. Frekuensi kemunculan kata di dalam dokumen yang
diberikan menunjukkan seberapa penting kata itu di dalam dokumen tersebut. Frekuensi
dokumen yang mengandung kata tersebut menunjukkan seberapa umum kata tersebut. Sehingga
bobot hubungan antara sebuah kata dan sebuah dokumen akan tinggi apabila frekuensi kata
tersebut tinggi di dalam dokumen dan frekuensi keseluruhan dokumen yang mengandung kata
tersebut yang rendah pada kumpulan dokumen.
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 :
1. 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).
2. 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).
3. TF logaritmik, hal ini untuk menghindari dominansi dokumen yang mengandung sedikit
term dalam query, namun mempunyai frekuensi yang tinggi.
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:
Proses TF-IDF
Dimana :
d : dokumen ke-d
t : kata ke-t dari kata kunci
W : bobot dokumen ke-d terhadap kata ke-t
tf : banyaknya kata yang dicari pada sebuah dokumen
IDF : Inversed Document Frequency
D : total dokumen
df : banyak dokumen yang mengandung kata yang dicari
Setelah bobot (W) masing-masing dokumen diketahui, maka dilakukan proses pengurutan
dimana semakin besar nilai W, semakin besar tingkat similaritas dokumen tersebut terhadap kata
kunci, demikian sebaliknya.
Cos(Q, D1) = 0
STEMMING
Stemming merupakan suatu proses atau cara dalam menemukan kata dasar dari suatu
kata. Stemming sendiri berfungsi untuk menghilangkan variasi-variasi morfologi yang melekat
pada sebuah kata dengan cara menghilangkan imbuhan-imbuhan pada kata tersebut, sehingga
nantinya di dapat suatu kata yang benar sesuai struktur morfologi bahasa Indonesia yang benar.
Prosses Stemming
Algoritma Nazief & Adriani yang dibuat oleh Bobby Nazief dan Mirna Adriani ini memiliki
tahap-tahap sebagai berikut:
1. Pertama cari kata yang akan diistem dalam kamus kata dasar. Jika ditemukan maka
diasumsikan kata adalah root word. Maka algoritma berhenti.
2. Inflection Suffixes (“-lah”, “-kah”, “-ku”, “-mu”, atau “-nya”) dibuang. Jika
berupa particles (“-lah”, “-kah”, “-tah” atau “-pun”) maka langkah ini diulangi lagi untuk
menghapus Possesive Pronouns (“-ku”, “-mu”, atau “-nya”), jika ada.
3. Hapus Derivation Suffixes (“-i”, “-an” atau “-kan”). Jika kata ditemukan di kamus, maka
algoritma berhenti. Jika tidak maka ke langkah 3a
1. Jika “-an” telah dihapus dan huruf terakhir dari kata tersebut adalah “-k”, maka “-k”
juga ikut dihapus. Jika kata tersebut ditemukan dalam kamus maka algoritma
berhenti. Jika tidak ditemukan maka lakukan langkah 3b.
2. Akhiran yang dihapus (“-i”, “-an” atau “-kan”) dikembalikan, lanjut ke langkah 4.
4. Hapus Derivation Prefix. Jika pada langkah 3 ada sufiks yang dihapus maka pergi ke
langkah 4a, jika tidak pergi ke langkah 4b.
1. Periksa tabel kombinasi awalan-akhiran yang tidak diijinkan. Jika ditemukan maka
algoritma berhenti, jika tidak
2. pergi ke langkah 4b.
3. For i = 1 to 3, tentukan tipe awalan kemudian hapus awalan. Jika root word belum
juga ditemukan lakukan langkah 5, jika sudah maka algoritma berhenti. Catatan: jika
awalan kedua sama dengan awalan pertama algoritma berhenti.
5. Melakukan Recoding.
6. Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal diasumsikan
sebagai root word. Proses selesai.
1. Jika awalannya adalah: “di-”, “ke-”, atau “se-” maka tipe awalannya secara berturut-turut
adalah “di-”, “ke-”, atau “se-”.
2. Jika awalannya adalah “te-”, “me-”, “be-”, atau “pe-” maka dibutuhkan sebuah proses
tambahan untuk menentukan tipe awalannya.
3. Jika dua karakter pertama bukan “di-”, “ke-”, “se-”, “te-”, “be-”, “me-”, atau “pe-” maka
berhenti.
4. Jika tipe awalan adalah “none” maka berhenti. Jika tipe awalan adalah bukan “none” maka
awalan dapat dilihat pada Tabel 2. Hapus awalan jika ditemukan.
Following Characters
Tipe
Set 1 Set 2 Set 3 Set 4 Awalan
“-r-“ “-r-“ – – none
ter-
“-r-“ – – luluh
not (vowel
“-r-“ or “-r-”) “-er-“ vowel ter
not (vowel not
“-r-“ or “-r-”) “-er-“ vowel ter-
not (vowel not “-
“-r-“ or “-r-”) er-“ – ter
not
(vowel or
“-r-”) “-er-“ vowel – none
not
(vowel or not
“-r-”) “-er-“ vowel – te
1. Jika kedua kata yang dihubungkan oleh kata penghubung adalah kata yang sama
maka root word adalah bentuk tunggalnya, contoh : “buku-buku” root word-nya adalah
“buku”.
2. Kata lain, misalnya “bolak-balik”, “berbalas-balasan, dan ”seolah-olah”. Untuk
mendapatkan root word-nya, kedua kata diartikan secara terpisah. Jika keduanya
memiliki root word yang sama maka diubah menjadi bentuk tunggal, contoh: kata
“berbalas-balasan”, “berbalas” dan “balasan” memiliki root word yang sama yaitu “balas”,
maka root word “berbalas-balasan” adalah “balas”. Sebaliknya, pada kata “bolak-balik”,
“bolak” dan “balik” memiliki root word yang berbeda, maka root word-nya adalah “bolak-
balik”.
1. Untuk tipe awalan “mem-“, kata yang diawali dengan awalan “memp-” memiliki tipe
awalan “mem-”.
1. Tipe awalan “meng-“, kata yang diawali dengan awalan “mengk-” memiliki tipe awalan
“meng-”.
Berikut contoh-contoh aturan yang terdapat pada awalan sebagai pembentuk kata dasar.
1. Awalan SE-
Contoh :
Se + bungkus = sebungkus
Se + nasib = senasib
Se + arah = searah
Se + ekor = seekor
2. Awalan ME-
Contoh :
Me + inap = menginap
Me + asuh = mengasuh
Me + ubah = mengubah
Me + ekor = mengekor
Me + oplos = mengoplos
Contoh :
Me + beri = member
Me + besuk = membesuk
Me + konsonan c menjadi “men”
Contoh :
Me + cinta = mencinta
Me + cuci = mencuci
Contoh :
Me + didik = mendidik
Me + dengkur = mendengkur
Contoh :
Me + gosok = menggosok
Me + hukum = menghukum
Contoh :
Me + jepit = menjepit
Me + jemput = menjemput
Contoh :
Me + kukus = mengukus
Me + kupas = mengupas
Me + pesona = mempesona
Me + pukul = memukul
Contoh :
Me + sapu = menyapu
Me + satu = menyatu
Contoh :
Me + tanama = menanam
Me + tukar = menukar
Contoh :
Me + lempar = melempar
Me + masak = memasak
Me + naik = menaik
Me + rawat = merawat
Me + warna = mewarna
3. Awalan KE-
Contoh :
Ke + bawa = kebawa
Ke + atas = keatas
4. Awalan PE-
Contoh :
Pe + hitung + an = perhitungan
Pe + gelar + an = pergelaran
Pe + kantor + = perkantoran
Pe + konsonan “t” menjadi “pen” (luluh)
Contoh :
Pe + tukar = penukar
Pe + tikam = penikam
Contoh :
Pe + jahit = penjahit
Pe + didik = pendidik
Pe + cuci = pencuci
Pe + zina = penzina
Contoh :
Pe + beri = pemberi
Pe + bunuh = pembunuh
Contoh :
Pe + pikir = pemikir
Pe + potong = pemotong
Contoh :
Pe + siram = penyiram
Pe + sabar = penyabar
Contoh :
Pe + lamar = pelamar
Pe + makan = pemakan
Pe + nanti = penanti
Pe + wangi = pewangi