Apache OpenNLPライブラリは、自然言語テキストを処理するための機械学習ベースのツールキットです。
このツールキットは、完全にJavaで記述されており、トークン化、文のセグメンテーション、スピーチの一部のタグ付け、名前付きエンティティ抽出、チャンク、コアファレンス解像度、言語検出などの一般的なNLPタスクをサポートしています!
これらのタスクは通常、より高度なテキスト処理サービスを構築するために必要です。
OpenNLPプロジェクトの目標は、上記のタスクの成熟したツールキットになることです。
追加の目標は、さまざまな言語の事前に構築された多数のモデルと、それらのモデルが導出される注釈付きのテキストリソースを提供することです。
現在、OpenNLPには、最大エントロピー、パーセプトロン、ナイーブベイズなどの一般的な分類器が含まれています。
OpenNLPは、Java APIを介してプログラムで、またはCLIを介して端末から使用できます。 OpenNLP APIは、Apache Flink、Apache Nifi、Apache Sparkなどの分散ストリーミングデータパイプラインに簡単に差し込むことができます。
詳細については、OpenNLPホームページをご覧ください
任意の言語でOpenNLPを使用できます。デモモデルはここに提供されています。
モデルは最新リリースと完全に互換性があり、テストまたは開始に使用できます。
注記
他のすべてのユースケースについては、独自のモデルをトレーニングしてください。
Javadocs、コードの使用法、コマンドラインインターフェイスの例を含むドキュメントはこちらから入手できます
最近のニュース、更新、トピックについては、次のことができます。
また、コミュニティのOpenNLPの質問と回答も確認してください。
現在、ライブラリには異なるパッケージがあります。
opennlp-tools :コアツールキット。opennlp-tools-models :ClassPathからOpenNLPモデルをロードする一連のクラス。opennlp-uima :apache uimaアノテーターのセット。opennlp-morfologik-addon :morfologikのアドオンopennlp-dl : onnxruntime依存関係を使用したONNXモデルのOpenNLPインターフェイス実装。opennlp-dl-gpu : onnxruntimeをonnxruntime_gpu依存関係に置き換えて、GPU加速度をサポートします。opennlp-sandbox :進行中の他のプロジェクトはサンドボックスにありますCore ToolkitをMaven、SBT、またはGradleから直接インポートできます。
<dependency>
<groupId>org.apache.opennlp</groupId>
<artifactId>opennlp-tools</artifactId>
<version>${opennlp.version}</version>
</dependency>
libraryDependencies += "org.apache.opennlp" % "opennlp-tools" % "${opennlp.version}"
compile group: "org.apache.opennlp", name: "opennlp-tools", version: "${opennlp.version}"
詳細については、ドキュメントを確認してください
少なくともJDK 17およびMaven 3.3.9は、ライブラリを構築するために必要です。
リポジトリをクローニングした後、宛先ディレクトリに移動して実行します。
mvn install
Apache OpenNLPプロジェクトはボランティアによって開発されており、常にプロジェクトのすべての部分で作業するための新しい貢献者を探しています。すべての貢献は歓迎され、それを改善するために必要です。貢献は、小さなドキュメントのタイプミスの修正から新しいコンポーネントまで何でもかまいません。
参加したい場合は、こちらの指示に従ってください