IMPLEMENTASI EXTREME GRADIENT BOOSTING PADA SENTIMENT ANALYSIS DALAM SOCIAL MEDIA FACEBOOK
SKRIPSI
Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer (S.Kom.)
Ega Pamungkas Susanto 00000019178
PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK DAN INFORMATIKA UNIVERSITAS MULTIMEDIA NUSANTARA
TANGERANG 2020
iii
PERNYATAAN TIDAK MELAKUKAN PLAGIAT
Dengan ini saya:Nama : Ega Pamungkas Susanto
NIM : 00000019178
Program Studi : Informatika
Fakultas : Teknik dan Informatika
Menyatakan bahwa Skripsi ang berj d l Implementasi Extreme Gradient Boosting pada Sentiment Analysis dalam Social Media Facebook ini adalah karya ilmiah saya sendiri, bukan plagiat dari karya ilmiah yang ditulis oleh orang lain atau lembaga lain, dan semua karya ilmiah orang lain atau lembaga lain yang dirujuk dalam Skripsi ini telah disebutkan sumber kutipannya serta dicantumkan di Daftar Pustaka.
Jika di kemudian hari terbukti ditemukan kecurangan/ penyimpangan, baik dalam pelaksanaan Skripsi maupun dalam penulisan laporan Skripsi, saya bersedia menerima konsekuensi dinyatakan TIDAK LULUS untuk mata kuliah Skripsi yang telah saya tempuh.
Tangerang, 22 Mei 2020
iv
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademik Universitas Multimedia Nusantara, saya yang bertanda tangan di bawah ini:
Nama : Ega Pamungkas Susanto
NIM : 00000019178
Program Studi : Informatika
Fakultas : Teknik dan Informatika Jenis Karya : Skripsi
Demi pengembangan ilmu pengetahuan, menyetujui dan memberikan izin kepada Universitas Multimedia Nusantara hak Bebas Royalti Non-eksklusif
(Non-exclusive Royalty-Free Right) atas karya ilmiah saya yang berjudul:
Implementasi Extreme Gradient Boosting pada Sentiment Analysis dalam Social Media Facebook
beserta perangkat yang diperlukan.
Dengan Hak Bebas Royalti Non-eksklusif ini, pihak Universtias Multimedia Nusantara berhak menyimpan, mengalihmedia atau format-kan, mengelola dalam bentuk pangkalan data (database), merawat, dan mendistribusi dan menampilkan atau mempublikasikan karya ilmiah saya di internet atau media lain untuk kepentingan akademis, tanpa perlu meminta izin dari saya maupun memberikan royalty kepada saya, selama tetap mencantumkan nama saya sebagai penulis karya ilmiah tersebut.
Demikian pernyataan ini saya buat dengan sebenarnya untuk dipergunakan sebagaimana mestinya.
Tangerang, 22 Mei 2020
v
HALAMAN PERSEMBAHAN/ MOTO
M b ain i only a receiver, in the Universe there is a core from which we obtain knowledge, strength and inspiration. I have not penetrated into the secrets of this
c e, b I kn ha i e i .
vi
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa karena atas berkat dan rahmat-Nya, penulis dapat menyelesaikan skripsi dan laporan skripsi yang berjudul Implementasi Extreme Gradient Boosting pada Sentiment Analysis dalam Social
Media Facebook dengan epa ak di tengah pandemi Covid-19 ini.
Proses penyelesaian laporan skripsi tidak terlepas dari bantuan berbagai pihak. Penulis mengucapkan terima kasih kepada:
1. Dr. Ninok Leksono, Rektor Universitas Multimedia Nusantara, yang memberi inspirasi bagi penulis untuk berprestasi,
2. Dr. Eng. Niki Prastomo, S.T., M.Sc. Dekan Fakultas Teknik dan Informatika Universitas Multimedia Nusantara,
3. Nunik Afriliana, S.Kom., MMSI., Ketua Program Studi Informatika Universitas Multimedia, yang menerima penulis dengan baik untuk berkonsultasi dan memvalidasi skripsi penulis,
4. Julio Christian Young, S.Kom., M.Kom. dan Andre Rusli, S.Kom., M.Sc. yang membimbing pembuatan skripsi dan yang telah mengajar penulis tata cara menulis karya ilmiah dengan benar dan sabar,
5. Ayah dan ibu, serta keluarga besar yang telah memberikan dukungan moral dan spiritual selama proses penulisan skripsi,
6. Teman-teman seperjuangan yaitu, Kevin Kelly Isyanta, Yehezkiel Gunawan, Septaria Dwi Natapura, Ahsanul Qalbi, Septiyan Mudhiya Sadid, dan Antonius Filian yang menemani penulis untuk membuat program dan menyelesaikan penulisan skripsi di Lab AI C504, serta menjadi teman berdiskusi selama di lab dan Discord,
vii
7. Teman-teman terkasih yang lain yang tidak bisa disebutkan satu per satu yang telah membantu memberikan dukungan langsung maupun tidak langsung, bahkan ada yang menemani penulis selama proses penulisan skripsi.
Semoga laporan skripsi ini dapat bermanfaat, baik sebagai sumber informasi maupun sumber inspirasi, bagi para pembaca.
Tangerang, 22 Mei 2020
viii
IMPLEMENTASI EXTREME GRADIENT BOOSTING PADA
SENTIMENT ANALYSIS DALAM SOCIAL MEDIA FACEBOOK
ABSTRAK
Salah satu dampak dari pesatnya perkembangan Internet adalah media sosial. Melalui media sosial, semua orang dapat berekspresi, salah satunya adalah komentar. Komentar yang berbau politik/pemerintahan merupakan salah satu bentuk keterlibatan masyarakat terhadap pemerintahan. Komentar dengan bahasa sehari-hari sulit diklasifikasikan sifatnya oleh mesin. Maka, dibutuhkan algoritma untuk mengklasifikasikan komentar. Dalam memenuhi kebutuhan akan klasifikasi komentar, maka dibuatlah sistem yang dapat melakukan analisis sentimen. Extreme Gradient Boosting (XGBoost) dipilih sebagai algoritma klasifikasi karena XGBoost dapat mempercepat komputasi, memiliki fleksibilitas pengaturan objektif yang tinggi, built-in cross-validation, memiliki fitur regularisasi dan mengatasi split saat
negative loss. Komentar mengandung banyak kata yang cenderung memiliki makna
yang mirip. Word embedding digunakan untuk mempresentasikan kata yang memungkinkan memiliki kemiripan makna, salah satu metode word embedding yaitu FastText. Menurut hasil penelitian Akbar (2017) dengan FastText, akurasi yang didapatkan meningkat karena dapat memproses input kata yang tidak terdapat pada vocabulary. Penelitian ini bertujuan untuk mengimplementasikan FastText sebagai feature extraction dan XGBoost sebagai classifier untuk klasifikasi sentimen komentar di media sosial dengan klasifikasi opini positif, netral, dan negatif. Hasil implementasi yang paling ideal diperoleh akurasi sebesar 74.8%, precision sebesar 50%, recall sebesar 48%, dan F1 sebesar 49%.
Kata Kunci: Analisa Sentimen, Media Sosial, Klasifikasi Teks, Natural Language, Extreme Gradient Boosting, XGBoost, FastText, Word Embedding, Pembelajaran Mesin
ix
EXTREME GRADIENT BOOSTING IMPLEMENTATION TO
CLASSIFY SENTIMENT ON FACEBOOK COMMENT
ABSTRACT
One of many impacts from the rapid development of the internet is social media. Through social media, everyone can express themselves, one of which is commenting. Comments about politics/governance are one form of community involvement against the government. Comments with colloquial are difficult to be classified by the engine. Therefore, then made a system that can do sentiment analysis. Extreme Gradient Boosting (XGBoost) was chosen as the classification algorithm because XGboost can do parallel processing, built-in cross-validation, have regularization features, and overcome split when negative loss. Comments contain many words that tend to have similar meanings. Word embedding is used to present words that make it possible to have a similar meaning, one of the word embedding methods is FastText. According to research from Akbar (2017) with help from FastText, it increases result accuracy, because it can process word input that is not found in the vocabulary. This research aims to implement FastText as feature extraction and XGBoost as a classifier for the classification of sentiment comments on social media with the classification of positive, neutral, and negative opinions. The most ideal result obtained an accuracy of 74.8%, a precision of 50%, recall by 48%, and F1 by 49%.
Keywords: Sentiment Analysis, Social Media, Text Classification, Natural Language, Extreme Gradient Boosting, XGBoost, FastText, Word Embedding, Machine Learning
x DAFTAR ISI
HALAMAN PENGESAHAN SKRIPSI ... ii
PERNYATAAN TIDAK MELAKUKAN PLAGIAT ... iii
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... iv
HALAMAN PERSEMBAHAN/ MOTO ... v
KATA PENGANTAR ... vi
ABSTRAK ... viii
ABSTRACT ... ix
DAFTAR ISI ... x
DAFTAR GAMBAR ... xii
DAFTAR TABEL ... xiii
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 5
1.3 Batasan Masalah ... 5
1.4 Tujuan Penelitian ... 5
1.5 Manfaat Penelitian ... 6
1.6 Sistematika Penelitian ... 6
BAB II LANDASAN TEORI ... 8
2.1 Sentimen Analisis ... 8 2.2 Natural Language ... 8 2.3 Preprocessing ... 10 2.4 Word Embedding ... 10 2.5 FastText ... 11 2.6 Text Classification ... 12 2.7 Teknik Ensemble ... 13 2.8 Boosting ... 14 2.9 Boosting ... 15
2.10 Extreme Gradient Boosting (XGBoost) ... 15
xi
2.12 Facebook ... 18
2.13 Evaluasi Performa ... 18
BAB III METODOLOGI PENELITIAN DAN PERANCANGAN SISTEM ... 21
3.1 Metodologi Penelitian ... 21
3.2 Perancangan Aplikasi ... 23
3.2.1 Flowchart Proses Klasifikasi ... 23
3.2.2 Flowchart Aplikasi Web ... 28
3.2.3 Rancangan Struktur Tabel ... 30
3.2.4 Rancangan Tampilan Antarmuka ... 31
BAB IV IMPLEMENTASI DAN ANALISIS ... 34
4.1 Spesifikasi Sistem ... 34 4.2 Implementasi Sistem ... 35 4.2.1 Tampilan Aplikasi ... 35 4.2.2 Potongan Kode ... 39 4.3 Uji Coba ... 48 4.3.1 Skenario Pengujian ... 48 4.3.2 Hasil Pengujian ... 51
4.3.3 Evaluasi Hasil Pengujian ... 59
BAB V SIMPULAN DAN SARAN ... 67
5.1 Simpulan ... 67
5.2 Saran ... 68
DAFTAR PUSTAKA ... xiii
xii
DAFTAR GAMBAR
Gambar 2.1 Aplikasi pada Natural Language (Jackson, 2017) ... 9
Gambar 2.2 Arsitektur CBOW dan Skip-Gram (FastText, 2020) ... 12
Gambar 2.3 Ilustrasi proses ensemble dengan beberapa pengklalsifikasi ... 13
Gambar 2.4 Model Ensemble Tree (Chen dan Guestrin, 2016) ... 16
Gambar 3.1 Flowchart analisa sentimen secara umum ... 24
Gambar 3. 2 Text Preprocessing ... 25
Gambar 3.3 MeanEmbeddingVectorizer ... 27
Gambar 3.4 Flowchart Sentence Prediction ... 29
Gambar 3.5 Flowchart File Prediction ... 30
Gambar 3.6 Halaman Utama atau Home ... 31
Gambar 3.7 Halaman Upload File ... 32
Gambar 3.8 Halaman Upload File Sentence ... 32
Gambar 3.9 Halaman Upload File Prediction (Lanjutan) ... 33
Gambar 4.1 Tampilan Halaman Utama atau Home ... 36
Gambar 4.2 Tampilan Halaman Sentence Prediction ... 36
Gambar 4.3 Tampilan Hasil Sentence Prediction ... 37
Gambar 4.4 Tampilan Halaman Uplaod File Prediction... 37
Gambar 4.5 Tampilan Halaman Hasil Upload File Prediction ... 38
Gambar 4.6 Tampilan Halaman Hasil Upload File Prediction (Lanjutan) ... 39
Gambar 4.7 Pengambilan dataset utama... 39
Gambar 4. 8 Pengambilan dataset tambahan ... 39
Gambar 4.9 Pre-processing data ... 40
Gambar 4.10 Proses pemecahan data menjadi train set dan test set dan penggabungan dataset utama dengan dataset tambahan ... 41
Gambar 4.11 Load FastText pre-trained model ... 41
Gambar 4.12 Proses vectorizing kata ... 42
Gambar 4.13 Potongan code dari proses vectorizing ... 42
Gambar 4.14 Proses encode label ... 43
Gambar 4. 15 Proses konversi data menjadi matrix menggunakan DMatrix ... 44
Gambar 4.16 Konfigurasi hyperparameter XGBoost dan pembuatan model klasifikasi ... 46
Gambar 4.17 Proses prediksi menggunakan model XGBoost ... 47
Gambar 4.18 Proses evaluasi performa model XGBoost ... 47
xiii
DAFTAR TABEL
Tabel 3.1 Struktur Tabel Data ... 311
Tabel 4.1 Hasil uji coba perbandingan train set dan test set 80:20 ... 511
Tabel 4.2 Hasil uji coba upsampling ... 522
Tabel 4.3 Hasil uji coba downsampling ... 522
Tabel 4.3 Hasil uji coba downsampling (Lanjutan) ... 533
Tabel 4.4 Hasil uji coba upsampling dan downsampling ... 533
Tabel 4.5 Hasil uji coba positive class weighting ... 544
Tabel 4.6 Hasil uji coba negative class weighting ... 544
Tabel 4.6 Hasil uji coba negative class weighting (Lanjutan) ... 555
Tabel 4.7 Hasil uji coba neutral class weighting ... 555
Tabel 4.7 Hasil uji coba neutral class weighting (Lanjutan)... 566
Tabel 4.8 Hasil uji coba tanpa DMatrix dengan rasio 80:20 ... 566
Tabel 4.8 Hasil uji coba tanpa DMatrix dengan rasio 80:20 (Lanjutan)... 577
Tabel 4.9 Hasil uji coba tanpa DMatrix dengan upsampling ... 577
Tabel 4.10 Hasil uji coba tanpa DMatrix dengan downsampling ... 588
Tabel 4.11 Hasil uji coba tanpa DMatrix dengan penggabungan upsampling dan downsampling ... 588