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)库,旨在提供与 spaCy 等库所具备的工业级 NLP 能力相当的功能,但完全集成在 .NET 生态系统中。它解决了需要快速、跨平台的文本处理工具,并能直接集成到 C# 应用程序中,而无需依赖外部 Python 服务的问题。

如何工作

该库采用基于管道的处理方式来处理文档。它提供了一个非破坏性分词器,每秒可处理超过 100 万个 token。它利用基于 Universal Dependencies 项目的预训练模型,并支持多种实体识别方法,包括地名词典、基于规则的模式以及感知机模型。在嵌入方面,它原生支持使用 FastText 和 StarSpace 训练词嵌入和文档嵌入。

适用人群

需要在不离开 C# 环境的前提下,将分词、词性标注、词形还原和命名实体识别等高级 NLP 任务集成到软件中的 .NET 开发者。

主要亮点

  • 高性能:纯 C# 实现,分词器几乎不使用正则表达式,以最大化速度。
  • 跨平台:支持 .NET Standard 2.0 和 .NET Core,可在 Windows、Linux、macOS 和 ARM 上运行。
  • 全面的工具链:包含词性标注、词形还原和语言检测(通过 FastText 或 cld3)。
  • 可扩展的模型管理:模型可通过 MessagePack 进行二进制序列化存储和加载,或从在线仓库懒加载。
  • 嵌入支持:原生支持使用 FastText 和 StarSpace 训练词和文档嵌入。

相关

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