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
spencermountain avatar

spencermountain/compromise

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

Compromise

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 and the modification of baseline grammar rules.

The library covers a broad range of computational linguistics capabilities, including part-of-speech tagging, phonetic analysis, and sentence structure detection. It provides utilities for text normalization and formatting standardization, as well as tools for pattern matching, text statistics analysis, and the conversion of written numbers and currencies into structured values.

Processing performance is managed through parallel text parsing across worker threads and the use of partial parse caching for document segments.

Features

  • Natural Language Processing - Analyzes raw text to identify linguistic patterns, parts of speech, and semantic meaning.
  • Rule-Based Text Parsers - Provides a rule-based text parser that tokenizes strings and tags words using customizable grammars.
  • Textual Entity Extractors - Identifies and extracts specific categories of information such as people, places, and organizations from text.
  • Grammatical Inflection Engines - Provides a system to programmatically transform words into different grammatical forms, such as tenses and plurals.
  • Linguistic Pattern Analysis - Analyzes raw text to identify linguistic patterns, parts of speech, and semantic meaning.
  • Morphological Transformations - Transforms words by changing verb tenses, adjusting noun plurality, or converting adjectives to adverbs.
  • Named Entity Recognition - Identifies and extracts specific categories of information like people, organizations, and dates from unstructured text.
  • Natural Language Processing Libraries - Functions as a comprehensive toolkit for parsing unstructured text to identify parts of speech and semantic meaning.
  • Part-of-Speech Taggers - Assigns grammatical tags to words to identify nouns, verbs, and adjectives.
  • Pattern Matching Engines - Features an engine that identifies linguistic entities by matching specific tag sequences and regular expressions.
  • Programmatic Grammar Manipulation - Transforms word forms by adjusting verb tenses, noun plurality, and adjective degrees.
  • Text Tokenizers - Splits raw text into individual words and punctuation marks using predefined linguistic patterns.
  • Verb Tense Transformers - Changes verb tenses including past participle, gerund, and future forms.
  • Natural Language Temporal Parsers - Converts human-readable date, time, and number strings into structured temporal and numeric data.
  • Computational Linguistics Toolkits - Provides tools for building custom dictionaries and rules to specialize text analysis for technical domains.
  • Domain Specializations - Allows specializing linguistic analysis for specific domains by adding custom words and defining new tags.
  • Sentence Structure Analysis - Detects whether a sentence is a question and identifies imperative moods or phrasal verbs.
  • Linguistic Content Modifications - Implements capabilities to insert, replace, or remove phrases while maintaining linguistic consistency.
  • Partial Parse Caching - Stores previously parsed sentences and processes only modified segments to maintain performance.
  • Text Cleaning Pipelines - Cleans and standardizes unstructured text by handling contractions and inconsistent formatting.
  • Text Pattern Matching - Searches for specific phrases, tags, or regex patterns within a linguistic context.
  • Linguistic Pattern Searching - Locates specific phrases or patterns using match syntax and filtering based on linguistic proximity.
  • Natural Language Manipulators - Wraps, swaps, or replaces terms and phrases while preserving possessives and linguistic tags.
  • Lexicon Extensions - Allows the programmatic expansion of the internal linguistic dictionary with custom words and grammatical tags.
  • Written Number Parsers - Transforms written numbers, currencies, fractions, and percentages into standardized numeric values.
  • Document State Engines - Maintains a structured object model of text that tracks offsets and metadata across transformations.
  • Grammar Extensions - Provides mechanisms to modify baseline grammar and lexicons to adjust linguistic analysis behavior.
  • Parallel Text Processing - Distributes sentence parsing across multiple worker threads to process large volumes of text efficiently.
  • Natural Language Processing - Lightweight natural language processing.
  • JavaScript NLP Libraries - Lightweight natural language processing for the browser.

Star history

Star history chart for spencermountain/compromiseStar history chart for spencermountain/compromise

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

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

Open-source alternatives to Compromise

Similar open-source projects, ranked by how many features they share with Compromise.
  • nlp-compromise/compromisenlp-compromise avatar

    nlp-compromise/compromise

    12,122View on GitHub↗

    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

    JavaScript
    View on GitHub↗12,122
  • 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
  • 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
  • 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→

Frequently asked questions

What does spencermountain/compromise do?

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.

What are the main features of spencermountain/compromise?

The main features of spencermountain/compromise are: Natural Language Processing, Rule-Based Text Parsers, Textual Entity Extractors, Grammatical Inflection Engines, Linguistic Pattern Analysis, Morphological Transformations, Named Entity Recognition, Natural Language Processing Libraries.

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

Open-source alternatives to spencermountain/compromise include: nlp-compromise/compromise — Compromise is a natural language processing library and rule-based engine designed for English text manipulation,… sloria/textblob — TextBlob is a natural language processing library that provides a unified interface for common linguistic tasks. It… hankcs/hanlp — HanLP is a natural language processing library and deep learning framework specifically optimized for the Chinese… nltk/nltk — This project is a comprehensive Python toolkit designed for natural language processing, research, and education. It… google/sentencepiece — SentencePiece is a text segmentation engine and tokenization library designed for machine learning workflows. It… hit-scir/ltp — This is a Chinese natural language processing toolkit providing a suite of tools for word segmentation, part-of-speech…