In diesem Artikel erfahren Sie, wie Sie mithilfe großer Sprachmodelle und der scikit-LLM-Bibliothek eine Textklassifizierung mit mehreren Labels durchführen, ohne dass dafür gelabelte Trainingsdaten oder ein komplexes Modelltraining erforderlich sind.

Zu den Themen, die wir behandeln werden, gehören:

  • Was Multi-Label-Klassifizierung ist und warum sie für eine differenzierte Textanalyse wichtig ist.
  • So richten Sie scikit-LLM mit einem kostenlosen Open-Supply-LLM von Groq für Zero-Shot-Inferenz ein und konfigurieren es.
  • So laden Sie einen realen Datensatz und führen Stimmungsvorhersagen mit mehreren Labels mithilfe eines bekannten Workflows im Scikit-Be taught-Stil aus.
Multi-Label-Textklassifizierung mit Scikit-LLM

Multi-Label-Textklassifizierung mit Scikit-LLM

Einführung

Textklassifizierung Typischerweise läuft es auf Szenarien hinaus, in denen eine Produktbewertung „positiv“ oder „negativ“ ist oder eine Kundenanfrage in die eine oder andere Kategorie gehört. Wenn es jedoch um menschliche Gefühle geht, ist die Kategorisierung selten eindeutig. Schon ein einziger Satz kann manchmal sowohl Freude als auch Wut ausdrücken – zum Beispiel: „Ich liebe die längere Akkulaufzeit, aber das neue Design ist unglaublich schrecklich.“ Geben Sie die Multi-Label-Klassifizierung ein: eine „aktualisierte“ Klassifizierungsaufgabe, die in der Lage ist, Datenobjekten wie Textteilen gleichzeitig mehrere Kategorien zuzuweisen.

Der Aufbau von Multi-Label-Klassifikatoren für Textual content erfordert normalerweise große Mengen an Label-Trainingsdaten neben komplexen neuronalen Netzwerkarchitekturen, aber heute gibt es einen Meistertrick: die Argumentationsfähigkeit großer Sprachmodelle (LLMs) zu nutzen – konkret Zero-Shot-Argumentation. Dank neuartiger Bibliotheken wie scikit-LLMdies kann genau wie mit einem herkömmlichen maschinellen Lernworkflow mit scikit-learn erfolgen. In diesem Artikel erfahren Sie, wie das geht, indem Sie ein Sentimentklassifizierungsproblem mit mehreren Labels mithilfe eines realen Open-Supply-Datensatzes angehen.

Schritt-für-Schritt-Anleitung

Scikit-LLM zeichnet sich aus gutem Grund aus: Es fungiert als fabelhafter Wrapper, der es Benutzern von scikit-learn – und auch denjenigen, die neu in beiden Bibliotheken sind – unglaublich einfach macht, vorhandene LLMs für Inferenzen zu verwenden, ohne dass eine intensive Schulung erforderlich ist. Das Tüpfelchen auf dem i: Es ermöglicht auch die Nutzung kostenloser Open-Supply-LLMs ohne Quotenbegrenzung. Und genau das werden wir tun: Laden, Anpassen und Nutzen eines vorab trainierten LLM für eine Klassifizierungsaufgabe mit mehreren Etiketten, bei der einem Textual content eine oder mehrere Kategorien zugewiesen werden können.

Zuerst importieren wir die notwendigen Bibliotheken:

Wir werden ein kostenloses LLM von Groq verwenden, einer Ressource, die LLMs mit schneller Inferenz bereitstellt. Registrieren Sie sich daher unbedingt auf der Web site und erhalten Sie einen API-Schlüssel Hier. Sie müssen diesen Schlüssel kopieren, sobald er erstellt wurde (beachten Sie, dass er nur einmal kopiert werden kann) und ihn in den folgenden Code einfügen:

Beachten Sie, dass wir speziell ein Objekt von instanziiert haben MultiLabelZeroShotGPTClassifier Klasse, um unser vorab trainiertes LLM von Groq zu veranstalten.

