Fortgeschritten7 Min. LesezeitAktualisiert
Zero-Shot-Klassifikation: wie ein Modell Regeln in normalen Worten versteht
Wie setzt ein Modell „Keine Spoiler“ durch, ohne auf diese Regel trainiert zu sein? Natural Language Inference und eigene Moderationsregeln erklärt.
Das Problem
Ein klassischer Klassifikator kennt nur die Kategorien, auf die er trainiert wurde. Aber jede Community hat eigene Regeln: keine Spoiler, kein Verkauf von Accounts, nur Fußballthemen, keine Links zu anderen Servern. Für jede Regel jeder Community ein neues Modell zu trainieren ist unmöglich.
Zero-Shot-Klassifikation löst das: Das Modell bekommt die Kategorie als Satz im Moment der Anfrage und beurteilt, ob der Text dazu passt.
Natural Language Inference (NLI)
Viele Zero-Shot-Klassifikatoren beruhen auf einer Aufgabe namens Natural Language Inference. Das Modell bekommt zwei Texte:
- eine Prämisse (hier: die Chatnachricht),
- eine Hypothese (hier: eine Regel oder die Beschreibung einer Kategorie),
und entscheidet, ob aus der Prämisse die Hypothese folgt, ob sie ihr widerspricht oder neutral ist.
| Prämisse (Nachricht) | Hypothese | Antwort |
|---|---|---|
| „lol der Hund stirbt am Ende“ | „Diese Nachricht verrät die Handlung eines Films oder einer Serie.“ | folgt |
| „hat jemand das Finale gesehen?“ | „Diese Nachricht verrät die Handlung eines Films oder einer Serie.“ | folgt nicht |
| „verkaufe meinen Level-80-Account, schreibt mir“ | „Diese Nachricht bietet an, Spiel-Accounts zu kaufen oder zu verkaufen.“ | folgt |
Die Wahrscheinlichkeit für „folgt“ wird zum Wert der Regel. Derselbe Mechanismus funktioniert auch für feste Kategorien: „Beleidigung“ ist einfach die Hypothese „Diese Nachricht beleidigt eine Person“.
Warum es verallgemeinert
Im Training sieht das Modell Hunderttausende Prämisse-Hypothese-Paare zu allen möglichen Themen. Es lernt nicht die Regeln selbst, sondern die Fähigkeit zu prüfen, ob ein Text zu einer Beschreibung passt. Diese Fähigkeit überträgt sich auf Regeln, die es nie gesehen hat, in jeder Sprache, die das Modell kennt.
Gute Regeln schreiben
- Konkret schlägt abstrakt. „Kein Kaufen, Verkaufen oder Tauschen von Accounts oder Items“ funktioniert besser als „Respektiert die Wirtschaft“.
- Eine Idee pro Regel. Teile „Kein Spam und keine Politik“ in zwei Regeln.
- Beschreibe das Verhalten, keine Wortliste. „Verrate nicht das Ende von Filmen oder Serien“ erkennt Spoiler in jeder Formulierung.
- Teste mit echten Beispielen und passe die Schwelle an, wie bei jeder Kategorie.
Kontext hilft auch Regeln
„Er stirbt am Ende“ ist nur ein Spoiler, wenn es im Gespräch um eine Serie geht. Zero-Shot-Modelle, die auch die vorherigen Nachrichten lesen, können Regeln beurteilen, die vom Chat abhängen; siehe Kontext in der Moderation.
In VigiMod
Regeln werden mit jeder Anfrage geschickt, bis zu 10, in jeder Sprache:
"rules": {"no-spoilers": "Keine Spoiler zu Filmen oder Serien"}
Jede Regel liefert ihren eigenen Wert und ihre Markierung (rule:no-spoilers), neben den eingebauten Kategorien. Details in der Dokumentation.
Teste dich
Beantworte die Fragen und prüfe dann deine Antworten.
Weiterlernen
Sieh es an echten Nachrichten
Probier die Live-Demo oder lies, wie die API funktioniert.