• Tidak ada hasil yang ditemukan

@Sifni_Jumaila Jun 26 View translation .kayak lewat dilorong setan. Sumpah serem. #takut

@shining_ning Jun 26 View translation Kok td ad suara suara horor yg berasa ad di dpn kamar ku, huahhh apakah itu >___< #takut

Gambar 3.5 Tweet Takut

3.2 Deskripsi Sistem

Sistem ini digunakan untuk mengetahui akurasi penggolongan tweet berdasarkan emosi dengan menggunakan metode K-Means Clustering. Sistem dapat melakukan tahap preprocessing, pembobotan, normalisasi,

K-Means Clustering, menghitung akurasi menggunakan confusion matrix, dan

menguji data baru.

Tahap Preprocessing

Pada tahap preprocessing, sistem melakukan tahap tokenizing, remove

stopword dan stemming. Sistem juga melakukan beberapa perlakuan khusus

terhadap data yang digunakan karena tweet mengandung banyak noise. Sistem akan menghapus link url, username, tanda retweet, dan beragam noise lain. Sistem akan mengubah kata tidak baku atau kata yang disingkat menjadi kata yang baku. Sistem juga akan mengambil kata yang diawali tanda pagar (hashtag).

Langkah-langkah tokenizing :

31

2. Ambil tiap token pada kalimat tweet dengan menggunakan spasi sebagai pemisah antara satu token dengan token lain.

3. Simpan tiap kalimat tweet yang terdiri dari token penyusun.

Langkah-langkah remove stopword :

1. Baca tiap token dan cocokkan dengan kata pada daftar

stopword.

2. Hapus token jika cocok dengan kata pada daftar stopword.

Langkah-langkah stemming :

1. Baca tiap token dan cocokkan dengan kata pada daftar kamus kata dasar.

2. Jika token cocok dengan kata pada daftar kamus kata dasar, berarti token adalah root word..

3. Jika token tidak cocok dengan kata pada daftar kamus kata dasar, hapus akhiran dan awalan pada token.

4. Cocokkan hasil langkah 3 dengan kata pada daftar kamus kata dasar, jika tidak cocok, anggap token sebelum dikenai langkah 3 sebagai root word.

Langkah-langkah hapus noise tweet :

1. Menghapus url : menghapus kalimat yang berawalan “www”,

http” atau “https.

2. Menghapus username : menghapus kata yang berawalan tanda

32

3. Menghapus kata berawalan angka misalnya “30hari”.

4. Memangkas huruf sama berurutan misalnya “jalannn” menjadi “jalan”.

5. Menghapus angka, tanda baca, dan karakter selain huruf. 6. Menghapus noise lain yang ada dalam data seperti tanggal

penulisan tweet, tanda retweet, kata “view” dan “translation”,

serta penanda waktu penulisan tweet misalnya hour”, “hours”,

ago”.

Langkah-langkah sinonim kata :

1. Cari sinonim kata pada daftar kata sinonim.

2. Jika ditemukan, ganti kata awal dengan kata sinonim. 3. Jika tidak ditemukan, kata awal tidak diganti.

Langkah-langkah penanganan kata negasi :

1. Temukan kata tidak, bukan, atau tanpa.

2. Gabung kata tidak, bukan, atau tanpa dengan kata di belakang misalnya “tidak” “senang” menjadi “tidaksenang”.

3. Hapus kata yang telah digabung dengan kata tidak, bukan, atau tanpa.

Tahap Pembobotan

Pada tahap pembobotan, sistem akan merepresentasikan tweet sebagai

vector dengan nilai bobot masing-masing term. Perhitungan bobot term

33

Langkah-langkah pembobotan tf-idf :

1. Untuk setiap data tweet, lakukan langkah 2 – 4. 2. Hitung nilai tf masing-masing kata.

3. Hitung nilai idf masing-masing kata.

4. Hitung bobot tweet dengan mengalikan nilai tf dan idf.

Tahap Normalisasi

Pada tahap normalisasi, sistem akan menggunakan dua macam normalisasi yaitu z-score dan min-max. Dua macam normalisasi digunakan untuk mendapatkan metode yang lebih optimal pada penelitian ini. Nilai bobot term yang dinormalkan hanya bobot term yang dominan saja. Bobot dominan yaitu bobot yang bernilai lebih dari threshold tertentu.

