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. 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. 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. 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.

Afledte ord

2

Kilder

2