awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
nlp-compromise avatar

nlp-compromise/compromise

0
View on GitHub↗
12,122 stars·667 forks·JavaScript·MIT·16 viewscompromise.cool↗

Compromise

Compromise is a natural language processing library and rule-based engine designed for English text manipulation, analysis, and parsing. It provides a toolkit for tokenizing text, identifying parts of speech, and performing linguistic analysis to achieve semantic understanding of unstructured strings.

The project distinguishes itself through its ability to programmatically transform grammar, such as modifying verb tenses, noun plurality, and adjective forms. It also functions as a named entity recognizer capable of extracting people, places, organizations, dates, and contact information from text.

The library covers a broad range of linguistic operations, including text-to-data extraction, temporal data parsing, and quantitative text statistics like word frequency and n-gram identification. Additional utility capabilities include case conversion, number format translation, and phonetic pronunciation estimation.

The system is extensible via a plugin-based architecture that allows for the expansion of its internal lexicon and the addition of custom grammar rules.

Features

  • Natural Language Processing - Provides a comprehensive toolkit for analyzing English text and identifying linguistic patterns for semantic understanding.
  • English Text Parsers - Analyzes English text to tokenize natural language and identify parts of speech for semantic understanding.
  • Textual Entity Extractors - Identifies and categorizes people, places, organizations, and dates from unstructured text.
  • Grammatical Inflection Engines - Transforms adjectives into comparative, superlative, or adverbial forms based on grammatical requirements.
  • Linguistic Pattern Analysis - Analyzes word frequencies and sentence structure to understand the linguistic composition of documents.
  • Natural Language Processing Libraries - Serves as a toolkit for tokenizing text, identifying parts of speech, and performing linguistic analysis.
  • Part-of-Speech Taggers - Implements a layered system for assigning grammatical categories to words based on linguistic rules.
  • Programmatic Grammar Manipulation - Changes verb tenses, noun numbers, and adjective forms while maintaining correct grammar.
  • Rule-Based NLP Engines - Transforms text and manipulates grammar through custom lexicons, conjugation rules, and pattern matching.
  • Text Tokenizers - Provides rule-based tokenization to split raw strings into discrete words and punctuation for linguistic analysis.
  • Verb Tense Transformers - Transforms verbs and full sentences between past, present, future, and infinitive forms.
  • Inflection Engines - Programmatically converts word forms between tenses and plurality using structural replacement patterns.
  • Document and Unstructured Extraction - Converts unstructured strings into organized data by identifying named entities, dates, and grammatical components.
  • Noun Number Transformers - Converts nouns between singular and plural forms while maintaining grammatical correctness.
  • Natural Language Manipulators - Provides utilities for converting verb tenses, adjusting noun plurals, and modifying adjective forms.
  • Lexicon-Driven Analysis - Uses a built-in dictionary of words and rules to determine semantic meaning and grammatical properties.
  • String Tokenization - Splits raw strings into discrete words and punctuation using predefined patterns and linguistic delimiters.
  • Sentence Boundary Detectors - Segments text into sentences and clauses to identify if they are questions, exclamations, or statements.
  • Text Analysis Tools - Provides functions for calculating word frequency, identifying n-grams, and phonetic syllable splitting.
  • Regex Extraction Utilities - Uses regular expressions to isolate named entities like emails and phone numbers from unstructured text.
  • Natural Language Temporal Parsers - Identifies and formats dates, times, and durations from natural language strings into structured temporal data.
  • Text Formatting - Standardizes casing, number formats, and punctuation across natural language strings.
  • Text Search and Replace - Substitutes specific words or phrases with new content or swaps root-words using proper conjugation.
  • Text Extraction - Extracts specific words and grammatical components from raw text to transform unstructured strings into organized data.
  • Lexicon Extensions - Enables extending linguistic data by adding new words to the lexicon and defining custom tags.
  • Grammar Extensions - Allows the addition of custom words and rules to the core language model via modular external configurations.
  • Hybrid Libraries - Natural language processing library for text analysis.

Star history

