? Online -Live -Demos: http://tworld.io/ss3/ ???
Der SS3 -Textklassifizierer ist ein neuartiges und einfaches überwachtes maschinelles Lernmodell für die Textklassifizierung, die interpretierbar ist, dh er hat die Fähigkeit, seine Begründung natürlich zu erklären . Es wurde ursprünglich in Abschnitt 3 des Papiers "Ein Textklassifizierungsrahmen für eine einfache und effektive Erkennung von Depressionen über Social -Media -Ströme" (ARXIV Preprint) eingeführt. Dieses einfache Modell erzielte in den letzten drei Ausgaben des ERISK-Labors des Clefs die besten und zweitbesten Ergebnisse bei allen teilnehmenden Modellen nacheinander [Burdisso et al. 2019; Loyola et al. 2021]. Angesichts seiner weißen Box-Natur ermöglicht es Forschern und Praktikern, interpretierbare (dh selbst erleichterte) und damit zuverlässigere Modelle für die Textklassifizierung einzusetzen (die besonders für diejenigen nützlich sein könnten, die mit Klassifizierungsproblemen arbeiten, anhand derer das Leben der Menschen irgendwie betroffen sein könnten).
Hinweis: Dieses Paket enthält auch unterschiedliche Variationen des ursprünglichen Modells, z.
PYSS3 ist ein Python -Paket, mit dem Sie sehr unkompliziert, interaktiv und visuell mit SS3 arbeiten können. Zusätzlich zur Implementierung des SS3 -Klassifikators verfügt PYSS3 mit einer Reihe von Tools, mit denen Sie Ihre maschinellen Lernmodelle klarer und schneller entwickeln können. Mit diesen Tools können Sie Ihre Modelle analysieren, überwachen und verstehen, indem Sie sehen, was sie tatsächlich gelernt haben und warum. Um dies zu erreichen, bietet Ihnen PYSS3 3 Hauptkomponenten: die SS3 -Klasse, die Live_Test -Klasse und die Evaluation , wie nachstehend hervorgeht.
SS3 -KlasseDies implementiert den Klassifikator mit einer klaren API. Lassen Sie uns beispielsweise zunächst einen der Datensatz des Tutorials laden:
from pyss3 . util import Dataset
url = "https://github.com/sergioburdisso/pyss3/raw/master/examples/datasets/movie_review.zip"
x_train , y_train = Dataset . load_from_url ( url , "train" )
x_test , y_test = Dataset . load_from_url ( url , "test" ) Jetzt trainieren wir unser erstes SS3 -Modell! Beachten Sie, dass die API der von sklearn Modellen sehr ähnlich ist:
from pyss3 import SS3
clf = SS3 ()
clf . fit ( x_train , y_train )
y_pred = clf . predict ( x_test ) Außerdem bietet diese Klasse eine Handvoll anderer nützlicher Methoden, wie zum Beispiel extract_insight() um die an der Klassifizierungsentscheidung beteiligten Textfragmente zu extrahieren (sodass Sie die Begründung hinter den Vorhersagen des Modells besser verstehen können) oder classify_multilabel() zur Bereitstellung von Unterstützung für die Klassifizierung mit mehreren Label:
doc = "Liverpool CEO Peter Moore on Building a Global Fanbase"
# standard "single-label" classification
label = clf . classify_label ( doc ) # 'business'
# multi-label classification
labels = clf . classify_multilabel ( doc ) # ['business', 'sports']Live_Test -KlasseDadurch können Sie Ihr Modell interaktiv testen und die Gründe für Klassifizierungsentscheidungen mit nur einer Codezeile visuell sehen:
from pyss3 . server import Live_Test
clf = SS3 ()
clf . fit ( x_train , y_train )
Live_Test . run ( clf , x_test , y_test ) # <- this one! cool uh? :) Wie im Bild unten gezeigt, wird dies lokal ein interaktives Tool in Ihrem Browser geöffnet, mit dem Sie Ihre Modelle mit den in x_test angegebenen Dokumenten (oder in Ihrem eigenen eingeben!) Testen können. Auf diese Weise können Sie sich visualisieren und verstehen, was Ihr Modell tatsächlich lernt.
Zum Beispiel haben wir zwei dieser Live -Tests online hochgeladen, damit Sie es ausprobieren können: "Movie Review (Sentiment Analysis)" und "Themenkategorisierung", beide wurden nach den Tutorials erhalten.
Evaluation Dies ist wahrscheinlich eine der nützlichsten Komponenten von PYSS3. Wie der Name schon sagt, bietet diese Klasse dem Benutzer einfach zu verwendende Methoden für die Modellbewertung und die Hyperparameteroptimierung, z. B. den test , kfold_cross_validation , grid_search und plot für die Durchführung von Tests, die körperübergreifenden K-Fach-Überprüfungen, die Grid-Suche nach Hyperparameteroptimierung und visualisierte Bewertungsergebnisse, die die Ergebnisse der Bewertung unter Verwendung einer interaktiven 3D-Diagramme unter Verwendung einer interaktiven 3D-Plotte, auf die Ergebnisse der Bewertungen, und die Ergebnisse der Bewertungen visualisierten. Wahrscheinlich ist eine der wichtigsten Funktionen die Fähigkeit, den von Ihnen durchgeführten Bewertungen automatisch (und dauerhaft) aufzuzeichnen. Auf diese Weise sparen Sie viel Zeit und ermöglichen es Ihnen, Ihre Klassifiziererleistung in Bezug auf die verschiedenen Hyper-Parameters-Werte interaktiv zu visualisieren und zu analysieren (und das beste Modell entsprechend Ihren Anforderungen auszuwählen). Lassen Sie uns beispielsweise eine Gittersuche mit einer 4-fachen Kreuzvalidierung auf den drei Hyperparametern, Glätte ( s ), Bedeutung ( l ) und Sanktion ( p ) durchführen:
from pyss3 . util import Evaluation
best_s , best_l , best_p , _ = Evaluation . grid_search (
clf , x_train , y_train ,
s = [ 0.2 , 0.32 , 0.44 , 0.56 , 0.68 , 0.8 ],
l = [ 0.1 , 0.48 , 0.86 , 1.24 , 1.62 , 2 ],
p = [ 0.5 , 0.8 , 1.1 , 1.4 , 1.7 , 2 ],
k_fold = 4
) In diesem illustrativen Beispiel nehmen s , l und p diese jeweils 6 verschiedene Werte auf, und sobald die Suche vorbei ist, wird diese Funktion (standardmäßig) die Hyperparameterwerte zurückgegeben, die die beste Genauigkeit erhalten haben. Jetzt könnten wir auch die plot verwenden, um die in unserer Gittersuche erhaltenen Ergebnisse mit dem interaktiven 3D -Bewertungsdiagramm zu analysieren:
Evaluation . plot () In diesem 3D -Diagramm stellt jeder Punkt eine Experiment/Bewertung dar, die unter Verwendung dieser bestimmten Kombination von Werten ( s , l und p ) durchgeführt wird. Außerdem sind diese Punkte proportional so gestrichen, wie gut die Leistung entsprechend der ausgewählten Metrik war. Das Diagramm wird "on the Fly" aktualisieren, wenn der Benutzer eine andere Bewertungsmetrik (Genauigkeit, Präzision, Rückruf, F1 usw.) auswählt. Wenn der Cursor über einen Datenpunkt verschoben wird, werden nützliche Informationen angezeigt (einschließlich einer "kompakten" Darstellung der in diesem Experiment erhaltenen Verwirrungsmatrix). Schließlich ist erwähnenswert, dass PYSS3 vor der Anzeige der 3D -Diagramme eine einzelne und tragbare HTML -Datei in Ihrem Projektordner erstellt, das die interaktiven Diagramme enthält. Auf diese Weise können Benutzer die Diagramme mit dieser einzelnen HTML -Datei an einen anderen Ort speichern, senden oder hochladen. Zum Beispiel haben wir zwei dieser Dateien hochgeladen, um zu sehen: "Sentiment Analysis (Film Reviews)" und "Themenkategorisierung". Beide Bewertungsdiagramme wurden auch nach den Tutorials erhalten.
Gehen Sie einfach zur Seite "Erste Schritte: D.
Einfach verwenden:
pip install pyss3 Vielen Dank für Ihr Interesse an dem Projekt, Sie sind !! Jede Art von Hilfe ist sehr willkommen (Code, Fehlerberichte, Inhalte, Daten, Dokumentation, Design, Beispiele, Ideen, Feedback usw.), Probleme und/oder Zugangsanforderungen sind für eine Verbesserung willkommen, von einem kleinen Tippfehler bis hin zu neuen Funktionen, helfen Sie uns, PYSS3 zu verbessern?
Denken Sie daran, dass Sie die Schaltfläche "Bearbeiten" ('Bleistift' Symbol) oben verwenden können, um eine beliebige Datei dieses Repo direkt auf GitHub zu bearbeiten.
Wenn Sie vorhaben, eine neue Pull -Anfrage zu erstellen, folgen wir den "sieben Regeln einer großartigen Git -Commit -Nachricht" aus "So schreiben Sie eine Git -Commit -Nachricht". Stellen Sie also sicher, dass Ihre Commits ihnen ebenfalls folgen.
(Wenn Sie weitere Informationen benötigen, zögern Sie bitte nicht , mich zu kontaktieren - [email protected])
Danke geht an diese großartigen Leute (Emoji -Schlüssel):
Florian Angermeir ? ? | Muneeb Vaiyani ? ? | Saurabh Bora ? | Hubert Baniecki ? |
Dieses Projekt folgt der All-Contributors-Spezifikation. Beiträge jeglicher Art willkommen!
Vollständige Dokumentation
API -Dokumentation
Papiervordruck