Als nächstes importieren wir einen Datensatz. Hugging Face verfügt hierfür über ein hervorragendes Datensatz-Repository, das wir gezielt nutzen werden go_emotions Datensatz, der für unsere Aufgabe ideally suited ist – abhängig von der verwendeten Betriebsumgebung werden Sie möglicherweise nach einem Hugging Face (HF)-API-Schlüssel gefragt, aber um einen zu erhalten, müssen Sie sich nur auf der HF-Web site registrieren und erstellen.

Sie sehen eine Ausgabe wie diese, die ein Beispiel aus dem geladenen Datensatz zeigt:

Um das geladene LLM zu „trainieren“, müssen wir lediglich unseren domänenspezifischen Satz von Etiketten angeben, und es passt das Modell für die Klassifizierung von Instanzen mithilfe von Etiketten aus diesem Satz an. Insbesondere werden wir den folgenden Etikettensatz verwenden:

Wir führen keinen eigentlichen Trainingsprozess durch: Wir setzen das Modell einfach dem Labelsatz aus, den wir angegeben haben, um das Problemszenario zu instanziieren. So geht’s:

Sobald die vorherigen Schritte abgeschlossen sind, sind Sie quick bereit, einige Vorhersagen zu einigen Textbeispielen zu treffen. Machen wir es für fünf Texte im Datensatz und zeigen einige Ergebnisse:

Ausgabeauszug – nur zwei der fünf Vorhersagen werden angezeigt:

Haftungsausschluss: Der Autor und Herausgeber des Artikels übernimmt keine Haftung für den tatsächlichen Inhalt des verwendeten Datensatzes Dritter und die in einigen seiner Beispiele verwendete Sprache.

Beachten Sie, dass im Rahmen der Vorhersage einem einzelnen Textual content mehrere Beschriftungen zugewiesen werden können.

Geraten Sie auch nicht in Panik, wenn Sie feststellen, dass der Vorhersagevorgang eine Weile dauert. Dies ist regular, da die lokale Verwendung dieser LLMs ein rechenintensiver Prozess ist. So widersprüchlich es auch klingen magazine, im obigen Beispiel dauert die Schlussfolgerung weitaus länger als die Anpassung des Modells, da wir kein tatsächliches Coaching durchgeführt und auch keinen Trainingssatz übergeben haben match(): Wir haben gerade den Etikettensatz übergeben, um unser spezifisches Szenario zu definieren.

Zusammenfassung

In diesem Artikel wurde veranschaulicht, wie mit scikit-LLM ein Multi-Label-Textklassifizierungsprozess durchgeführt wird: einer Bibliothek, die die Fähigkeiten vorab trainierter LLMs nutzt und deren Verwendung ermöglicht, als wären es klassische, scikit-learn-basierte Modelle für maschinelles Lernen.

Als nächsten Schritt könnten Sie mit der Erweiterung des Kandidaten-Label-Units experimentieren, um die gesamte emotionale Bandbreite Ihrer Zieldomäne besser widerzuspiegeln, oder ein anderes von Groq gehostetes Modell einsetzen, um das Vorhersageverhalten zu vergleichen. Wenn Sie noch weiter gehen möchten, unterstützt scikit-LLM auch andere Zero-Shot- und Few-Shot-Klassifizierungsstrategien. Wenn Sie dem Klassifikator eine kleine Anzahl beschrifteter Beispiele zuführen, können seine Vorhersagen manchmal spürbar verbessert werden, ohne dass eine vollständige Trainingspipeline erforderlich ist. Schließlich lohnt es sich für Produktionsanwendungsfälle, eine geeignete Bewertungsschleife zu erstellen, um die Präzision und den Rückruf auf Etikettenebene anhand einer zurückgehaltenen, mit Anmerkungen versehenen Stichprobe zu messen, damit Sie ein konkretes Gefühl dafür haben, wo das Modell intestine funktioniert und wo es Schwierigkeiten hat.





Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert