Repolode
segment-any-text

segment-any-text/wtpsplit

Kit de herramientas de Python para dividir texto en oraciones u otras unidades semánticas, con modelos SaT y WtP preentrenados para 85 idiomas.

Estrellas
1,378
Forks
84
Issues abiertos
2
Último commit
ayer

¿Qué es?

wtpsplit divide el texto en oraciones y también puede separar párrafos mediante predicciones de saltos de línea. Ofrece los modelos SaT (Segment any Text), que cubren 85 idiomas, y los modelos WtP anteriores para facilitar la reproducibilidad. Los modelos se cargan por nombre desde Hugging Face, y una llamada sencilla a split devuelve una lista de oraciones para un texto o un iterador para varios textos.

Además de la división básica en oraciones, la biblioteca puede imponer longitudes mínimas y máximas a los segmentos mediante una búsqueda de Viterbi o voraz sobre las probabilidades de límite del modelo, con la opción de usar distribuciones previas de longitud, como la gaussiana o la lognormal. Los adaptadores LoRA preentrenados ajustan la segmentación a idiomas, dominios o estilos de escritura concretos, y los usuarios pueden entrenar sus propios adaptadores con un pequeño conjunto de oraciones segmentadas correctamente.

La inferencia puede ejecutarse con PyTorch en GPU o TPU, con compilación de TorchInductor o mediante ONNX Runtime con proveedores CUDA o CPU. El proyecto está escrito en Python y se distribuye bajo la licencia MIT.

Funciones clave

  • 01Segmentación de oraciones en 85 idiomas mediante modelos SaT preentrenados.
  • 02División con restricciones de longitud mediante las opciones min_length y max_length.
  • 03Segmentación opcional de párrafos basada en probabilidades predichas de saltos de línea.
  • 04Adaptadores LoRA para idiomas, dominios y estilos de escritura concretos.
  • 05Inferencia mediante PyTorch en GPU o TPU, compilación de TorchInductor u ONNX Runtime.

Casos de uso

  • Dividir documentos sin procesar en oraciones antes de generar embeddings o indexarlos.
  • Preprocesar transcripciones o subtítulos sin puntuación fiable.
  • Segmentar corpus multilingües para preparar datos de entrenamiento de NLP.
  • Crear fragmentos que respeten un límite de tamaño para flujos de trabajo posteriores con modelos de lenguaje.

Inicio rápido

  1. 1

    Instala el paquete con pip

    pip install wtpsplit
  2. 2

    Importa SaT y carga un modelo preentrenado

    from wtpsplit import SaT
  3. 3

    Divide el texto en oraciones

    sat.split("This is a test This is another test.")

Antes de usarlo

  • Para ejecutar modelos grandes de forma eficiente, una GPU ofrece mucha más velocidad; el README también la recomienda como opción.
  • Algunas funciones avanzadas, como ONNX y AITune, requieren instalaciones independientes y configuración adicional.

En colecciones

Temas

Preguntas frecuentes

¿Qué es wtpsplit?
Kit de herramientas de Python para dividir texto en oraciones u otras unidades semánticas, con modelos SaT y WtP preentrenados para 85 idiomas. wtpsplit divide el texto en oraciones y también puede separar párrafos mediante predicciones de saltos de línea. Ofrece los modelos SaT (Segment any Text), que cubren 85 idiomas, y los modelos WtP anteriores para facilitar la reproducibilidad. Los modelos se cargan por nombre desde Hugging Face, y una llamada sencilla a split devuelve una lista de oraciones para un texto o un iterador para varios textos.
¿wtpsplit es gratuito? ¿Qué licencia tiene?
wtpsplit es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿wtpsplit sigue mantenido?
Mantenimiento activo. El último commit de wtpsplit fue el 5 nov 2026.
¿Para qué puedo usar wtpsplit?
Dividir documentos sin procesar en oraciones antes de generar embeddings o indexarlos. Preprocesar transcripciones o subtítulos sin puntuación fiable. Segmentar corpus multilingües para preparar datos de entrenamiento de NLP. Crear fragmentos que respeten un límite de tamaño para flujos de trabajo posteriores con modelos de lenguaje.
¿Cómo se instala wtpsplit?
Instala el paquete con pip: pip install wtpsplit Importa SaT y carga un modelo preentrenado: from wtpsplit import SaT Divide el texto en oraciones: sat.split("This is a test This is another test.")
¿Dónde consigo wtpsplit?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/segment-any-text/wtpsplit

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados