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