Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Semantic Chunking

La segmentación semántica en fragmentos divide documentos cuando cambia el tema, algo que se mide mediante la similitud entre incrustaciones de oraciones contiguas, para que cada fragmento contenga una sola idea.

La segmentación semántica en fragmentos divide los documentos para la generación aumentada por recuperación (RAG) y la búsqueda en los puntos donde cambia el tema, que se detectan comparando las representaciones vectoriales de oraciones contiguas, en vez de hacerlo cada número fijo de caracteres o tokens. Así, cada fragmento abarca una idea y su único vector en la base de datos vectorial la representa bien; además, el fragmento recuperado proporciona al modelo de lenguaje grande (LLM) una idea completa, en lugar del final de una sección y el principio de la siguiente.

Cómo funciona la segmentación semántica en fragmentos#

El algoritmo habitual, popularizado por los tutoriales de Greg Kamradt sobre división de texto e implementado como SemanticChunker en LangChain, consta de cuatro pasos. El texto se divide en oraciones y se obtiene la representación vectorial de cada una, a menudo agrupándolas con las oraciones vecinas para suavizar el ruido. La similitud del coseno entre cada par de oraciones consecutivas se convierte en una distancia. Un umbral marca los puntos de corte donde la distancia es inusualmente grande: LangChain usa de forma predeterminada el percentil 95 de todas las distancias del documento y también ofrece umbrales basados en la desviación estándar, el rango intercuartílico y el gradiente. Las oraciones entre puntos de corte forman un fragmento. El divisor semántico de LlamaIndex utiliza el mismo punto de corte basado en percentiles.

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.",
]

# Distancia del coseno entre cada oración y la siguiente
embeddings = model.encode(sentences, normalize_embeddings=True)
distances = 1 - np.sum(embeddings[:-1] * embeddings[1:], axis=1)

# Empieza un fragmento nuevo cuando la distancia supera el percentil 95
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")

Las distancias entre oraciones contiguas son 0,56, 0,64, 0,98 y 0,62. Por tanto, el único punto de corte está en el salto de 0,98 entre el rodamiento de la bomba y la cafetería, y el resultado es un fragmento de tres oraciones sobre la bomba XR-12 y otro de dos oraciones sobre la cafetería.

Comparación de estrategias de segmentación#

  • Segmentación de tamaño fijo: Divide cada N tokens, normalmente con cierto solapamiento entre fragmentos vecinos. Es rápida y predecible, pero ignora los límites entre temas.
  • División recursiva: Divide por saltos de párrafo, después por saltos de línea y luego por oraciones, hasta que cada pieza se ajusta al límite de tamaño. LangChain recomienda su divisor recursivo de caracteres para texto genérico.
  • División basada en la estructura: Sigue los encabezados, las secciones Markdown, los elementos HTML o la maquetación de las páginas de un PDF.
  • Segmentación semántica en fragmentos: Sigue los cambios de significado, a costa de obtener la representación vectorial de cada oración durante la indexación y de que el tamaño de los fragmentos varíe mucho; por eso, las implementaciones añaden longitudes mínima y máxima.
  • Segmentación tardía en fragmentos y recuperación contextual: Abordan los casos en que un fragmento carece de contexto del resto del documento, como un pronombre cuyo referente aparece en un fragmento anterior, y se combinan con cualquiera de los métodos de delimitación anteriores.

La segmentación de acciones en fragmentos en robótica solo comparte el nombre: en este caso, una política predice una secuencia de órdenes motoras futuras como una unidad.

Segmentación semántica en fragmentos más allá del texto#

Las transcripciones de los sistemas de voz a texto no tienen saltos de párrafo, así que los puntos de corte basados en representaciones vectoriales son una forma habitual de detectar cuándo cambia el tema de una reunión o un pódcast. También se puede segmentar el vídeo por contenido, de modo que cada clip muestre un evento para la comprensión de vídeo o la RAG multimodal, en vez de un segmento arbitrario de 10 segundos. Ultralytics YOLO26 proporciona estos límites para escenas con personas y vehículos: el modo de seguimiento asigna a cada objeto detectado un ID persistente entre fotogramas, de modo que una canalización puede abrir un clip cuando aparece un ID nuevo en la escena y cerrarlo cuando todos los ID seguidos hayan salido.

¿Mejora la recuperación la segmentación semántica en fragmentos?#

Los límites basados en temas son más importantes cuando hay asuntos no relacionados uno junto a otro sin encabezados, como en transcripciones, páginas web extraídas y notas concatenadas. Los fragmentos semánticos también dependen del modelo de representación vectorial y del umbral, así que el mismo documento se segmenta de forma distinta si cambia cualquiera de los dos; por eso, ambos deben ajustarse según la exhaustividad obtenida con consultas reales. El estudio ¿Merece la pena el coste computacional de la segmentación semántica? (2024) comparó la segmentación semántica y la de tamaño fijo en la recuperación de documentos, la recuperación de pruebas y la generación de respuestas basada en recuperación, y concluyó que el cálculo adicional de la segmentación semántica no ofrecía mejoras sistemáticas frente a los fragmentos de tamaño fijo.

Explore solutions

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte las imágenes de drones y las imágenes aéreas en información práctica en tiempo real para la agricultura, la acuicultura, la vigilancia medioambiental, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Lleva la IA de visión a la supervisión aérea con los modelos Ultralytics YOLO. Impulsa drones, flujos de trabajo aeroespaciales, conservación medioambiental y sectores geoespaciales con soluciones de visión artificial.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático