Repo ini berisi aplikasi interaktif yang setara dengan Streamlit yang sudah ada, yang menjelaskan hasil klasifikasi sentimen terperinci, yang dijelaskan secara mendetail 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.
Streamlit adalah kerangka kerja minimalis yang ringan untuk membangun dasbor dengan Python. Fokus utama Streamlit adalah memberi pengembang kemampuan untuk membuat prototipe desain UI mereka dengan cepat menggunakan baris kode sesedikit mungkin. Semua pekerjaan berat yang biasanya diperlukan untuk menerapkan aplikasi web, seperti menentukan server backend dan rutenya, menangani permintaan HTTP, dll., dipisahkan dari pengguna. Hasilnya, mengimplementasikan aplikasi web dengan cepat menjadi sangat mudah, apa pun pengalaman pengembangnya.
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
Setelah lingkungan virtual diatur dan diaktifkan, jalankan aplikasi menggunakan perintah di bawah ini.
streamlit run app.py
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-streamlit.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. Namun, mereka dapat dijalankan pada aplikasi lokal.