13
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

SKRIPSI - kc.umn.ac.id

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

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