chunking-strategi
En metode til at opdele en tekst i mindre, semantisk eller strukturelt afgrænsede enheder (chunks) for at forbedre informationsgenfinding og behandling i RAG-systemer og sprogmodeller.
Kort fortalt
En teknik, der deler lange tekster op i mindre bidder, så en AI kan finde og bruge de relevante dele mere præcist.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
3- 1
Fast længde-chunking: Teksten opdeles i chunks af en forudbestemt længde (f.eks. 512 tokens), ofte med overlap for at undgå tab af kontekst ved grænserne.
- En simpel chunking-strategi med fast længde på 256 tokens med 32 tokens overlap blev anvendt til at indeksere dokumenterne. — Eksempel fra praksis
- 2
Semantisk chunking: Teksten opdeles baseret på naturlige grænser som afsnit, sætninger eller emneskift, ofte ved hjælp af embeddings og lighedsmålinger.
- Semantisk chunking med en embeddings-model kan sikre, at hvert chunk indeholder en sammenhængende idé. — Forskningsartikel, 2023
- 3
Rekursiv chunking: Teksten opdeles i en hierarkisk struktur, hvor grove opdelinger (f.eks. kapitler) efterfølgende underopdeles i finere chunks (f.eks. afsnit).
- Rekursiv chunking bruges ofte i dokumentanalyse for at bevare den overordnede struktur samtidig med detaljeret genfinding. — Teknisk dokumentation
Hvornår bruges det
Chunking-strategier anvendes primært i RAG-pipelines (Retrieval-Augmented Generation) til at forberede dokumenter til indeksering og vektorisering. Valget af strategi påvirker både genfindingspræcision og kontekstkvalitet. Typiske strategier omfatter fast længde, overskrift-baseret, semantisk opsplitning og rekursiv karaktertegnsopsplitning.
Kodeeksempel
from langchain.text_splitter import RecursiveCharacterTextSplitter
text_splitter = RecursiveCharacterTextSplitter(
chunk_size=512,
chunk_overlap=50,
separators=["\n\n", "\n", ".", "!"],
)
chunks = text_splitter.split_text(document)Eksempel på rekursiv chunking med LangChains RecursiveCharacterTextSplitter, der opdeler tekst ved dobbelte linjeskift, enkelte linjeskift, punktummer osv.
Oprindelse
Fra engelsk 'chunking' (at dele i bidder) og 'strategi'. Begrebet stammer fra kognitionspsykologi, men er overtaget i AI for effektiv tekstbehandling.