Biblioteca de tokenización rápida y de última generación en Rust, con bindings para Python y Node.js, para NLP y pipelines de modelos de lenguaje.
spencermountain/compromise
Biblioteca de procesamiento del lenguaje natural para JavaScript que etiqueta categorías gramaticales, detecta patrones y transforma texto, por ejemplo, al cambiar tiempos verbales o números.
- Estrellas
- 12,165
- Forks
- 668
- Issues abiertos
- 93
- Último commit
- hace 17 horas
¿Qué es?
compromise es una biblioteca ligera de procesamiento del lenguaje natural para JavaScript que funciona en el navegador y en Node.js. Convierte texto sin procesar en un documento estructurado en el que puedes encontrar sustantivos, verbos, números, fechas, personas y lugares, y luego leerlos o reescribirlos.
La biblioteca ofrece una sintaxis sencilla para buscar patrones, como «#Adjective of times», que permite seleccionar partes de una oración, y un conjunto de transformaciones para tareas como pasar un verbo al pasado, pluralizar sustantivos, desarrollar contracciones o añadir números. Los resultados se pueden exportar como texto o JSON. La compilación principal incluye un tokenizador y un etiquetador, y hay puntos de entrada separados para usar solo la tokenización, de forma más ligera. Los plugins opcionales amplían sus capacidades; por ejemplo, compromise-speech permite trabajar con sílabas.
El proyecto está enfocado en el inglés. Hay paquetes relacionados para francés, alemán, italiano y español.
Funciones clave
- 01Etiquetado de categorías gramaticales con un grafo de 83 etiquetas
- 02Búsqueda de patrones mediante una sintaxis sencilla para seleccionar frases
- 03Conjugación de verbos, pluralización de sustantivos y conversión de tiempos verbales
- 04Análisis y operaciones aritméticas con números, dinero, fracciones y porcentajes
- 05Desarrollo de contracciones y normalización de texto
- 06Sistema de plugins y compilación con solo el tokenizador para un uso más ligero
Casos de uso
- Extraer nombres, lugares y fechas de artículos o conversaciones de chat
- Generar o corregir oraciones en inglés con las formas verbales adecuadas
- Analizar números y monedas introducidos por usuarios en formularios o búsquedas
- Ejecutar análisis de texto ligero directamente en un navegador
Inicio rápido
- 1
Instala la biblioteca desde npm
npm install compromise - 2
Impórtala y ejecuta un ejemplo rápido con una oración
Antes de usarlo
- No es tan inteligente como parece; se basa en decisiones limitadas y basadas en reglas.
- La biblioteca completa ocupa unos 250 kb minificada, lo que es mucho para bundles pequeños.
- Los demás idiomas solo están disponibles como proyectos independientes, como fr-compromise, de-compromise, it-compromise y es-compromise.
Temas
Preguntas frecuentes
- ¿Qué es compromise?
- Biblioteca de procesamiento del lenguaje natural para JavaScript que etiqueta categorías gramaticales, detecta patrones y transforma texto, por ejemplo, al cambiar tiempos verbales o números. compromise es una biblioteca ligera de procesamiento del lenguaje natural para JavaScript que funciona en el navegador y en Node.js. Convierte texto sin procesar en un documento estructurado en el que puedes encontrar sustantivos, verbos, números, fechas, personas y lugares, y luego leerlos o reescribirlos.
- ¿compromise es gratuito? ¿Qué licencia tiene?
- compromise es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿compromise sigue mantenido?
- Mantenimiento activo. El último commit de compromise fue el 19 oct 2026.
- ¿Para qué puedo usar compromise?
- Extraer nombres, lugares y fechas de artículos o conversaciones de chat Generar o corregir oraciones en inglés con las formas verbales adecuadas Analizar números y monedas introducidos por usuarios en formularios o búsquedas Ejecutar análisis de texto ligero directamente en un navegador
- ¿Cómo se instala compromise?
- Instala la biblioteca desde npm: npm install compromise Impórtala y ejecuta un ejemplo rápido con una oración
- ¿Dónde consigo compromise?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/spencermountain/compromise
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
SDK y servicio de Python de código abierto para detectar y anonimizar información personal identificable en texto, imágenes y datos estructurados.
Un tokenizador BPE rápido para los modelos de OpenAI, que convierte texto en tokens y lo reconstruye sin pérdida.
Herramienta de rendimiento para React que detecta y resalta automáticamente los componentes que provocan renderizados innecesarios, sin necesidad de cambiar el código.
Editor de diagramas y pizarras en el navegador, escrito en JavaScript, que se ejecuta en el cliente y puede alojarse en infraestructura propia.
Colección bilingüe de más de 100 diagramas originales que explican LLM, RL, RLHF, DPO, GRPO y algoritmos relacionados con modelos grandes.