jdkato/prose

:book: A Golang library for text processing, including tokenization, part-of-speech tagging, and named-entity extraction.

解決する課題

Goプログラミング言語向けに包括的な自然言語処理(NLP)ツールセットを提供し、開発者が外部サービスやC言語ベースの依存関係(cgo)に頼ることなく英語テキストを分析できるようにします。

仕組み

このライブラリは、NLPタスクのパイプラインを実装しています。文分割にはPunktアルゴリズムを、品詞タグ付けにはPenn Treebankタグセットを使用します。タグ付けと名前付きエンティティ認識(NER)用の学習済みモデルが含まれており、これらはプロセスごとに一度だけメモリにロードされます。バイナリサイズを小さく保つため、これらのモデルは独自のパッケージに分離されており、Goリンカが未使用のコンポーネントを除外できるようになっています。

対象者

スタンドアロンの純粋なGo環境で、トークン化、エンティティ抽出、可読性スコアリングなどの基本的なNLPタスクを実行する必要があるGo開発者。

特徴

  • Pure Go: cgoや外部API呼び出しは不要です。
  • バイト単位の正確なオフセット: すべてのトークン、文、エンティティは、元のソーステキストに対して正確なバイトオフセットを保持します。
  • モジュール設計: タガーやエンティティ認識器などのコンポーネントは、バイナリのオーバーヘッドを削減するために個別にインポートできます。
  • 可読性指標: Flesch–Kincaid、Gunning fog、SMOG、およびColeman–Liauスコアを内蔵サポートしています。
  • 並行安全性: すべてのコア分析ツールは、並行して安全に使用できます。

関連

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