IDENTIFIKASI JUDUL BERITA CLICKBAIT BERBAHASA INDONESIA DENGAN ALGORITMA LONG SHORT TERM MEMORY (LSTM)
RECURRENT NEURAL NETWORK
SKRIPSI
IBNU HABIBIE 141402002
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2018
IDENTIFIKASI JUDUL BERITA CLICKBAIT BERBAHASA INDONESIA DENGAN ALGORITMA LONG SHORT TERM MEMORY (LSTM)
RECURRENT NEURAL NETWORK
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
IBNU HABIBIE 141402002
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2018
ii
PERNYATAAN
IDENTIFIKASI JUDUL BERITA CLICKBAIT BERBAHASA INDONESIA DENGAN ALGORITMA LONG SHORT TERM MEMORY (LSTM)
RECURRENT NEURAL NETWORK
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 21 Agustus 2018
Ibnu Habibie 141402002
UCAPAN TERIMA KASIH
Segala puji serta syukur penulis ucapkan atas kehadirat Allah SWT, karena atas rahmat- Nya penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Teknologi Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Skripsi ini penulis persembahkan kepada kedua orangtua penulis, Ayah Edy Syahputra dan Ibu Luni Emiza Tambuse yang selalu memberikan doa, dukungan dan kasih sayang yang tak terhingga. Dan juga kepada adik-adik penulis Nurul Aini dan Al Walid Akbar yang selalu menjadi sumber semangat dan inspirasi dalam penulisan skripsi ini.
Ucapan terima kasih penulis sampaikan kepada:
1. Bapak Prof. Runtung Sitepu, SH., M.Hum selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Drs. Opim Salim Sitompul, M.Sc. selaku Dekan Fasilkom-TI Universitas Sumatera Utara.
3. Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc., selaku Ketua Program Studi S1 Teknologi Informasi Universitas Sumatera dan juga selaku Dosen Pembanding yang telah memberikan kritik dan saran yang membangun dalam proses penyempurnaan skripsi ini.
4. Ibu Sarah Purnamawati, ST., MSc., selaku Sekretaris Program Studi S1 Teknologi Informasi Universitas Sumatera.
5. Bapak Baihaqi Siregar S.Si., MT., selaku Dosen Pembimbing I dan Ibu Dr. Erna Budhiarti Nababan, M.IT., selaku Dosen Pembimbing 2 yang telah banyak meluangkan waktu, pemikiran, motivasi, kritik dan saran kepada penulis.
6. Bapak Seniman S.Kom., M.Kom. dan Bapak Ainul Hizriadi, S.Kom., M.Sc., selaku Dosen Pembanding yang telah memberikan kritik dan saran yang membangun dalam proses penyempurnaan skripsi ini.
7. Staff dan pegawai Fasilkom-TI Universitas Sumatera Utara yang membantu segala urusan administasi dalam menyelesaikan skripsi.
iv
8. Sahabat seperjuangan yang sudah penulis anggap seperti keluarga sendiri Syaiful Anwar Husen Lubis, Muhammad Fadly Tanjung, Muhammad Aidiel Rahman, Muhammad Faris Pratama, Muhammad Abror Rambe, Rendra Mahardika, dan Duwi Satria Kurniawan yang sudah Bersama sejak awal perkuliahan, tempat berbagi cerita yang selalu memberikan dukungan dan energi positif kepada penulis dalam pengerjaan skripsi ini.
9. Terima kasih kepada Muhammad Isa Dadi Hasibuan dan Ridho Fariha Lubis yang telah membagikan ilmu yang bermanfaat kepada penulis selama ini.
10. Anggota Divisi PSDM HIMATIF periode 2017/2018 Silvia Mawarni, Yessi Angraini, Rani Masyithah Pele, Zurwatus Saniyah, Dhany Dwi, Indirwan, dan Fitria Adine yang sudah bekerjasama menuangkan ide dan waktunya dalam menyukseskan seluruh program kerja selama menjabat di keanggotaan HIMATIF periode 2017/2018.
11. BPH ITFEST USU 2018 Fadhlah Hani, Febria Sahrina, Rafika Lumongga Purba, Hadwy Fauzi dan Putri Ajeng Ramadhani serta seluruh panitia dan sukarelawan yang terlibat memberikan usaha yang luar biasa dan ide kreatifnya dalam pelaksanaan ITFEST USU 2018 yang spektakuler.
12. Anggota Data Science Research Group yang selalu berbagi pengetahuan dan motivasi kepada penulis.
Semoga Allah SWT melimpahkan berkah, rahmat, dan hidayahnya kepada semua yang telah membrikan bantuan, perhatian dan dukungan pada penulis dalam menyelesaikan skripsi ini.
Medan, 21 Agustus 2018
Penulis
ABSTRAK
Portal berita online menjadi sebuah sumber penyedia informasi yang saat ini sedang naik daun seiring dengan semakin mudahnya masyarakat Indonesia mengakses internet.
Menurut hasil survei Asosiasi Penyedia Jasa Internet Indonesia (APJII) pertumbuhan pengguna internet Indonesia pada tahun 2017 berjumlah 143,26 juta orang. Jumlah pengguna internet yang besar ini merupakan lahan basah bagi bisnis portal berita online untuk bersaing menarik perhatian pengguna internet untuk membuka situs mereka.
Jumlah pengguna internet yang besar ini merupakan lahan basah bagi bisnis portal berita online untuk bersaing menarik perhatian pengguna internet untuk membuka situs mereka. Pancingan klik (clickbait) adalah modus media online untuk meningkatkan traffic pengunjung, atau pageviews. Ciri khas judul berita clickbait adalah menyembunyikan fakta atau isi berita di bagian judul. Tujuan clickbait yaitu membuat pembaca penasaran sehingga meng-klik tautan judul berita tersebut. Dengan memanfaatkan data judul berita berbahasa Indonesia yang diperoleh dari beberapa portal berita online dengan jumlah traffic tertinggi di Indonesia, penelitian ini bertujuan untuk mendeteksi judul berita clickbait berbahasa Indonesia secara otomatis. Penelitian ini menggunakan metode neural network dengan basis Long Short Term Memory.
Model menggunakan word embedding untuk merepresentasikan data teks kedalam data vektor. Hasil dari penelitian ini adalah sebuah model dengan akurasi 82% dan sebuah sistem yang mampu mengklasifikasikan judul berita apakah termasuk clickbait atau non-clickbait.
Kata Kunci : Clickbait, LSTM, Deep Learning, Neural Network, Bahasa Indonesia
vi
IDENTIFICATION OF INDONESIAN CLICKBAIT NEWS BY USING LONG SHORT TERM MEMORY (LSTM) RECURRENT NEURAL NETWORK
ALGORITHM
ABSTRACT
Online news portals are becoming a provider of information that is currently on the rise as Indonesian people find it easier to access the internet. Based on the results of a survey of Indonesian Internet Service Providers (APJII) internet users in 2017 were 143.26 million people. This large internet user information is opportunity for online news portal business to compete to attract internet users to open their sites. Clickbait is an online media mode to increase traffic from visitors and page views. The characteristic of the clickbait news tittle is that hides the facts or the content of the news in the title section. The goal of clickbait is trying to make the reader curious so that they click on the headline. By utilizing the Indonesian news headline data obtained from several online news portals with the highest amount of traffic in Indonesia, this research’s goal is to identify Indonesian news clickbait automatically. This study uses artificial neural network method based on Long Short Term Memory. The model uses the word embedding to represent text data into vector data. The results of this study are a model with 82% accuracy and a system that is able to classify whether the news titles is clickbait or non-clickbait.
Keywords: Clickbait, LSTM, Deep Learning, Neural Network, Bahasa Indonesia
DAFTAR ISI
PERSETUJUAN i
PERNYATAAN ii
UCAPAN TERIMA KASIH iii
ABSTRAK v
ABSTRACT vi
DAFTAR ISI vii
DAFTAR TABEL ix
DAFTAR GAMBAR x
BAB 1 PENDAHULUAN
1.1 Latar Belakang 1
1.2 Rumusan Masalah 4
1.3 Tujuan Penelitian 4
1.4 Batasan Masalah 4
1.5 Manfaat Penelitian 4
1.6 Metodologi Penelitian 4
1.7 Sistematika Penulisan 5
BAB 2 LANDASAN TEORI
2.1 Clickbait 7
2.2 Recurrent Neural Network 7
2.3 Long Short Term Memory 8
2.4 Word Embedding 14
2.5 Penelitian Terdahulu 14
viii
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1 Data yang digunakan 19
3.2 Perancangan Sistem 20
3.3 Metode Evaluasi 29
BAB 4 IMPLEMENTASI DAN PEMBAHASAN
4.1 Implementasi Sistem 30
4.2 Hasil Pengujian Sistem 33
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan 41
5.2 Saran 41
DAFTAR PUSTAKA 42
DAFTAR TABEL
TABEL 2.1. Penelitian Terdahulu 17
TABEL 2.1. Penelitian Terdahulu (Lanjutan) 18
TABEL 3.1. Contoh Penerapan Case Folding 22
TABEL 3.2. Contoh Proses Punctuation Removal 22
TABEL 3.3. Daftar Stopword yang Dihapus 23
TABEL 3.4. Contoh Penerapan Stopword Removal 23
TABEL 3.5. Contoh Penerapan Tokenisasi 23
TABEL 3.6. Pembagian Data 24
TABEL 4.1. Sampel Data Uji Judul Berita 36
TABEL 4.2. Sampel Diubah menjadi Sequence of Integer 36
TABEL 4.3. Hasil Pengujian 40
x
DAFTAR GAMBAR
Hal.
GAMBAR 2.1. Proses Perulangan Informasi pada RNN 8
GAMBAR 2.2. RNN Terdiri dari Banyak Salinan Jarinan yang Sama 8
GAMBAR 2.3. Layer Tanh pada RNN 9
GAMBAR 2.4. Perulangan dengan Empat Layer pada LSTM 9
GAMBAR 2.5. Cell State pada LSTM 10
GAMBAR 2.6. Sigmoid Layer pada LSTM 10
GAMBAR 2.7. Langkah Pertama metode LSTM “Forget Gate Layer” 11 GAMBAR 2.8. Langkah Kedua Metode LSTM “Input Gate Layer &
Tanh Layer” 12
GAMBAR 2.9. Langkah Ketiga metode LSTM "Membuat Cell State
Baru” 14
GAMBAR 2.10. Langkah Keempat metode LSTM "Menentukan Output 14
GAMBAR 3.1. Dataset Non-Clickbait 19
GAMBAR 3.2. Dataset Clickbait 20
GAMBAR 3.3. Arsitektur Umum 21
GAMBAR 3.4. Hasil Konversi Text pada Salah Satu Judul Berita
Menjadi dalam Bentuk Matriks 25
GAMBAR 3.5. Rancangan Halaman Utama 26
GAMBAR 3.6. Rancangan Halaman Model Summary 27
GAMBAR 3.7. Rancangan Halaman Identifikasi 28
GAMBAR 3.8. Rancangan Halaman Hasil Identifikasi 28
GAMBAR 4.1. Halaman Utama 31
GAMBAR 4.2. Halaman Model Summary 31
GAMBAR 4.3. Halaman Identifikasi 32
GAMBAR 4.4. Halaman Hasil Identifikasi 33
GAMBAR 4.5. Kurva performa akurasi model dengan penambahan
Dropout Layer dan Callback Function untuk mengurangi
Overfitting 34
GAMBAR 4.6. Kurva performa loss model dengan penambahan Dropout Layer dan Callback Function untuk
Mengurangi Overfitting 34 GAMBAR 4.7. Kurva performa akurasi model tanpa penambahan
Dropout Layer dan Callback Function 35 GAMBAR 4.8. Kurva performa loss model tanpa penambahan Dropout
Layer dan Callback Function 35
BAB 1
PENDAHULUAN
1.1. Latar Belakang
Portal berita online saat ini bukan hanya sekedar sarana untuk membagikan informasi faktual kepada pembacanya tetapi juga sudah menjadi sebuah bisnis yang menjanjikan.
Bisnis portal berita online di Indonesia bertumbuh dengan sangat cepat. Arus informasi tidak lagi dikuasai oleh lini mainstream seperti surat kabar cetak, majalah, radio, dan televisi. Portal berita online menjadi sebuah sumber penyedia informasi yang saat ini sedang naik daun seiring dengan semakin mudahnya masyarakat Indonesia mengakses internet. Menurut hasil survei Asosiasi Penyedia Jasa Internet Indonesia (APJII) pertumbuhan pengguna internet Indonesia pada tahun 2017 berjumlah 143,26 juta orang. Jumlah pengguna internet yang besar ini merupakan lahan basah bagi bisnis portal berita online untuk bersaing menarik perhatian pengguna internet untuk membuka situs mereka.
Berdasarkan komparasi menggunakan Alexa.com, web yang sejak 1996 telah melakukan pengumpulan database mengenai situs internet di dunia diketahui bahwa tribunnews.com, detik.com, kompas.com, dan uzone.id saat ini menjadi 4 situs portal berita dengan daily time on site (estiamasi lama waktu yang dihabiskan seorang pengunjung sebuah website dalam satuan menit) dan pageview (estimasi jumlah kunjungan satu orang ke sebuah website ) tertinggi di Indonesia.
• Detik.com
o Daily Time on Site : 10:36 o Daily Pageviews per Visitor : 6.87 o % of Traffic From Search : 20.10
• Kompas.com
o Daily Time on Site : 6:41 o Daily Pageviews per Visitor : 2.9
o % of Traffic From Search : 32
• Tribunnews.com
o Daily Time on Site : 5:55 o Daily Pageviews per Visitor : 3.25 o % of Traffic From Search : 57.8
• Uzone.id
o Daily Time on Site : 1:26 o Daily Pageviews per Visitor : 2.62 o % of Traffic From Search : 17.8
Sumber: alexa.com diakses pada 2 Mei 2018
Portal berita online memperoleh penghasilan dari iklan. Mereka menawarkan traffic yang tinggi agar mendapat kepercayaan dari perusahaan yang ingin beriklan di situs mereka. Sederhananya, traffic adalah aktivitas pada satu halaman situs yang dihasilkan dari kunjungan pengguna internet dan aktivitas pengguna internet di halaman itu. Semakin banyak sebuah situs dikunjungi dan semakin banyak aktivitas yang dilakukan pengguna internet di laman-laman situs itu, maka traffic situs itu semakin tinggi.
Prinsipnya, semakin banyak orang mengunjungi sebuah situs berita dan berlama-lama di sana melakukan aktivitas klik maka itu adalah keuntungan media tersebut secara bisnis. Hal ini didukung dengan kebiasaan pembaca media online umumnya melakukan scanning, atau membaca sepintas kilas, misalnya hanya membaca pada judul berita saja.
Pancingan klik (clickbait) adalah modus media online untuk meningkatkan traffic, pengunjung, dan pageviews. Ciri khas judul berita clickbait menyembunyikan fakta atau isi berita di bagian judul. Tujuan clickbait yaitu berusaha membuat pembaca penasaran sehingga meng-klik tautan judul berita tersebut.
Menurut teori Curiosity Gap (Loeweinstein, 1994), clickbait memanfaatkan rasa penasaran yang dimiliki oleh manusia. Ketika manusia merasa ada kesenjangan antara apa yang kita ketahui dan apa yang ingin kita ketahui, kesenjangan ini mengakibatkan sebuah konsekuensi yang bersifat emosional. Dengan kata lain, ketidaktahuan membuat kita merasa tidak nyaman (Gardiner, 2015)
3
Meskipun banyak mendapat reaksi negatif dan menjadi ancaman bagi dunia jurnalisme (Dvorkin, 2016) penggunaan clickbait semakin merajalela. Hal yang menyedihkan adalah para pembuat konten memandang clickbait sebagai alat yang efektif untuk menarik perhatian pengunjung ke situs mereka (Potthast et al., 2016) Berdasarkan studi (Chen, Conroy dan Rubin, 2015) clickbait berpotensi menjadi berita bohong. Penelitian terbaru memperlihatkan sebagian besar orang yang membaca berita bohong di internet mempercayai berita tersebut (Allcott dan Gentzkow, 2017). Berita online menyebar dengan sangat cepat yang artinya kebenaran yang simpang siur dapat menyebabkan kebingungan dan perpecahan bagi orang banyak (Chen, Conroy dan Rubin, 2015).
Oleh karena itu penting untuk mengembangkan sebuah teknik yang mampu secara otomatis mendeteksi judul berita yang tergolong clickbait. Saat ini belum ada penelitian yang mengidentifikasi judul berita clickbait berbahasa Indonesia. Salah satu cara untuk mendeteksi judul clickbait adalah dengan memanfaatkan metode Deep Learning khususnya Natural Language Processing (NLP). Meskipun pada awalnya didesain untuk penelitian di bidang Computer Vision (Krizhevsky, 2012) dan Speech Recognition (Graves, 2013), deep learning saat ini sudah terbukti berhasil dalam pengklasifikasian kalimat.
Deep learning memiliki beberapa jenis framework seperti Convolutional Neural Network (CNN), Recurrent Neural Network (RNN) dengan variasinya yaitu Long Short-Term Memory (LSTM) dan Gated Recurrent Unit (GRU). (Amajd, 2017) Berdasarkan penelitian LSTM memberikan tingkat akurasi tertinggi yaitu 88.03%
dalam pengkalisifikasian yang bersifat sekuensial pada dataset IMDB dibandingkan dengan CNN yang memiliki tingkat akurasi 87.71% dan Naïve-Bayes dengan tingkat akurasi 83.29%. Pada penelitian (Rao dan Spasojevic, 2016) klasifikasi data sosial media tentang kecenderungan mendukung partai politik Demokrat atau partai politik Republik di Amerika Serikat, LSTM menunjukkan tingkat akurasi sebesar 87.57%
Berdasarkan latar belakang diatas, penulis bermaksud melakukan penelitian berjudul “Identifikasi Judul Berita Clickbait Berbahasa Indonesia menggunakan Algoritma Long Short- Term Memory (LSTM) Recurrent Neural Network”
1.2. Rumusan Masalah
Clickbait memiliki dampak positif bagi pemilik media berita online yaitu mampu meningkatkan jumlah traffic yang mempengaruhi pemasukan. Namun, bagi para pembaca memiliki dampak negatif yaitu rasa kecewa terhadap konten berita yang tidak sesuai dengan judul yang dibuat. Dan yang paling berbahaya lagi adalah semakin cepatnya penyebaran berita bohong atau hoax. Dengan memodifikasi judul sehingga terlihat sangat menarik maka konten hoax akan cepat menyebar.
1.3. Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk mengidentifikasi judul berita bahasa Indonesia yang mengandung unsur clickbait dan mencari model dengan kemungkinan overfitting terkecil.
1.4. Batasan Masalah
Penelitian ini memiliki batasan-batasan atau ruang lingkup permasalahan yang akan diteliti. Adapun batasan masalah tersebut adalah :
• Dataset judul berita yang digunakan sebagai data latih dan data uji adalah judul berita Bahasa Indonesia.
• Dataset yang digunakan adalah file dokumen berekstensi csv yang mengandunng teks judul berita unik di setiap barisnya.
• Output dari penelitian ini adalah sistem berbasis web yang mendeteksi judul berita termasuk clickbait atau non-clickbait.
1.5. Manfaat Penelitian
Manfaat dari penelitian ini adalah untuk mengetahui proses kerja dari algoritma Long Short Term Memory dan mengukur seberapa besar akurasinya dalam melakukan identifikasi judul berita clickbait berbahasa Indonesia
1.6. Metodologi Penelitian
Beberapa tahapan yang akan dilakukan pada penelitian ini adalah sebagai berikut:
5
1. Studi Literatur
Pada tahap ini penulis mengumpulkan dan mempelajari materi-materi yang berhubungan dengan penelitian. Referensi berasal dari jurnal, buku, skripsi, informasi dari internet, dan referensi lainnya yang berhubungan dengan identifikasi, metode LSTM, dan pemogramman Python.
2. Analisis Permasalahan
Pada tahap ini penulis melakukan analisis terhadap studi literatur yang sebelumnya telah dikumpulkan untuk mendapatkan pemahaman mengenai metode LSTM dalam menyelesaikan masalah identifikasi.
3. Implementasi
Pada tahap ini dilakukan proses implementasi metode LSTM dalam aplikasi komputer menggunakan pemogramman Python.
4. Pengujian
Pada tahap ini dilakukan pengujian prakiraan yang telah dibuat guna memastikan identifikasi telah berjalan sesuai dengan yang diharapkan.
5. Dokumentasi dan Penyusunan Laporan
Pada tahap ini dilakukan dokumentasi hasil analisis dari penelitian metode LSTM untuk menyelesaikan masalah identifikasi clickbait.
1.7. Sistematika Penulisan
Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut:
Bab 1: Pendahuluan
Bab ini berisi latar belakang, rumusan masalah, tujuan penelitan, batasan masalah, manfaat penelitian, metodologi penelitan dan sistematika penulisan.
Bab 2: Landasan Teori
Pada bab ini berisi teori-teori yang digunakan untuk memahami permasalahan yang dibahas pada penelitian ini. Pada bab ini dijelaskan tentang pemrosesan Bahasa alami dengan metode LSTM untuk mengidentifikasi judul berita Bahasa Indonesia yang termasuk clickbait.
Bab 3: Analisa dan Perancangan
Pada bab ini menjelaskan analisis dan penerapan metode LSTM untuk melakukan identifikasi judul berita Bahasa Indonesia yang termasuk clickbait atau non-clickbait.
Bab ini juga membahas arsitektur umum, hingga proses identifikasi metode LSTM dengan menggunakan pemograman Python
Bab 4: Implementasi dan Pembahasan
Bab ini berisi pembahasan tentang implementasi dari analisis dan perancangan yang telah disusun pada Bab 3. Selain itu, pada bab ini juga dipaparkan hasil dari pengujian sistem yang telah dibangun.
Bab 5: Kesimpulan dan Saran
Bab ini berisi kesimpulan dari seluruh pembahasan pada bab-bab sebelumnya dan saran-saran yang disampaikan untuk pngembangan pada penelitian selanjutnya.
BAB 2
LANDASAN TEORI
2.1. Clickbait
Judul berita yang menjebak (clickbait) adalah modus media online untuk meningkatkan traffic, pengunjung, dan pageviews. Ciri khas judul berita berupa clickbait yaitu menggunakan kata "inilah" atau "ini dia" dan menyembunyikan fakta atau isi berita di bagian judul. Tujuan click bait, adalah berusaha membuat pembaca merasa penasaran sehingga meng-klik tautan judul berita tersebut. Judul berita clickbait yang umumnya menjebak itu adalah gaya jurnalistik pada media online atau digital journalism/cyber journalism akibat persaingan ketat di internet.
The Oxford English Dictionary mendefinisikan clickbait sebagai "konten di internet (media online) yang bertujuan utama menarik perhatian dan mendorong pengunjung untuk mengklik sebuah link halaman situs tertentu". Isi berita dengan judul berupa clikbait umumnya berita yang tidak begitu penting, bahkan sudah basi, tidak aktual lagi, kurang menarik. Dengan cara dijadikan judul yang menjebak itulah isi berita terkesan menarik dan update.
2.2. Recurrent Neural Network
Recurrent neural network adalah bagian dari neural network yang memproses sejumlah data yang bersambung (sequential data). Secara umum, manusia tidak membuat keputusan dari awal setiap saat. Manusia selalu memperhitungkan informasi masa lalu dalam membuat keputusan. Seperti halnya manusia, Recurrent Neural Network menyimpan informasi dari masa lalu dengan melakukan looping dalam arsitekturnya seperti yang terlihat dalam gambar 2.1 yang secara otomatis membuat informasi dari masa lalu tetap tersimpan
Gambar 2.1 Proses perulangan informasi pada RNN (Olah, 2015)
Pada gambar 2.1, Xt sebagai input, Ht sebagai output dan terdapat alur perulangan yang memungkinkan informasi dilewatkan dari satu langkah jaringan ke langkah berikutnya. Recurrent Neural Network dapat dianggap sebagai banyak salinan dari jaringan yang sama. Masing-masing jaringan mengirimkan pesan kepada jaringan berikutnya seperti terlihat pada gambar 2.2.
Gambar 2.2 RNN terdiri dari banyak salinan jaringan yang sama (Olah, 2015)
2.3. Long Short Term Memory
Long Short Term Memory (LSTM) adalah salah satu variasi dari Recurrent Neural Network yang dibuat untuk menghindari masalah ketergantungan jangka Panjang pada Recurrent Nueral Network (RNN). LSTM dapat mengingat informasi jangka panjang.
Pada RNN perulangan jaringan hanya menggunakan satu layer sederhana, yaitu layer tanh seperti pada gambar 2.3.
9
Gambar 2.3 Layer tanh pada RNN (Olah, 2015) Persamaan tanh diuraikan pada persamaan 2.1.
tanh(𝑥) = 2𝜎(2𝑥) − 1 (2.1)
Dimana:
𝜎 = fungsi aktivasi sigmoid 𝑥 = data input
Sedangkan, LSTM memiliki empat layer pada perulangan modelnya seperti pada gambar 2.4.
Gambar 2.4 Perulangan dengan empat layer pada LSTM (Olah, 2015)
Persamaan metode LSTM menurut Hochreiter & Schmidhber (1997) diuraikan pada persamaan 2.2
𝑓𝑡 = 𝜎(𝑊𝑓. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝑓 (2.2)
𝑖𝑡 = 𝜎(𝑊𝑖. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝑖) 𝐶𝑡̅ = 𝑡𝑎𝑛ℎ(𝑊𝐶. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝐶)
𝐶𝑡 = 𝑓𝑡 ∗ 𝐶𝑡−1 + 𝑖𝑡 ∗ 𝐶𝑡̅ )
𝑜𝑡 = 𝜎(𝑊𝑜. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝑜) ℎ𝑡 = 𝑜𝑡 ∗ tanh (𝐶𝑡)
Kunci utama pada LSTM adalah cell state. Cell state adalah garis horizontal yang menghubungkan semua output layer pada LSTM seperti terlihat pada gambar 2.5.
Gambar 2.5 Cell state pada LSTM (Olah, 2015)
LSTM memiliki kemampuan untuk menambah dan menghapus informasi dari cell state. Kemampuan ini disebut dengan gates. Gates sebagai pengatur apakah informasi akan diteruskan atau diberhentikan. Gates terdiri dari sigmoid layer dan pointwise multiplication operation seperti yang terlihat pada gambar 2.6.
Gambar 2.6 Sigmoid layer pada LSTM (Olah, 2015)
Output dari sigmoid layer adalah angka 1 atau 0 yang menunjukkan apakah informasi tersebut akan diteruskan atau diberhentikan. Angka 0 menunjukkan bahwa tidak ada informasi yang akan diteruskan, sedangkan angka 1 menunjukkan bahwa semua informasi akan diteruskan. Persamaan sigmoid diuraikan pada persamaan 2.3.
𝜎(𝑥) = 1/(1 + 𝜖−𝑥) (2.3)
Dimana:
X = data input
11
𝜖 = konstanta matematika (2,71828 18284 59045 23536 02874 71352) LSTM memiliki 3 jenis gates diantaranya adalah forget gate, input gate, dan output gate. Forget gate adalah gate yang memutuskan informasi mana yang akan dihapus dari cell. Input gate adalah gate yang memutuskan nilai dari input untuk di diperbarui pada state memori. Output gate adalah gate yang memutuskan apa yang akan dihasilkan output sesuai dengan input dan memori pada cell. Langkah - langkah panduan jalannya metode LSTM:
Langkah pertama adalah LSTM memutuskan informasi apa yang akan dihapus dari cell state. Keputusan ini dibuat oleh sigmoid layer yang bernama “forget gate layer”. Forget gate layer akan memproses ht-1 dan xt sebagai input, dan menghasilkan output berupa angka 0 atau 1 pada cell state Ct-1 seperti yang terlihat pada gambar 2.7.
Gambar 2.7 Langkah pertama metode LSTM "Forget gate layer" (Olah, 2015) Persamaan forget gate diuraikan pada persamaan 2.4
𝑓𝑡 = 𝜎(𝑊𝑓. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝑓 (2.4)
Dimana:
𝑓𝑡 = forget gate 𝜎 = fungsi sigmoid
𝑊𝑓 = nilai weight untuk forget gate ℎ𝑡−1 = nilai output sebelum orde ke t 𝑥𝑡 = nilai input pada orde ke t 𝑏𝑓 = nilai bias pada forget gate
Nilai weight diuraikan pada persaman 2.5.
𝑊 = (− 1
√𝑑, 1
√𝑑) (2.5) Dimana:
W = weight d = jumlah data
Langkah kedua adalah memutuskan informasi apa yang akan disimpan di cell state. Untuk langkah ini terdapat dua bagian. Bagian pertama, sigmoid layer yang bernama “input gate layer” memutuskan nilai mana yang akan diperbaruhi.
Selanjutnya, tanh layer membuat satu kandidat dengan nilai baru, C~t, yang dapat ditambahkan ke cell state. Tahap selanjutnya adalah output dari input gate layer dan tanh layer akan digabungkan untuk memperbaruhi cell state. Langkah kedua digambarkan pada gambar 2.8.
Gambar 2.8 Langkah kedua metode LSTM "Input gate layer & tanh layer" (Olah, 2015)
Persamaan input gate diuraikan pada persamaan 2.6.
𝑖𝑡 = 𝜎(𝑊𝑖. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝑖) Dimana:
𝑖𝑡 = input gate 𝜎 = fungsi sigmoid
𝑊𝑖 = nilai weight untuk input gate
(2.6)
13
Dimana:
𝐶𝑡̅ = nilai baru yang dapat ditambahkan ke cell state
𝑡𝑎𝑛ℎ = fungsi tanh
𝑊𝐶 = nilai weight untuk cell state ℎ𝑡−1 = nilai output sebelum orde ke t 𝑥𝑡 = nilai input pada orde ke t 𝑏𝑓
= nilai bias untuk cell state
Langkah ketiga adalah memperbaruhi cell state yang lama, Ct-1, menjadi cell state baru, Ct seperti digambarkan pada gambar 2.9. Dengan mengkalikan state lama dengan ft, untuk menghapus informasi yang sudah ditentukan sebelumnya pada langkah forget gate layer. Selanjutnya, ditambahkan dengan it * C~t , yang merupakan nilai baru dan digunakan untuk memperbaruhi state. Persamaan cell state diuraikan pada persamaan 2.8.
ℎ𝑡−1 = nilai output sebelum orde ke t 𝑥𝑡 = nilai input pada orde ke t 𝑏𝑖
= nilai bias pada input gate
Persamaan kandidat baru diuraikan pada persamaan 2.7.
𝐶𝑡̅ = 𝑡𝑎𝑛ℎ(𝑊𝐶. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝐶) (2.7)
𝐶𝑡 = 𝑓𝑡 ∗ 𝐶𝑡−1 + 𝑖𝑡 ∗ 𝐶𝑡̅ ) Dimana:
𝐶𝑡 = Cell state 𝑓𝑡 = forget gate
𝐶𝑡−1 = Cell state sebelum orde ke t 𝑖𝑡 = input gate
𝐶𝑡̅ = nilai baru yang dapat ditambahkan ke cell state
(2.8)
Gambar 2.9 Langkah ketiga metode LSTM "Membuat cell state baru"
(Olah, 2015)
Langkah keempat adalah langkah terakhir dalam metode LSTM yang bertujuan untuk memutuskan hasil output digambarkan pada gambar 2.10. Output harus sesuai dengan cell state yang telah diproses terlebih dahulu. Pertama sigmoid layer memutuskan bagian dari cell state yang menjadi output. Selanjutnya, output dari cell state dimasukkan kedalam tanh layer (untuk mengganti nilai menjadi diantara -1 dan 1) dan dikalikan dengan sigmoid gate, agar output yang dihasilkan sesuai dengan apa yang kita putuskan sebelumnya.
Gambar 2.10 Langkah keempat metode LSTM "menentukan output"
(Olah, 2015)
15
Persamaan output gate diuraikan pada persamaan 2.9.
𝑜𝑡 = 𝜎(𝑊𝑜. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝑜) Dimana: (2.9)
𝑜𝑡 = output gate 𝜎 = fungsi sigmoid
𝑊𝑜 = nilai weight untuk output gate ℎ𝑡−1 = nilai output sebelum orde ke t 𝑥𝑡 = nilai input pada orde ke t 𝑏𝑜
= nilai bias pada output gate
Persamaan nilai output orde t diuraikan pada persamaan 2.10.
ℎ𝑡 = 𝑜𝑡 ∗ tanh (𝐶𝑡) (2.10) Dimana:
ℎ𝑡 = nilai output orde t 𝑜𝑡 = output gate 𝑡𝑎𝑛ℎ = fungsi tanh 𝐶𝑡 = Cell state
2.4. Word Embedding
Word embedding adalah nama kolektif dari satu set model bahasa dan teknik pembelajaran fitur dalam pemrosesan bahasa alami dimana kata-kata dari kosa kata dipetakan menjadi vektor bilangan riil. Penelitian yang dilakukan (Yepes,2017) menunjukkan bahwa word embedding meningkatkan performa kinerja fitur dan memungkinkan juga digunakan pada pengklasifikasi RNN dengan basis LSTM.
2.5. Penelitian Terdahulu
Penelitian tentang pendeteksian clickbait telah banyak dilakukan. Seperti yang dilakukan (Agrawal, 2016) yang mendeteksi clickbait dengan data dari berbagai platform sosial media diantaranya Reddit, Facebook, dan Twitter. Penelitian ini menggunakan model Simple Convolutional Neural Network dengan satu layer Convolution serta dilakukan proses word embedding dengan Word2Vec menghasilkan akurasi 0.90 dan skor ROC-AUC 0.90.
Berikutnya penelitian mengenai identifikasi clickbait dengan data berupa judul berita dari beberapa portal berita online yang popular di dunia seperti Wikinews, BuzzFeed, Upworthy, ViralNova, ScoopWhoop, dan ViralStories. Penelitian ini menggunakan arsitektur model Recurrent Neural Network dengan menghasilkan akurasi sebesar 0.98 dan skor ROC-AUC 0.99 (Anand, Chakraborty dan Park, 2017)(Anand et al, 2016).
Penelitian berikutnya yaitu mendeteksi clickbait dari judul berita berbahasa Filipina dan Inggris dengan menggunakan Bidrectional LSTM. Model tersebut menggunakan Word2Vec untuk merepresantasikan dan menyocokkan corpora.
Percobaan ini menghasilkan keakuratan sebesar 91.5% dengan BiLSTM (Philogene , 2017).
Selanjutanya penelitian yang dilakukan oleh (Fu et al., 2017) yaitu medeteksi clickbait dengan menggunakan corpus berbahasa Inggris dan China. Model yang digunakan mendapatkan hasil yag konsisten. Model Convolutional Neural Network yang digunakan bekerja dengan baik dengan akurasi 0.92 dan skor RAC-AUC 0.94.
Peneltian lain mengenai identifikasi teks pesan singkat (SMS) berbahasa Indonesia telah dilakukan oleh (Saputra, 2017) dengan melalui tahapan preprocessing (case folding, punctuation removing, tokenisasi, penanganan alamat URL dan nomor telepon, stemming, filtering dan normalisasi), pemodelan topik dengan Twitter-LDA, dan klasifikasi SMS. Penelitian ini membandingkan hasil F-score percobaan terhadap klasifikasi SMS menggunakan model yang menerapkan penambahan filtering dan/atau normalisasi dengan model tanpa filtering dan/atau normalisasi. Hasil dari penelitian ini menunjukkan bahwa model yang menerapkan penambahan normalisasi memiliki rata- rata F-Score yang lebih tinggi daripada model yang lain, yaitu dengan nilai 96,24%.
17
Penelitian terdahulu yang telah dipaparkan akan diuraikan secara singkat pada Tabel 2.1.
Tabel 2.1 Penelitian Terdahulu
No. Peneliti Metode Keterangan
1 Agrawal
(2016)
Convolutional Neural Network
Mendeteksi clickbait dengan model Convolutional Neural Network dan menyajikan corpus clickbait yang berasal dari beberapa platform media sosial dan menghasilkan model dengan performa yang tinggi dalam mengidentifikasi clickbait.
2 Chakraborty et al. (2016)
SVM, Decision Tree, Random
Forest
Membuat sebuah extention web browser yang secara otomatis mendeteksi clickbait dan memberi informasi berupa peringatan kemungkinan sebuah berita termasuk clickbait dilihat dari judulnya.
3 Philogene (2017)
BiLSTM Mendeteksi clickbait dari judul berita berbahasa Filipina dan Inggris dengan menggunakan Bidrectional LSTM.
Model tersebut menggunakan Word2Vec untuk merepresantasikan dan menyocokkan corpora. Percobaan ini menghasilkan keakuratan sebesar 91.5% dengan BiLSTM.
4 Fu et al.(2017) Convolutional Neural Network
Medeteksi clickbait dengan menggunakan corpus berbahasa Inggris dan China. Model yang digunakan mendapatkan hasil yag konsisten. Model tersebut bekerja dengan baik tanpa bergantung pada bahasa tertentu.
Table 2.1 Penelitian Terdahulu (lanjutan)
No. Peneliti Metode Keterangan
5 Saputra (2017) Twitter-LDA membandingkan hasil F-score percobaan terhadap klasifikasi SMS menggunakan model yang menerapkan penambahan filtering dan/atau normalisasi dengan model tanpa filtering dan/atau normalisasi. Hasil dari penelitian ini menunjukkan bahwa model yang menerapkan penambahan normalisasi memiliki rata-rata F-Score yang lebih tinggi daripada model yang lain, yaitu dengan nilai 96,24%.
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1. Data yang digunakan
Data yang digunakan adalah judul berita berbahasa Indonesia yang diperoleh dari proses crawling dari berbagai portal berita online di Indonesia sebanyak 17883 judul.
Data judul berita yang tergolong non-clickbait berasal dari portal berita Antara, Tempo, dan Republika digabung menjadi satu file berekstensi .csv dan diberi label non_clickbait. Sementara data dengan label clickbait diperoleh dari portal berita Kapanlagi, Detik, Kompas, Tribunnews. Gambar 3.1 menunjukkan data judul clickbait dan gambar 3.2 menunjukkan data yang tergolong non-clickbait.
Gambar 3.1 Dataset Non-Clickbait
Gambar3.2 Dataset Clickbait
Sebelum memasuki tahapan preprocessing, kedua file tersebut digabungkan menjadi sebuah dataset. Setelah itu dilakukan pengecekan terhadap data yang duplikat kemudian data yang duplikat tersebut dihapus dan disisakan satu berita saja
3.2. Perancangan Sistem
3.2.1. Arsitektur Umum
Metode penelitian ini terdiri dari beberapa tahapan utama yaitu : dua file berekstensi csv yang menyimpan data judul berita clickbait dan non-clickbait digabungkan menjadi satu dataframe. Kemudian dataframe tersebut melewati proses preprocessing yang terdiri dari case folding, punctuation removal, stopword removal, tokenisasi, dataframe dipecah menjadi data latih dan data uji kemudian dataframe diubah formatnya dari text kedalam 2D tensor of ineteger. Kemudian pelatihan model menggunakan algoritma LSTM dengan basis RNN dan diakhiri dengan pengujian model. Untuk lebih jelasnya, metode penelitian ini dapat dilihat pada arsitektur umum pada gambar 3.3.
21
Gambar 3.3 Arsitektur Umum
A. Case Folding (Mengubah karakter dalam kalimat menjadi lowercase).
Penerapan case folding bertujuan untuk menyamakan seluruh jenis karakter yang terdapat dalam judul berita sehingga memudahkan dalam proses penghapusan karakter atau kata-kata tertentu yang tidak diinginkan dalam penelitian ini. Contoh teks sebelum dan sesudah proses case folding dapat dilihat pada Tabel 3.1
Tabel 3.1 Contoh Penerapan Case Folding
Sebelum Case Folding Setelah Case Folding MIRIS!!! Setelah Racuni 3 Anaknya
Hingga Tewas, Seorang Ibu Kemudian.…
miris!!! setelah racuni 3 anaknya hingga tewas, seorang ibu kemudian….
B. Punctuation Removal
Pada tahapan ini tanda baca (seperti ? ! , / = + - \ > < ; “ ( ) {} [ ] . : | dan lainnya) akan diganti dengan spasi. Penghapusan ini dilakukan karena tanda baca tidak dihiraukan selama proses training sehingga dengan penghapusan tanda baca proses training akan menjadi lebih sederhana. Pengecualian terhadapa tanda “.” dan “:” yang akan ditangain dalam proses penghapusan url di tahap berikutnya. Contoh dari punctuation removal dapat dilihat pada Tabel 3.2.
Tabel 3.2 Contoh Proses Punctuation Removal
Sebelum Punctuation Removal Setelah Punctuation Removal miris!!! setelah racuni 3 anaknya hingga
tewas, seorang ibu kemudian….
miris setelah racuni 3 anaknya hingga tewas seorang ibu kemudian
C. Stopword Removal
Stopword merupakan kata-kata yang sering muncul dan biasanya diabaikan dalam pemrosesan. Penghapusan stopword bertujuan untuk mengurangi jumlah kata dalam sebuah dokumen yang nantinya akan berpengaruh dalam kecepatan dan performa dalam kegiatan NLP. Stopword yang dihapus dalam penelitian ini dapat dilihat pada tabel 3.X dan contoh penerapan stopword removal dapat dilihat pada Tabel 3.3.
23
Tabel 3.3 Daftar Stopword yang Dihapus Daftar Stopword yang dihapus
'yang', 'untuk', 'pada', 'ke', 'para', 'namun', 'menurut', 'antara', 'dia', 'dua', 'ia', seperti', 'jika', 'jika', 'sehingga', 'kembali', 'dan', 'tidak', 'ini', 'karena', 'kepada', 'oleh', 'saat', 'harus', 'sementara', 'setelah', 'belum', 'kami', 'sekitar', 'bagi', 'serta', 'di', 'dari', 'telah', 'sebagai', 'masih', 'hal', 'ketika', 'adalah', 'itu', 'dalam', 'bisa', 'bahwa', 'atau', 'hanya', 'kita', 'dengan', 'akan', 'juga', 'ada', 'mereka', 'sudah', 'saya', 'terhadap', 'secara', 'agar', 'lain', 'anda', 'begitu', 'mengapa', 'kenapa', 'yaitu', 'yakni', 'daripada', 'itulah', 'lagi', 'maka', 'tentang', 'demi', 'dimana', 'kemana', 'pula', 'sambil', 'sebelum', 'sesudah', 'supaya', 'guna', 'kah', 'pun', 'sampai', 'sedangkan','selagi', 'sementara', 'tetapi', 'apakah', 'kecuali', 'sebab', 'selain', 'seolah', 'seraya', 'seterusnya', 'tanpa', 'agak', 'boleh', 'dapat', 'dsb', 'dst', 'dll', 'dahulu', 'dulunya', 'anu', 'demikian', 'tapi', 'ingin', 'juga', 'nggak', 'mari', 'nanti', 'melainkan', 'oh', 'ok', 'seharusnya', 'sebetulnya', 'setiap', 'setidaknya', 'sesuatu',
‘pasti', 'saja','toh', 'ya', 'walau', 'tolong', 'tentu','amat', 'apalagi', 'bagaimanapun'
Tabel 3.4 Contoh Penerapan Stopword Removal
Sebelum Stopword Removal Setelah Stopword Removal miris!!! setelah racuni 3 anaknya hingga tewas,
seorang ibu kemudian….
miris racuni 3 anaknya hingga tewas seorang ibu kemudian
D. Tokenisasi
Tokenisasi berfungsi melakukan pemisahan untuk setiap kata , rangkaian angka, dan rangkaian angka dengan huruf yang memiliki makna tetentu. Contoh penerapan tokenisasi dapat dilihat pada tabel 3.5.
Tabel 3.5 Contoh Penerapan Tokenisasi
Sebelum Tokenisasi Setelah Tokenisasi miris racuni 3 anaknya hingga tewas seorang ibu
kemudian
“miris” , “racuni”, “3” , “anaknya”,
“hingga”, “tewas”, “seorang”,
“ibu”, “kemudian”
E. Split Dataset
Setelah melewati beberapa proses diatas dan data sudah dianggap bersih, tahapan berikutnya adalah pemisahan dataset menjadi dua yaitu data latih dan data uji yang dilakukan secara acak. Untuk detail pemisahan data latih dan data uji dapat dilihat pada Tabel 3.6.
Tabel 3.6 Pembagian Data
Data Latih Data Uji
Data Latih Data Validasi
11104 2776 3470
Dari tabel 3.6 dapat dilihat bahwa data latih berjumlah 138800 yang nantinya akan dibagi dua lagi untuk kebutuhan latihan (training) model dan untuk kebutuhan validasi model. Sedangkan data uji berjumlah 3470 data.
F. Word Embedding
Setelah dataset dipisah menjadi data latih dan data uji kemudian data diubah formatnya menjadi tensor. Embedding layer merupakan layer yang menerima input berupa 2D tensor integer. Sebelum diubah menjadi tensor tahapan yang harus dilakukan adalah menentukan jumlah kata maksimal yang paling sering muncul didalam dataset yang akan dijadikan kamus untuk proses training model. Pada penelitian ini menggunakan 1000 kata yang frekuensinya paling banyak di dataset. Kemudian ditentukan maksimal jumlah kata dari masing-masing judul sebanyak 150 kata (berdasarkan 1000 kamus yang ditentukan diawal). Kemudian 1000 kata tersebut dikonversi menjadi sequence of integer (urutan kata yang palin sering muncul dalam bentuk integer). Setelah format menjadi sequence of integer kemudian diubah menjadi tensor 2-Dimensi dengan ketentuan (1000, 150) artinya 1000 sequence dengan masing-masing panjang 150.
Semua sequences yang akan menjadi input di embedding layer harus mempunyai panjang yang sama. Untuk itu dilakukan pemampatan sequences apabila kurang dari 150 maka sequence akan dihapuskan, dan apabila sequences lebih dari 150 maka akan dipotong dengan batas panjang maksimal 150. Contoh konversi format text salah satu
25
judul menjadi 2D tensor yang nantinya akan menjadi input pada embedding layer dapat dilihat pada gambar 3.4.
Gambar 3.4 Hasil Konversi Teks pada Salah Satu Judul Berita Menjadi dalam Bentuk Matriks.
G. Impelementasi LSTM
Langkah – langkah pembuatan model LSTM yang akan digunakan pada penelitian ini, diantaranya :
1. Layer pertama yang dibuat adalah Embedding Layer yang menggunakan vector dengan panjang 50 untuk merepresentasikan masing-masing kata.
2. Layer berikutnya adalah LSTM layer dengan 64 unit neuron.
3. Layer terakhir adalah Dense Output Layer dengan 1 unit neuran dan fungsi aktivasi menggunakan sigmoid.
Dikarenakan penelitian merupakan binary classification, maka digunakan loss function binary_crossentropy (keras) dan dengan fungsi optimasi menggunakan ‘Adam’. Batch size yang digunakan adalah 128 dengan epochs berjumlah 10 dan parameter evaluasi model adalah ‘accuracy’. Untuk menghindari masalah utama dalam LSTM yaitu overfitting, pada penelitian menggunakan Early Stopping function yang menghentikan proses training apabila akan terjadi overfitting pada model.
H. Klasifikasi Teks Menggunakan Model yang Sudah Dilatih
Data uji yang sebelumnya sudah dilakukan tahap preprosesing, selanjutnya digunakan sebagai pengujian terhadap model yang sudah dilatih. Penelitian ini menggunakan Keras API pada proses training dan validasi menggunakan metrik ‘accuracy’ untuk
menghitung tingkat akurasi model pada masing-masing data latih, data validasi, dan data uji. Untuk menghitung akurasi digunakan persaman 3.1
Accuracy = (Number of correct prediction / Total number of prediction made) x 100
3.2.2. Perancangan Aplikasi
Pada bagian ini dijelaskan rancangan aplikasi yang akan dbuat sebagai alat untuk menjalankan system yang akan dibangun dengan tujuan untuk memudahkan pengguna menjalankan system yang dibangun nantinya. Rancangan ini terdiri dari beberapa halaman menu, diantaranya : halaman Utama, halaman Model Summary (berisi rangkuman spesifikasi model beserta grafik akurasi pada saat proses training dan validatin), halaman Identifikasi (untuk penginputan dataset uji), halaman Hasil Identifikasi (hasil dari dataset uji akan ditampilkan pada halaman ini).
1. Rancangan Tampilan Halaman Utama
Pada rancangan halaman utama ini pengguna dapat memilih dua button yaitu button Model Summary dan button Identification
Gambar 3.5 Rancangan Halaman Utama
Adapun keterangan rancangan tersebut adalah sebagai berikut : 1. Menuju Halaman Model Summary.
2. Menuju Halaman Identifikasi.
2. Rancangan Tampilan Halaman Model Summary
27
Pada halaman ini pengguna dapat melihat spesifikasi layer dan model yang digunakan pada pelatihan sebelumnya. Rancangan tampilan Halaman Model Summary dapat dilihat pada gambar 3.5.
Gambar 3.6 Rancangan Halaman Model Summary Adapan keterangan rancangan tersebut adalah sebagai berikut :
1. Table layer yang digunakan pada training model sebelumnya beserta spesifikasi layer-layer tersebut.
2. Table berisi loss, optimizer, dan metrics yang digunakan pada proses training model.
3. Table berisi Batch size, Epoch, dan Accuracy yang digunakan pada pelatihan model sebelumnya.
3. Rancangan Tampilan Halaman Identifikasi
Pada halaman ini pengguna dapat menginput dataset berupa judul yang belum berlabel (clickbait atau non-clickbait) yang selanjutnya akan diproses pada halaman Hasil Identifikasi.
Gambar 3.7 Rancangan Halaman Identifikasi
Adapun keterangan rancangan tersebut adalah sebagai berikut : 1. Tombol untuk memilih file csv.
2. Tombol submit yang akan memroses dataset.
4. Rancangan Tampilan Halaman Hasil Identifikasi
Pada rancangan halaman ini, pengguna dapat melihat judul berita yang sudah diberi label hasil prediksi dari model yang sebelunya sudah dilatih.
Gambar 3.8 Rancangam Halaman Hasil Identifikasi Adapun rincian tampilan halaman tersebut adalah :
1. Tabel dengan kolom judul dan label yang merupakan hasil identifikasi
29
3.3. Metode Evaluasi
Tahapan evaluasi diperlukan untuk perhitungan seberapa baik sistem dalam mengidentifikasi judul berita clickbait dan non-clickbait yang diujikan dalam sistem.
Tahapan ini menggunakan metrik Accuracy untuk mengukur tingkat akurasi model yang sudah dilatih.
BAB 4
IMPLEMENTASI DAN PEMBAHASAN
Pada bab ini akan dijelaskan tentang proses pengimplementasian dari stemmer dengan metode cache dan yang tanpa menggunakan metode cache pada sistem ,sesuai dengan perancangan sistem yang telah dilakukan di Bab 3 serta melakukan pengujian sistem yang telah di bangun.
4.1. Implementasi Sistem
Dalam tahap implementasi sistem sesuai dengan perancangan pada Bab 3, sistem akan diimplementasikan menggunakan Bahasa pemrograman Python.
4.1.1. Spesifikasi Hardware dan Software
Adapun spesifikasi perangkat keras dan lunak yang digunakan untuk membangun sistem ini adalah sebagai berikut :
1. Processor Intel® Core™ i3-7100U CPU 2.4 GHz.
2. Memory (RAM): 4.00 GB DDR4.
3. Kapasitas hardisk 1 TB.
4. Sistem Operasi yang digunakan adalah Microsoft Windows 10 Pro 64 bit.
5. Anaconda
6. Jupyter Notebook
4.1.2. Implementasi Perancangan Antarmuka
Adapun implementasi dari coding program yang telah dibuat pada sistem ini adalah : 1. Rancangan Tampilan Halaman Utama
Pada rancangan halaman utama ini pengguna dapat memilih dua button yaitu button Model Summary dan button Identification
31
Gambar 4.1 Halaman Utama
Adapun keterangan rancangan tersebut adalah sebagai berikut : 1. Menuju Halaman Model Summary
2. Menuju Halaman Identifikasi
2. Rancangan Tampilan Halaman Model Summary
Pada halaman ini pengguna dapat melihat spesifikasi layer dan model yang digunakan pada pelatihan sebelumnya. Rancangan tampilan Halaman Model Summary dapat dilihat pada gambar 4.2.
Gambar 4.2 Halaman Model Summary
Adapan keterangan rancangan tersebut adalah sebagai berikut :
1. Table layer yang digunakan pada training model sebelumnya beserta spesifikasi layer-layer tersebut.
2. Table berisi loss, optimizer, dan metrics yang digunakan pada proses training model.
3. Table berisi Batch size, Epoch, dan Accuracy yang digunakan pada pelatihan model sebelumnya.
3. Rancangan Tampilan Halaman Identifikasi
Pada halaman ini pengguna dapat menginput dataset berupa judul yang belum berlabel (clickbait atau non-clickbait) yang selanjutnya akan diproses pada halaman Hasil Identifikasi.
Gambar 4.3 Halaman Identifikasi
Adapun keterangan rancangan tersebut adalah sebagai berikut : 1. Tombol untuk memilih file csv.
2. Tombol submit yang akan memroses dataset.
4. Rancangan Tampilan Halaman Hasil Identifikasi
Pada rancangan halaman ini, pengguna dapat melihat judul berita yang sudah diberi label hasil prediksi dari model yang sebelunya sudah dilatih.
33
Gambar 4.4 Halaman Hasil Identifikasi
Adapun rincian tampilan halaman tersebut adalah :
1. Tabel dengan kolom judul dan label yang merupakan hasil identifikasi.
4.2. Pengujian Sistem
4.2.1. Pelatihan Model
Masalah yang sering dihadapi oleh model LSTM adalah adanya overfitting model yaitu suatu kondisi dimana perbandingan accuracy dan loss pada saat training dengan accurady dan loss pada saat validasi data. Performa pada data training terlihat selalu meningkat tetapi ada beberapa titik dengan jumlah epoch yang sama terjadi penurunan performa pada data validasi.
Untuk mencari performa model yang good fit maka dilakukan usaha yaitu proses tuning hyperparameter. Pada penelitian ini membandingkan penggunaan Dropout Layer dan Callback function. Dropout Layer berfungsi untuk mengurangi overfit pada model sedangkan Callback Function akan menghentikan proses training apabila terjadi overfitting meskipun belum mencapai epoch maksimal. Perbandingan hasil pelatihan model dapat dilihat pada gambar 4.5, 4.6, 4.7, dan 4.8.
Gambar 4.5 Kurva performa akurasi model dengan penambahan Dropout Layer dan Callback Function untuk mengurangi Overfitting
Gambar 4.6 Kurva performa loss model dengan penambahan Dropout Layer dan Callback Function untuk mengurangi Overfitting
35
Gambar 4.7 Kurva performa akurasi model tanpa penambahan Dropout Layer dan Callback Function
Gambar 4.8 Kurva performa loss model tanpa penambahan Dropout Layer dan Callback Function.
Dari hasil pengamatan terhadap kurva performansi model, maka model yang akan dipilih adalah model dengan Dropout Layer dan Callback Function dengan accuracy 0,825 dan loss 0,380.
4.2.2 Pengujian Model
Setelah diperoleh model yang sesuai, maka proses selanjutnya adalah pengujian model dengan memasukkan data yang sama sekali belum pernah di ketahui oleh model dalam proses training dan validasi. Sampel data yang akan digunakan adalah 8 judul berita yang belum diberi label. Sampel judul berita dapat dilihat pada table 4.1
Tabel 4.1 Sampel Data Uji Judul Berita.
No Judul Berita
1 Alamak…! Sarjana Peternakan Ini Sudah 3 Tahun Buka Praktik Sebagai Dokter Gigi
2 KDRT di Tempat Tugas, PNS Dinas Perikanan Batubara: Aku Tak Mau Lagi Sama Dia!
3 2 Sejoli Ditangkap, 4 Kg Sabu Dalam Kemasan ‘Kacang Garuda’ Gagal Terbang ke Makasar
4 Dua ‘Wanita Jadi-jadian’ Ini Sikat Uang dan HP Milik Teman Kencannya 5 Antuasias Pelajar Sambut Obor Asian Games 2018
6 Malam Ini Obor Asian Games 2018 Singgah ke Sergai
7 Sadis…! Pria Ini Gorok Leher Ibu Teman Sekampung Hingga Putus, Kepalanya Dibuang ke Sungai
8 Dimandikan Air Parit, Pejabat Kota Langsa dan Pasangannya Ternyata Sudah Nikah Siri
Setelah data melewati tahap preprosesing sebagaimana dijelaskan pada bab 3, selanjutnya data teks diubah kedalam bentuk sequence of integer untuk selanjutnya diprediksi oleh model yang sudah dibuat sebelumnya. Sampel data yang diubah kedalam sequence of integer dapat dilihat pada tablel 4.2
Tabel 4.2 Sampel dibuah menjadi sequence of integer
No Judul setelah diubah
1 [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
37
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 8, 9, 10, 11, 12, 13, 14]
2 [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19,
20,21, 22, 23, 24, 25, 26]
3 [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, 38]
4 [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 40,
41, 42, 43, 44, 1, 45],
5 [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46,
47, 48, 2, 3, 4, 5]
6 [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
2, 3, 4, 5, 50, 51]
39
7 [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, 54, 55, 56, 1,
57, 58, 59, 60, 61, 62]
8 [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72]
4.2. Hasil Pengujian Sistem
Hasil pengujian sistem adalah data judul yang sudah dilengkapi label hasil identifikasi menggunakan model LSTM yang sudah dibuat. Hasil pengujian dapat dilihat pada table 4.3.
Tabel 4.3 Hasil Pengujian
No Judul Hasil Label
1 alamak sarjana peternakan 3 tahun buka praktik dokter gigi
0.0 Clickbait
2 kdrt tempat tugas pns dinas perikanan batubara aku tak mau sama dia
0.0 Clickbait
3 2 sejoli ditangkap 4 kg sabu kemasan kacang garuda gagal terbang makasar
0.0 Clickbait
4 wanita jadijadian sikat uang hp milik teman kencannya
1.0 Non- Clickbait
5 antuasias pelajar sambut obor asian games 2018
0.0 Clickbait
6 malam obor asian games 2018 singgah sergai 0.0 Clickbait 7 sadis pria gorok leher ibu teman sekampung
hingga putus kepalanya dibuang sungai
0.0 Clickbait
8 dimandikan air parit pejabat kota langsa pasangannya ternyata nikah siri
0.0 Clickbait
BAB 5
KESIMPULAN DAN SARAN
Bab ini membahas tentang kesimpulan yang diperoleh dari implementasi metode cache dalam meningkatkan performa stemmer dan saran-saran yang dapat digunakan sebagai referensi untuk pengembangan penelitian selanjutnya.
5.1. Kesimpulan
Dari hasil pengujian sistem pada Bab 4, diperoleh kesimpulan sebagai berikut.
• Pelatihan dan validasi model dengan menambahkan Dropout Layer dan Callback Function mampu menghindari model dari overfitting dengan menghasilkan akurasi 82% dan loss 38%.
• Dengan akurasi seperti diatas, model ampu mengidentifikasi judul berita yang termasuk clickbait dengan baik.
5.2. Saran
• Dari penelitian ini terlihat bahwa dalam pengidentifikasian berita clickbait tidak hanya dapat dilakukan pengecekan terhadap judul beritanya saja, sehingga dirasa perlu dilakukan penelitian lebih lanjut yaitu dengan melakukan pengecekan korelasi antara judul dan isi berita.
DAFTAR PUSTAKA
A, Krizhevsky, I. Sutskever, & G. E. Hinton. 2012. Imagenet classification with Deep Convolutional Nueral Network.
Agrawal, A. 2016 .Clickbait Detection using Deep Learning. International Conference on Next Generation Computing Technologies. pp. 268–272.
Allcott, H. & Gentzkow, M. 2017. Social Media and Fake News in the 2016 Election, Journal of Economic Perspectives, 31(2), pp. 211–236.
Amajd, Maaz & Kaimuldenov, Zhanibek. 2017. Text Classification with Deep Neural Network. International Conference on Actual Problems of System and Software Engineering (APSSE), pp. 364-370.
Anand, A., Chakraborty, T. & Park, N. 2017. We used neural networks to detect clickbaits: You won’t believe what happened next!. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 10193 LNCS, pp. 541–547.
Chakraborty, A., Paranjape, B., Kakarla, S., Ganguly, N. 2016. Stop Clickbait:
Detecting and preventing clickbaits in online news media. Proceedings of the 2016 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining, ASONAM 2016, pp. 9–16.
Chen, Y., Conroy, N. J. dan Rubin, V. L. 2015. Misleading Online Content, Proceedings of the 2015 ACM on Workshop on Multimodal Deception Detection - WMDD ’15, (November), pp. 15–19.
Dvorkin, J. 2016. Why Click-bait will be the death of journalism.
http://to.pbs.org/2gQ6mCN.
Fu, J., Liang, L., Zhou, X., Zheng, J. 2017. A convolutional neural network for clickbait detection. Proceedings - 2017 4th International Conference on Information Science and Control Engineering, ICISCE 2017, pp. 6–10.
Graves, A., Mohamed, A.r., Hinton, G. 2013.
43
Olah, C. 2015. Understanding LSTM Networks. http://colah.github.io/2015-08- Understanding-LSTMs/
Potthast, M., Kopsel, S., Stein, B., & Hagen, M. 2016. “Clickbait Detection,” Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 9626(1), pp. 810–817.
Rao, A. dan Spasojevic, N. 2016. Actionable and Political Text Classification using Word Embeddings and LSTM.
Saputra, Arsandi. 2017. Identifikasi SMS Spam Bahasa Indonesia Menggunakan Algoritma Twitter-LDA. Skripsi. Universitas Sumatera Utara.
Yepes, A.J. (2017). Word Embeddings and recurrent neural networks based on Long- Short Term Memory nodes in supervised biomedical word sense disambiguation.
Journal of Biomedical Informatics, 73, 137-147.