このプロジェクトについて

HanLP(Han Language Processing)は、本番環境向けの多言語自然言語処理ツールキットであり、PyTorchとTensorFlow 2.xのデュアルエンジンを基盤としています。プロジェクトの目標は、最先端のNLP技術を普及・実用化することであり、機能の充実、精度の高さ、高性能、最新のコーパス、明確なアーキテクチャ、カスタマイズ可能などの特徴を備えています。 機能範囲: - 分かち書き(粗分、細分) - 品詞タグ付け(CTB、PKU、863などの基準) - 固有表現認識(PKU、MSRA、OntoNotesなどの基準) - 依存構文解析(SD、UD、PMT) - 句構造解析(Chinese Tree Bank) - 意味依存解析(CSDP) - 意味役割付与(Chinese Proposition Bank) - 抽象意味表現(CAMR) - 照応解決 - 意味的テキスト類似度 - テキストスタイル変換 - キーワード・フレーズ抽出 - 抽出型および生成型自動要約 - テキスト文法誤り訂正 - テキスト分類と感情分析 - 言語検出 - 単語ベクトルと穴埋め問題 - 簡体字・繁体字変換、ピンイン、新語発見、テキストクラスタリング(1.xバージョンを参照) 多言語サポート:大規模な多言語コーパスを活用し、HanLP 2.1は、簡体字・繁体字中国語、英語、日本語、ロシア語、フランス語、ドイツ語を含む130言語において、10種類のジョイントタスクおよび複数のシングルタスクをサポートしています。 2種類のAPI形態: 1. 軽量RESTful API:サイズはわずか数KBで、アジャイル開発やモバイルアプリなどのシーンに適しており、GPU環境は不要で、インストールが迅速です。Python、Golang、Javaなどのクライアントを提供します。 2. 大規模native API:PyTorch、TensorFlowなどの深層学習技術に依存し、専門のNLPエンジニア、研究者、およびローカルの大規模データシーンに適しています。Python 3.6〜3.10が必要で、Windowsをサポートし、Unix系システムを推奨します。CPUで動作可能ですが、GPU/TPUを推奨します。 モデルタイプ: - マルチタスクモデル:速度が速く、メモリ消費が少なく、一度の呼び出しで複数のタスクを完了できます。 - シングルタスクモデル:精度が高く、より柔軟で、パイプラインモードで組み立てることができます。 カスタマイズ機能:効率的なtrie木によるカスタム辞書をサポートし、強制、統合、校正の3つのルールを備えています。ルールの効果は後続の統計モデルにシームレスに適用でき、新しい分野に迅速に適応できます。 出力形式:どのAPI、開発言語、自然言語であっても、出力は統一してJSON形式であり、dict互換のDocumentオブジェクトとして、分かち書き、品詞、固有表現、意味役割、依存構文、意味依存、句構造などのフィールドを含みます。PythonのRESTful APIとnative APIは、等幅フォントに基づく可視化もサポートしており、コンソールで直接言語学構造を表示できます。 プロジェクトはまた、カスタムドメインモデルをトレーニングする手段を提供し、EMNLP論文の引用も付属しています。