Tutorial

10.000 Tickets effizient labeln: KI-gestützte halbautomatisierte Strategien, die skalieren

Meistern Sie effizientes Ticket-Labeling im großen Maßstab mit GPT-gestützter Zero-Shot-Klassifikation, Label Studio-Workflows und bewährten Annotationstechniken, die den manuellen Aufwand um 80 % reduzieren.

#ai-labeling #data-annotation #gpt-classification #label-studio #zero-shot-learning #ml-training #automation-workflow
10.000 Tickets effizient labeln: KI-gestützte halbautomatisierte Strategien, die skalieren

10.000 Tickets effizient labeln: Halbautomatisierte Labeling-Strategien

Tausende Support-Tickets manuell zu labeln ist zeitaufwändig und teuer. Ein halbautomatisierter Workflow nutzt große Sprachmodelle (LLMs) wie GPT, um Tickets vorzulabeln (mit Zero-Shot-/Few-Shot-Prompts), und setzt dann menschliche Annotatoren ein, um diese Labels zu überprüfen und zu korrigieren. Dieser hybride Ansatz reduziert den Annotationsaufwand drastisch: Eine Fallstudie fand beispielsweise heraus, dass GPT-generierte “Vor-Annotationen” “gut genug waren, um unseren Labeling-Prozess zu beschleunigen”. In der Praxis können minimale Labels vom Modell Zeit und Kosten der Annotation reduzieren. In diesem Artikel erklären wir, wie man eine solche Pipeline einrichtet, zeigen Python-Beispiele (mit GPT über OpenRouter oder OpenAI) und diskutieren Tools wie Label Studio für die Überprüfung.

GPT für Zero-Shot-/Few-Shot-Vor-Labeling nutzen

Moderne LLMs können Text mit null oder wenigen Beispielen klassifizieren. Beim Zero-Shot-Labeling weist das Modell Kategorien zu, ohne explizit auf Ticket-Daten trainiert worden zu sein. Wie ein Tutorial es formuliert: “Zero-Shot Learning ermöglicht es Modellen, neue Instanzen ohne gelabelte Beispiele zu klassifizieren”. In der Praxis erstellen Sie einen Prompt, der GPT anweist, ein Ticket zu taggen. Zum Beispiel:

Ticket: "Cannot login to account."
Classify this ticket into one of {Bug, Feature Request, Question}.

Das Modell antwortet dann mit einem Label. Few-Shot-Labeling fügt dem Prompt ein paar Beispiele hinzu, um die Genauigkeit zu verbessern. Das bedeutet, wir können initiale Labels direkt über die API generieren, ohne jegliches Modell-Training.

Tipp: Verwenden Sie einen strukturierten Prompt oder fordern Sie JSON-Ausgabe an, um das Parsen zu erleichtern. Zum Beispiel:

Ticket: "Password reset email bounced."
Respond in JSON like {"category": "..."}.

Dies hilft, die Antwort in Ihre Pipeline zu integrieren.

Automatisiertes Vor-Labeling mit KI-APIs

Sie können KI-APIs wie OpenAI oder OpenRouter nutzen, um Tickets automatisch vorzulabeln, bevor sie von Menschen überprüft werden. Der Prozess umfasst:

  1. Durchlaufen Ihrer Ticket-Liste
  2. Senden jedes Ticket-Textes an ein KI-Modell mit einem Klassifikations-Prompt
  3. Speichern der vorhergesagten Kategorie als Vor-Label
  4. Überprüfung und Korrektur der Vor-Labels durch menschliche Reviewer

Dieser Ansatz reduziert die manuelle Labeling-Zeit erheblich, während die Qualität durch menschliche Überwachung erhalten bleibt. OpenRouter bietet eine einheitliche API, die mit mehreren KI-Anbietern (OpenAI, Anthropic Claude, Google PaLM, etc.) funktioniert, sodass Sie zwischen Modellen wechseln oder Fallback-Optionen für hohe Verfügbarkeit nutzen können.

Integration von Vor-Labels mit Labeling-Tools

Sobald GPT Labels generiert hat, besteht der nächste Schritt darin, sie in eine Labeling-Oberfläche zu importieren für die menschliche Überprüfung. Eine beliebte Open-Source-Lösung ist Label Studio. Label Studio unterstützt den Import von Modellvorhersagen als “Vor-Annotationen” zusammen mit den Daten. Annotatoren sehen das vorgeschlagene Label und müssen nur Fehler korrigieren, nicht von Grund auf neu labeln. Effektiv verschiebt sich die Aufgabe des Teams von der “zeitintensiven Aufgabe des Daten-Labelings zum weitaus effizienteren Prozess des Überprüfens und Verfeinerns der vorläufigen Labels”.

