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, designed to provide the same kind of industrial-strength NLP capabilities found in libraries like spaCy, but within the .NET ecosystem. It solves the problem of needing fast, cross-platform text processing tools that can be integrated directly into C# applications without relying on external Python-based services.
How it works
The library uses a pipeline-based approach to process documents. It provides a non-destructive tokenizer that can process over 1 million tokens per second. It leverages pre-trained models based on the Universal Dependencies project and supports various entity recognition methods, including gazetteers, rule-based patterns, and perceptron-based models. For embeddings, it includes out-of-the-box support for training FastText and StarSpace embeddings.
Who it’s for
.NET developers who need to integrate advanced NLP tasks—such as tokenization, part-of-speech tagging, lemmatization, and named entity recognition—into their software without leaving the C# environment.
Highlights
- High Performance: Pure C# implementation with a tokenizer that is largely RegEx-free to maximize speed.
- Cross-Platform: Supports .NET Standard 2.0 and .NET Core, running on Windows, Linux, macOS, and ARM.
- Comprehensive Tooling: Includes part-of-speech tagging, lemmatization, and language detection (via FastText or cld3).
- Extensible Model Management: Models can be stored and loaded via binary serialization using MessagePack or lazy-loaded from an online repository.
- Embedding Support: Native support for training word and document embeddings using FastText and StarSpace.
Related
- Project
- Project
- Project
- Project
- Project