Puteri Amelia Azli
Klasifikasi emosi dengan suara adalah teknologi kecerdasan buatan (AI) yang digunakan untuk mengidentifikasi dan menganalisis emosi seseorang berdasarkan pola suara mereka. Didalam portofolio ini akan dijelaskan langkah-langkah dalam melakukan klasifikasi emosi dengan dataset audio dengan format wav. Algoritma yang digunakan pada klasifikasi ini adalah Naive Bayes, K-Near Neighbor dan SVM.
Machine learning adalah subbidang dari AI yang berfokus pada pengembangan algoritma dan teknik yang memungkinkan komputer untuk belajar dari dan membuat prediksi atau keputusan berdasarkan data.
Dengan menggunakan dataset https://www.kaggle.com/datasets/ritika0111/emotion-detection-dataset kita akan membandingkan 3 buah algoritma machine learning untuk mengklasifikasikan emosi manusia berdasarkan suara. Algoritma tersebut yaitu Naive Bayes, K-Near Neighbor dan SVM.
Didalam dataset, emosi dikelompokkan menjadi 6 jenis, yaitu angry, disgusting, fear, happy, neutral, dan sad dengan 4 tingkat emosi yang berbeda, yaitu low, medium, high, dan unspecified. Tools yang digunakan adalah https://colab.research.google.com/.
Berikut adalah langkah-langkah dalam membuat algoritma klasifikasinya:
1. Download file kaggle.json, caranya:
2. Import library dan konfigurasi kaggle dengan melakukan setup kaggle API key yang dapat dilakukan dengan mengupload file kaggle.json
3. Lakukan konfigurasi kaggle API key dengan sintax berikut:
4. Download dataset dan unzip dataset tersebut dengan folder bernama emotion-audio (nama folder bebas)
5. Import library yang diperlukan untuk proses pembuatan model klasifikasi
06. Lakukan ekstraksi audio dengan sintax berikut, isi dataset_path dengan lokasi/path dataset yang sudah diekstrak tadi.
07. Lakukan loop untuk melalui setiap subdirektori (kategori emosi) di dataset dan konversikan ke array numpy
08. Lakukan klasifikasi dengan membagi, melatih, dan menampilkan hasil akurasi dari masing-masing model.
09. Berikut adalah perbandingan hasil akurasi yang didapat dari masing-masing algoritma/model:
Kesimpulan:
Berdasarkan hasil tersebut, dapat disimpulkan bahwa diantara ke-3 algoritma tersebut, model yang paling baik adalah model SVM yang ditandai dengan tingkat akurasi paling tinggi, yaitu 45%. Namun, perlu dilakukan pemilihan algoritma lain mengingat tingkat akurasinya yang masih sangat rendah. Model algortima sendiri dikatakan baik jika hasil akurasinya diangka >60%