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.

解决的问题

Catalyst 是一个面向 C# 和 .NET 的高性能自然语言处理(NLP)库。它提供了基于 Python 的 NLP 工具的快速跨平台替代方案,使开发人员能够将复杂的语言分析——如实体识别和词性标注——直接集成到 .NET 应用程序中,而无需牺牲速度。

工作原理

受 spaCy 设计启发的 Catalyst 采用基于管道的方法处理文本。它利用现代 .NET(目标为 .NET 9 和 10)和高效的内存管理(如 ReadOnlySpan<char>)来实现高吞吐量,例如超过每秒 100 万个标记的标记化速度。该库支持通过 NuGet 包延迟加载预训练模型,并提供内置支持,使用 FastText 和 StarSpace 训练单词和文档嵌入。

适用人群

适用于需要在 C# 环境中进行命名实体识别、词形还原和语言检测等任务,并需要专业级快速 NLP 工具包的 .NET 开发人员。

亮点

  • 高性能:纯 C# 实现,具有非破坏性、无正则表达式的标记化。
  • 全面的 NLP 工具:包括词性标注、词形还原和语言检测。
  • 灵活的实体识别:支持基于地名词典、基于规则和基于感知器的命名实体识别(NER)。
  • 嵌入支持:开箱即用的 FastText 和 StarSpace 嵌入训练。
  • 跨平台:可在 Windows、Linux、macOS 和 ARM 上运行。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目