Filtering
2.2 Emosi
Tahap filtering adalah tahap mengambil kata -
Emosi adalah pengalaman afektif yang disertai kata penting dari hasil token. Bisa menggunakan
penyesuaian dari dalam diri individu tentang algoritma stoplist (membuang kata yang kurang
keadaan mental dan fisik dan berwujud suatu penting) atau wordlist (menyimpan kata penting).
tingkah laku yang tampak. Stoplist / stopword adalah katakata yang tidak
deskriptif yang dapat dibuang dalam pendekatan
Adapun beberapa fungsi dari emosi adalah
bag-of-words. Contoh stopwords adalah “yang”,
sebagai berikut :
“dan”, “di”, “dari” dan seterusnya.
1. Survival atau untuk mempertahankan
Penanganan kata „Tidak‟
hidup, seperti pada hewan.
Kata „tidak‟ dapat sangat mempengaruhi makna
2. Energizer atau pembangkit energi yang
dari sebuah kalimat. Sebuah kalimat yang awalny
memberikan kegairahan dalam kehidupan
menunjukkan emosi senang dapat berbuah menjadi
.
sedih ketika disisipi dengan kata tidak. Misalnya
3. Messenger atau pembawa pesan (Martin
kata berhasil menjadi tidak berhasil. Untuk
dalam Khodijah, 2006).
diperlukan penanganan khusus untuk kata „tidak‟
ini, yaitu dengan mencari antonym dari kata yang
muncul setelah „tidak‟.
Stemming
Tahap stemming adalah tahap mencari root kata
dari tiap kata hasil filtering. Pada tahap ini
dilakukan proses pengembalian berbagai bentukan
kata ke dalam suatu representasi yang sama. Tahap
ini kebanyakan dipakai untuk teks berbahasa Indonesia tidak memiliki rumus bentuk baku yang
inggris dan lebih sulit diterapkan pada teks permanen.
berbahasa Indonesia. Hal ini dikarenakan bahasa Counting
Dimulai dengan perhitungan jumlah kata dalam 3.1 Deskripsi Umum Sistem
setiap dokumen, yang kemudian akan dihitung
Pada aplikasi chatting server client ini, proses
menggunakan skema pembobotan yang
text mining dibagi menjadi 2 jenis, yaitu proses
dikehendaki.
pertama adalah text mining untuk mencari kata
kunci dari tiap kelas emosi dengan inputan data
2.4 Naïve Bayes
ISEAR, dan proses kedua adalah text mining untuk
Naïve Bayes merupakan salah satu metode
mengolah teks inputan(obrolan) dari client untuk
machine learning yang menggunakan perhitungan
dikirimkan hasil text mining nya ke client lain.
probabilitas. Untuk klasifikasi Bayes sederhana
Proses text mining yang pertama terjadi sekali
yang lebih dikenal sebagai naïve Bayesian
hanya saat aplikasi dijalankan di sisi server.
Classifier dapat diasumsikan bahwa efek dari suatu
Sedangkan proses text mining yang kedua
nilai atribut sebuah kelas yang diberikan adalah
dilakukan setiap kali client I mengirimkan teks
bebas dari atribut-atribut lain. Asumsi ini disebut
obrolan ke client II melewati sisi server. Proses
class conditional independence yang dibuat untuk
text mining selalu terjadi di sisi server.
memudahkan perhitungan-perhitungan pengertian
ini dianggap “naive”, dalam bahasa lebih 3.2 Proses Text Mining
sederhana naïve itu mengasumsikan bahwa
Proses text mining digunakan untuk mencari
kemunculan suatu term kata dalam suatu kalimat
kata kunci/keyword. Proses ini sangat dibutuhkan
tidak dipengaruhi kemungkinan kata-kata yang
untuk mencari perwakilan dari sebuah dokumen.
lain dalam kalimat padahal dalam kenyataanya
Untuk mendapatkan kata kunci dari sebuah
bahwa kemungkinan kata dalam kalimat sangat
dokumen, maka harus melewati tahapan – tahapan
dipengaruhi kemungkinan keberadaan kata-kata
proses dibawah ini. Khusus untuk dokumen
yang dalam kalimat. Naive Bayes classifier dapat
berbahasa Indonesia tahapan prosesnya adalah
dilatih untuk mengklasifikasi pola-pola yang
Tokenizing, Filtering, Stemming, dan Counting.
melibatkan ribuan atribut dan diterapkan untuk
ribuan pola. Akibatnya, Naive Bayes merupakan 3.2.1 Tokenizing
algoritma yang banyak digunakan untuk text
Proses tokenizing dilakukan dengan tahapan
mining dan masalah lain klasifikasi besar. Teori
algoritma sebagai berikut :
dari Naïve Bayes sendiri adalah sebagai berikut:
Membuat object StringTokenizer dengan alias
P (A|B) = (P(B|A) * P(A))/P(B)
st, untuk melakukan proses tokenizing.
Rumus di atas dapat dibaca sebagai peluang
Karena sebenarnya source untuk proses ini
kejadian A sebagai B ditentukan dari peluang
sudah ada pada class di java dengan nama
B saat A, Peluang A, dan Peluang B. Agar lebih
StringTokenizer. Deklarasi object tersebut
jelas, dalam kasus klasifikasi emosi dari teks maka
disertakan dengan pattern – pattern sebagai
rumus di atas akan dirubah menjadi:
penanda token. Misalnya : – …&?/.,:\'\"“”-
P(Ki|T) = (P(T|Ki)*P(Ki)) / P(T)
()
Dimana P(Ki|D) adalah peluang dokumen teks
\r\n, dsb.
T pada Kategori Ki.
Masukkan kedalam hasil token kedalam
variable temp dengan metod nextToken() dari
3. Perancangan dan Pembuatan Sistem object st.
Selama kondisi st.hasMoreTokens true, dalam
Sebelum pembuatan akan dilakukan artian text masih ada yang di token. Maka
perencanaan untuk alur pada sistem yang kembali ke tahap 2.
terdiri dari Deskripsi Umum, Text Mining, Naïve
3.2.2 Filtering
Bayes, Rancangan Tampilan, Rancangan Proses.
Tahap filtering adalah tahap mengambil kata-
kata penting dari hasil token. Bisa menggunakan
algoritma stop list (membuang kata yang kurang
penting) atau word list (menyimpan kata penting).
Untuk lebih jelasnya, berikut adalah algoritma
proses Filtering :
Insialisasi flag=0, inisialisasi content_filter = Lakukan proses Loop dengan kondisi
“”, string_input=hasil token. while(!feof(string_input)),
kata_string=fgets(string_input)
Lakukan nested Loop dengan kondisi while(! kunci antar kedua dokumen. Dokumen yang
feof(stopdic)) dibandingkan adalah dokumen berita dan dokumen
Cek jika string_input==stopdic, maka kamus kategori. Nilai dari korelasi tersebut
flag=”sama”. Keluar dari loop stopdic. Jika menunjukkan seberapa sering sebuah kata keluar di
tidak, maka flag=”beda”. Ulangi langkah ini kelas tertentu.
sampai kondisi pada langkah nomor 3 false.
3.3 Proses Text Mining
Setelah keluar Loop stopdic, jika flag=”beda”,
content_filter=kata_string. Ulangi langkah 3- Algoritma Naïve Bayes digunakan untuk
5 sampai kondisi pada langkah nomor 2 false. mencari probabilitas tertinggi suatu teks termasuk
kelas yang mana. Algoritma Naïve Bayes diawali
content_filter adalah hasil dari proses filtering.
terlebih dahulu oleh proses text mining namun
3.2.2.1 Penanganan Kata ‘Tidak’ proses counting digunakan untuk mencari
Pada tahap filtering, ketika ditemukan probabilitas kata dalam tiap kelas.
kata
3.4 Rancangan Tampilan
„tidak‟, maka akan dicari antonim kata dari
kata setelah kata „tidak‟. 3.4.1 Rancangan Tampilan Login
user logout
mengirim pesan
Gambar 3.5
tokenizing
Pengelompokan
teks ke dalam
kelas
filtering
Menampilkan output
(Teks+emoticon stemming
Gambar 3.4
Naive
Bayes
jatuh 4 panas 4
cinta 11 harap 6
temu 15 hari 31
utama 3 rasa 50
pisah 14 pasang 4
terima 37 teman 61
Gambar 4.1 Aplikasi Desktop
Server
Emoticon surat 19 dama 2
Chat
Ketika client mengirim pesan, sebelum tawarkat 1 riku 1
pesan dikirim ke client lain, pesan akan
diproses dulu oleh server untuk menentukan kerja 14 kalam 4
klasifikasi teks. Kemudian teks pesan
ditambahkan dengan emoticon sesuai hasil
klasifikasi teks berdasarkan emosi nya seperti 4.2.1 Percobaan Text Mining
yang ditunjukkan pada gambar Berikut akan dilakukan percobaan terhadap
4.2. beberapa contoh kalimat input beserta dengan
hasil probabilitas untuk tiap kelas emosi.
5.2 Saran
1. Pada proses klasifikasi teks, yakni
masih terdapat beberapa error yang
mungkin
terjadi. Diharapkan untuk
kedepannya agar kamus di dalam
kelas dapat ditambah.
2. Untuk memperkecil jumlah error
yang
muncul, pada proses klasifikasi text
pada tahap analisa dapat di coba
dengan menggunakan metode yang
lain, misalnya metode korelasi,
metode K-Means, Naïve Bayes
multinomial, metode clustering,
atau metode yang lain. Agar dapat
dibandingkan seberapa besar tingkat
ketepatan.
6. Daftar Pustaka
1. Destuardi, Surya Sumpeno. ,
“Klasifikasi Emosi Untuk Teks Bahasa
Indonesia Menggunakan Metode
Naive Bayes”,2009.
2. Surya Sumpeno, Dwi Cahyono ,
Junaidillah
Fadlil, Mochammad Hariadi,
“Agen
Percakapan Berbasis Pengetahuan Teks
Berbahasa Indonesia”, 2009.
3. http://emotion-
research.net/toolbox/t oolboxdatabase.2006-
10-
13.2581092615 waktu akses : 14 Juli 2010,
17:34
4. http://www.affect ive-
sciences.org/researchmateria l waktu akses : 14
Juli 2010, 17:35
5. http://www.codeproject.com/KB/java/java_appl
et_chat_with_gui.aspx waktu akses : 1 Februari
2011, 13:15
6. http://id.wikipedia.org/wiki/Ko munikasi_nonve
rbal waktu akses : 1 Februari 2011, 13:18
7. Badrullami, Moh, “Rancang Bangun Aplikasi
Server Crawling Berita Online Sebagai
Penyedia Berita Up To Date Pada Handphone
Yang Mendukung WAP”, 2010.
8. Pitoyo, Endhy. , “Klasifikasi Dokumen
Dampak Lumpur Sidoarjo Menggunakan
Metode Bayesian”, 2010.
9. Agusetia, Usmaida., “Web Mining Untuk
Pencarian Berdasarkan Kata Kunci Dengan
Automatic Clustering”,2009.