Chunking (découpage)
Dernière mise à jour:
Qu'est-ce que le chunking
Les moteurs de recherche et les modèles de langage fonctionnent mieux avec des passages ciblés qu'avec des documents entiers. Un manuel de 40 pages traite des dizaines de sujets : un seul embedding pour tout le manuel serait une moyenne floue de tous ces sujets. Le chunking découpe le manuel en passages consacrés chacun à un sujet, pour que chacun puisse être retrouvé isolément.
Chaque chunk est enregistré avec une référence à sa source, si bien que le système sait de quelle page ou de quel fichier provient une réponse.
Comment ça fonctionne
Il existe plusieurs stratégies courantes, souvent combinées :
- Taille fixe : le texte est coupé tous les N caractères ou tokens. C'est simple, mais cela peut couper des phrases et des idées en deux.
- Découpage selon la structure : on coupe au niveau des paragraphes, des titres ou des phrases, pour garder ensemble les unités naturelles.
- Chevauchement : un peu de texte de la fin d'un chunk est répété au début du suivant, afin de ne pas perdre le contexte à la frontière.
- Chunking sémantique : un nouveau chunk commence là où le sujet change, détecté grâce aux embeddings.
Choisir la taille des chunks
La taille des chunks est un compromis. De petits chunks sont précis mais peuvent perdre du contexte, par exemple une phrase comme « cela s'applique à toutes les commandes » sans la phrase qui explique ce que désigne « cela ». De grands chunks gardent le contexte mais diluent l'embedding, ils correspondent donc à moins de questions précises, et ils occupent davantage la fenêtre de contexte du modèle.
Exemple : la page FAQ d'un hôtel traite des horaires d'arrivée, du stationnement, des animaux et du petit-déjeuner. Sans chunking, une question sur les animaux ferait remonter toute la page et la réponse pourrait mélanger des détails sans rapport. Avec un découpage par paragraphes, la section sur les animaux devient un chunk à part entière et fournit au modèle une source nette et ciblée.
Pourquoi c'est important pour les chatbots d'entreprise
Le chunking passe facilement inaperçu, pourtant il influence chaque réponse. De mauvais chunks provoquent deux erreurs fréquentes : la bonne information n'est pas retrouvée parce qu'elle est noyée dans un passage sans rapport, ou elle est retrouvée sans la phrase qui en précise les conditions. Un contenu bien structuré aide. Des sections courtes avec des titres explicites se découpent bien, alors que de longs blocs de texte ou des tableaux aplatis en texte brut se découpent mal.
Comment intoCHAT s'en charge
intoCHAT découpe automatiquement vos contenus en chunks lorsque vous entraînez une source. Le texte est coupé selon les paragraphes et les phrases, avec un léger chevauchement entre chunks voisins, pour que les idées situées à cheval sur une frontière restent intactes. Chaque chunk reçoit ensuite un embedding et est interrogé par recherche hybride. Vous ne choisissez pas de taille de chunk : le plus utile est de bien structurer vos contenus sources.