Repo ini berisi prototipe awal aplikasi interaktif yang ditulis dalam Flask, yang menjelaskan hasil klasifikasi sentimen terperinci, yang dijelaskan secara rinci dalam Seri Medium ini.
Sejumlah pengklasifikasi diterapkan dan hasilnya dijelaskan menggunakan penjelasan LIME. Pengklasifikasi dilatih pada kumpulan data Stanford Sentiment Treebank (SST-5). Label kelasnya adalah [1, 2, 3, 4, 5]
, dengan 1
sangat negatif dan 5
sangat positif.
Pertama, siapkan lingkungan virtual dan instal dari requirements.txt
:
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
Untuk pengembangan selanjutnya cukup aktifkan virtual environment yang ada.
source venv/bin/activate
Jalankan file app.py
lalu masukkan kalimat, pilih jenis pengklasifikasi dan klik tombol Explain results!
. Kita kemudian dapat mengamati fitur-fitur (yaitu kata-kata atau token) yang berkontribusi pada pengklasifikasi yang memprediksi label kelas tertentu.
Aplikasi front-end mengambil contoh teks dan mengeluarkan penjelasan LIME untuk berbagai metode. Aplikasi ini diterapkan menggunakan Heroku di lokasi ini: https://sst5-explainer.herokuapp.com/
Mainkan dengan contoh teks Anda sendiri seperti yang ditunjukkan di bawah ini dan lihat penjelasan hasil sentimen terperinci!
CATATAN: Karena model berbasis PyTorch (Flair dan trafo sebab akibat) cukup mahal untuk menjalankan inferensi (membutuhkan GPU), metode ini tidak diterapkan.