curiosity-ai/catalyst

🚀 Catalyst is a C# Natural Language Processing library built for speed. Inspired by spaCy's design, it brings pre-trained models, out-of-the box support for training word and document embeddings, and flexible entity recognition models.

What it solves

Catalyst is a high-performance Natural Language Processing (NLP) library for C# and .NET. It provides a fast, cross-platform alternative to Python-based NLP tools, allowing developers to integrate complex linguistic analysis—such as entity recognition and part-of-speech tagging—directly into .NET applications without sacrificing speed.

How it works

Inspired by the design of spaCy, Catalyst uses a pipeline-based approach to process text. It leverages modern .NET (targeting .NET 9 and 10) and efficient memory management (like ReadOnlySpan<char>) to achieve high throughput, such as tokenization speeds exceeding 1 million tokens per second. The library supports lazy loading of pre-trained models via NuGet packages and provides built-in support for training word and document embeddings using FastText and StarSpace.

Who it’s for

.NET developers who need a professional-grade, fast NLP toolkit for tasks like named entity recognition, lemmatization, and language detection within a C# environment.

Highlights

  • High Performance: Pure C# implementation with non-destructive, RegEx-free tokenization.
  • Comprehensive NLP Tools: Includes part-of-speech tagging, lemmatization, and language detection.
  • Flexible Entity Recognition: Supports gazetteer, rule-based, and perceptron-based named entity recognition (NER).
  • Embedding Support: Out-of-the-box training for FastText and StarSpace embeddings.
  • Cross-Platform: Runs on Windows, Linux, macOS, and ARM.

Related

  • Project
  • Project
  • Project
  • Project
  • Project