ANALISIS DAN PERANCANGAN SISTEM
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. 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