Star history chart for nlp-compromise/compromiseStar history chart for nlp-compromise/compromise

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does nlp-compromise/compromise do?

Compromise is a natural language processing library and rule-based engine designed for English text manipulation, analysis, and parsing. It provides a toolkit for tokenizing text, identifying parts of speech, and performing linguistic analysis to achieve semantic understanding of unstructured strings.

What are the main features of nlp-compromise/compromise?

The main features of nlp-compromise/compromise are: Natural Language Processing, English Text Parsers, Textual Entity Extractors, Grammatical Inflection Engines, Linguistic Pattern Analysis, Natural Language Processing Libraries, Part-of-Speech Taggers, Programmatic Grammar Manipulation.

What are some open-source alternatives to nlp-compromise/compromise?

Open-source alternatives to nlp-compromise/compromise include: spencermountain/compromise — Compromise is a natural language processing library and rule-based text parser designed to analyze unstructured text.… hankcs/hanlp — HanLP is a natural language processing library and deep learning framework specifically optimized for the Chinese… sloria/textblob — TextBlob is a natural language processing library that provides a unified interface for common linguistic tasks. It… nltk/nltk — This project is a comprehensive Python toolkit designed for natural language processing, research, and education. It… unstructured-io/unstructured — Unstructured is an enterprise-grade data orchestration engine designed to transform raw, unstructured files into… google/sentencepiece — SentencePiece is a text segmentation engine and tokenization library designed for machine learning workflows. It…

Open-source alternatives to Compromise

Similar open-source projects, ranked by how many features they share with Compromise.
  • spencermountain/compromisespencermountain avatar

    spencermountain/compromise

    12,125View on GitHub↗

    Compromise is a natural language processing library and rule-based text parser designed to analyze unstructured text. It functions as a toolkit for identifying parts of speech, linguistic patterns, and semantic meaning, while providing specialized engines for named entity recognition and the parsing of temporal and numeric data. The project is distinguished by its linguistic morphological engine, which can conjugate verbs across different tenses and inflect nouns and adjectives. It further allows for linguistic model customization through a plugin system that enables the extension of lexicons

    JavaScriptnamed-entity-recognitionnlppart-of-speech
    View on GitHub↗12,125
  • hankcs/hanlphankcs avatar

    hankcs/HanLP

    36,413View on GitHub↗

    HanLP is a natural language processing library and deep learning framework specifically optimized for the Chinese language, while also functioning as a multilingual text processor. It serves as a toolkit for performing linguistic analysis, semantic understanding, and script conversion. The project distinguishes itself through a dedicated focus on Chinese linguistic structures, including a specialized script converter for transforming text between Simplified Chinese, Traditional Chinese, and Pinyin. It further supports domain-specific model training to improve the recognition of professional t

    Pythondependency-parserhanlpnamed-entity-recognition
    View on GitHub↗36,413
  • sloria/textblobsloria avatar

    sloria/TextBlob

    9,516View on GitHub↗

    TextBlob is a natural language processing library that provides a unified interface for common linguistic tasks. It operates as a wrapper-based API, simplifying the use of complex processing libraries by delegating core operations to specialized external frameworks. The project features a pluggable processing pipeline that allows for the integration of custom logic and alternative language engines. It supports the extension of processing models through plugins to add specific language support or custom data processing. The library covers a broad range of linguistic capabilities, including se

    Pythonnatural-language-processingnlpnltk
    View on GitHub↗9,516
  • nltk/nltknltk avatar

    nltk/nltk

    14,649View on GitHub↗

    This project is a comprehensive Python toolkit designed for natural language processing, research, and education. It functions as a linguistic data processor that provides a standardized framework for managing, cleaning, and analyzing large collections of annotated text corpora and lexical resources. The library distinguishes itself through its integration of both symbolic and statistical methods, allowing users to perform complex tasks ranging from rule-based grammar parsing to machine learning-driven classification. It offers a modular pipeline for text processing, enabling the transformati

    Pythonmachine-learningnatural-language-processingnlp
    View on GitHub↗14,649
See all 30 alternatives to Compromise→