analisis sentimen terhadap akun penyebar ujaran … · 2020. 4. 24. · analisis sentimen terhadap...
TRANSCRIPT
-
ANALISIS SENTIMEN TERHADAP AKUN PENYEBAR UJARAN
KEBENCIAN DI TWITTER
Oleh
Restu Zakharia
NIM: 622014004
Skripsi
Untuk melengkapi salah satu syarat memperoleh
Gelar Sarjana Teknik
Program Studi Sistem Komputer
Fakultas Teknik Elektronika dan Komputer
Universitas Kristen Satya Wacana
Salatiga
Mei 2019
-
ANALISIS SENTIMEN TERHADAP AKUN PENYEBAR UJARAN
KEBENCIAN DI TWITTER
Oleh
Restu Zakharia
NIM: 622014004
Skripsi
Untuk melengkapi salah satu syarat memperoleh
Gelar Sarjana Teknik
Program Studi Sistem Komputer
Fakultas Teknik Elektronika dan Komputer
Universitas Kristen Satya Wacana
Salatiga
Mei 2019
-
ii
ABSTRACT
Social media has become popular for Indonesian people, including children,
teenagers and adults. Social media, Twitter for example, is used to disseminate
information to public, which then can be easily replied by others. Of course, there might
be positive or negative responses. Based on that reason, a tweet detection system
containing hate speech on Twitter using DeepDetect® Server is proposed.
The design of this system aims to classify tweets containing hate speech on
Twitter based on tweets that have been uploaded. This classification is divided into 2
types of classes, namely hate speech and neutral. The testing phase is done by entering
input in the form of text/tweet sentences, tweet URLs and Twitter account names. The
final result of the testing of the system in this paper is the percentage of tweets
containing hate speech and neutral.
After conducting several training processes using the multilayer perceptron
method, the best machine learning model was obtained with 50 hidden neurons in 1
layer using relu activations, learning rate of 0.009, batch size of 64, test split of 10%
and iterations of 1000. From the training results obtained the best model with precision
of 90.42 %, recall of 90.30 % and accuracy of 90.15 %. Tests were carried out on 31
tweets and 6 different Twitter accounts. From 31 tweets, 93.55% successed to detect
correctly and 6.45% were incorrect. The incorrect prediction results are due to the lack
of the number of datasets used in this thesis. The percentage of success can be increased
by adding more valid datasets so that predicted tweets can vary.
Keywords : Twitter, Analisis Sentimen, Multilayer Perceptron, DeepDetect®
-
iii
KATA PENGANTAR
Puji syukur dan terima kasih penulis haturkan kepada Tuhan Yesus Kristus atas
segala berkat kebaikan, kesehatan, rejeki, kekuatan dan kasih setia-Nya yang senantiasa
selama ini menyertai penulis, akhirnya penulis dapat menyelesaikan perancangan serta
penulisan skripsi sebagai syarat untuk menyelesaikan studi di Fakultas Teknik
Elektronika dan Komputer yang tercinta. Terima kasih Allah Bapa Yang Maha Kuasa
atas segala kasih sayang, kekuatan, pengampunan, ujian, didikan, senang, tawa, sedih,
susah selama berkuliah sehingga membuat penulis menjadi orang yang seperti sekarang.
Pada kesempatan ini penulis juga hendak mengucapkan terima kasih yang sebesar-
besarnya atas dukungan dan doa dari orang-orang terkasih di sekeliling penulis.
1. Bapak Sutopo dan Ibu Haryati orang tua yang sangat luar biasa sampai
kapanpun, yang selalu memberi dukungan, kasih sayang, kesabaran,
kemarahan dan keramahan, uang saku dan doa secara terus-menerus. Semoga
sehat selalu dan panjang umur, sampai nantinya penulis dapat membahagiakan
Bapak dan Ibu. Adikku tercinta Tabita Christinne Setefanus terima kasih
untuk support dan doanya, kakakku Dian Ari Tri Wulan sukses untuk kita
semua. Love you my family!
2. Bapak Handoko, Ph.D, dan Bapak Atyanta N. R., M.B.A., M.T., selaku
pembimbing I dan II, terima kasih atas bimbingan dan arahan serta kesediaan
waktu dan tenaga untuk membimbing penulis selama pengerjaan skripsi ini.
3. Dosen-dosen pengajar, karyawan dan laboran FTEK, Mbak Rista, Mbak Yola
dan Mbak Ragil terimakasih atas bantuan dan bimbingannya.
4. Dinindira Kesaktianningtyas, terima kasih atas semua bantuan, dukungan,
perhatian, kasih dan doa yang diberikan kepada penulis, you’re the best!!
5. Saudaraku seangkatan 2014, Dido yang selalu menjadi teman curhat disaat
galau, Eno sang penghibur, Melky konco rono rene, Gondes ketua angkatan
yang super duper sekali, Lisbeth, Rizky, Bancak, Fikra, Elisa, suhu Abdusy
dan teman teman 2014 yang tidak dapat penulis sebutkan satu-satu. Kalian
semua keluarga baruku.
6. Mas Wawa terimakasih atas ilmu dan bimbingannya dalam bidang komputasi.
7. Mas-masku yang ganteng-ganteng, mas Ahong, mas Rikco, mas Gambliss,
mas Boy, mas Joy, mas Riky dan mas-mas yang lain. Adi-adiku, Rein, Pandu,
-
iv
Yougi, Imad, Hoeko, Ferdi dan adek-adek yang lain, semangat buat kalian
semua...!!
8. Keluarga kons Jambewangi 25, Dido, Eno, Rein, Pandu dan Yougi.
Terimakasih untuk semuanya. Kenangan hebat !!
9. Berbagai pihak yang tidak dapat disebutkan satu persatu yang telah turut andil
dalam proses pengerjaan skripsi ini., penulis ucapkan terimakasih.
Penulis menyadari bahwa skripsi ini masih jauh dari kata “sempurna”, oleh karena
itu penulis sangat mengharapkan kritik maupun saran dari pembaca sekalian sehingga
skripsi ini dapat berguna bagi kemajuan teknik elektronika. Akhir kata semoga
pngerjaan dan penulisan skripsi ini dapat bermanfaat dan boleh menjadi inspirasi bagi
siapapun yang membacanya.
Salatiga, 30 April 2019
Penulis
-
v
DAFTAR ISI
INTISARI .............................................................................................. i
ABSTRACT .......................................................................................................... ii
KATA PENGANTAR .......................................................................................... iii
DAFTAR ISI ......................................................................................................... v
DAFTAR GAMBAR ............................................................................................ ix
DAFTAR TABEL ................................................................................................. xi
BAB I PENDAHULUAN ............................................................................. 1
1.1. Tujuan ......................................................................................... 1
1.2. Latar Belakang ............................................................................ 1
1.3. Spesifikasi Sistem ....................................................................... 2
1.4. Sistematika Penulisan ................................................................. 3
BAB II LANDASAN TEORI ......................................................................... 4
2.1. Ujaran kebencian (Hate Speech) ................................................. 4
2.2. Text Mining ................................................................................. 6
2.3. Analisis Sentimen ....................................................................... 6
2.4. Jaringan Syaraf Tiruan (Artificial Neural Networks) .................. 6
2.5. Multilayer Perceptron (MLP) ..................................................... 8
2.6. Fungsi Aktivasi ........................................................................... 9
2.6.1. Fungsi Aktivasi Sigmoid .................................................. 9
2.6.2. Fungsi Aktivasi Tanh ........................................................ 9
2.6.3. Fungsi Aktivasi ReLu ....................................................... 10
-
vi
2.6.4. Fungsi Aktivasi PreLu ...................................................... 11
2.7. DeepDetect Server ...................................................................... 11
2.7.1. Parameter Membuat Machine Learning Service .............. 12
2.7.2. Parameter Tahap Pelatihan ............................................... 14
2.7.3. Parameter Tahap Pengujian .............................................. 16
2.8. Library Caffe .............................................................................. 17
2.9. Precision, Recall dan Accuracy .................................................. 18
BAB III PERANCANGAN ALAT .................................................................. 19
3.1. Gambaran Sistem ........................................................................ 19
3.2. Kebutuhan Perancangan Sistem .................................................. 20
3.2.1. Kebutuhan Data ................................................................ 20
3.2.2. Perancangan Perangkat Keras dan Lunak ......................... 21
3.3. Data Twitter ................................................................................ 22
3.3.1. Data Tweet ........................................................................ 22
3.3.2. Klasifikasi Tweet ............................................................... 22
3.4. Crawler Data ............................................................................... 23
3.4.1. Twitter API ....................................................................... 23
3.4.1. Pengambilan Data ............................................................. 23
3.5. Simple Web Server ...................................................................... 25
3.5. Perancangan User Interface ........................................................ 27
-
vii
BAB IV PENGUJIAN DAN ANALISIS ......................................................... 29
4.1. Hasil Data .................................................................................... 29
4.2. Skenario Pengujian terhadap Algoritma Multilayer Perceptron 29
4.2.1. Skenario Pengujian Jumlah Layer Tersembunyi ............. 31
4.2.2. Skenario Pengujian Fungsi Aktivasi ................................. 32
4.2.3. Skenario Pengujian Partisi Data (test split) ...................... 32
4.2.4. Skenario Pengujian Jumlah Iterasi ................................... 33
4.2.5. Skenario Pengujian Learning Rate ................................... 33
4.2.6. Skenario Pengujian Batch Size ......................................... 34
4.3. Skenario Pengujian Pada Aplikasi Web ..................................... 34
4.3.1. Input Berupa Tweet ........................................................... 34
4.3.2. Input Berupa URL Tweet .................................................. 36
4.3.3. Input Berupa Nama Akun Twitter .................................... 36
4.4. Hasil Pengujian Algoritma Multilayer Perceptron .................... 37
4.4.1. Hasil Pengujian Jumlah Layer Tersembunyi ................... 37
4.4.2. Hasil Pengujian Fungsi Aktivasi....................................... 39
4.4.3. Hasil Pengujian Partisi Data (test split) ............................ 40
4.4.4. Hasil Pengujian Jumlah Iterasi ........................................ 41
4.4.5. Hasil Pengujian Learning Rate ......................................... 43
4.4.6. Hasil Pengujian Batch Size ............................................... 44
4.5. Hasil Pengujian Pada Aplikasi Web ........................................... 46
-
viii
4.5.1. Hasil Pengujian Pada Input Berupa Tweet ........................ 46
4.5.2. Hasil Pengujian Pada Input Berupa URL Tweet ............... 48
4.5.3. Hasil Pengujian Pada Input Berupa Nama Akun Twitter . 48
BAB V KESIMPULAN DAN SARAN .......................................................... 50
5.1. Kesimpulan ................................................................................. 50
5.2. Saran ........................................................................................... 50
DAFTAR PUSTAKA ........................................................................................... 52
LAMPIRAN DOKUMENTASI DATASET ........................................................ 53
LAMPIRAN DOKUMENTASI PENGUJIAN SISTEM ..................................... 55
-
ix
DAFTAR GAMBAR
Gambar 2.1 Arsitektur Jaringan Syaraf Tiruan ...................................................... 7
Gambar 2.2. Arsitektur Multilayer Perceptron. ...................................................... 8
Gambar 2.3. Fungsi Aktivasi Sigmoid. ................................................................... 9
Gambar 2.4. Fungsi Aktivasi Tanh ......................................................................... 10
Gambar 2.5. Fungsi Aktivasi ReLu ........................................................................ 10
Gambar 2.6. Fungsi Aktivasi PreLu ........................................................................ 11
Gambar 2.7. Arsitektur Caffe .................................................................................. 17
Gambar 3.1. Gambaran Cara Kerja Sistem ............................................................. 19
Gambar 3.2. Contoh Tweet yang Akan Diambil ..................................................... 22
Gambar 3.3. Pelabelan Data Latih .......................................................................... 22
Gambar 3.4. Contoh Data Latih Sebelum Tahap Cleaning .................................... 23
Gambar 3.5. Flow Chart Pengambilan Data Tweet ................................................ 24
Gambar 3.6. Diagram Aplikasi Web Server ............................................................ 26
Gambar 3.7. Flow Chart Web Server ...................................................................... 26
Gambar 3.8. User Interface A ................................................................................. 27
Gambar 3.9. User Interface B ................................................................................. 28
Gambar 4.1. Tweet Ahmad Dhani ........................................................................... 35
Gambar 4.2. Grafik Perbandingan Precision, Recall dan Accuracy pada Pengujian
Jumlah Layer Tersembunyi ................................................................ 38
Gambar 4.3. Grafik Perbandingan F1 dan Train Loss pada Pengujian
Jumlah Layer Tersembunyi ................................................................ 38
-
x
Gambar 4.4. Grafik Perbandingan Precision, Recall dan Accuracy pada Pengujian
Fungsi Aktivasi .................................................................................. 39
Gambar 4.5. Grafik Perbandingan F1 dan Train Loss pada Pengujian Fungsi
Aktivasi .............................................................................................. 39
Gambar 4.6. Grafik Perbandingan Precision, Recall dan Accuracy pada Pengujian
Partisi Data ......................................................................................... 40
Gambar 4.7. Grafik Perbandingan F1 dan Train Loss pada Pengujian Partisi
Data .................................................................................................... 41
Gambar 4.8. Grafik Perbandingan Precision, Recall dan Accuracy pada Pengujian
Jumlah Iterasi ..................................................................................... 42
Gambar 4.9. Grafik Perbandingan F1 dan Train Loss pada Pengujian Jumlah
Iterasi .................................................................................................. 42
Gambar 4.10. Grafik Perbandingan Precision, Recall dan Accuracy pada Pengujian
Learning Rate ..................................................................................... 43
Gambar 4.11. Grafik Perbandingan F1 dan Train Loss pada Pengujian Learning
Rate .................................................................................................... 44
Gambar 4.12. Grafik Perbandingan Precision, Recall dan Accuracy pada Pengujian
Batch Size ........................................................................................... 45
Gambar 4.13. Grafik Perbandingan F1 dan Train Loss pada Pengujian Batch Size . 45
-
xi
DAFTAR TABEL
Tabel 2.1. Perbedaan Kebencian dan Kemarahan Menurut Aristoteles ............. 4
Tabel 2.2. Perbandingan Library di DeepDetect Berdasarkan Fungsionalitas ... 11
Tabel 2.3. Perbandingan Library di DeepDetect Berdasarkan GPU Support ..... 12
Tabel 2.4. Perbandingan Library di DeepDetect Berdasarkan Data Masukan ... 12
Tabel 2.5. Deskripsi Query Parameter Create Machine Learning Service ......... 13
Tabel 2.6. Deskripsi Parameter di Machine Learning Library Caffe ................. 13
Tabel 2.7. Deskripsi Parameter di Model Object ................................................ 14
Tabel 2.8. Deskripsi Parameter di Input Object .................................................. 14
Tabel 2.9. Deskripsi Parameter Train dengan Library Caffe ............................. 15
Tabel 2.10. Deskripsi Query Parameter Train Machine Learning Service. .......... 15
Tabel 2.11. Deskripsi Parameter Train Library Caffe untuk Input ...................... 15
Tabel 2.12. Deskripsi Parameter Train Library Caffe untuk Net ......................... 16
Tabel 2.13. Deskripsi Parameter Train Library Caffe untuk Solver ..................... 16
Tabel 2.14. Deskripsi Parameter Train Library Caffe untuk Output .................... 16
Tabel 2.15. Deskripsi Parameter Predict dengan Library Caffe ........................... 17
Tabel 2.16. Deskripsi Query Parameter Predict Machine Learning Service ........ 17
Tabel 3.1. Contoh Penerapan Case Folding ....................................................... 25
Tabel 3.2. Contoh Penerapan Cleaning .............................................................. 25
Tabel 4.1. Skenario Pengujian Jumlah Layer Tersembunyi ............................... 31
Tabel 4.2. Skenario Pengujian Fungsi Aktivasi .................................................. 32
Tabel 4.3. Skenario Pengujian Partisi Data (test split) ....................................... 32
Tabel 4.4. Skenario Pengujian Jumlah Iterasi .................................................... 33
Tabel 4.5. Skenario Pengujian Learning Rate .................................................... 33
Tabel 4.6. Skenario Pengujian Batch Size ........................................................... 34
-
xii
Tabel 4.7. Skenario Pengujian Input Berupa Teks/Kalimat dari Data Baru ....... 35
Tabel 4.8. Skenario Pengujian Input Berupa Teks/Kalimat dari Data
Training .............................................................................................. 36
Tabel 4.9. Skenario Pengujian Input Berupa URL Tweet ................................... 36
Tabel 4.10. Skenario Pengujian Input Berupa Nama Akun Twitter ..................... 37
Tabel 4.11. Hasil Pengujian Jumlah Layer Tersembunyi ..................................... 37
Tabel 4.12. Hasil Pengujian Fungsi Aktivasi ........................................................ 39
Tabel 4.13. Hasil Pengujian Partisi Data (test split) ............................................. 40
Tabel 4.14. Hasil Pengujian Jumlah Iterasi .......................................................... 41
Tabel 4.15. Hasil Pengujian Learning Rate .......................................................... 43
Tabel 4.16. Hasil Pengujian Batch Size ................................................................ 44
Tabel 4.17. Hasil Pengujian Input Berupa Teks/Kalimat dari Data Baru ............. 46
Tabel 4.18. Hasil Pengujian Input Berupa Teks/Kalimat dari Data Training ....... 47
Tabel 4.19. Hasil Pengujian Input Berupa URL Tweet ......................................... 48
Tabel 4.20. Hasil Pengujian Input Berupa Nama Akun Twitter ........................... 49