SKRIPSI - kc.umn.ac.id
Transcript of SKRIPSI - kc.umn.ac.id
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 yang berjudul “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
Ega Pamungkas Susanto
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
Ega Pamungkas Susanto
v
HALAMAN PERSEMBAHAN/ MOTO
“My brain is 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
core, but I know that it exists.”
― Nikola Tesla
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 tepat waktu 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
Ega Pamungkas Susanto
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
2.11 Media Sosial ........................................................................................... 17
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
DAFTAR LAMPIRAN ........................................................................................ xvi
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 Gambar 4.19 Proses RandomizedSearchCV ......................................................... 48
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