Langkah-langkah normalisasi z-score :

1. Hitung nilai mean pada setiap tweet.

2. Hitung nilai standard deviation pada setiap tweet.

3. Hitung bobot baru. Bobot baru didapat dari bobot lama dikurangi rata-rata (mean) kemudian dibagi standard deviation

Langkah-langkah normalisasi min-max:

1. Temukan nilai min dan max pada setiap kata.

2. Hitung bobot baru. Bobot baru didapat dari bobot lama dikurangi nilai terkecil (min) kemudian dibagi dengan nilai

34

terbesar (max) dikurangi nilai terkecil (min). Jika nilai min sama dengan nilai max, bobot baru akan ditentukan bernilai 0,5.

Tahap Clustering

Pada tahap clustering, sistem akan mengelompokkan tweet ke dalam lima cluster yaitu cinta, sedih, senang, marah, dan takut. Setiap tweet akan dikelompokkan berdasarkan kemiripan atau kedekatan dengan centroid. Kemiripan antara tweet dengan centroid dihitung menggunakan metode

cosine similarity.

Algoritma K-Means clustering memiliki kelemahan yaitu jika pusat (centroid) awal cluster tidak baik maka hasil akhir pengelompokan juga tidak baik. Oleh karena itu, pada penelitian ini digunakan metode tambahan untuk menentukan centroid awal cluster. Centroid awal ditentukan dengan metode

variance initialization.

Langkah-langkah Variance Initialization:

1. Hitung nilai variance data pada setiap dimensi (kolom data). 2. Temukan kolom dengan nilai variance terbesar, kemudian sort

data.

3. Bagi keseluruhan data menjadi K bagian, K adalah jumlah

cluster.

4. Temukan median (nilai tengah) pada setiap bagian.

5. Gunakan vector data median setiap bagian sebagai centroid awal cluster.

35

Langkah-langkah K-Means Clustering:

1. Initialization: pilih K input vector data sebagai inisialisasi pusat cluster. Centroid awal cluster didapat dari tahap variance initialization.

2. Nearest-neighbor search: untuk setiap input vector, temukan

pusat cluster terdekat, dan masukkan input vector pada cluster terdekat. Kemiripan antara tweet dengan centroid dihitung menggunakan metode cosine similarity.

3. Mean update: update pusat cluster menggunakan rata-rata

(centroid) vector yang tergabung dalam setiap cluster.

4. Stopping rule: ulangi langkah 2 dan 3 sampai tidak ada

perubahan nilai rata-rata (mean).

Tahap Hitung Akurasi

Pada tahap hitung akurasi, sistem akan membandingkan label cluster hasil prediksi sistem dengan label cluster yang ditentukan penulis kemudian merepresentasikan ke dalam sebuah confusion matrix. Kemudian sistem akan menghitung akurasi sistem menggunakan confusion matrix.

Langkah-langkah Uji Akurasi:

1. Baca label aktual tweet berdasarkan hashtag yang diberikan penulis tweet.

36

3. Representasikan label aktual dan prediksi ke dalam confusion

matrix.

4. Hitung akurasi dengan cara membagi jumlah tweet yang tepat dikenali dengan jumlah seluruh data kemudian dikalikan dengan 100 %.

Tahap Uji Data Baru

Pada tahap uji data baru, sistem akan menentukan tweet baru masuk ke

cluster cinta, sedih, senang, marah, atau takut menggunakan centroid akhir

hasil pengujian sistem.

Langkah-langkah Uji Data Baru:

1. Masukkan data tweet baru

2. Tentukan centroid akhir tahap clustering sebagai penentu data baru termasuk cluster cinta, marah, sedih, senang, dan takut. 3. Lakukan tahap preprocessing, pembobotan dan normalisasi

sehingga didapat vector data tweet baru.

4. Hitung kemiripan data baru dengan lima centroid menggunakan metode cosine similarity.

5. Tentukan emosi tweet berdasarkan kedekatan atau kemiripan

Dokumen terkait