Waarom knip je teksten in stukken?
Een embeddingmodel verwerkt maar een beperkte hoeveelheid tekst tegelijk. Bij text-embedding-3-small van OpenAI is dat volgens Microsoft maximaal 8.191 tokens, ongeveer 6.000 woorden. Is een tekst langer, dan kan het deel boven die grens wegvallen. Chunking voorkomt dat.
Microsoft noemt nog een reden. Een pagina over veel deelonderwerpen past slecht in één vector. Knip je zo’n pagina fijner op, dan geeft het zoeken vaak betere resultaten.
Het knippen gebeurt bij het opbouwen van de index. Daarna maakt het systeem van elk stuk een embedding en slaat die op in een vectordatabase. Bij RAG krijgt het taalmodel daarna alleen de passende stukken te zien, niet het hele document.
Hoe knip je een tekst op?
| Methode | Hoe het werkt |
|---|---|
| Vaste lengte | Elk stuk krijgt evenveel tokens of woorden, meestal met wat overlap. |
| Op structuur | Knippen bij zinnen, regels of kopjes. In HTML of Markdown kun je per sectie knippen. |
| Op betekenis | Stukken die een samenhangende gedachte bevatten, ook over paginagrenzen heen. |
Overlap betekent dat opeenvolgende stukken een deel tekst delen. Zo raakt een zin op de grens niet uit zijn verband. OpenAI knipt in file search standaard in stukken van 800 tokens, met 400 tokens overlap. Microsoft adviseert te beginnen met 512 tokens en 25 procent overlap. Welke instelling goed werkt, hangt af van het type content.
Een los stuk mist soms de context die erboven stond. Anthropic geeft een voorbeeld uit financiële verslagen. Een stuk bevat daar de zin ‘The company’s revenue grew by 3% over the previous quarter’. Welk bedrijf en welk kwartaal er bedoeld zijn, staat niet in dat stuk. Anthropic zet daarom vóór elk stuk een korte uitleg die het stuk in zijn context plaatst. Volgens eigen tests van Anthropic kan die methode het aantal mislukte zoekacties met 49 procent verlagen.
Voorbeeld: de handleidingen van een fietsenmaker
Fietsenmaker Spaakwerk uit Deventer zet driehonderd onderhoudshandleidingen achter een chatbot. Het systeem knipt elke handleiding in stukken van een paar honderd woorden. Een klant vraagt hoe vast de stuurpen van de Spaakwerk Tour 3 moet zitten. De chatbot vindt een stuk met ‘Draai de bouten aan tot 5 Nm’, maar zonder model erbij.
Dat stuk kan net zo goed uit de handleiding van een ander model komen. Spaakwerk zet daarom de titel van de handleiding vóór elk stuk. Microsoft noemt dezelfde aanpak: de documenttitel toevoegen aan stukken uit het midden van een document. Zo vindt de chatbot vaker het juiste stuk.
Verwar chunking niet met
- Content opknippen voor Google: Google schrijft dat je content niet in kleine stukjes hoeft te knippen om AI het beter te laten begrijpen. De systemen van Google begrijpen meerdere onderwerpen op één pagina en tonen zelf het relevante deel. Chunking gaat dus over je eigen zoek- of RAG-systeem, niet over hoe je pagina’s schrijft. Zie ook GEO.
- Chunking in UX en copywriting: tekst opdelen in kleine, overzichtelijke blokken, zodat lezers die beter verwerken en onthouden. Volgens Nielsen Norman Group komt het begrip uit de cognitieve psychologie.
Veelgestelde vragen over Chunking
Hoe groot moet een chunk zijn?
Daar is geen vaste maat voor. OpenAI knipt standaard in stukken van 800 tokens met 400 tokens overlap. Microsoft adviseert te beginnen met 512 tokens en 25 procent overlap. Test daarna wat werkt voor jouw content.
Moet ik mijn webpagina’s in stukjes knippen voor AI?
Voor Google Search niet. Google schrijft dat dit niet nodig is. De systemen begrijpen meerdere onderwerpen op één pagina. Schrijf pagina’s voor je lezers, niet alleen voor AI.
Wat is een token?
Een token is een stukje tekst waarmee een taalmodel rekent, vaak een deel van een woord. Bij gangbare OpenAI-modellen is een token volgens Microsoft ongeveer vier tekens.