Chunking-Strategie
Ein langes Dokument lässt sich nicht sinnvoll am Stück durchsuchen. Stattdessen wird es in kürzere Abschnitte zerlegt, die jeweils einen abgeschlossenen Gedanken enthalten. Die Regel, nach der diese Zerlegung erfolgt, heißt Chunking-Strategie.
Wenn ein KI-System eine Frage beantworten soll, durchsucht es nicht das gesamte Ausgangsdokument. Es vergleicht die Frage mit vorab zerlegten Textabschnitten und wählt die relevantesten aus. Die Chunking-Strategie bestimmt, wo die Schnitte gesetzt werden, wie lang jeder Abschnitt ist und ob sich benachbarte Abschnitte überlappen. Sie ist damit ein zentrales Entwurfsmuster in RAG-Systemen (Retrieval Augmented Generation).
Die Wahl der Strategie beeinflusst unmittelbar, ob ein System die passende Textstelle findet oder daran vorbeigräbt. Zu große Abschnitte verwischen den Fokus, zu kleine reißen zusammengehörende Informationen auseinander. Zwischen diesen Polen bewegt sich jede Chunking-Entscheidung.
Vom Dokument zum einzelnen Abschnitt
Der Ausgangspunkt ist ein zusammenhängender Text: ein Handbuch, ein Vertragsdokument, ein Fachartikel. Bevor dieser Text in einem RAG-System nutzbar wird, durchläuft er zwei Schritte. Zuerst wird er in Chunks zerlegt. Dann erhält jeder Chunk eine numerische Repräsentation, ein sogenanntes Embedding. Dieses Embedding bildet den Inhalt des Chunks als Vektor ab und ermöglicht den Vergleich mit einer Suchanfrage.
Beispiel: Ein technisches Handbuch mit 200 Seiten wird in Abschnitte von je 500 Token zerlegt. Bei einer Frage nach der Konfiguration eines bestimmten Moduls liefert das System nicht das gesamte Handbuch, sondern genau den Abschnitt, der diese Konfiguration beschreibt.
Beispiel: Ein Versicherungsvertrag wird absatzweise zerlegt. Eine Frage nach der Kündigungsfrist führt direkt zum entsprechenden Paragraphen, ohne dass das System den gesamten Vertrag verarbeiten muss.
Die Chunking-Strategie legt drei Parameter fest: die Methode der Zerlegung (nach Zeichen, nach Sätzen, nach semantischer Zusammengehörigkeit), die Zielgröße eines Chunks und den Grad der Überlappung zwischen benachbarten Chunks.
Zerlegung nach fester Größe
Die einfachste Strategie teilt einen Text nach einer festen Anzahl von Zeichen oder Token. Der Text wird von Anfang bis Ende durchlaufen, und alle n Zeichen wird ein Schnitt gesetzt. Diese Methode ist schnell zu implementieren und reproduzierbar.
Beispiel: Ein Blogbeitrag mit 3.000 Token wird bei einer Chunk-Größe von 500 Token in sechs Abschnitte zerlegt. Der fünfte Abschnitt beginnt bei Token 2.001 und endet bei Token 2.500.
Beispiel: Eine FAQ-Seite mit kurzen Antworten wird mit fester Größe 200 Token zerlegt. Weil einzelne Antworten oft kürzer als 200 Token sind, landen Teile zweier verschiedener Antworten im selben Chunk. Die inhaltliche Grenze stimmt nicht mit der Schnittgrenze überein.
Die Grenze dieses Ansatzes zeigt sich bei Texten mit variabler Absatzlänge. Ein Schnitt mitten im Satz trennt zusammengehörende Informationen. Das Embedding des resultierenden Chunks repräsentiert dann einen unvollständigen Gedanken, und die Auffindbarkeit sinkt.
Fachliche Einordnung: In der Praxis dient die feste Zerlegung häufig als Baseline für Benchmarks. Systeme wie LangChain und LlamaIndex verwenden sie als Standardstrategie, weil sie deterministisch und unabhängig von der Dokumentstruktur arbeitet. Für heterogene Dokumentsammlungen ist sie jedoch selten optimal.
Überlappende Abschnitte und warum sie helfen
Wenn ein Schnitt einen Gedanken unterbricht, fehlt dem nachfolgenden Chunk der Kontext des vorangegangenen. Dieses Problem lässt sich abmildern, indem benachbarte Chunks einen gemeinsamen Textbereich teilen. Dieser gemeinsame Bereich heißt Overlap.
Beispiel: Bei einer Chunk-Größe von 500 Token und einem Overlap von 100 Token beginnt der zweite Chunk nicht bei Token 501, sondern bei Token 401. Die letzten 100 Token des ersten Chunks sind zugleich die ersten 100 Token des zweiten Chunks.
Beispiel: In einem juristischen Gutachten verweist ein Satz am Ende eines Abschnitts auf den Sachverhalt im selben Abschnitt. Ohne Overlap würde der nächste Chunk diesen Verweis enthalten, aber nicht den Sachverhalt. Mit Overlap von 50 Token bleibt der Sachverhalt im Kontext.
Der Overlap vergrößert die Gesamtzahl der Chunks und damit den Speicherbedarf. Bei einem Overlap von 20 Prozent der Chunk-Größe erhöht sich die Chunk-Anzahl um etwa 25 Prozent. Die Entscheidung über die Overlap-Größe ist ein Kompromiss zwischen Kontexterhalt und Ressourcenverbrauch.
Zerlegung entlang der Dokumentstruktur
Viele Dokumente besitzen eine inhärente Gliederung: Überschriften, Absätze, Aufzählungen, Kapitel. Eine strukturbasierte Chunking-Strategie nutzt diese vorhandenen Grenzen als Schnittpunkte, anstatt den Text blind nach Zeichenzahl zu zerteilen.
Beispiel: Ein Markdown-Dokument mit H2-Überschriften wird an jeder Überschrift getrennt. Jeder Chunk entspricht einem inhaltlich abgeschlossenen Abschnitt. Die Überschrift dient zusätzlich als Metadatum für den Chunk.
Beispiel: Ein HTML-Dokument wird anhand der DOM-Struktur zerlegt. Jeder <section>-Block wird als eigenständiger Chunk behandelt. Tabellen und Listen bleiben dadurch intakt, anstatt mitten in einer Zeile abgeschnitten zu werden.
Strukturbasierte Zerlegung setzt voraus, dass das Ausgangsdokument konsistent gegliedert ist. Bei unstrukturierten Texten ohne Absatzmarkierungen greift diese Methode nicht. Außerdem variiert die Chunk-Größe erheblich, weil Absätze unterschiedlich lang sind. Manche Absätze enthalten nur einen Satz, andere eine halbe Seite. Ein nachgelagerter Schritt kann zu kurze oder zu lange Chunks zusammenfügen beziehungsweise teilen.
Semantische Zerlegung
Statt an formalen Grenzen zu schneiden, misst eine semantische Strategie die inhaltliche Ähnlichkeit aufeinanderfolgender Sätze. Solange benachbarte Sätze thematisch zusammengehören, bleiben sie im selben Chunk. Sobald ein thematischer Bruch erkannt wird, setzt das System einen Schnitt.
Der Mechanismus funktioniert in der Regel so: Jeder Satz erhält ein Embedding. Die Cosine Similarity zwischen aufeinanderfolgenden Satz-Embeddings wird berechnet. Fällt die Ähnlichkeit unter einen Schwellenwert, gilt der Übergang als thematischer Bruch.
Beispiel: Ein Nachrichtenartikel behandelt zuerst die politischen Hintergründe eines Ereignisses und wechselt dann zu den wirtschaftlichen Auswirkungen. Die semantische Zerlegung erkennt den Themenwechsel und setzt dort den Schnitt, auch wenn kein Absatzumbruch im Text steht.
Semantische Zerlegung ist rechenintensiver als feste oder strukturbasierte Methoden, weil sie ein Embedding-Modell für jeden einzelnen Satz aufruft. Bei einem Dokument mit 1.000 Sätzen sind das 1.000 Embedding-Berechnungen allein für die Segmentierung. Dafür liefert sie Chunks, deren Grenzen mit thematischen Grenzen übereinstimmen.
Größe, Token-Limit und Embedding-Modell
Die Chunk-Größe muss zum Kontextfenster des verwendeten Embedding-Modells passen. Wenn das Modell maximal 512 Token verarbeitet, darf kein Chunk länger als 512 Token sein. Überschreitet ein Chunk dieses Limit, wird er vom Modell abgeschnitten, und die Information am Ende geht verloren.
Beispiel: Ein Embedding-Modell akzeptiert maximal 8.192 Token. Ein Chunk von 400 Token nutzt das Kontextfenster nicht aus, erfasst aber möglicherweise nur einen Teilaspekt. Ein Chunk von 2.000 Token enthält mehr Kontext, verliert aber an Präzision bei der Vektorsuche, weil das Embedding einen breiteren Inhalt repräsentiert.
Empirische Tests zeigen, dass die optimale Chunk-Größe vom Anwendungsfall abhängt. Für Frage-Antwort-Systeme mit kurzen Fragen liefern Chunks zwischen 200 und 500 Token oft die besten Ergebnisse. Für Zusammenfassungen oder Analysefragen eignen sich größere Chunks von 1.000 bis 2.000 Token, weil die Antwort mehr Kontext erfordert.
Die Tokenisierung des Embedding-Modells bestimmt, wie Zeichen in Token umgerechnet werden. Ein deutschsprachiger Text erzeugt im Schnitt mehr Token pro Wort als ein englischsprachiger, weil zusammengesetzte Wörter in mehrere Token zerlegt werden. Die Angabe einer Chunk-Größe in Token ist daher präziser als in Zeichen oder Wörtern.
Strategien im Vergleich
Jede Strategie hat ein spezifisches Einsatzgebiet, in dem sie ihre Stärken ausspielt. In der Praxis kombinieren viele Systeme mehrere Ansätze: zuerst eine strukturbasierte Grobzerlegung, dann eine Größenprüfung und gegebenenfalls eine semantische Feinjustierung.
Feste Zerlegung eignet sich für homogene Texte ohne klare Gliederung, etwa Transkripte oder Chatverläufe. Strukturbasierte Zerlegung passt zu formatierten Dokumenten mit konsistenter Gliederung, etwa technische Dokumentation oder Gesetzestexte. Semantische Zerlegung ist die Methode der Wahl bei Texten mit impliziten Themenwechseln, etwa redaktionellen Artikeln oder Forschungsberichten.
Beispiel: Ein Callcenter-Transkript ohne Absatzmarkierungen wird mit fester Größe (300 Token, 50 Token Overlap) zerlegt. Eine technische API-Dokumentation mit klaren Sektionen wird strukturbasiert an den Überschriften zerlegt. Ein interner Newsletter mit wechselnden Themen wird semantisch segmentiert.
Fachliche Einordnung: Die Wahl der Chunking-Strategie ist kein einmaliger Schritt, sondern Bestandteil einer iterativen Evaluation. Professionelle RAG-Systeme messen die Retrieval-Qualität (etwa Precision und Recall) für verschiedene Chunk-Konfigurationen und wählen datengetrieben. Pauschalempfehlungen wie "immer 500 Token" ignorieren die Varianz zwischen Dokumenttypen und Suchanfragen.
Chunking in der Praxis
Die Implementierung einer Chunking-Strategie umfasst mehrere Entscheidungen jenseits der reinen Zerlegungslogik. Dazu gehören die Vorverarbeitung des Textes (Entfernung von Kopf- und Fußzeilen, Formatierungsartefakten), die Anreicherung der Chunks mit Metadaten (Quelldokument, Kapitel, Seitenzahl) und die Behandlung von Sonderfällen (Tabellen, Abbildungen, Code-Blöcke).
Beispiel: Ein PDF-Dokument enthält auf jeder Seite eine Kopfzeile mit dem Firmennamen und eine Fußzeile mit der Seitenzahl. Ohne Vorverarbeitung tauchen diese Elemente in jedem Chunk auf und verfälschen die Embedding-Repräsentation. Ein Preprocessing-Schritt entfernt sie vor der Zerlegung.
Beispiel: Ein Chunk wird mit dem Metadatum "Kapitel 3.2: Sicherheitsanforderungen" angereichert. Bei der späteren Suche kann das System die Kapitelzugehörigkeit als zusätzliches Filterkriterium verwenden, etwa um nur Chunks aus dem Sicherheitskapitel zu berücksichtigen.
Tabellen stellen eine besondere Herausforderung dar. Eine Tabelle mit 50 Zeilen und 5 Spalten enthält strukturierte Daten, die sich nicht sinnvoll zeilenweise aufteilen lassen. Viele Systeme behandeln Tabellen als eigenständige Chunks, unabhängig von der Größenbeschränkung, oder wandeln sie vor der Zerlegung in Fließtext um.
Grenzen und typische Fehlerquellen
Keine Chunking-Strategie garantiert, dass das RAG-System die relevanteste Passage findet. Die Zerlegung ist ein notwendiger, aber nicht hinreichender Bestandteil der Retrieval-Qualität. Weitere Faktoren sind das Embedding-Modell, die Suchstrategie (etwa k-Nearest-Neighbors oder Hybrid-Suche) und die Formulierung der Anfrage (Prompt).
Ein häufiger Fehler ist die Wahl einer zu kleinen Chunk-Größe. Wenn ein Chunk nur einen einzigen Satz enthält, fehlt dem Embedding der umgebende Kontext. Das Ergebnis: Das System findet den Satz, aber das generierende Modell erhält zu wenig Material für eine fundierte Antwort.
Ein weiterer Fehler ist die Vernachlässigung der Dokumentheterogenität. Eine einzige Strategie für alle Dokumenttypen produziert bei manchen gute und bei anderen schlechte Chunks. FAQs, Verträge und Forschungsberichte erfordern unterschiedliche Zerlegungslogiken.
Beispiel: Ein System verwendet pauschal 500-Token-Chunks für eine Wissensbasis aus technischen Handbüchern und juristischen Verträgen. Die Handbücher liefern brauchbare Chunks, weil ihre Absätze im Schnitt 400 bis 600 Token lang sind. Die Verträge liefern fragmentierte Chunks, weil einzelne Paragraphen 2.000 Token umfassen und mitten im Satz getrennt werden.
Fachliche Einordnung: Die Forschung zu Chunking-Strategien entwickelt sich im Kontext längerer Kontextfenster weiter. Modelle mit 128.000 oder mehr Token Kontextlänge reduzieren den Druck, möglichst kurze Chunks zu bilden. Gleichzeitig zeigen Studien, dass die Retrieval-Qualität bei sehr langen Kontexten abnimmt ("Lost in the Middle"-Effekt). Die Chunking-Strategie bleibt daher auch bei größeren Kontextfenstern relevant.