Entitätsauswertung und Klassifizierung
Auf dieser Seite
Kernanwendungsfälle
Strukturierte Ausgaben sind in zwei Kategorien von Aufgaben besonders effektiv: das Extrahieren von Informationen aus unstrukturiertem Text und die Klassifizierung von Inhalten. Diese beiden Anwendungsfälle stehen im Mittelpunkt der meisten unternehmerischen KI-Anwendungen.
Entitätsauswertung
Die Entitätsauswertung umfasst das Identifizieren und Kategorisieren von Schlüsselelementen in einem Text: Personen, Unternehmen, Standorte, Daten, Beträge und vieles mehr.
from pydantic import BaseModel
from typing import Literal
class Entite(BaseModel):
texte: str
type: Literal[
"person", "company", "location",
"date", "amount", "product"
]
contexte: str
class ExtractionEntites(BaseModel):
entites: list[Entite]
nombre_total: int
langue_detectee: str
response, parsed = client.chat.parse(
model="grok-4.20-0309-reasoning",
messages=[{
"role": "user",
"content": """Extrahieren Sie alle Entitäten aus diesem Text:
Am 15. März 2026 erhöhte Mistral AI 600 Millionen Euro
bei General Catalyst. Arthur Mensch, der CEO mit Sitz in
Paris, plant die Veröffentlichung von Mistral Large 3 bis Juni."""
}],
response_format=ExtractionEntites
)
for e in parsed.entites:
print(f"[{e.type}] {e.texte} — {e.contexte}")
Inhaltsklassifizierung
Die Klassifizierung weist vordefinierte Kategorien Inhalten zu. Strukturierte Ausgaben garantieren, dass das Modell nur gültige Kategorien zurückgibt.
class ClassificationEmail(BaseModel):
categorie: Literal[
"sales", "support", "billing",
"partnership", "application", "spam", "other"
]
sous_categorie: str
priorite: Literal["low", "medium", "high", "urgent"]
sentiment: Literal["positive", "neutral", "negative"]
action_requise: bool
resume: str
response, parsed = client.chat.parse(
model="grok-4.20-0309-reasoning",
messages=[{
"role": "user",
"content": """Klassifizieren Sie diese E-Mail:
Betreff: Dringendes Abrechnungsproblem
Hallo, unsere neueste Rechnung #2847 enthält einen Fehler.
Der angezeigte Betrag beträgt 3.500 € statt der vereinbarten 2.800 €.
Bitte korrigieren Sie dies schnellstmöglich."""
}],
response_format=ClassificationEmail
)
print(f"Kategorie: {parsed.categorie}") # "billing"
print(f"Priorität: {parsed.priorite}") # "high"
print(f"Erforderliche Aktion: {parsed.action_requise}") # True
Mehrfachkennzeichnung
Wenn Inhalte mehreren Kategorien angehören können:
class ClassificationArticle(BaseModel):
titre: str
themes: list[str]
audience_cible: list[Literal[
"developers", "managers", "data_scientists",
"designers", "executives", "general_public"
]]
niveau_technique: Literal["beginner", "intermediate", "advanced"]
mots_cles_seo: list[str]
temps_lecture_minutes: int
Extraktion von tabellarischen Daten
Transformieren Sie Text in handlungsorientierte strukturierte Daten:
class LigneCommande(BaseModel):
reference: str
designation: str
quantite: int
prix_unitaire: float
montant_total: float
class BonCommande(BaseModel):
numero: str
date: str
fournisseur: str
lignes: list[LigneCommande]
montant_ht: float
tva: float
montant_ttc: float
response, parsed = client.chat.parse(
model="grok-4.20-0309-reasoning",
messages=[{
"role": "user",
"content": """Extrahieren Sie Daten aus diesem Bestellschein:
PO-2026-0847 vom 03/28/2026 — Lieferant: TechParts SAS
REF-001 | USB-C Kabel 2m | x50 | 3,20 €
REF-002 | HDMI Adapter | x20 | 12,50 €
REF-003 | 4-Port USB Hub | x10 | 24,90 €"""
}],
response_format=BonCommande
)
Granulare Sentiment-Analyse
Über einfache positive/negative Bewertungen hinaus strukturieren Sie eine vollständige Analyse:
class AspectSentiment(BaseModel):
aspect: str
sentiment: Literal["very_positive", "positive", "neutral", "negative", "very_negative"]
mention: str
class AnalyseAvis(BaseModel):
note_globale: float
sentiment_global: str
aspects: list[AspectSentiment]
points_forts: list[str]
points_faibles: list[str]
recommande: bool
Wichtige Erkenntnisse
- Die Entitätsauswertung identifiziert Personen, Standorte, Daten und Beträge in freiem Text.
- Die Klassifizierung erzwingt vordefinierte Kategorien unter Verwendung von
Literalundenum. - Die Mehrfachkennzeichnung verwendet Listen von
Literal. - Die Extraktion tabellarischer Daten transformiert unstrukturierten Text in handlungsorientierte Daten.
- Die Sentiment-Analyse kann granular mit einzelnen Aspekten erfolgen.
- Alle diese Muster funktionieren mit
parse()oderresponse_format.