IMPLEMENTASI METODE LSTM-RNN PADA KLASIFIKASI …
Transcript of IMPLEMENTASI METODE LSTM-RNN PADA KLASIFIKASI …
IMPLEMENTASI METODE LSTM-RNN PADA KLASIFIKASI
KATEGORI BERITA DALAM BAHASA INDONESIA
SKRIPSI
Diajukan Sebagai Salah Satu Syarat untuk Memperoleh Gelar
Sarjana Komputer (S.Kom.)
Rully Saputra
00000013889
PROGRAM STUDI INFORMATIKA
FAKULTAS TEKNIK DAN INFORMATIKA
UNIVERSITAS MULTIMEDIA NUSANTARA
TANGERANG
2020
iii
PERNYATAAN TIDAK MELAKUKAN PLAGIAT
Dengan ini saya,
Nama : Rully Saputra
NIM : 00000013889
Program Studi : Informatika
Fakultas : Fakultas Teknik dan Informatika
menyatakan bahwa Skripsi yang berjudul “IMPLEMENTASI METODE LSTM-
RNN PADA KLASIFIKASI KATEGORI BERITA DALAM BAHASA
INDONESIA” 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, 21 Desember 2020
Rully Saputra
iv
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademik Universitas Multimedia Nusantara, saya yang bertanda
tangan di bawah ini:
Nama : Rully Saputra
NIM : 00000013889
Program Studi : Informatika
Fakultas : 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 Metode Lstm-Rnn Pada Klasifikasi Kategori Berita Dalam
Bahasa Indonesia beserta perangkat yang diperlukan.
Dengan Hak Bebas Royalti Non-eksklusif ini, pihak Universitas 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
royalti kepada saya, selama tetap mencantumkan nama saya sebagai penulis karya
ilmiah tersebut.
Demikian pernyataan ini saya buat dengan sebenarnya untuk dipergunakan
sebagaimana mestinya.
Tangerang, 21 Desember 2020
Rully Saputra
v
HALAMAN PERSEMBAHAN/MOTO
Karya ini saya persembahkan untuk
kedua Orang tua, saudara, dan
seluruh orang yang telah mendukung penelitian ini
Stay Hungry, Stay Foolish
Steve Jobs
vi
IMPLEMENTASI METODE LSTM-RNN PADA KLASIFIKASI
KATEGORI BERITA DALAM BAHASA INDONESIA
ABSTRAK
Klasifikasi kategori suatu data teks memiliki tujuan untuk mempermudah manusia untuk mengkategorikan sebuah data dalam kategori tertentu. Pada penelitian ini, klasfikasi berita digital akan mempermudah editor dalam menentukan berita tersebut masuk pada kategori tertentu. Proses mengklasifikasi data teks tidak dapat dilakukan oleh machine learning karena sebuah model machine learning hanya dapat menerima masukan berupa nilai numerik. Dengan adanya keterbatasan tersebut, maka kumpulan data teks harus ditransformasi dengan menerapkan Natural Language Processing (NLP) yang mempersiapkan data agar dapat diproses. NLP menjadi kunci agar sebuah model dapat mempelajari data latih dengan optimal supaya hasil prediksi akurat. Metode untuk melakukan prediksi dengan menerapkan LSTM-RNN merupakan kombinasi terbaik dalam memprediksi suatu kumpulan kata yang banyak Pada penelitan terdahulu, penggunaan metode LSTM-RNN memiliki tingkat akurasi yang tinggi untuk klasifikasi berita dalam bahasa inggris. Untuk eksplorasi lebih lanjut, maka pada penelitian ini menggunakan berita berbahasa Indonesia yang diambil dari Jakartaresearch dan web scraping pada Kompas.com yang menjadi data latih dan data testing. Berdasarkan hasil eksperimen untuk model LSTM-RNN berhasil mendapatkan nilai akurasi sebesar 93%, nilai recall sebesar 91.8%, nilai presisi sebesar 92.4% dan nilai F1-Score sebesar 91.8%. Nilai akurasi prediksi dengan menggunakan 17 data berita dari Detik.com menunjukan 100% akurat memprediksi kategori berita tersebut.
Kata kunci : Genre Classification, Long Short Term Memory, Natural Language Processing, News, Recurrent Neural Network, Web Scraping,
vii
IMPLEMENTATION LSTM-RNN METHOD FOR CLASSIFYING
CATEGORY OF INDONESIAN NEWS
ABSTRACT
Category classification of text has a purpose of helping people categorize text to a specific category. In this research, classifying news will help the editor to determine a category of news. Machine learning can't process text to classify the category because machine learning only process numerical data. With these limitations, the text data must be transformed with Natural Language Processing (NLP) that help prepare the data to be able to process. NLP is key to help the model learn training data for the best predict result. The best method to predict a big collection of text is a combination of LSTM-RNN. In previous research, using LSTM-RNN method has high accurate rate to classifying news in English. For further exploration, in this research, the dataset to train and test the model applying Indonesian news from Jakartaresearch and web scraping from Kompas.com. Based on the experiment for the model LSTM-RNN, the final score of accurate is 93%, the score of recall is 91.8%, the score of precision is 92.4%, and the score of F1-Score is 91.8%. The prediction of 17 news from Detik.com has result 100% accurately predict the correct category.
Keyword : Genre Classification, Long Short Term Memory, Natural Language Processing, News, Recurrent Neural Network, Web Scraping,
viii
KATA PENGANTAR
Puji syukur saya haturkan kepada Tuhan yang maha esa atas segala karunia-
nya sehingga laporan skripsi yang berjudul “IMPLEMENTASI METODE LSTM-
RNN PADA KLASIFIKASI KATEGORI BERITA DALAM BAHASA
INDONESIA” dapat diselesaikan dengan baik dan tepat waktu. Skripsi ini sebagai
persyaratan saya agar dapat lulus pada program studi Informatika, Fakultas
Teknologi Informasi dan Komunikasi, Universitas Multimedia Nusantara. Tanpa
bantuan fasilitas kampus tidak mungkin laporan skripsi ini dapat selesai dengan
tepat waktu. Selain itu, ungkapan terima kasih juga ditujukan kepada :
1. Bapak Alexander Waworuntu, S.Kom., M.T.I selaku dosen tetap di
Universitas Multimedia Nusantara sebagai dosen pembimbing yang selalu
sabar menghadapi saya dan memberikan bimbingan dan masukkan agar
terciptanya skripsi yang baik,
2. Bapak Andre Rusli, S.Kom., M.Sc. selaku dosen di Universitas Multimedia
Nusantara sebagai dosen pembimbing yang sabar untuk menjawab
pertanyaan mengenai metode yang digunakan pada skripsi ini dan berbagai
hal teknis pembuatan program,
3. Ibu Marlinda Vasty Overbeek, S.Kom, M.Kom selaku kepala program studi
Informatika yang memberikan kesempatan untuk melakukan proses
pembuatan skripsi
4. Keluarga dan teman-teman yang selalu memberi support berupa jasmani
ataupun rohain agar terus semangat menyelesaikan skripsi
Semoga laporan skripsi ini dapat menjadi inspirasi pembaca dan dikemudian hari
akan dilakukan penelitian lebih lanjut yang semakin baik.
ix
DAFTAR ISI HALAMAN JUDUL ................................................................................................ i
HALAMAN PENGESAHAN ................................................................................. ii
PERNYATAAN TIDAK MELAKUKAN PLAGIAT .......................................... iii
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ............................................................................. iv
HALAMAN PERSEMBAHAN/MOTO ................................................................. v
ABSTRAK ............................................................................................................. vi
ABSTRACT .......................................................................................................... vii
KATA PENGANTAR ......................................................................................... viii
DAFTAR ISI .......................................................................................................... ix
DAFTAR GAMBAR ............................................................................................. xi
DAFTAR TABEL ................................................................................................ xiii
DAFTAR RUMUS .............................................................................................. xiv
BAB 1 PENDAHULUAN .................................................................................... 15
1.1. Latar Belakang Masalah ............................................................................. 15
1.2. Rumusan Masalah ........................................................................................ 3
1.3. Batasan Masalah ........................................................................................... 4
1.4. Tujuan Penelitian .......................................................................................... 4
1.5. Manfaat Penelitian ........................................................................................ 5
1.6. Sistematika Penulisan ................................................................................... 5
BAB 2 LANDASAN TEORI .................................................................................. 7
2.1. Natural Language Processing ...................................................................... 7
2.2. Recurrent Neural Network (RNN) ............................................................... 9
2.3 Long Short-Term Memory (LSTM) ............................................................ 10
2.4. Softmax Activation ...................................................................................... 14
2.5. FastText ...................................................................................................... 15
2.6 Confusion Matrix ........................................................................................ 16
BAB 3 METODOLOGI DAN PERANCANGAN SISTEM ................................ 18
3.1. Metodologi Penelitian ................................................................................ 18
3.2. Analisis dan Alur Kerja .............................................................................. 20
3.3. Perancangan Model .................................................................................... 22
3.3.1. Pengambilan Data ................................................................................ 23
x
3.3.2. Pre Processing ...................................................................................... 24
3.3.3. Implementasi FastText ......................................................................... 29
3.3.4. Pembuatan Model LSTM-RNN ........................................................... 30
3.3.5. Rancangan dan Alur Kerja Sistem ....................................................... 32
BAB 4 IMPLEMENTASI DAN UJI COBA ........................................................ 35
4.1. Spesifikasi Sistem ....................................................................................... 35
4.2. Implementasi Web Scraping ...................................................................... 36
4.3. Implementasi Pre-Processing ..................................................................... 38
4.3.1. Cleaning Text ....................................................................................... 38
4.3.2. Implementasi Pembuatan Data Training.............................................. 40
4.4. Implementasi FastText ............................................................................... 42
4.5. Implementasi Pembuatan Model ................................................................ 43
4.5.1. Impelementasi Evaluasi Performa Model ............................................ 45
4.6. Implementasi Sistem Web .......................................................................... 48
4.7. Uji Coba ..................................................................................................... 53
BAB 5 SIMPULAN DAN SARAN ...................................................................... 59
5.1. Simpulan ..................................................................................................... 59
5.2. Saran ........................................................................................................... 59
DAFTAR PUSTAKA ........................................................................................... 61
LAMPIRAN .......................................................................................................... 64
xi
DAFTAR GAMBAR
Gambar 2.1 Langkah-Langkah Penerapan NLP…………………………………..8
Gambar 3.1 Flowchart Penelitian…..……………………………………………21
Gambar 3.2 Proses Web Scraping…..……………………………………………23
Gambar 3.3 Flowchart Cleaning Text…..………………………………………..25
Gambar 3.4 Proses Stemming……….…..………………………………………..26
Gambar 3.5 Proses Create Vocabulary……….…..……………………………...28
Gambar 3.6 Proses Implementasi Fasttext……….…..…………………………..29
Gambar 3.7 Pembuatan Model LSTM-RNN……….…..………………………...30
Gambar 3.8 Pelatihan Model……………………….…..………………………...31
Gambar 3.9 Rancangan Antarmuka Web……………………….…..……………33
Gambar 3.10 Impelementasi model dengan Web Service………………………..34
Gambar 4.1 Kelas Berita untuk Scrapy…………………………………………..37
Gambar 4.2 Proses Pengambilan URL Berita……………………………………37
Gambar 4.3 Pengambilan Isi Berita dari Kumpulan URL……………………….37
Gambar 4.4 Penghapusan Baris “Baca Juga”…………...……………………….39
Gambar 4.5 Penghapusan Identitas Platform Berita…………...………………...39
Gambar 4.6 Cleaning Text………………………...…………...………………...40
Gambar 4.7 Stemming Paragraf Berita………………………...…………...……40
Gambar 4.8 Tokenisasi………………………………………...…………...……40
Gambar 4.9 Pembuatan Vocabulary………………………………………...…...41
Gambar 4.10 Persiapan Data Latih………………………………………...….....42
Gambar 4.11 Implementasi FastText………………………………………...…..43
Gambar 4.12 Pembuatan Model LSTM……………………………………….....44
Gambar 4.13 Proses Pelatihan Model………………………………………........45
Gambar 4.14 Grafik Loss………………….……………………………………..46
Gambar 4.15 Grafik Akurasi………………….………………………………….46
Gambar 4.16 Classification Report dan Confusion Matrix Data Testing………..47
Gambar 4.17 Classification Report dan Confusion Matrix Data Latih...………..48
xii
Gambar 4.18 Implementasi Flask………………………..………………….…...50
Gambar 4.19 Tampilan Awal Web………………………..………………….….50
Gambar 4.20 Tampilan Kolom Isi Berita Terisi………………………..………..51
Gambar 4.21 Tampilan Loading Proses Prediksi………………………..………51
Gambar 4.22 Implementasi AJAX Jquery……...………………………..………51
Gambar 4.23 Hasil Akhir Prediksi……....……...………………………..………52
xiii
DAFTAR TABEL
Tabel 4.1 Dokumentasi Hasil Percobaan……...………………………..………..46
Tabel 4.2 Hyperparameter pada model……...………………………..………….53
Tabel 4.3 Potongan isi berita beserta kategorinya……...………………………..53
Tabel 4.4 Hasil Prediksi……………………………………...…………………..57
Tabel 4.5 Hasil Evaluasi Model……………………………………...…………..58
xiv
DAFTAR RUMUS
Rumus 2.1 Rumus Output State……………………………...…………………..10
Rumus 2.2 Rumus Fungsi Aktivasi……………………………...……………….10
Rumus 2.3 Rumus Forget Gate……………………………...…………………...11
Rumus 2.4 Rumus Lapisan Sigmoid Input Gate……………………………........12
Rumus 2.5 Rumus Lapisan Tanh Input Gate……………………………..............12
Rumus 2.6 Rumus Hidden State……………………………...…………………..13
Rumus 2.7 Rumus Cell State……………………………...……………………...14
Rumus 2.8 Rumus Probabilitas softmax……………………………...…………..17
Rumus 2.9 Rumus Accuracy…………...……………………………...………….17
Rumus 2.10 Rumus Precision………….……………………………...………….17
Rumus 2.11 Rumus Recall…………….……………………………...…………..17
Rumus 2.12 Rumus F1-Score…………….……………………………...………17