i
LONG SHORT TERM MEMORY - CONVOLUTIONAL NEURAL NETWORK PADA ANALISIS SENTIMEN ULASAN OBJEK
WISATA DI PULAU BALI BERBAHASA INDONESIA
HALAMAN JUDUL
Tesis
untuk memenuhi sebagian persyaratan mencapai derajat Sarjana S-2 Program Studi
Magister Sistem Informasi
Dwi Intan Af’idah 30000416410001
SEKOLAH PASCASARJANA UNIVERSITAS DIPONEGORO
SEMARANG 2020
ii
HALAMAN PENGESAHAN
iii
PERNYATAAN
Dengan ini saya menyatakan bahwa dalam tesis ini tidak terdapat karya yang pernah diajukan untuk memperoleh gelar kesarjanaan di suatu perguruan tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.
Semarang, 30 Juni 2020
Dwi Intan Af’idah
iv
PERNYATAAN PERSETUJUAN
PUBLIKASI TESIS UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademik Universitas Diponegoro, saya yang bertanda tangan di bawah ini:
Nama : Dwi Intan Af’idah
Nim : 30000416410001
Program Studi : Magister Sistem Informasi Fakultas : Sekolah Pascasarjana Jenis Karya : Tesis
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Diponegoro Hak Bebas Royalti Noneksklusif atas karya ilmiah saya yang berjudul:
LONG SHORT TERM MEMORY - CONVOLUTIONAL NEURAL NETWORK PADA ANALISIS SENTIMEN ULASAN OBJEK
WISATA DI PULAU BALI BERBAHASA INDONESIA
Beserta semua perangkat yang ada. Dengan hak bebeas royalti non eksklusif ini Sekolah Pascasarjana Magister Sistem Informasi Universitas Diponegoro berhak menyimpan, mengalihmedia/formatkan, mengelola dalam bentuk pangkalan data (database), merawat, dan mempublikasikan tesis saya selama tetap mencantumkan nama saya sebagai penulis/pencipta dan sebagai pemilik hak cipta.
Dibuat di: Semarang Pada Tanggal: 30 Juni 2020
Yang Menyatakan
Dwi Intan Af’idah NIM. 30000416410001
v
KATA PENGANTAR
Puji dan Syukur Kepada Tuhan yang maha kuasa atas segala berkat, rahmat, dan karunia yang dicurahkan, sehingga tesis dengan judul Long Short Term Memory - Convolutional Neural Network pada Analisis Sentimen Ulasan Objek Wisata Di Pulau Bali Berbahasa Indonesia ini dapat diselesaikan. Tesis ini disusun untuk memenuhi salah satu persyaratan memperoleh gelar Magister Komputer (M.Kom) pada Program Studi Magister Sistem Informasi Universitas Diponegoro.
Pada kesempatan ini penulis menyampaikan terima kasih yang sebesar – besarnya kepada:
1. Dr. R. B. Sularto, SH., M.Hum, selaku Dekan Sekolah Pascasarjana Universitas Diponegoro.
2. Dr. Suryono, S.Si, M.Si, selaku Ketua Program Studi Magister Sistem Informasi Sekolah Pascasarjana Universitas Diponegoro.
3. Dr. Retno Kusumaningrum, S.Si., M.Kom, selaku Pembimbing I dan Drs.
Bayu Surarso, M.Sc., Ph.D, selaku pembimbing II yang telah memberikan ilmu, saran, semangat dan nasihat selama proses bimbingan.
4. Keluarga, teman-teman, kerabat, saudara dan seluruh pihak terkait yang telah membantu dan memberikan kontribusi hingga tesis ini dapat diselesaikan.
Penulis menyadari bahwa dalam penyusunan tesis ini masih jauh dari sempurna. Oleh karena itu, saran dan kritik yang sifatnya membangun sangat diharapkan. Akhirnya penulis berharap semoga tulisan ini bermanfaat.
Semarang, 30 Juni 2020
Dwi Intan Af’idah
vi DAFTAR ISI
Halaman
HALAMAN JUDUL ... i
HALAMAN PENGESAHAN ... ii
PERNYATAAN ... iii
PERNYATAAN PERSETUJUAN ... iv
KATA PENGANTAR ... v
DAFTAR ISI ... vi
DAFTAR GAMBAR ... ix
DAFTAR TABEL ... xi
DAFTAR LAMPIRAN ... xiii
DAFTAR ARTI LAMBANG DAN SINGKATAN ... xiv
ABSTRAK ... xv
ABSTRACT ... xvi
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Tujuan Penelitian ... 3
1.3 Manfaat Penelitian ... 3
BAB 2 TINJAUAN PUSTAKA ... 4
2.1 Tinjauan Pustaka ... 4
2.2 Dasar Teori ... 7
2.2.1 Analisis Sentimen ... 7
2.2.2 Prapengolahan Teks ... 9
2.2.3 Word2Vec ... 12
2.2.4 Deep Learning ... 13
2.2.5 Recurrent Neural Network (RNN) ... 13
2.2.6 Long Short Term Memory ... 14
2.2.7 Convolutional Neural Network (CNN) ... 20
2.2.8 Long Short Term Memory-Convolutional Neural Network ... 23
2.2.9 K-fold Cross Validation ... 24
2.2.10 Confusion Matrix ... 24
BAB 3 METODE PENELITIAN... 26
3.1 Bahan dan Alat Penelitian ... 26
3.1.1 Bahan Penelitian... 26
3.1.2 Alat Penelitian ... 26
vii
3.2 Prosedur Penelitian... 26
3.3 Kerangka Sistem ... 27
3.4 Pengumpulan Data ... 28
3.5 Prapengolahan Teks ... 29
3.5.1 Case Folding ... 30
3.5.2 Tokenisasi ... 31
3.5.3 Stopword Removal ... 32
3.5.4 Stemming ... 34
3.5.5 Padding ... 35
3.6 Pelatihan Model Word2Vec ... 36
3.7 Pembagian Data ... 39
3.8 Klasifikasi Sentimen ... 40
3.8.1 Metode LSTM-CNN ... 40
3.8.2 Pembentukan Model... 44
3.8.3 Pelatihan ... 45
3.8.4 Pengujian ... 47
3.9 Evaluasi ... 48
3.10 Perancangan Aplikasi Analisis Sentimen... 50
3.10.1 Perancangan Model Klasifikasi... 50
3.10.2 Perancangan Alur Kerja Aplikasi... 52
3.10.3 Perancangan Basis Data ... 54
3.10.4 Perancangan Front-end atau Antarmuka ... 55
3.10.5 Perancangan Back-End... 60
BAB 4 HASIL PENELITIAN DAN PEMBAHASAN ... 61
BAB 1 BAB IV ... 61
4.1 Hasil Penelitian ... 61
4.1.1 Antarmuka ... 61
4.1.2 Basis Data ... 66
4.2 Pembahasan ... 68
4.2.1 Skenario Penelitian... 68
4.2.2 Hasil dan Analisa Penelitian ... 72
4.2.3 Hasil dan Analisa Seluruh Skenario ... 78
4.2.4 Pengujian Precision, Recall, F1-measure Model Terbaik ... 80
4.2.5 Perbandingan LSTM, CNN, dan LSTM-CNN ... 81
viii
BAB 5 KESIMPULAN DAN SARAN ... 82
5.1 Kesimpulan ... 82
5.2 Saran ... 83
DAFTAR PUSTAKA ... 84
LAMPIRAN ... 88
ix
DAFTAR GAMBAR
Gambar 2.1 Skip-gram dan CBOW ... 12
Gambar 2.2 Proses perulangan informasi RNN ... 14
Gambar 2.3 Multi salinan jaringan RNN ... 14
Gambar 2.4 Layer tanh pada RNN ... 15
Gambar 2.5 Perulangan empat layer pada LSTM ... 15
Gambar 2.6 Ilustrasi Cell LSTM ... 15
Gambar 2.7 Cell state pada LSTM ... 16
Gambar 2.8 Sigmoid layer pada LSTM ... 16
Gambar 2.9 Input gate layer dan tanh layer ... 17
Gambar 2.10 Forget gate layer ... 18
Gambar 2.11 Pembuatan cell state baru ... 18
Gambar 2.12 Penentuan output ... 19
Gambar 2.13 Arsitektur CNN ... 20
Gambar 2.14 Arsitektur LSTM-CNN ... 23
Gambar 2.15 Simulasi 10-fold cross validation ... 24
Gambar 3.1 Prosedur penelitian ... 27
Gambar 3.2 Kerangka Sistem ... 28
Gambar 3.3 Prapengolahan teks ... 29
Gambar 3.4 Flowchart case folding ... 30
Gambar 3.5 Flowchart tokensasi ... 31
Gambar 3.6 Flowchart stopword removal ... 33
Gambar 3.7 Flowchat Stemming ... 34
Gambar 3.8 Flowchart Padding ... 36
Gambar 3.9 Flowchart Word2Vec ... 37
Gambar 3.10 Arsitektur LSTM-CNN ... 40
Gambar 3.11 Flowchart pembentukan model ... 44
Gambar 3.12 Flowchart pelatihan LSTM-CNN ... 46
Gambar 3.13 Flowchart pengujian ... 48
Gambar 3.14 Perancangan aplikasi sentimen analisis objek wisata ... 50
Gambar 3.15 Flowchart proses klasifikasi menggunakan model terbaik ... 51
Gambar 3.16 Perancangan alur kerja pada input ulasan ... 52
Gambar 3.17 Perancangan alur kerja pada upload dokumen ... 53
Gambar 3.18 Rancangan form menu home ... 56
Gambar 3.19 Rancangan from menu input ulasan ... 57
Gambar 3.20 Rancangan from menu upload ulasan ... 57
Gambar 3.21 Rancangan from menu history... 58
Gambar 3.22 Rancangan from menu result dari input ulasan ... 59
x
Gambar 3.23 Rancangan from menu result dari upload dokumen ... 60
Gambar 4.1 Halaman utama ... 61
Gambar 4.2 Halaman input ulasan ... 62
Gambar 4.3 Halaman history setelah proses input ulasan... 63
Gambar 4.4 Hasil pelabelan menu input ulasan ... 63
Gambar 4.5 Halaman upload dokumen ... 64
Gambar 4.6 Halaman history setelah upload dokumen ... 64
Gambar 4.7 Halaman grafik hasil analisis sentimen ... 65
Gambar 4.8 Contoh file excel sebelum dilakukan analisis sentimen ... 65
Gambar 4.9 Contoh file excel sesudah dilakukan analisis sentimen ... 65
Gambar 4.10 Basis data input ulasan ... 66
Gambar 4.11 Basis data upload ulasan ... 67
Gambar 4.12 Pembagian data pemodelan ... 68
Gambar 4.13 Skenario pengujian ... 69
Gambar 4.14 Perbandingan akurasi berdasarkan arsitektur Word2Vec ... 73
Gambar 4.15 Perbandingan akurasi berdasarkan metode evaluasi Word2Vec ... 74
Gambar 4.16 Perbandingan akurasi berdasarkan dimensi Word2Vec ... 74
Gambar 4.17 Perbandingan akurasi berdasarkan pooling layer... 75
Gambar 4.18 Perbandingan nilai akurasi berdasarkan dropout ... 76
Gambar 4.19 Perbandingan nilai akurasi berdasarkan learning rate ... 77
Gambar 4.20 Perbandingan nilai akurasi berdasarkan aktivasi konvolusi ... 78
xi
DAFTAR TABEL
Tabel 2.1 Penelitian analisis sentimen terdahulu ... 4
Tabel 2.2 Keterangan notasi dan definisi persamaan LSTM ... 19
Tabel 2.3 Tabel confusion matrix pada dua kelas ... 24
Tabel 3.1 Data sebelum dan sesudah case folding ... 30
Tabel 3.2 Data sebelum dan sesudah tokenisasi ... 32
Tabel 3.3 Data sebelum dan sesudah stopword removal ... 33
Tabel 3.4 Data sebelum dan sesudah stemming ... 35
Tabel 3.5 Data sebelum dan sesudah padding ... 35
Tabel 3.6 Kombinasi eksperimen Word2Vec ... 38
Tabel 3.7 Contoh vektor hasil pelatihan Word2Vec... 39
Tabel 3.8 Parameter LSTM-CNN untuk experimen ... 45
Tabel 3.9 Contoh label kelas aktual dan label kelas prediksi ... 49
Tabel 3.10 Contoh perhitungan confusion matrix ... 49
Tabel 3.11 Basis data input ulasan ... 55
Tabel 3.12 Basis data upload dokumen ... 55
Tabel 4.1 Pengujian precision, recall, dan f1-measure ... 80
Tabel 4.2 Perbandingan akurasi LSTM, CNN, LSTM-CNN... 81
xiii
DAFTAR LAMPIRAN
Lampiran 1. Perhitungan Model Word2Vec... 88
Lampiran 2. Perhitungan Model LSTM – CNN ... 103
Lampiran 3. Hasil Pengujian Akurasi dari Confusion Matrix... 134
Lampiran 4. Source Code Crawling Data ... 146
Lampiran 5. Source Code Pembentukan Model Terbaik ... 150
Lampiran 6. Source Code Web Apps Analisa Sentimen ... 163
xiv
DAFTAR ARTI LAMBANG DAN SINGKATAN
Lambang Arti Lambang
𝜎 Sigmoid
𝜇 Mu (Mean / Rata – rata)
𝑒 Eksponen
𝜂 Learning Rate
Akronim Penjelasan
LSTM Long Short Term Memory
CNN Convolutional Neural Network
RNN Recurrent Neural Network
NLP Natural Language Processing
xv
Long Short Term Memory - Convolutional Neural Network pada Analisis Sentimen Ulasan Objek Wisata di Pulau Bali Berbahasa Indonesia
ABSTRAK
Jumlah data yang besar menjadi tantangan tersediri bagi proses analisis sentimen.
Deep learning mampu mengatasi masalah analisis data dalam jumlah besar dengan memberikan performa yang lebih baik dibandingkan machine learning klasik.
Model deep learning berupa Long Short Term Memory (LSTM) dan Convolutional Neural Network (CNN) masing-masing memiliki performa yang baik pada penelitian analisis sentimen. Akan tetapi, keduanya memiliki masalah yang perlu diselesaikan. LSTM memiliki kelemahan tidak mampu menangkap informasi yang dominan. Sementara CNN memiliki kelemahan tidak mampu memahami ketergantungan semantik jarak jauh. Masalah lain yang muncul dalam analisis sentimen adalah penentuan model pre-training yang tepat agar diperoleh model yang akurat. Oleh karena itu, penelitan ini mengusulkan metode LSTM-CNN untuk analisis sentimen dengan model pre-training menggunakan Word2Vec pada dokumen teks berbahasa Indonesia. Word2Vec dipilih karena dapat menangkap makna semantik teks dengan baik dan setiap kata yang berhubungan dicirikan dengan vektor yang cenderung mirip. Dataset yang digunakan pada penelitian ini berupa ulasan objek wisata di Pulau Bali berbahasa Indonesia yang berjumlah 10000 ulasan dengan 5000 ulasan positif dan 5000 ulasan negatif. Kombinasi parameter dari LSTM-CNN dan Word2Vec yang diteliti antara lain pooling layer, dropout, learning rate, aktivasi konvolusi, arsitektur Word2Vec, metode evaluasi Word2Vec, dan dimensi Word2Vec. Rata-rata akurasi dari model terbaik LSTM- CNN dan Word2Vec sebesar 97.17% yang diperoleh dari kombinasi parameter LSTM-CNN berupa averagepool sebagai pooling layer, droput 0,7, learning rate 0,0001, ReLU sebagai konvolusi activasi, dan kombinasi parameter Word2Vec berupa Skip-gram, Hierarchical Softmax, dan dimensi 300.
Kata Kunci: Long Short Term Memory, Convolutional Neural Network, Deep Learning, Analisis Sentimen, Ulasan Objek Wisata
xvi
Long Short Term Memory-Convolutional Neural Network for Indonesian Sentimen Analysis towards Bali’s Touristic Destination Reviews
ABSTRACT
Huge amount of text present a challenge for the sentiment analysis process. Deep learning is able to solve this challenge by providing better performance in the sentimen analysis than classic machine learning which uses statistical method. Long Short Term Memory (LSTM) and Convolutional Neural Network (CNN) as deep learning have shown well performance for the sentimen analysis study. However, both have problems which need to be resolved. LSTM has inability to capture diminan information. While CNN has weakness to understand semantic dependencies. Another problem in sentiment analysis is the determination of the right pre-training model in order to obtain an accurate model. Therefore, this research proposes the LSTM-CNN method for sentiment analysis with a pre- training model using Word2Vec in Indonesian text document. Word2Vec was chosen since it can capture the semantic meaning text well and each related word is characterized by vectors that tend to be similar. The dataset is used in the study is 10000 reviews of Bali’s touristic destination in Indonesian language which comprise 5000 positive review and 5000 negative review. The combination of LSTM-CNN and Word2Vec parameters that were tested in the research are pooling layer, dropout, learning level, convolutional activation, architecture of Word2Vec, evaluation method of Word2Vec, and dimension of Word2Vec. The result of this research show that accuracy of the best LSTM-CNN and Word2Vec model is 97.17% which obtained by using LSTM-CNN parameter namely averagepool as pooling layer, dropout of 0,7, learning rate of 0,0001, ReLU as convolutional activation, and using Word2Vec parameter namely Skip-gram, Hierarchical Softmax, dimension of 300.
Keywords: Sentiment Analysis, Long Short Term Memmory, Convolutional Neural Network, Word2Vec, Touristic Destination Review