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 エコシステム内に提供することを目的としています。Python 依存の外部サービスに頼らず、C# アプリケーションに直接統合できる高速でクロスプラットフォームなテキスト処理ツールの必要性を解決します。

動作方法

このライブラリは、ドキュメントを処理するためのパイプラインベースのアプローチを採用しています。1秒間に100万トークン以上を処理できる非破壊的トークナイザーを提供します。Universal Dependencies プロジェクトに基づく事前学習済みモデルを活用し、ガゼテア、ルールベースのパターン、パーセプトロンベースのモデルなど、さまざまなエンティティ認識手法をサポートしています。埋め込み(embedding)については、FastText および StarSpace による学習をそのままサポートしています。

対象ユーザー

C# 環境から離れることなく、トークナイゼーション、品詞タグ付け、語幹抽出、固有表現認識などの高度な NLP タスクをソフトウェアに統合したい .NET 開発者。

特徴

  • 高性能: RegEx をほとんど使わない純粋な C# 実装により、最大限の速度を実現。
  • クロスプラットフォーム: .NET Standard 2.0 および .NET Core をサポートし、Windows、Linux、macOS、ARM で動作可能。
  • 包括的なツールキット: 品詞タグ付け、語幹抽出、言語検出(FastText や cld3 を利用)を含む。
  • 拡張可能なモデル管理: MessagePack を用いたバイナリシリアル化によるモデルの保存・読み込み、またはオンラインリポジトリからの遅延読み込みが可能。
  • 埋め込みサポート: FastText および StarSpace を用いた単語および文書埋め込みの学習をネイティブでサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト