Dokumentenstapel löst sich in Datenpunkte auf und formt einen strukturierten Knowledge Graph

    Entity Extraction mit LLMs – vom Dokument zum Knowledge Graph

    30. Mai 20264 min Lesezeit
    Till Freitag

    TL;DR:Vor zwei Jahren war Entity Extraction ein eigenes ML-Projekt. Heute ist es ein gut gesetzter Prompt mit JSON-Schema und 200 Zeilen Pipeline-Code. Die schwierige Arbeit liegt nicht in der Extraction, sondern in Deduplizierung und Resolution."

    Till Freitag

    Worum es geht

    Ein Knowledge Graph ist nur so gut wie die Pipeline, die ihn füllt. Bis 2023 war Entity Extraction ein Spezialgebiet: spaCy, Stanford NER, Custom-Trainings, viele Edge Cases. Mit LLMs ist daraus ein gut beherrschbares Engineering-Problem geworden.

    Dieser Artikel zeigt, wie eine moderne Pipeline aussieht, wo sie reibt, und welche Tools die Arbeit abnehmen.

    Die vier Schritte einer Extraction-Pipeline

    Dokumente
       ↓ Chunking              (Token-Limits, Kontextfenster)
    Chunks
       ↓ Extraction (LLM)      (strukturierter Output)
    Triplets (Subject, Relation, Object)
       ↓ Deduplizierung        (gleiche Entität, anderer Wortlaut)
       ↓ Resolution            (Anna B. = Anna Becker = anna@acme)
    Knowledge Graph

    Jeder Schritt hat seine eigenen Stolperfallen. Schauen wir sie der Reihe nach an.

    Schritt 1: Chunking

    Quelldokumente sind selten gut geschnitten. Verträge sind 80 Seiten, E-Mail-Threads sind 40 Nachrichten, PDFs haben Tabellen. Klassische Strategien:

    • Naiv: feste Token-Größen (z.B. 1.000 Tokens, 200 Overlap) – funktioniert für Fließtext, zerstört Tabellen.
    • Semantisch: an Absatz- oder Heading-Grenzen splitten – besser, aber langsamer.
    • Strukturell: Markdown-Header, HTML-Sections, oder bei PDFs Layout-aware Parser wie Unstructured oder Docling.

    Faustregel: Lieber etwas mehr Overlap und kleinere Chunks. Halluzinierte Beziehungen entstehen fast immer, wenn ein Chunk zwei Entitäten erwähnt, ohne deren Beziehung vollständig zu beschreiben.

    Schritt 2: Extraction mit strukturierten Outputs

    Hier hat sich in den letzten zwei Jahren am meisten geändert. Statt freier Prompts (mit Regex-Parsing) nutzen alle ernstzunehmenden Pipelines heute Structured Outputs – JSON Schema, das das Modell zwingt, korrekt geformte Daten zurückzugeben.

    Minimales Beispiel mit Pydantic + Instructor:

    from pydantic import BaseModel, Field
    from typing import Literal
    import instructor
    from openai import OpenAI
    
    class Entity(BaseModel):
        id: str = Field(description="kebab-case stable identifier")
        type: Literal["person", "company", "product", "contract", "ticket"]
        name: str
        attributes: dict[str, str] = {}
    
    class Relation(BaseModel):
        source_id: str
        target_id: str
        label: str = Field(description="verb-phrase, lower case")
        confidence: float = Field(ge=0, le=1)
    
    class ExtractionResult(BaseModel):
        entities: list[Entity]
        relations: list[Relation]
    
    client = instructor.from_openai(OpenAI())
    
    result = client.chat.completions.create(
        model="gpt-4.1",
        response_model=ExtractionResult,
        messages=[{
            "role": "system",
            "content": "Extrahiere Entitäten und Beziehungen aus dem Text. "
                       "Verwende stabile ids. Setze confidence ehrlich.",
        }, {
            "role": "user",
            "content": chunk_text,
        }],
    )

    Was hier wirklich wichtig ist:

    1. confidence ist Pflicht. Modelle, die alles mit 1.0 markieren, sind kaputt – aber wenn ihr es nicht fordert, bekommt ihr keine.
    2. Stabile ids. Sonst landen „Anna Becker", „A. Becker" und „Frau Becker" als drei Knoten im Graph.
    3. Schema möglichst klein. Je mehr Felder ihr fordert, desto schlechter wird die Qualität. Lieber zwei Passes.

    Schritt 3: Deduplizierung

    Die Realität: Dasselbe Modell extrahiert aus zwei Chunks „Acme GmbH" und „Acme Group" – zwei Knoten, eine Firma. Drei pragmatische Strategien, in der Reihenfolge ihrer Kosten:

    • Exact match: normalisiert auf lowercase, Whitespace strippen, Trade-Suffixe (gmbh, inc, ltd) entfernen. Holt 60–70 %.
    • Embedding-basiert: Cosine Similarity über Entity-Embeddings + Threshold. Holt weitere 20–25 %.
    • LLM-Reconciliation: Kandidatenpaare an ein LLM geben („gleiche Entität? ja/nein"). Holt den Rest, ist aber teuer.

    Wir laufen die Pipeline meistens batchweise mit allen drei, in dieser Reihenfolge.

    Schritt 4: Entity Resolution

    Deduplizierung ist intra-Korpus. Resolution verknüpft mit der Realität: „Anna Becker" ist user_id=4471 im CRM, „Acme GmbH" hat customer_id=cust_8821.

    Das geht selten automatisch. Bewährt hat sich:

    • Ein Resolution-Layer mit klaren Schlüsseln (E-Mail-Domain → Firma, vollständiger Name + Firma → Person).
    • Human-in-the-Loop für die ersten 5–10 % unsicherer Matches. Danach lernt die Heuristik mit.
    • Fallback-Knoten für unaufgelöste Entitäten, statt sie wegzuwerfen – sie können später noch aufgelöst werden.

    Tool-Vergleich

    ToolStärkeSchwäche
    LlamaIndex KG IndexEnd-to-End, Neo4j-Integration, schnell zum Prototypwenig Kontrolle über Schema
    Instructor + OpenAI/Anthropicvolle Kontrolle, Pydantic-typsicherPipeline selbst bauen
    LangChain GraphIndexviel Glue, viele Integrationenviel Abstraktion, hohe Lernkurve
    Microsoft GraphRAGCommunity Detection eingebaut, batch-orientiertPython-only, opinionated
    Unstructured + Custom Pipelinebestes PDF/HTML-ParsingBauteile selbst zusammenstellen

    Unser Default für Prototypen: LlamaIndex KG Index. Für Production: Instructor + eigene Pipeline + Neo4j.

    Die häufigsten Fail-Modes

    1. Halluzinierte Entitäten: Das Modell erfindet Personen oder Firmen, die im Chunk nicht stehen. → Strikte Prompts („nur, was wörtlich erwähnt wird"), confidence-Filter unter 0.7 verwerfen.
    2. Zu viele Beziehungen pro Chunk: Das Modell will alles verbinden. → max_triplets_per_chunk setzen (10–15 ist gut).
    3. Inkonsistente Relation-Labels: „arbeitet bei", „angestellt von", „Mitarbeiter:in von" → drei Kanten. → Vorab definierte Relation-Vokabulare oder LLM-basiertes Label-Mapping als Post-Processing.
    4. Schema-Drift über Zeit: Neue Dokumenttypen → neue Felder. → Versionierte Schemata, regelmäßige Audits eines Sample.

    Kosten-Realität

    Für ein typisches Enterprise-Setup (10.000 Dokumente, ~5 Mio. Tokens):

    • Extraction mit GPT-4.1 / Claude Sonnet 4.5: 80–200 USD einmalig
    • Embedding-basierte Deduplizierung: 5–15 USD
    • LLM-Reconciliation: 20–60 USD
    • Inkrementelle Updates: ~1–3 USD pro 100 neuen Dokumenten

    Das ist weniger als ein Tag Engineering. Der teure Teil ist das Aufsetzen der Pipeline und die Datenmodellierung — nicht die Tokens.

    Fazit

    Entity Extraction ist 2026 kein ML-Problem mehr, sondern ein Engineering-Problem. Die schwierige Arbeit liegt nicht im Prompt, sondern in den drei Schritten danach: Deduplizierung, Resolution, Schema-Disziplin.

    Wer das einmal sauber gebaut hat, kann jeden neuen Dokumentenkorpus in Stunden statt Wochen graph-fähig machen. Das ist der Grund, warum Knowledge Graphs gerade wieder Mainstream werden.


    Verwandte Artikel:

    TeilenLinkedInWhatsAppE-Mail

    Verwandte Artikel

    Vector-Embedding-Wolke versus strukturierter Knowledge Graph nebeneinander
    29. Mai 20264 min

    GraphRAG vs. Vector RAG – wann reicht Ähnlichkeit nicht mehr?

    Vector RAG ist Standard – aber sobald Fragen mehrstufig werden, bricht es zusammen. GraphRAG kombiniert Knowledge Graphs

    Weiterlesen
    Abstrakte Visualisierung eines Knowledge Graphs mit Knoten und Verbindungen
    27. Mai 20264 min

    Was ist ein Knowledge Graph – und warum reden gerade alle darüber?

    Knowledge Graphs sind plötzlich überall – von Google über Palantir bis hin zu jedem zweiten AI-Agenten-Startup. Was stec

    Weiterlesen
    Minimalistische Illustration eines Entwicklers mit Ponytail und ovaler Brille, der skeptisch Code auf einem Bildschirm betrachtet
    14. Juni 20265 min

    Ponytail: Warum der beste Code der Code ist, den du nie geschrieben hast

    Ein Dev hat Ponytail gebaut – weil seine AI-Agenten 500 Zeilen für ein 5-Zeilen-Problem schrieben. Das Ergebnis: 80-94%

    Weiterlesen
    Architektur-Diagramm: zentraler Orchestrator-Agent verbindet drei spezialisierte Sub-Agents (Sales, CRM, Ops) über TOOLS.md-Schnittstellen mit operativen Enterprise-Systemen
    30. April 20266 min

    Enterprise-Grade Agentic Setup: Warum ein API-Key keine KI-Strategie ist

    Ein API-Key in deiner Website ist Spielzeug. Ein agentisches Setup mit spezialisierten Sub-Agents, TOOLS.md, sauberen Sy

    Weiterlesen
    Vergleich dreier Agent-Runtime-Architekturen für Production Deployments
    9. April 20266 min

    Claude Managed Agents vs. LangGraph vs. CrewAI: Agent-Runtimes für Production im Vergleich

    Drei Wege, Production Agents zu deployen: Anthropics gehostete Runtime, LangGraphs Graph-Orchestrierung oder CrewAIs Rol

    Weiterlesen
    Claude Managed Agents Architektur – Gehirn verbunden mit mehreren Händen für Tools und Sandboxes
    8. April 20265 min

    Claude Managed Agents: Anthropics Griff nach der Agent-Runtime

    Anthropic launcht Managed Agents in der Public Beta – eine gehostete Runtime, die das 'Gehirn' von den 'Händen' entkoppe

    Weiterlesen
    Agent Skills werden Industrie-Standard: Was Teams jetzt wissen müssen
    19. September 20254 min

    Agent Skills werden Industrie-Standard: Was Teams jetzt wissen müssen

    Agent Skills sind wiederverwendbare Fähigkeiten für KI-Agenten – und werden zum neuen Standard. Was sie von MCP untersch

    Weiterlesen
    AutoClaw von Z.ai – AI Agent, der aus dem Chat heraus echte Arbeit ausführt
    25. Juni 20264 min

    AutoClaw: Z.ais Agent, der nicht chattet, sondern arbeitet

    AutoClaw ist der Agent-Layer von Z.ai – kein Chatbot, sondern ein AI Partner, der Aufgaben tatsächlich ausführt. Was Aut

    Weiterlesen
    Alte Bibliothek mit Fachbüchern, aus denen goldene Datenströme in einen leuchtenden Knowledge Graph fließen
    15. Juni 20264 min

    Fachverlage sitzen auf dem wertvollsten AI-Asset – und verschenken es

    LLMs können Allgemeinwissen. Im B2B zählt aber verifiziertes, kuratiertes Domänenwissen – und genau das pflegen Fachverl

    Weiterlesen