Natural Language Text Splitter
El Natural Language Text Splitter es una herramienta sencilla que toma un bloque de texto y lo divide en partes más pequeñas, respetando los límites naturales del lenguaje (párrafos, oraciones, etc.). Esto facilita que otras partes del sistema, como modelos de IA o procesos de análisis, trabajen con fragmentos manejables y coherentes.
¿Cómo funciona?
Internamente el componente utiliza la clase NLTKTextSplitter
de la librería langchain_text_splitters
.
- Idioma: Se especifica el idioma del texto (por defecto “English”). El splitter usa reglas lingüísticas específicas para ese idioma.
- Separador: Se define el carácter o secuencia de caracteres que indica dónde se pueden dividir los fragmentos. Si no se indica, se usa el salto de línea doble (
\n\n
). - Tamaño del fragmento: Se indica el número máximo de caracteres que puede contener cada fragmento.
- Superposición: Se indica cuántos caracteres deben repetirse entre fragmentos consecutivos, lo que ayuda a mantener contexto entre partes.
- Procesamiento local: Todo el trabajo se realiza en el servidor donde se ejecuta Nappai; no se envían datos a servicios externos.
Entradas
-
Input
El texto completo que deseas dividir. Puede ser un documento o cualquier bloque de datos de texto. -
Chunk Overlap
El número de caracteres que se repetirán entre fragmentos consecutivos. Ayuda a mantener contexto entre partes. -
Chunk Size
El número máximo de caracteres que tendrá cada fragmento después de la división. -
Language
El idioma del texto. El valor por defecto es “English”. Se admite varios idiomas para mejorar el reconocimiento de límites naturales. -
Separator
El carácter o secuencia de caracteres que se usarán como delimitador al dividir el texto. Si se deja vacío, se usa el salto de línea doble (\n\n
).
Salidas
- Data
Devuelve una colección de fragmentos de texto. Cada fragmento se crea mediante el métodosplit_data
y puede ser usado directamente en otros componentes, como cargadores de documentos o modelos de lenguaje.
Ejemplo de Uso
Supongamos que tienes un artículo de 5 000 caracteres y quieres prepararlo para un modelo de IA que procesa bloques de 1 000 caracteres con una superposición de 200 caracteres.
- Arrastra el componente Natural Language Text Splitter al flujo.
- Conecta la salida de tu componente de carga de documentos (o pega el texto directamente en el campo Input).
- Configura los parámetros:
- Chunk Size:
1000
- Chunk Overlap:
200
- Language:
English
(o el idioma que corresponda) - Separator: deja vacío para usar el salto de línea doble.
- Chunk Size:
- Ejecuta el flujo.
- La salida Data contendrá 5 fragmentos (aproximadamente) que puedes pasar a un modelo de IA o a otro proceso de análisis.
Componentes Relacionados
- Text Splitter – Versión genérica sin configuración de idioma.
- Document Loader – Carga documentos desde archivos o bases de datos antes de ser procesados.
- LLM – Modelo de lenguaje que consume los fragmentos generados.
- Embedding Generator – Convierte los fragmentos en vectores para búsqueda semántica.
Consejos y Mejores Prácticas
- Ajusta el Chunk Size según la capacidad de tu modelo de IA; fragmentos demasiado grandes pueden exceder el límite de tokens.
- Usa Chunk Overlap para evitar perder contexto entre fragmentos, especialmente en textos narrativos.
- Selecciona el Language correcto para que el splitter reconozca adecuadamente los límites de oración y párrafo.
- Si tu texto contiene saltos de línea especiales, considera definir un Separator personalizado.
- Revisa los fragmentos resultantes antes de pasarlos a modelos de IA para asegurarte de que no se corten palabras clave importantes.
Consideraciones de Seguridad
- El componente procesa los datos localmente; no se envían a servicios externos.
- Asegúrate de que el texto que introduces no contenga información sensible que no deba ser compartida con terceros.
- Si trabajas con datos regulados, verifica que el flujo completo cumpla con las políticas de retención y anonimización de tu organización.