Chunking (fragmentación)
Última actualización:
Qué es el chunking
Los sistemas de búsqueda y los modelos de lenguaje funcionan mejor con fragmentos concretos que con documentos enteros. Un manual de 40 páginas trata decenas de temas, así que un único embedding de todo el manual sería una media borrosa de todos ellos. El chunking divide el manual en fragmentos dedicados a un solo tema, para que cada uno pueda encontrarse por separado.
Cada chunk se guarda con una referencia a su fuente, de modo que el sistema sabe de qué página o archivo procede una respuesta.
Cómo funciona
Hay varias estrategias habituales, y muchos sistemas las combinan:
- Tamaño fijo: el texto se corta cada N caracteres o tokens. Es sencillo, pero puede partir frases e ideas por la mitad.
- Según la estructura: se corta por párrafos, títulos u oraciones, para que las unidades naturales sigan juntas.
- Solapamiento: un poco de texto del final de un chunk se repite al principio del siguiente, para no perder el contexto en el límite.
- Chunking semántico: empieza un chunk nuevo donde cambia el tema, detectado con embeddings.
Elegir el tamaño de los chunks
El tamaño de los chunks es un equilibrio. Los chunks pequeños son precisos, pero pueden perder contexto, como una frase del tipo «esto se aplica a todos los pedidos» sin la frase que explica qué es «esto». Los chunks grandes conservan el contexto, pero diluyen el embedding, así que encajan con menos preguntas concretas, y ocupan más espacio de la ventana de contexto del modelo.
Ejemplo: la página de preguntas frecuentes de un hotel trata los horarios de entrada, el aparcamiento, las mascotas y el desayuno. Sin chunking, una pregunta sobre mascotas recuperaría la página entera y la respuesta podría mezclar detalles ajenos. Con un chunking por párrafos, la sección de mascotas se convierte en un chunk propio y ofrece al modelo una fuente limpia y concreta.
Por qué importa en los chatbots para empresas
El chunking es fácil de pasar por alto, pero afecta a cada respuesta. Los chunks mal hechos causan dos fallos habituales: la información correcta no se recupera porque está enterrada en un fragmento que trata de otra cosa, o se recupera sin la frase que indica sus condiciones. Un contenido bien estructurado ayuda. Las secciones cortas con títulos descriptivos se dividen bien, mientras que los bloques largos de texto o las tablas convertidas en texto plano son más difíciles de dividir con limpieza.
Cómo lo gestiona intoCHAT
intoCHAT divide tu contenido en chunks automáticamente cuando entrenas una fuente. El texto se corta por párrafos y oraciones, con un pequeño solapamiento entre chunks vecinos, para que las ideas que cruzan un límite no se rompan. Después, cada chunk recibe un embedding y se consulta con búsqueda híbrida. No eliges un tamaño de chunk: lo más útil que puedes hacer es mantener bien estructurado tu contenido de origen.