Repo นี้ประกอบด้วย Streamlit ที่เทียบเท่ากับแอปพลิเคชันแบบโต้ตอบที่มีอยู่ ซึ่งอธิบายผลลัพธ์ของการจำแนกประเภทความรู้สึกแบบละเอียด ซึ่งอธิบายโดยละเอียดใน Medium Series นี้
มีการนำตัวแยกประเภทจำนวนหนึ่งไปใช้และอธิบายผลลัพธ์โดยใช้ตัวอธิบาย LIME ผู้แยกประเภทได้รับการฝึกอบรมเกี่ยวกับชุดข้อมูล Stanford Sentiment Treebank (SST-5) ป้ายกำกับคลาสเป็นค่าใดก็ได้ [1, 2, 3, 4, 5]
โดยที่ 1
เป็นค่าลบมากและ 5
เป็นค่าบวกมาก
Streamlit เป็นเฟรมเวิร์กที่เรียบง่ายและมีน้ำหนักเบาสำหรับสร้างแดชบอร์ดใน Python จุดสนใจหลักของ Streamlit คือการให้นักพัฒนาสามารถสร้างต้นแบบการออกแบบ UI ของตนได้อย่างรวดเร็วโดยใช้โค้ดเพียงไม่กี่บรรทัดเท่าที่จะเป็นไปได้ โดยทั่วไปแล้ว การทำงานหนักทั้งหมดที่จำเป็นในการปรับใช้เว็บแอปพลิเคชัน เช่น การกำหนดเซิร์ฟเวอร์แบ็กเอนด์และเส้นทาง การจัดการคำขอ HTTP ฯลฯ จะถูกแยกออกจากผู้ใช้ เป็นผลให้การติดตั้งเว็บแอปอย่างรวดเร็วกลายเป็นเรื่องง่ายมาก โดยไม่คำนึงถึงประสบการณ์ของนักพัฒนา
ขั้นแรก ให้ตั้งค่าสภาพแวดล้อมเสมือนและติดตั้งจาก requirements.txt
:
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
สำหรับการพัฒนาเพิ่มเติม เพียงเปิดใช้งานสภาพแวดล้อมเสมือนที่มีอยู่
source venv/bin/activate
หลังจากตั้งค่าและเปิดใช้งานสภาพแวดล้อมเสมือนแล้ว ให้เรียกใช้แอปโดยใช้คำสั่งด้านล่าง
streamlit run app.py
ป้อนประโยคเลือกประเภทของลักษณนามแล้วคลิกที่ปุ่ม Explain results
. จากนั้นเราสามารถสังเกตคุณลักษณะ (เช่น คำหรือโทเค็น) ที่มีส่วนทำให้ตัวแยกประเภททำนายป้ายกำกับคลาสเฉพาะได้
แอปส่วนหน้าใช้ตัวอย่างข้อความและส่งคำอธิบาย LIME สำหรับวิธีการต่างๆ แอปถูกปรับใช้โดยใช้ Heroku ที่ตำแหน่งนี้: https://sst5-explainer-streamlit.herokuapp.com/
เล่นกับตัวอย่างข้อความของคุณเองดังที่แสดงด้านล่างและดูคำอธิบายผลลัพธ์เชิงความรู้สึกที่ละเอียด!
หมายเหตุ: เนื่องจากโมเดลที่ใช้ PyTorch (Flair และตัวแปลงเชิงสาเหตุ) มีราคาค่อนข้างแพงในการอนุมาน (ต้องใช้ GPU) วิธีการเหล่านี้จึงไม่ได้ปรับใช้ อย่างไรก็ตาม สามารถเรียกใช้บนอินสแตนซ์ภายในเครื่องของแอปได้