BAB V IMPLEMENTASI DAN PENGUJIAN
IV- 14 Tabel 4.6 Contoh data perhitungan manual
Kategori pertanyaan Pertanyaan (P)
Penawaran Mata Kuliah Apa mata kuliah yg muncul semester ini ? Persyaratan Mata Kuliah Apa persyaratan matkul jst?
Dosen Mata Kuliah Siapa saja dosen yang mengajar mata kuliah jst?
Bidang Keahlian Dosen Apa bidang keahlian dari pak rahmad? Deskripsi Mata Kuliah Pembahasan jst tentang apa?
Saran Mata Kuliah Pilihan Saya minat tentang topik teknologi informasi, apa aja mata kuliahnya?
Berikut ini. Penjelasan tahapan analisa cara chatbot mengenali pertanyaan yang diberikan oleh mahasiswa.
1. Text Preprocessing
Text preprocessing adalah langakah penting sebelum melakukan proses
klasifikasi kategori pertanyaan. Tahapan ini bertujuan untuk membersihkan unsur-unsur yang tidak dibutuhkan dalam kalimat perrtanyan agar lebih mudah diolah oleh chatbot.
a. Cleaning and Case Folding
Langkah awal tahapan text preprocessing dalam chatbot adalah melakukan
cleaning yang bertujuan untuk menghilangkan karakter atau simbol
(@#$%^&*()_+”:{}<>.,?!~/[]). Kemudian dilanjutkan tahapan case folding yang bertujuan untuk mengubah semua huruf besar menjadi huruf kecil agar tidak ada perbedaan ukuran huruf. Hasil cleaning and case folding untuk contoh data dapat dilihat pada tabel 4.7.
Tabel 4.7 Data setelah cleaning dan case folding
No Kategori pertanyaan Pertanyaan (P)
1 Penawaran Mata Kuliah apa mata kuliah yg muncul semester ini
2 Persyaratan Mata Kuliah apa persyaratan matkul jst
3 Dosen Mata Kuliah siapa saja dosen yang mengajar mata kuliah jst
4 Bidang Keahlian Dosen apa bidang keahlian dari pak rahmad 5 Deskripsi Mata Kuliah pembahasan jst tentang apa
6 Saran Mata Kuliah Pilihan saya minat tentang topik teknologi informasi apa aja mata kuliahnya
IV-15 b. Tokenizing
Tahapan tokenizing bertujuan untuk memecah kalimat menjadi sebuah kata atau token dengan cara memisahkan kata tersebut dan menentukan struktur sintaksis dari setiap kata. Hasil tokenizing untuk contoh data dapat dilihat pada Tabel 4.8.
Tabel 4.8 Data setelah tokenizing
P1 P 2 P 3 P4 P5 P 6
apa apa siapa apa pembahasan saya
mata persyaratan saja bidang jst minat kuliah matkul dosen keahlian tentang tentang
yg jst yang dari apa topik
muncul mengajar pak teknologi
semester mata rahmad informasi
ini kuliah apa
jst aja
mata
kuliahnya
c. Normalization
Tahapan normalization bertujuan untuk menormalkan kata menjadi ejaan yang tepat. Normalization pada penelitian tugas akhir ini menggunakan tabel normalisasi untuk mengubah kata tidak baku menjadi baku dan laveinsthein
distance untuk spelling correction (perbaikan ejaan) dengan mengambil jarak
kesalahan 1. Pembuatan kamus kata baku dan tidak baku serta kamus untuk
spelling correction pada penelitian ini dibuat secara manual berdasarkan
kebutuhan penelitian. Hasil normalization untuk contoh data dapat dilihat pada Tabel 4.9.
Tabel 4.9 Data setelah normalization
P1 P 2 P 3 P4 P5 P 6
apa apa siapa apa pembahasan saya
mata persyaratan saja bidang jst minat kuliah mata dosen keahlian tentang tentang
yang kuliah yang dari apa topik
muncul jst mengajar bapak teknologi
semester mata rahmad informasi
ini kuliah apa
jst saja
mata
IV-16
d. Stopword Removal
Tahapan stopword removal bertujuan menghilangkan kata-kata yang tidak penting atau yang tidak diperlukan guna mengurangi dimensi ruang ketika diproses. Kata-kata tersebut adalah kata preposisi, kata tanya dan kata-kata lain yang tidak berhubungan dengan kata kunci yang penting untuk pemrosesan. Pembuatan kamus stopword ini menggunakan kamus stopword yang diambil dari https://github.com/nolimitid/nolimit-kamus dan disesuaikan dengan kebutuhan penelitian. Hasil stopword removal untuk contoh data dapat dilihat pada Tabel 4.10.
Tabel 4.10 Data setelah stopword removal
P1 P 2 P 3 P4 P5 P 6
apa apa siapa apa pembahasan saya
mata persyaratan saja bidang jst minat kuliah mata dosen keahlian tentang tentang
yang kuliah yang dari apa topik
muncul jst mengajar bapak teknologi
semester mata rahmad informasi
ini kuliah apa
jst saja
mata
kuliahnya
e. Stemming
Tahapan stemming bertujuan untuk mengubah kata yang memiliki imbuhan menjadi kata dasar. Pada penelitian tugas akhir ini algoritma stemming yang digunakan adalah algoritma Enhanced Confix Stripping (ECS) dan pembuatan kamus kata dasar ini menggunakan kamus kata dasar yang diambil dari https://github.com/nolimitid/nolimit-kamus dan disesuaikan dengan kebutuhan penelitian. Proses stemming diawali dengan melakukan pengecekan kata ke dalam kamus kata dasar yang berfungsi untuk mengetahui apakah kata yang dimasukkan sudah berbentuk kata dasar atau belum. Jika kata yang dicari belum berbentuk kata dasar, maka proses akan menghapus imbuhan berdasarkan aturan algoritma stemming ECS dan kemudian mengubah kata tersebut menjadi kata dasar. Namun jika kata yang dicari sudah berbentuk kata dasar, maka proses akan mengembalikan kata awal tersebut. Hasil stemming untuk contoh data dapat dilihat pada Tabel 4.11.
IV-17
Tabel 4.11 Data setelah stemming
P1 P 2 P 3 P4 P5 P 6
mata syarat dosen bidang bahas minat
kuliah mata ajar ahli jst topik
muncul kuliah mata rahmad teknologi
semester jst kuliah informasi
jst mata
kuliah
Data hasil setelah stemming adalah data hasil text preprocessing. Data ini yang akan digunakan untuk tahapan selanjutnya yaitu pembobotan kata.
IV-18
2. Pembobotan Kata
Pembobotan kata bertujuan untuk mengubah kata menjadi sebuah vektor, di mana setiap kata dihitung sebagai satu fitur. Pada penelitian tugas akhir ini menggunakan pembobotan TF- IDF. Pembobotan ini merupakan penggabungan antara TF (term
frequency) untuk menghitung bobot kemunculan kata dalam dokumen dan IDF untuk menghitung bobot kemunculan kata pada
kumpulan dokumen. Tabel perhitungan manual untuk pembobotan kata setiap pertanyaan dapat dilihat pada tabel 4.12. Tabel 4.12 Data hasil perhitungan manual pembobotan kata setiap pertanyaan
Term TF DF Bobot (W) IDF
P1 P2 P3 P4 P5 P6 P1 P2 P3 P4 P5 P6 ahli 0 0 0 1 0 0 1 0 0 0 0,77815125 0 0 0,77815125 ajar 0 0 1 0 0 0 1 0 0 0,77815125 0 0 0 0,77815125 bahas 0 0 0 0 1 0 1 0 0 0 0 0,77815125 0 0,77815125 bidang 0 0 0 1 0 0 1 0 0 0 0,77815125 0 0 0,77815125 dosen 0 0 1 0 0 0 1 0 0 0,77815125 0 0 0 0,77815125 informasi 0 0 0 0 0 1 1 0 0 0 0 0 0,77815125 0,77815125 jst 0 1 1 0 1 0 3 0 0,301029996 0,301029996 0 0,301029996 0 0,301029996 kuliah 1 1 1 0 0 1 4 0,176091259 0,176091259 0,176091259 0 0 0,176091259 0,176091259 mata 1 1 1 0 0 1 4 0,176091259 0,176091259 0,176091259 0 0 0,176091259 0,176091259 minat 0 0 0 0 0 1 1 0 0 0 0 0 0,77815125 0,77815125 muncul 1 0 0 0 0 0 1 0,77815125 0 0 0 0 0 0,77815125 rahmad 0 0 0 1 0 0 1 0 0 0 0,77815125 0 0 0,77815125 semester 1 0 0 0 0 0 1 0,77815125 0 0 0 0 0 0,77815125 syarat 0 1 0 0 0 0 1 0 0,77815125 0 0 0 0 0,77815125 teknologi 0 0 0 0 0 1 1 0 0 0 0 0 0,77815125 0,77815125 topik 0 0 0 0 0 1 1 0 0 0 0 0 0,77815125 0,77815125 Ʃ 1,908485019 1,431363764 2,209515015 2,334453751 1,079181246 3,46478752 10,76917877
IV-19