Dieses Repo enthält das Streamlit-Äquivalent einer vorhandenen interaktiven Anwendung, das die Ergebnisse der feinkörnigen Stimmungsklassifizierung erklärt, die in dieser mittleren Serie ausführlich beschrieben wird.
Eine Reihe von Klassifikatoren werden implementiert und ihre Ergebnisse mithilfe des LIME-Erklärers erläutert. Die Klassifikatoren wurden anhand des Stanford Sentiment Treebank (SST-5)-Datensatzes trainiert. Die Klassenbezeichnungen lauten [1, 2, 3, 4, 5]
, wobei 1
sehr negativ und 5
sehr positiv ist.
Streamlit ist ein leichtes, minimalistisches Framework zum Erstellen von Dashboards in Python. Das Hauptaugenmerk von Streamlit liegt darauf, Entwicklern die Möglichkeit zu geben, mit möglichst wenigen Codezeilen schnell Prototypen ihrer UI-Designs zu erstellen. Die gesamte schwere Arbeit, die normalerweise für die Bereitstellung einer Webanwendung erforderlich ist, wie z. B. die Definition des Backend-Servers und seiner Routen, die Verarbeitung von HTTP-Anfragen usw., wird vom Benutzer abstrahiert. Dadurch wird es sehr einfach, eine Web-App schnell zu implementieren, unabhängig von der Erfahrung des Entwicklers.
Richten Sie zunächst die virtuelle Umgebung ein und installieren Sie sie über requirements.txt
:
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
Für die Weiterentwicklung aktivieren Sie einfach die bestehende virtuelle Umgebung.
source venv/bin/activate
Nachdem die virtuelle Umgebung eingerichtet und aktiviert wurde, führen Sie die App mit dem folgenden Befehl aus.
streamlit run app.py
Geben Sie einen Satz ein, wählen Sie einen Klassifikatortyp und klicken Sie auf die Schaltfläche Explain results
. Wir können dann die Merkmale (z. B. Wörter oder Token) beobachten, die dazu beigetragen haben, dass der Klassifikator eine bestimmte Klassenbezeichnung vorhergesagt hat.
Die Frontend-App nimmt ein Textbeispiel auf und gibt LIME-Erklärungen für die verschiedenen Methoden aus. Die App wird mit Heroku an diesem Standort bereitgestellt: https://sst5-explainer-streamlit.herokuapp.com/
Spielen Sie mit Ihren eigenen Textbeispielen, wie unten gezeigt, und sehen Sie sich die feinkörnigen Stimmungsergebnisse erklärt an!
HINWEIS: Da die Ausführung der Inferenz mit den PyTorch-basierten Modellen (Flair und der Kausaltransformator) recht teuer ist (sie erfordern eine GPU), werden diese Methoden nicht eingesetzt. Sie können jedoch auf einer lokalen Instanz der App ausgeführt werden.