Fachry, 2023.
Dalam repo ini berisi sebuah program yang menggunakan Keras berbasis Tensorflow untuk melakukan analisis sentimen.
Analisis sentimen adalah penggunaan NLP (Natural Language Processing) untuk mengambil nilai subjektif dan takaran baik-buruknya suatu kalimat. Analisis sentimen juga disebut dengan "opinion mining" atau "emotion AI".
Dengan anggapan bahwa program git
dan python3
telah terpasang.
Pertama-tama, clone repo ini
git clone https://github.com/rabenardi/sentimental-analysis.git
Lalu, install paket yang dibutuhkan dengan menjalankan
pip3 install -r requirements.txt
Sebelum bisa dipakai, buat berkas enviroment (berkas .env
) dengan notepad (atau penyunting teks lainnya), lalu tambahkan nilai berikut (awas, besar-kecilnya huruf diperhatikan)
MAX_VOCAB=
MAX_LEN=
EPOCHS=
LAYERS_DENSE=
BATCH_SIZE=
atau bisa lihat berkas .env.shared
untuk refrensi.
Jika ingin melatih modelnya dari awal, bisa jalankan
python train.py
untuk melatih model dengan sampel bawaan.
Jika ingin menambahkan sampel lain, pastikan (1) berupa csv, (2) mengetahui lokasi sampelnya di mana (path-nya) dan (3) apa kolom sentimen dan teksnya. Misal ada sampel dengan kolom
,full_text,date,polarity,subjectivity,analysis
0,manfaat penuh eh udah kasih admin fee yaudah fokus cimb niaga on account fasilitas on par substitusi,Thu Nov 12 17:27:57 +0000 2020,0.425,0.525,positive
Maka kolom sentimennya adalah analysis
dan kolom teksnya dalah full_text
.
Jika sudah teridentifikasi, maka mulai tambahkan sampel tersebut ke kode dengan menambahkan/meng-append entri (berbentuk dict
) berikut ke dalam variable other_samples di sources.py
.
other_samples = [{
"the_path": lokasi,
"sentiment_col": kolom_sentimennya,
"text_col": kolom_teksnya
}, ...]
Untuk mulai menguji sentimen suatu kalimat, kalian dapat menggunakan fungsi predict_sentiment
di model_test.py
.
Untuk versi interaktifnya, jalankan
python .
Google colab menyediakan processing power dari GPU dan TPU secara gratis. Jika ingin melatih model atau sekedar menjalankan program interaktif ini dengan model yang telah terlatih, maka pakai notebook yang telah tersedia.
Pertama, unggah repo ini ke drivemu (di-clone lalu diunggah). Lalu buka notebook/colab.ipnyb
.
Adakah cara untuk meningkatkan akurasi model?
Ya, akurasinya bisa ditingkatkan dengan melakukan hyperparameter tuning. Singkatnya, mengutak-atik parameter yang diberikan dalam pengaturan model. Untuk kemudahan, kalian bisa melakukan hyperparameter tuning dengan bereksperimen dengan nilai yang ada dalam .env
.
Dengan pengaturan pada .env.shared
, saya berhasil mendapatkan akurasi sebesar 94% dengan sampel bawaan. Namun, sebenarnya, semua itu bergantung pada sampel (utamanya distribusinya).
Saya ingin langsung mencoba memprediksi kalimat. Adakah model yang sudah terlatih?
Ada. Download modelnya di sini, lalu pindah ke folder root repo yang telah ada clone ini.