Biblioteca de tokenização de ponta e rápida, escrita em Rust, com bindings para Python e Node.js para pipelines de NLP e modelos de linguagem.
spencermountain/compromise
Biblioteca de processamento de linguagem natural em JavaScript que identifica classes gramaticais, encontra padrões no texto e transforma verbos, números e outros elementos.
- Estrelas
- 12,165
- Forks
- 668
- Issues abertas
- 93
- Último commit
- há 17 horas
O que é?
compromise é uma biblioteca leve de processamento de linguagem natural para JavaScript, que roda no navegador e no Node.js. Ela transforma texto bruto em um documento estruturado no qual você pode encontrar substantivos, verbos, números, datas, pessoas e lugares e, depois, ler esses elementos ou reescrevê-los.
A biblioteca oferece uma sintaxe simples para encontrar padrões, como “#Adjective of times”, que permite selecionar partes de uma frase, além de um conjunto de transformações para, por exemplo, conjugar verbos no passado, pluralizar substantivos, expandir contrações ou adicionar números. Os resultados podem ser exportados como texto ou JSON. A build principal inclui um tokenizador e um identificador de classes gramaticais, com pontos de entrada separados para usos mais leves, apenas com tokenização. Plugins opcionais ampliam os recursos, como o compromise-speech, que oferece suporte a sílabas.
O projeto é voltado ao inglês. Pacotes relacionados dão suporte a francês, alemão, italiano e espanhol.
Recursos principais
- 01Identificação de classes gramaticais com um grafo de 83 etiquetas
- 02Busca por padrões com uma sintaxe simples para selecionar expressões
- 03Conjugação de verbos, pluralização de substantivos e conversão de tempos verbais
- 04Interpretação e operações aritméticas com números, dinheiro, frações e porcentagens
- 05Expansão de contrações e normalização de texto
- 06Sistema de plugins e build somente com tokenizador para usos mais leves
Casos de uso
- Extração de nomes, lugares e datas de textos de artigos ou conversas
- Geração ou correção de frases em inglês com formas verbais adequadas
- Interpretação de números e valores monetários fornecidos por usuários em formulários ou buscas
- Execução de análises leves de texto diretamente no navegador
Início rápido
- 1
Instale a biblioteca pelo npm
npm install compromise - 2
Importe-a e execute um exemplo rápido com uma frase
Antes de usar
- Ela não é tão inteligente quanto parece e depende de decisões limitadas, baseadas em regras.
- A biblioteca completa tem cerca de 250 kb minificada, o que é muito para bundles pequenos.
- Os outros idiomas são oferecidos apenas como projetos separados, como fr-compromise, de-compromise, it-compromise e es-compromise.
Tópicos
Perguntas frequentes
- O que é compromise?
- Biblioteca de processamento de linguagem natural em JavaScript que identifica classes gramaticais, encontra padrões no texto e transforma verbos, números e outros elementos. compromise é uma biblioteca leve de processamento de linguagem natural para JavaScript, que roda no navegador e no Node.js. Ela transforma texto bruto em um documento estruturado no qual você pode encontrar substantivos, verbos, números, datas, pessoas e lugares e, depois, ler esses elementos ou reescrevê-los.
- compromise é gratuito? Qual é a licença?
- compromise é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- compromise ainda é mantido?
- Manutenção ativa. O último commit de compromise foi em 19 de out. de 2026.
- Para que posso usar compromise?
- Extração de nomes, lugares e datas de textos de artigos ou conversas Geração ou correção de frases em inglês com formas verbais adequadas Interpretação de números e valores monetários fornecidos por usuários em formulários ou buscas Execução de análises leves de texto diretamente no navegador
- Como instalar compromise?
- Instale a biblioteca pelo npm: npm install compromise Importe-a e execute um exemplo rápido com uma frase
- Onde consigo compromise?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/spencermountain/compromise
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
SDK e serviço open source em Python para detectar e anonimizar PII em texto, imagens e dados estruturados.
Um tokenizador BPE rápido para os modelos da OpenAI, usado para converter texto em tokens e vice-versa sem perda de informação.
Ferramenta de performance para React que detecta e destaca automaticamente componentes que renderizam novamente sem necessidade, sem exigir alterações no código.
Editor de diagramas e quadros brancos no navegador, escrito em JavaScript, executado no cliente e que pode ser hospedado por conta própria.
Coleção bilíngue com mais de 100 diagramas originais que explicam LLM, RL, RLHF, DPO, GRPO e algoritmos relacionados a modelos de grande porte.