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 訓練詞與文件嵌入。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案