Implementasi Neural Network Multilayer Perceptron Dan Stemming Nazief & Adriani
Pada Chatbot Faq Prakerja
Muhammad Padhilah1, Muliadi2, Dwi Kartini3, Dodon Turianto Nugrahadi4, Muhammad Itqan Mazdadi5
1,2,3,4,5Ilmu Komputer FMIPA, Universitas Lambung Mangkurat, Kalimantan Selatan,
Indonesia
email: [email protected] Abstract
The Prakerja Card Program is a job skills development and entrepreneurship program for job seekers. The Prakerja Card Program has a list of frequently asked questions or called Frequently Asked Questions (FAQ), because FAQ is still a list of questions that approach what the user typed, and users should look to find out which questions match the questions.
Therefore, it takes a way to respond directly to users, namely with a chatbot. Chatbot is a conversational modeling program that uses human natural language to simulate interactive conversations between machines and humans. The chatbot interprets messages from the user, processes the user's words, determines what the chatbot needs to do based on the user's instructions, executes them, and finally informs the user of the conclusions. This research used Neural Network Multilayer Perceptron algorithm and Nazief & Adriani stemming in creating a chatbot with the data used is FAQ data on the Prakerja website. The purpose of this study is to find out the great performance accuracy of chatbot responses produced by Neural Network Multilayer Perceptron and Nazief & Adriani on Prakerja FAQ chatbots. The results showed that the chatbot could answer 72 questions with a difference of 100 questions asked by respondents.
Keywords: Program Prakerja, Chatbot, Neural Network Multilayer Perceptron, Stemming Nazief & Adriani
Abstrak
Program Kartu Prakerja merupakan program pengembangan keterampilan kerja dan kewirausahaan bagi pencari kerja. Program Kartu Prakerja memilki daftar pertanyaan yang sering diajukan atau disebut dengan Frequently Asked Questions (FAQ), karana FAQ masih berupa daftar pertanyaan yang mendekati apa yang diketik pengguna, dan pengguna harus mencari untuk mengetahui pertanyaan mana yang cocok dengan pertanyaannya. Oleh karena itu, dibutuhkan cara untuk merespons langsung ke pengguna yaitu dengan chatbot. Chatbot merupakan program pemodelan percakapan yang menggunakan bahasa alami manusia untuk mensimulasikan percakapan interaktif antara mesin dan manusia. Chatbot menafsirkan pesan dari pengguna, memproses kata-kata pengguna, menentukan apa yang perlu dilakukan chatbot berdasarkan instruksi pengguna, mengeksekusinya, dan akhirnya memberi tahu pengguna hasil kesimpulan. Penelitian ini menggunakan algoritma Neural Network Multilayer Perceptron dan stemming Nazief & Adriani dalam membuat chatbot dengan data yang digunakan adalah data FAQ pada website Prakerja. Tujuan penelitian ini adalah mengetahui besar performa akurasi respon chatbot yang dihasilkan oleh Neural Network Multilayer Perceptron dan Nazief & Adriani pada chatbot FAQ Prakerja. Hasil penelitian menunjukan chatbot dapat menjawab 72 pertanyaan dengan bernar dari total 100 pertanyaan yang yang diajukan oleh responden.
Kata kunci: Program Prakerja, Chatbot, Neural Network Multilayer Perceptron, Stemming Nazief & Adriani
1. PENDAHULUAN
Prakerja merupakan program pengembangan keterampilan kerja bagi pencari kerja dan pekerja/buruh yang diberhentikan. Program Prakerja menyediakan media informasi yang dirancang untuk membantu pengguna mempelajari cara menggunakan program kartu prakerja dan layanan yang diberikan. Prakerja mencakup daftar pertanyaan yang sering diajukan atau Frequently Asked Questions (FAQ) dan fitur pencarian yang memudahkan pengguna untuk menemukan pertanyaan yang sesuai dengan pertanyaan mereka. Namun, hasil pencarian mesin pencari ini tetap berupa daftar pertanyaan yang mendekati apa yang diketikan pengguna, dan pengguna harus mencari untuk mengetahui pertanyaan mana yang cocok dengan pertanyaannya. Oleh karena itu, dibutuhkan cara untuk merespon langsung ke pengguna yaitu menggunakan chatbots.
Chatbots adalah program pemodelan percakapan yang menggunakan bahasa alami manusia untuk mensimulasikan percakapan interaktif antara mesin dan manusia. Chatbot menafsirkan pesan dari pengguna, memproses kata-kata pengguna, menentukan apa yang perlu dilakukan chatbot berdasarkan instruksi pengguna, mengeksekusinya, dan akhirnya memberi tahu pengguna hasil kesimpulan [1].
Multilayer perceptron (MLP), juga dikenal sebagai metode backpropagation yang menggunakan banyak layer, menggunakan output error untuk mengubah nilai bobot atau disebut Backward [2]. Pada penelitian Singh, et al. (2018) menjelaskan bahwa chatbot dengan TensorFlow menggunakan Neural Network Multilayer Perceptron, dari 108 pertanyaan pada penelitan chatbot dapat menjawab 74 pertanyaan dengan benar sehingga menghasilkan akurasi 68.51% [3]. Penelitian Mustaqim (2021) menjelaskan bahwa dengan metode Neural Network Multilayer Perceptron, pengujian menggunakan 110 pertanyaan yang berbeda dengan data yang dilatih tetapi mempunyai kesamaan maksud dan dari pengujian model chatbot menghasilkan chatbot dengan akurasi yang baik yaitu sebesar 97,27% dan kesalahan 2,72%. Dari penelitian tersebut dapat disimpulkan bahwa Multilayer perceptron dapat digunakan dalam membuat chatbot [4].
Nazief & Adriani merupakan algoritma stemming yang termasuk dalam text preprocessing yang digunakan menemukan akar kata dengan menghapus awalan, sisipan, akhiran, dan semua awalan yang sesuai yang terdiri dari kombinasi awalan dan akhiran. Agastya (2018) menjelaskan penelitian menggunakan stemming algoritma Nazief & Adriani, pada pengujian dengan jumlah data 500 diperoleh hasil pengujian yang sesuai dengan algoritma Nazief & Adriani yang mana stemming dapat meningkatkan akurasi [5].
Berdasarkan uraian diatas maka ditetapkan metode yang peneliti gunakan adalah Neural Network Multilayer Perceptron sebagai metode chatbot untuk training data dan stemming Nazief & Adriani sebagai digunakan pada proses pengembalian kata ke kata dasar pada text preprocessing. Penelitian ini untuk menguji performa akurasi yang dihasilkan
metode Neural Network Multilayer Perceptron dan stemming Nazief & Adriani dalam chatbot FAQ prakerja.
2. METODOLOGI PENELITIAN
Adapun prosedur penelitian dapat dilihat pada gambar 1.
Mulai
Data Preprocessing
Input pertanyaan
oleh user
Data Preprocessing pertanyaan dari user
Training MLP
Model MLP
Prediksi Probabilitas
Output jawaban
Selesai Evaluasi Pengumpulan data
FAQ prakerja
Atur batas ambang kesalahan
Gambar 1. Prosedur penelitian
1) Pengumpulan data FAQ prakerja
Data yang dipakai adalah data FAQ website prakerja. Data FAQ tersebut dikumpulkan dalam berkas JSON dengan format yaitu:
{
"intents": [ {
"tag": "",
"patterns": [""], "responses": [""]
} }
a) Tag merupakan kategori yang digunakan sebagai acuan dalam menentukan jawaban kepada user.
b) Pattern adalah serangkaian huruf atau berupa pertanyaan yang diharapkan sesuai dengan inputan user.
c) Responses merupakan hasil dari jawaban yang dikembalikan berdasarkan tag dan pattern yang ditentukan oleh sistem.
2) Data preprocessing
Data preprocessing adalah proses megolah teks yang dilakukan sebelum dipakai untuk proses Multilayer Perceptron. Adapun data processing digunakan pada peneIitian yaitu tokenizing, case.folding, stemming dan bag of word.
a) Tokenizing
Tokenizing merupakan proses pemotongan string berdasarkan setiap kata yang membentuk string input. Untuk membagi kalimat menjadi satu kata, memindai kalimat untuk mencari spasi (spasi, tab, jeda baris), proses tokenizing dapat dilihat pada gambar 2 [6].
Cara mendaftar
prakerja gimana Cara mendaftar prakerja gimana
Gambar 2. tokenizing b) Case Folding
Case folding adalah tahapan proses konversi semua karakter dalam teks dokumen menjadi huruf kecil dan menghilangkan karakter non-az, proses case folding dapat dilihat pada gambar 3 [6].
Cara mendaftar prakerja gimana
cara mendaftar prakerja gimana
Gambar 3. Case folding
c) Stemming
Stemming Proses menemukan akar dari setiap token kata dengan mengembalikan kata yang dilampirkan ke bentuk dasarnya.
Metode stemming yang digunakan yaitu Nazief & Adriani dan untuk proses stemming dapat dilihat pada gambar 4 [6].
cara mendaftar prakerja gimana
cara daftar prakerja gimana
Gambar 4. Stemming Nazief & Adriani d) Bag of word
Bag of word merupakan model yang mempelajari kosakata dari semua dokumen dan memodelkan setiap dokumen dengan menghitung jumlah kemunculan setiap kata, proses bag of word dapat dilihat pada Tabel 1 [7].
Tabel 1. Bag of word Kalimat BoW Vector
Cara 1 0 0 0
Daftar 0 1 0 0
prakerja 0 0 1 0
gimana 0 0 0 1
3) Training Multilayer Perceptron
Neural Network Multilayer Perceptron (MLP) adalah aritificial neural network feedforward yang terdiri atas sejumlah neuron dihubungkan dengan bobot penghubungnya. MLP digunakan dalam proses training data untuk mendapatkan model yang akan digunakan untuk prediksi dari pertanyaan pengguna. Model arsitektur dari MLP merupakan network 3 layer dari node yang terhubung, yaitu layer input, layer tersembunyi, dan layer output. Pada lapisan MLP memiliki activation function. Penelitian ini menggunakan 2 hidden layer dengan 2 percobaan yaitu hidden layer pertama dan kedua 100, 50 dan 200, 100. Activation function meupakan fungsi untuk menentukan output neuron linier atau nonlinier. Activation function yang dipakai pada peneIitian yaitu:
a) Activation function ReLU
ReLu atau Rectified Linear Unit merupakan activation function yang memiliki perhitungan yang sederhana. Jika ada elemen bernilai negatif, nilainya diubah menjadi 0 dan tidak ada operasi eksponensial,
perkalian, atau pembagian. Activation function ReLu digunakan pada penelitian pada hidden layer. Activation function ReLu dapat dirumuskan pada persamaan 1 [4].
( ) {
(1)
b) Activation function Softmax
Activation function softmax adalah fungsi yang dipakai untuk perhitungan probabilitas dalam menentukan klasifikasi multiclass yang kelas keluarannya memiliki nilai probabilitas tertinggi. Nilai probabilitas dari output yang dihasilkan oleh activation function softmax adalah 0 hingga 1. Activation function softmax digunakan pada penelitian pada output layer. Activation function softmax dirumuskan pada persamaan 2 [4].
( ) ( )
∑ ( ) , nilai i .=.0,.1,.2, …, k (2)
4) Model Multilayer Perceptron
Proses selanjutnya hasil training disimpan kedalam sebuah file dengan nama dan format model_ChatBot.h5 menggunakan fungsi Tensorflow model.save(). Model yang disimpan berupa hasil training epoch 200, 400, 600, 800, dan 1000, batch size 30, optimasi RMSProp dan loss function MSE. Model yang digunakan untuk pengujian adalah hasil dari training hidden layer pertama dan kedua 100 dan 50, 200 dan 100 yang dimana memiliki loss paling kecil dan accuracy paling besar.
5) Pengujian Chatbot
Pengujian pada chatbot adalah berupa pertanyaan yang dilakukan oleh responden pada aplikasi chabot FAQ prakerja dengan alur prosesnya responden mengajukan pertanyaan pada chatbot kemudian chatbot secara otomatis memberikan jawaban. Data pengujian pada penelitian ini berjumlah 100 pertanyaan oleh responden. Tahap pengujian pada chatbot yaitu user mengajukan pertanyaan dimana sebelumnya diatur terlebih dahulu batas ambang kesalahan. Kemudian sebelum masuk ke prediksi dengan probabilitas, pertanyaan yang diajukan dilakukan data preprocessing terlebih dahulu. Setelah dilakukan data preprocessing kemudian dilakukan prediksi, jika nilai prediksi probabilitas tag tertinggi dan memenuhi batas ambang kesalahan yang ditentukan maka tag diambil sebagai acuan jawaban.
6) Evaluasi
Pengukuran kinerja aplikasi chatbot yang dilakukan pada penelitian ini didasarkan pada hasil akurasi dari respon yang diberikan chatbot kepada responden dengan pertanyaan dari responden, responden memberikan kesimpulan berupa benar atau salah pada setiap respon dari pertanyaan yang diajukan. Untuk mencari akurasi sama dengan jumlah jawaban benar dibagi total pertanyaan dikali 100%.
3. HASIL DAN PEMBAHASAN
Data yang dipakai pada penelitian adalah data pada FAQ prakerja yang diambil pada website prakerja dengan jumlah 300 data pattern atau pertanyaan dengan dikelompokan menjadi 64 tag atau kategori. Untuk setiap tag atau kategori pada data masing-masing berisi 3 sampai 5 pattern dan jumlah response 1. Dataset disimpan dalam berkas JSON.
Gambar 5. Dataset JSON
Pada preprocessing, dataset pada file JSON dimuat terlebih dahulu.
Kemudian dilakukan proses preprocessing mulai dari tokenizing, case folding, stemming, dan bag of word. Dari proses preprocessing didapatkan hasil 209 token dan 64 tag atau kategori. Dari proses stemming, data akan diubah menjadi matriks bag of word. Data tersebut dibagi menjadi dua train x dan y.
Dimana train x berisi array token dan train y berisi array tag. Proses tokenizing dapat dilihat pada gambar 6, proses case folding pada gambar 7, proses stemming pada gambar 8, dan bag of word pada gambar 9.
Gambar 6. Hasil Tokenizing
Gambar 7. Hasil Case Folding
Gambar 8. Hasil stemming
Gambar 9. Bag of word
Proses training Neural Network Multilayer Perceptron pada penelitian ini peneliti menggunakan hidden layer berjumlah 2, dengan percobaan hidden layer 100 neuron dan 50 neuron, percobaan menggunakan hidden layer 200 neuron dan 100 neuron. Untuk training menggunakan epoch 200, 400, 600, 800 dan 1000 pada tiap variasi neuron pada hidden layer. Input layer pada penelitian berjumlah 209 neuron adalah jumlah kata dari hasil proses stemming dan output atau target layer berjumlah 64 neuron adalah jumlah dari tag. Hidden layer menggunakan activation function ReLU dan pada output layer menggunakan activation function Softmax. Pada training, input 209 neuron diproses Dense Layer pada hidden layer. Dense layer disini berfungsi untuk Fully-Connected Layer. Optimasi yang digunakan pada penelitian adalah optimasi RMSProp dan dan loss function menggunakan MSE.
Proses training dilakukan dari jumlah epoch dan dengan batch size 30. Proses
compile pada Python Tensorflow Keras menggunakan metrics = 'accuracy' yang berfungsi menghitung seberapa sering prediksi dengan tag. Proses training MLP dapat dilihat pada gambar 10 dan untuk hasil training hidden layer 100 dan 50 dapat dilihat pada Tabel 2.
x1
x2
x3
x4
...
1
2
3
4
5
6
7
...
1
2
3
4
5
6
7
...
o1
o2
o3
04
...
x209 o64
Input layer
Hidden layer 1 ReLU
Output layer Softmax Hidden layer 2
ReLU
b
b
b
Gambar 10. Neural network multilayer perceptron Tabel 2. Hasil Training Hidden Layer 100 dan 50
Epoch 100 dan 50
Loss Accuracy 200 0.0000000047199 1
400 0.0000000018525 1 600 0.0000000011730 1 800 0.00000000081147 1 1000 0.00000000064622 1
Pada Tabel 2 dapat dilihat semakin banyak epoch yang dipakai maka loss semakin kecil. Dan untuk hasil terbaik pada training yaitu berdasarkan nilai loss paling kecil pada jumlah epoch 1000 dengan loss 0.00000000064622 dan accuracy 1. Hasil training hidden layer 100 dan 50 epoch 100 dapat dilihat pada gambar 11 dan untuk hasil training hidden layer 200 dan 100 dapat dilihat pada Tabel 3.
Gambar 11. Hasil training hidden layer 100 dan 50 epoch 1000 Tabel 3. Hasil training hidden layer 200 dan 100
Epoch 200 dan 100
Loss Accuracy 200 0.0000000045273 1
400 0.0000000020078 1 600 0.0000000012838 1 800 0.00000000091275 1 1000 0.00000000071696 1
Pada Tabel 3 dapat dilihat semakin banyak epoch yang dipakai maka loss semakin kecil. Dan untuk hasil terbaik pada training yaitu berdasarkan nilai loss paling kecil pada jumlah epoch 1000 dengan loss 0.00000000071696 dan accuracy 1. Hasil training hidden layer 200 dan 100 epoch 100 dapat dilihat pada gambar 12.
Gambar 12. Hasil training hidden layer 200 dan 100 epoch 1000
Model yang disimpan berupa hidden layer berjumlah 2, dengan percobaan hidden layer 100 neuron dan 50 neuron, percobaan menggunakan hidden layer 200 neuron dan 100 neuron. Untuk epoch 200, 400, 600, 800 dan 1000 pada tiap variasi neuron pada hidden layer. Input layer berjumlah 209 neuron dan output atau target layer berjumlah 64 neuron. Hidden layer menggunakan activation function ReLU dan output layer menggunakan activation function Softmax. Optimasi yang digunakan adalah optimasi RMSProp dan loss function menggunakan MSE. Model menggunakan batch size 30. Proses compile pada Python Tensorflow Keras menggunakan metrics
= 'accuracy'. Untuk mendapatkan model yang bagus peneliti melakukan proses pelatihan data secara berulang kali secara bertahap sehingga didapatkan hasil nilai kesalahan yang semakin kecil dan nilai akurasi yang paling besar. Model yang digunakan untuk pengujian adalah hasil dari training hidden layer pertama dan kedua 100 dan 50, 200 dan 100 yang dimana memiliki loss paling kecil dan accuracy paling besar. Sehingga model yang digunakan pada pengujian adalah pada hidden layer pertama dan kedua 100, 50 epoch 1000 dan 200, 100 epoch 1000.
Pada proses pengujian chatbot, MLP berfungsi untuk prediksi pertanyaan dari pengguna kedalam tag dengan nilai probabilitas tertinggi.
Sehingga didapatkan jawaban yang dipilih berdasarkan tag probalitas tertingginya. Pada pertanyaan “Cara daftar prakerja” menghasilkan nilai probabilitas 0.99969995 dan diatas ambang kesalahan 0.1, 02, 03, 04, dan 0.5 maka tag daftar_akun_prakerja diambil sebagai acuan jawaban, kemudian user melakukan validasi benar atau salah. Prediksi dengan nilai probabilitas dapat dilihat pada gambar 13, nilai seluruh probabilitas tag dapat dilihat pada gambar 14 dan respon chatbot dapat dilihat pada gambar 15.
0
0
0
0
...
1
2
3
4
5
6
7
...
1
2
3
4
5
6
7
...
1
2
3
4
5
0 ...
Hidden layer 1 ReLU
Output layer Softmax Hidden layer 2
ReLU
b
b
b
('daftar_akun_prakerja', 0.99969995)
('mencek_status_pendaftaran', 0.00012317655)
('mengganti_data', 0.00010565563)
('yang_dapat_mendaftar_prakerja', 2.3842116e-05)
('tentang_prakerja', 1.2641505e-05) cara
daftar
prakerja
0 0 0 0 0
Gambar 13. Hitung probabilitas tag
Gambar 14. Hitung probabilitas seluruh tag
Gambar 15. Respon chatbot
Untuk evaluasi, pengkuran performa chatbot berdasarkan hasil kesimpulan dari respon yang diberikan chatbot kepada responden. Nilai ambang atau threshold pada uji coba yaitu menggunakan 0.1, 0.2, 0.3, 0.4, dan 0.5 dengan percobaan hidden layer 100, 50 dan 200, 100 yang dapat dilihat pada Tabel 4 dan Tabel 5. Untuk hasil pengujian dapat dilihat pada Tabel 6 dan hasil prediksi probabilitas MLP dapat dilihat pada Tabel 7.
Tabel 4. Uji coba oleh reponden hidden layer 100 dan 50 epoch 1000 Threshold Jumlah
Benar Jumlah Salah Tidak
Terjawab Akurasi
0.1 72 28 0 72%
0.2 72 27 1 72%
0.3 72 25 3 72%
0.4 71 24 5 71%
0.5 69 21 10 69%
Tabel 5. Uji coba oleh reponden hidden layer 200 dan 100 epoch 1000 Threshold Jumlah
Benar
Jumlah Salah Tidak Terjawab
Akurasi
0.1 70 30 0 70%
0.2 70 29 1 70%
0.3 70 27 3 70%
0.4 70 26 4 70%
0.5 70 19 11 70%
Tabel 6. Hasil pengujian oleh reponden
No Pesan Kesimpulan
1 Prakerja adalah Benar
2 Tujuan prakerja Benar
3 Cara daftar prakerja Benar
4 Cara login Benar
5 Manfaat Salah
Tabel 7. Hasil Probabilitas MLP
No Pesan Kategori Probabilitas
1 Prakerja adalah tentang_prakerja 0.9992 2 Tujuan prakerja tujuan_prakerja 0.9994 3 Cara daftar prakerja daftar_akun_prakerja 0.9997
4 Cara login login_akun 0.9999
5 Manfaat jumlah_kali_bantuan 0.192
Pembahasan penelitian, penelitian ini menggunakan data pada FAQ situs web Prakerja. Kemudian data tersebut dikumpulkan kedalam sebuah file dengan format JSON. Data yang berjumlah 300 data pattern atau pertanyaan dengan dikelompokan menjadi 64 tag atau kategori. Untuk setiap tag atau kategori pada data masing-masing berisi 3 sampai 5 pattern dan jumlah response 1. Untuk contoh data dapat dilihat pada gambar 5.
Pada Tabel 2 hasil terbaik pada training yaitu berdasarkan nilai loss paling kecil pada jumlah epoch 1000 dengan loss 0.00000000064622 dan accuracy 1. Pada Tabel 3 hasil terbaik pada training yaitu berdasarkan nilai loss paling kecil pada jumlah epoch 1000 dengan loss 0.00000000071696 dan accuracy 1. Jadi didapatkan untuk hasil training terbaik antara hidden layer pertama dan kedua 100, 50 dan 200, 100 yaitu pada hidden layer 100 dan 50 dengan hasil training terbaik dari loss yang paling kecil yaitu 0.00000000064622 yang terdapat pada epoch 1000.
Pengujian pada penelitian ini adalah proses dibalik layar bagaimana chatbot melakukan prediksi untuk menentukan jawaban yang akan dikirim sebagai respon kepada pengguna. Dalam melakukan prediksi, pada penelian ini menggunakan fungsi dari library Tensorflow Keras keras.models yaitu fungsi predict, fungsi ini berjalan dengan melakukan menghitung probabiltas setiap tag dari input pertanyaan oleh pengguna dengan data training yang
disimpan sebelumnya. Pada pertanyaan gambar 13 “Cara daftar prakerja gimana” didapatkan hasil probabilitas nilai tertinggi yaitu 0.99996555 dengan tag yang didapat adalah daftar_akun_prakerja. Maka jawaban yang diberikan chatbot kepada pengguna adalah response pada data JSON dengan acuan tag daftar_akun_prakerja.
Pada Tabel 4 uji coba chatbot oleh responden menggunakan hidden layer pertama dan kedua 100 dan 50 dengan epoch 1000, untuk threshold 0.1, 0.2, dan 0.3 menghasilkan akurasi yang sama yaitu 72% dengan yang membedakan pada jumlah salah dan tidak terjawab. Untuk jumlah benar, salah dan tidak terjawab dipengaruhi oleh threshold yang digunakan sebagai contoh pada Tabel 7 dengan threshold 0.2 terdapat satu pesan yang tidak terjawab, hal ini dikarenakan probabilitas dari prediksi tidak mencapai threshold 0.2 contohnya dapat dilihat pada Tabel 7 no 5 dengan pesan
“manfaat” probalitas yang dihasilkan adalah 0.192. Pada Tabel 5 uji coba chatbot oleh responden menggunakan hidden layer pertama dan kedua 200 dan 100 dengan epoch 1000, untuk threshold 0.1, 0.2, 0.3, 0.4 dan 0.5 menghasilkan akurasi yang sama yaitu 70%. Oleh karena itu didapatkan untuk hasil akurasi terbaik antara hidden layer pertama dan kedua 100, 50 dan 200, 100 yaitu pada hidden layer 100 dan 50 dengan dengan akurasi yang didapatkan adalah 72% sedangkan untuk hidden layer pertama dan kedua 200 dan 100 menghasilkan akurasi 70%.
4. SIMPULAN
Kesimpulan pada penelitian ini dengan implementasi neural network multilayer perceptron dan stemming Nazief dan Adriani pada chatbot menggunakan data FAQ Prakerja didapatkan hasil akurasi uji coba terbaik antara hidden layer pertama dan kedua 100, 50 dan 200, 100 yaitu pada hidden layer 100 dan 50 dengan dengan akurasi yang didapatkan adalah 72%
sedangkan untuk hidden layer pertama dan kedua 200 dan 100 menghasilkan akurasi 70%.
DAFTAR PUSTAKA
[1] B. A. Shawar and E. Atwell, "Chatbots: are they really useful?," LD-Forum:
Zeitschrift für Computerlinguistik und Sprachtechnologie, vol. 22, no. 1, pp. 29-49, 2007.
[2] R. Damanik, M. Sirait, S. Yolanda, E. Ketaren, I. P. Sinaga dan M. Harahap ,
“Diagnosa Penyakit Kulit pada Anjing dengan Algoritma Multilayer Perceptron,” Jurnal Mahajana Informasi, vol. 4, no. 2, pp. 50-56, 2019.
[3] R. Singh, M. Paste, N. Shinde, H. Patel dan N. Mishra, “Chatbot using TensorFlow for small Businesses,” Proceedings of the 2nd International Conference on Inventive Communication and Computational Technologies (ICICCT 2018), p. 1614–1619, 2018.
[4] F. Mustakim, Fauziah dan N. Hayati, “Algoritma Artificial Neural
Network pada Text-based Chatbot,” Jurnal JTIK (Jurnal Teknologi Informasi dan Komunikasi), vol. 5, no. 4, pp. 438-446, 2021.
[5] I. M. A. Agastya, “Pengaruh Stemmer Bahasa Indonesia Terhadap Performa Analisi Sentimen Terjemahan Ulasan Film,” Jurnal TEKNOKOMPAK, vol. 12, no. 1, pp. 18-23, 2018.
[6] M. Mustaqhfiri, Z. Abidin dan R. Kusumawati, “Peringkasan Teks Otomatis Berita Berbahasa Indonesia Menggunakan Metode Maximum Marginal Relevance,” MATICS, vol. 4, no. 4, pp. 134-147, 2011.
[7] S. Deepu, R. Pethuru dan S. Rajaraajeswari, “A Framework for Text Analytics using the Bag of Words (BoW) Model for Prediction,”
International Journal of Advanced Networking & Applications (IJANA), vol.
2, no. 1, p. 320–323, 2016.
[8] H. Husamuddin, D. B. Prasetyo dan H. C. Rustamadji, “Otomatisasi Layanan Frequently Ask Questions Berbasis Natural Langugae Processing Pada Telegram Bot,” TELEMATIKA, vol. 19, no. 1, p. 145 – 157, 2020.
[9] C. Haryawan dan M. M. Sebatubun, “Implementasi Multilayer Perceptron untuk Prediksi,” JUTI: Jurnal Ilmiah Teknologi Informasi, vol. 18, no. 1, p.
125 – 134, 2020.
[10] N. A. Purwitasari dan M. Soleh, “Implementasi Algoritma Artificial Neural Network dalam Pembuatan Chatbot,” Jurnal IPTEK, vol. 6, no. 1, pp. 14-21, 2022.