Label Studio bietet sogar ein ML-Backend: Sie können einen kleinen Server schreiben, der die Klasse LabelStudioMLBase verwendet und GPT für jede Aufgabe aufruft. In ihrem Tutorial zeigt Label Studio, wie GPT-4-Aufrufe in dieser Klasse gekapselt werden, um Vorhersagen on-the-fly zurückzugeben. Alternativ können Sie eine JSON-Datei mit Vorhersagen importieren. Das erforderliche JSON-Format hat ein data-Feld (der Ticket-Text) und ein predictions-Array (das jedes Label enthält). Zum Beispiel (vereinfacht):

[
  {
    "data": {
      "text": "User cannot login to account"
    },
    "predictions": [
      {
        "result": [
          {
            "value": {
              "choices": [
                {
                  "text": "Bug"
                }
              ]
            }
          }
        ]
      }
    ]
  },
  {
    "data": {
      "text": "Add dark mode to settings"
    },
    "predictions": [
      {
        "result": [
          {
            "value": {
              "choices": [
                {
                  "text": "Feature Request"
                }
              ]
            }
          }
        ]
      }
    ]
  }
]

Nach dem Import zeigt Label Studio jedes Ticket mit dem vorausgefüllten Label des Modells an. Die Aufgabe des Annotators ist es, zu überprüfen und zu korrigieren. Dieser halbautomatisierte Workflow hat sich als gut funktionierend erwiesen: Ein Kili Technology-Beispiel demonstrierte das Laden eines GPT-vorgelabelten Datensatzes und stellte fest, “we have successfully pre-annotated our dataset” und dass dieser Ansatz “has the potential to save us a lot of time”. In der Praxis liegt die Genauigkeit von GPT beim Labeling bei etwa ~80–90 %, was bedeutet, dass Menschen nur die verbleibenden 10–20 % korrigieren müssen.

Tools und Workflow-Schritte

Zusammenfassend sieht eine typische halbautomatisierte Labeling-Pipeline so aus:

  • Bereiten Sie den Ticket-Datensatz vor. Exportieren Sie Ihre 10.000 ungelabelten Tickets (z.B. als JSON oder CSV).
  • Generieren Sie Vor-Labels via LLM. Führen Sie Code aus (wie oben), der GPT-4 (oder ein anderes Modell über OpenRouter) aufruft, um jedes Ticket zu klassifizieren. Speichern Sie die Antworten.
  • Importieren Sie Vorhersagen in ein Labeling-Tool. Verwenden Sie Label Studio (oder ähnliches), um Tickets zu laden und jedes mit dem GPT-generierten Label (der “Vorhersage”) zu verknüpfen. Die Label Studio-Dokumentation erklärt, wie man Vorhersagen mit Ihren Daten importiert.
  • Menschliche Überprüfung. Annotatoren gehen die Tickets in Label Studio durch, akzeptieren oder korrigieren die Labels. Dies ist viel schneller als das Labeling von Grund auf. Die Oberfläche von Label Studio hebt die Modellvorschläge für jede Aufgabe hervor, sodass die Aufgabe zur schnellen Validierung wird.
  • Exportieren Sie die finalen Labels. Nach der Überprüfung exportieren Sie die korrigierten Annotationen für das Modell-Training oder die Analyse.

Wichtige öffentliche Tools, die diesen Ansatz unterstützen, sind:

  • OpenRouter – ein einheitliches LLM-API-Gateway (openrouter.ai). Es ermöglicht Ihnen, einfach zwischen GPT-4, Anthropic Claude, Google PaLM usw. zu wechseln. Sie können sogar eine Fallback-Liste in einem API-Aufruf angeben.
  • OpenAI API (GPT-4/3.5) – die zentrale Engine zur Generierung von Labels mit Zero-/Few-Shot-Prompts.
  • Label Studio – eine Open-Source-Daten-Labeling-UI. Es unterstützt den Import von Vorhersagen und hat ein ML-Backend, um Modelle aufzurufen.
  • Doccano – ein einfacheres Open-Source-Tool für Text-Annotation (Klassifikation, NER, etc.). Es hat keine eingebaute LLM-Integration, aber Sie können GPT offline nutzen, um Labels zu generieren und sie als initiale Auswahl zu laden.
  • Snorkel/Programmatic Labeling – für einige regelbasierte oder Weak-Supervision-Fälle können Tools wie Snorkel LLM-Labels ergänzen, aber moderne LLMs decken oft viele Fälle out-of-the-box ab.

