Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Semantic Chunking

Le découpage sémantique divise les documents aux changements de sujet, mesurés par la similarité des plongements entre phrases voisines, afin que chaque segment contienne une seule idée.

Le découpage sémantique divise les documents en segments destinés à la génération augmentée par récupération (RAG) et à la recherche, aux endroits où le sujet change. Ces points sont détectés en comparant les incorporations vectorielles de phrases voisines, plutôt qu’en découpant tous les nombres fixes de caractères ou de jetons. Chaque segment porte ainsi sur une seule idée, que son vecteur unique dans la base de données vectorielle représente bien ; un segment récupéré fournit au grand modèle de langage (LLM) une pensée complète, plutôt que la fin d’une section et le début de la suivante.

Fonctionnement du découpage sémantique#

L’algorithme courant, popularisé par les tutoriels de Greg Kamradt sur le découpage de texte et implémenté sous le nom de SemanticChunker dans LangChain, comporte quatre étapes. Le texte est divisé en phrases, puis chaque phrase est convertie en vecteur, souvent en regroupant ses voisines afin de réduire le bruit. La similarité cosinus entre chaque paire de phrases consécutives est convertie en distance. Un seuil marque les points de coupure où la distance est inhabituellement élevée : LangChain utilise par défaut le 95e centile de toutes les distances du document et propose aussi des seuils fondés sur l’écart-type, l’écart interquartile et le gradient. Les phrases situées entre les points de coupure forment un segment. Le séparateur sémantique de LlamaIndex utilise le même seuil de coupure par centile.

import numpy as np
from sentence_transformers import SentenceTransformer

model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")
sentences = [
    "The XR-12 coolant pump circulates water through the press line.",
    "Inspect the XR-12 pump seals for leaks every week.",
    "A worn pump bearing grinds loudly before it fails.",
    "The staff cafeteria now opens for breakfast at 7:00.",
    "The cafeteria menu adds vegetarian lunches in May.",
]

# Distance cosinus entre chaque phrase et la suivante
embeddings = model.encode(sentences, normalize_embeddings=True)
distances = 1 - np.sum(embeddings[:-1] * embeddings[1:], axis=1)

# Commence un nouveau segment lorsque la distance dépasse le 95e centile
threshold = np.percentile(distances, 95)
chunks = [[sentences[0]]]
for sentence, distance in zip(sentences[1:], distances):
    if distance > threshold:
        chunks.append([])
    chunks[-1].append(sentence)
print(np.round(distances, 2))
print(*[" ".join(chunk) for chunk in chunks], sep="\n")

Les distances entre phrases voisines sont de 0,56, 0,64, 0,98 et 0,62 ; le seul point de coupure se situe donc au saut de 0,98 entre le roulement de la pompe et la cafétéria. Le résultat comprend un segment de trois phrases sur la pompe XR-12 et un segment de deux phrases sur la cafétéria.

Comparaison des stratégies de découpage#

  • Découpage en blocs de taille fixe : Divise le texte tous les N jetons, généralement avec un certain chevauchement entre les blocs voisins. Cette méthode est rapide et prévisible, mais ignore les limites thématiques.
  • Découpage récursif : Divise le texte aux sauts de paragraphe, puis de ligne, puis de phrase, jusqu’à ce que chaque morceau respecte une limite de taille. LangChain recommande son séparateur récursif de caractères pour les textes génériques.
  • Découpage tenant compte de la structure : Suit les titres, les sections Markdown, les éléments HTML ou la mise en page d’un PDF.
  • Découpage sémantique : Suit les changements de sens, au prix du calcul de l’incorporation de chaque phrase lors de l’indexation et de tailles de segments très variables ; c’est pourquoi les implémentations imposent des longueurs minimales et maximales.
  • Découpage tardif et récupération contextuelle : Ces méthodes remédient au manque de contexte d’un segment par rapport au reste de son document — par exemple, lorsqu’un pronom renvoie à un élément d’un segment antérieur — et se combinent avec toutes les méthodes de délimitation ci-dessus.

Le découpage en actions en robotique n’a que son nom en commun : une politique y prédit une séquence de commandes motrices futures comme une seule unité.

Le découpage sémantique au-delà du texte#

Les transcriptions issues des systèmes de reconnaissance vocale n’ont pas de sauts de paragraphe ; les points de coupure fondés sur les incorporations vectorielles sont donc courants pour détecter le changement de sujet d’une réunion ou d’un podcast. Les vidéos peuvent elles aussi être découpées selon leur contenu, de façon à ce que chaque clip montre un événement pour la compréhension vidéo ou la RAG multimodale, plutôt qu’un extrait arbitraire de 10 secondes. Ultralytics YOLO26 fournit de telles limites pour les scènes comportant des personnes et des véhicules : le mode suivi attribue à chaque objet détecté un ID persistant d’une image à l’autre ; un pipeline peut donc ouvrir un clip lorsqu’un nouvel ID entre dans la scène et le fermer lorsque tous les ID suivis en sont sortis.

Le découpage sémantique améliore-t-il la récupération ?#

Les limites thématiques sont surtout utiles lorsque des sujets sans lien se côtoient sans titres, comme dans les transcriptions, les pages Web récupérées et les notes concaténées. Les segments sémantiques dépendent aussi du modèle d’incorporation et du seuil ; un même document est donc découpé différemment si l’un ou l’autre change, et les deux doivent être réglés en fonction du rappel obtenu sur des requêtes réelles. L’étude Le découpage sémantique vaut-il son coût de calcul ? (2024) a comparé le découpage sémantique et le découpage en blocs de taille fixe pour la récupération de documents, la récupération de preuves et la génération de réponses fondée sur la récupération. Elle a constaté que le surcroît de calcul du découpage sémantique n’apportait pas de gains constants par rapport aux blocs de taille fixe.

Explore solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les prises de vue aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la surveillance environnementale, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Déploie l’IA visuelle pour la surveillance aérienne avec les modèles Ultralytics YOLO. Donne de la puissance aux drones, aux workflows aéronautiques, à la conservation de l’environnement et aux secteurs géospatiaux grâce à des solutions de vision par ordinateur.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique