Tahap text preprocessing merupakan tahap awal dari text mining.Text
preprocessing merupakan proses menggali, mengolah dan mengatur
informasi dengan cara menganalisis hubungannya dengan aturan-aturan
yang ada di data tekstual semi terstruktur atau tidak terstruktur (Luhulima,
Marji, dan Muflikhah, 2013).
Untuk lebih efektif dalam proses text preprocessing, dilakukan
langkah transformasi data ke dalam suatu format yang memudahkan untuk
kebutuhan pemakai. Proses ini disebut text preprocessing. Setelah dalam
bentuk yang lebih terstruktur dengan adanya proses diatas, data dijadikan
sumber data yang dapat diolah lebih lanjut. Tahapan text preprocessing,
diantaranya: Tokenizing, Stopword removal, Stemming dan pembobotan.
2.3.1.Tokenizing
Tahap Tokenizing merupakan tahap permotongan atau pemenggalan
kata dalam suatu dokumen menjadi potongan-potongan kata yang berdiri
sendiri. Pada tahap ini juga akan menhilangkan karakter selain huruf
seperti angka, tanda baca atau karakter yang melekat pada kata tersebut
dan mengubah huruf ke huruf kecil (Manning, 2008).
Contoh proses Tokenizing:
Kalimat asal:
Kunanti dengan penuh Kesabaran.
Hasil dari Text Preprocessing:
kunanti penuh
2.3.2.Stopword Removal/Filtering
Tahap filtering adalah tahap mengambil kata-kata penting dari
hasil tokenizing.Menggunakan algoritma stoplist yaitu menghilangkan
kata yang kurang penting atau wordlist yaitu menyimpan kata penting.
Contoh stopword yaitu: yang, juga, dari, dia, kami, kamu, aku, saya, ini,
itu, atau, dan, tersebut, pada, dengan, adalah, yaitu, ke, tak, tidak, di,
pada, jika, maka, ada, pun, lain, saja, hanya, namun, seperti, kemudian,
dan lain-lain.
Contoh proses stopword:
Hasil dari text tokenizing:
kunanti penuh
dengan kesabaran
Hasil dari stopword:
nanti penuh
dengan kesabaran
2.3.3.Stemming
Stemming merupakan suatu proses yang terdapat dalam sistem IR
yang mentransformasi kata-kata yang terdapat dalam suatu dokumen ke
kata-kata akarnya (root word) dengan menggunakan aturan-aturan
tertentu. Sebagai contoh, kata bersama, kebersamaan, menyamai, akan
distem ke root word-nya yaitu “sama”. Proses stemming pada teks
ber-Bahasa Indonesia berbeda dengan stemming pada teks berbahasa Inggris.
Pada teks berbahasa Inggris, proses yang diperlukan hanya proses
menghilangkan sufiks. Sedangkan pada teks berbahasa Indonesia, selain
sufiks, prefiks, dan konfiks juga dihilangkan.
Algoritma stemming yang digunakan dalam penelitian ini adalah
Stemming Sastrawi. Sastrawi stemmer merupakan sebuah library
stemmer sederhana yang didesain untuk dapat digunakan secara mudah.
Sastrawi stemmer menerapkan algoritma yang berbasis Nazief dan
Adriani, kemudian ditingkatkan oleh algoritma CS (Confix Stripping),
kemudian ditingkatkan lagi oleh algoritma ECS (Enhanced Confix
Strippin), lalu ditingkatkan lagi oleh Modified ECS.
Dengan menggunakan algoritma-algoritma tersebut, banyak
persoalan stemming berhasil diatasi:
1. Mencegah overstemming dengan kamus kata dasar.
2. Mencegah understemming dengan aturan-aturan tambahan
3. Kata bentuk jamak berhasil distem. Contoh : buku-buku
menjadi buku. (Sastrawi)
Algoritma yang dibuat oleh Bobby Nazief dan Mirna Adriani ini
memiliki tahap-tahap sebagai berikut:
1.Cari kata yang akan distem dalam kamus. Jika ditemukan maka
diasumsikan bahwa kata tesebut 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
a. 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.
b. 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.
a. Periksa tabel kombinasi awalan-akhiran yang tidak
diijinkan. Jika ditemukan maka algoritma berhenti, jika
tidak pergi ke langkah 4b.
b. 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.
Tipe awalan ditentukan melalui langkah-langkah berikut:
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.
Tabel 2. 1 Tabel Imbuhan Awalan dan Akhiran
Awalan Akhiran yang tidak diijinkan
be- -i
di- -an
ke- -i, -kan
me- -an
se- -i, -kan
Tabel 2. 2 Tabel Cara menentukan tipe awalan untuk kata yang diawali dengan "te"
Following Characters Tipe
Awalan
Set 1 Set 2 Set 3 Set 4
“-r-“ “-r-“ - - none
“-r-“ Vowel - - Ter-luluh
“-r-“ Not(vowel
or “-r-“)
“-er-“ vowel Ter
“-r-“ Not(vowel
or “-r-“)
“-er-“ Not vowel ter-
“-r-“ Not(vowel
or “-r-“)
not “-er-“ - Ter
Not(vowel
or “-r-“)
“-er-“ Vowel - none
or “-r-“)
Tabel 2. 3 Tabel Jenis awalan berdasarkan tipe awalanya
Tipe Awalan Awalan yang harus dihapus
di- di-
ke- ke-
se- se-
te- te-
ter- ter-
ter-luluh Ter
2.3.4.Pembobotan tf-idf
Pembobotan dilakukan untuk mendapatkan nilai dari kata (term)
yang telah diekstrak.Metode pembobotan yang digunakan yaitu
pembobotan tf-idf. Pada tahap ini, setiap dokumen diwujudkan sebagai
sebuah vector dengan elemen sebanyak kata (term) yang didapat dari tahap
ekstraksi dokumen. Vector tersebut beranggotakan bobot dari setiap term
yang didapat dengan perhitungan bobot tf-idf.
Formula yang digunakan untuk menghitung bobot (w)
masing-masing dokumen terhadap kata kunci adalah:
Dimana:
t = kata ke-t dari kata kunci
W = bobot dokumen ke-d terhadap kata ke-t
Setelah bobot (w) masing-masing dokumen diketahui, maka
dilakukan proses sorting/pengurutan dimana semakin besar nilai w,
semakin besar tingkat similaritas dokumen tersebut terhadap kata yang
dicari, demikian sebaliknya.
Idf =
Dimana:
N = jumlah dokumen
dfj = jumlah dokumen j yang mengandung kata
Metode ini berguna untuk mencari representasi nilai dari tiap-tiap
dokumen dari kumpulan data training. Representasi nilai akan dibentuk
menjadi vector antara dokumen dengan kata (document with terms).
Kesamaan antara dokumen dengan cluster ditentukan oleh sebuah
prototype cluster yang disebut juga dengan cluster centroid (Putri, 2013).
Dalam dokumen
Identifikasi makna kata Sabar dalam artikel berbahasa Indonesia dengan algoritma K-Means Clustering.
(Halaman 28-34)