Beispiel mit Dummy-Ticket-Daten

Zur Veranschaulichung hier einige Dummy-Ticket-Daten, mit denen Sie arbeiten könnten:

tickets = [
    {"id": 101, "text": "Error 500 when saving profile", "label": None},
    {"id": 102, "text": "How do I change my subscription plan?", "label": None},
    {"id": 103, "text": "Feature request: dark mode in settings", "label": None},
    {"id": 104, "text": "Application crashes on startup", "label": None},
]

Sie könnten jeden ticket['text'] an GPT mit einem Prompt wie diesem füttern:

Ticket: "Error 500 when saving profile."
Classify this issue as one of {Bug, Feature, Question}.

Angenommen, GPT gibt "Bug", "Question", "Feature", "Bug" zurück. Nach der Schleife könnte tickets so aussehen:

[
    {'id': 101, 'text': 'Error 500 when saving profile', 'label': 'Bug'},
    {'id': 102, 'text': 'How do I change my subscription plan?', 'label': 'Question'},
    {'id': 103, 'text': 'Feature request: dark mode in settings', 'label': 'Feature'},
    {'id': 104, 'text': 'Application crashes on startup', 'label': 'Bug'},
]

Diese Labels würden dann in die Review-Oberfläche geladen. Selbst wenn einige falsch sind (z.B. könnte GPT einen kniffligen Bug als Feature falsch labeln), muss der Annotator sie nur korrigieren, anstatt von Grund auf zu beginnen. Empirisch erreichen GPT-generierte Labels oft eine Genauigkeit von ~80–90 %, sodass das Überprüfen viel schneller ist als vollständiges Labeling.

Ergebnisse und Erkenntnisse

Der halbautomatisierte Ansatz skaliert gut. In einem großen Projekt müssen menschliche Annotatoren möglicherweise nur ein paar hundert oder tausend Labels korrigieren, anstatt 10.000. Wie das Kili-Tutorial nach dem Ausführen von GPT-Vor-Labels feststellte: “Great! We have successfully pre-annotated our dataset. Looks like this solution has the potential to save us a lot of time in future projects.”. Mit anderen Worten dienen LLMs als Kraftmultiplikator. Auch wenn das Modell nicht 100 % korrekt ist, “beschleunigt es den Labeling-Prozess”, indem es den Großteil der Arbeit erledigt.

Best Practices: Verwenden Sie eine niedrige Temperatur (z.B. 0.0–0.3) für konsistente Labels und geben Sie klare Anweisungen oder eine kleine Liste von Beispielen. Überwachen Sie die Fehler von GPT: Möglicherweise müssen Sie Prompts anpassen oder Few-Shot-Beispiele für unterperformende Kategorien hinzufügen. Halten Sie den Prompt einfach (z.B. “Classify the ticket text into A, B, or C”). Sie können auch mehrere Tickets in einem API-Aufruf batch-verarbeiten, wenn Modell und API es erlauben, um Kosten zu sparen. Und schließen Sie immer eine menschliche Überprüfung ein – dies stellt hohe Qualität sicher und fängt LLM-Fehler oder -Abweichungen auf.

Fazit

Halbautomatisiertes Labeling mit GPT und Tools wie OpenRouter und Label Studio ist eine leistungsstarke Strategie, um große Textdatensätze schnell zu labeln. Indem Sie 10.000 Tickets mit einem LLM vorlabeln und dann überprüfen, können Unternehmen ihre KI-Workflows mit minimalen initialen Daten schnell starten. Dieser Ansatz senkt Kosten und Zeit dramatisch, während die Qualität durch menschliche Überwachung sichergestellt wird. Wie ein Implementierungsleitfaden feststellt, beschleunigt die Verschiebung des Workflows von “Daten-Labeling” zum “Überprüfen und Verfeinern” von LLM-generierten Labels “Ihren Workflow erheblich”. Kurz gesagt hilft die Kombination von GPT-basierter Vor-Annotation mit einer benutzerfreundlichen UI (Label Studio, Doccano, etc.) Software-/KI-Teams, massive Ticket-Datensätze effizient und genau zu labeln.