3

既に C++ ベースのプロジェクトに取り組んでいます。自然言語処理用のプラグインが欲しいです。私はGATEが本当に好きですが、JVM を起動してプロジェクトを C++ と Java の部分に分割する価値があるかどうかはわかりません。UIMAには C++ フレームワークがあることに気付きましたが、試したことはありませんが、GATE より機能が少ないようです。

GATE を何らかの方法で C++ でラップしようとするよりも優れたオプションを知っている人はいますか (たとえば、C++ のより優れた NLP ライブラリ)? GATE を C++ でラップする場合、最善の方法は何ですか? SOA?

ありがとう

4

3 に答える 3

5

Christopher Manning による C++ およびその他の言語での NLP (POS タガー、NP チャンキング、シーケンス モデル、パーサーなど)のリソースのリスト。ウィキペディアにもう一つ。

また、文字列およびテキスト処理用の Boost ページもあります。

于 2009-10-21T12:25:52.197 に答える
1

もちろん、それはあなたが何をしたいのかによって異なります。

GATEとUIMAはどちらもNLPのフレームワークであり、主に情報の管理と抽出のアイデアに基づいて設計されています。厳密には両方ともフレームワークであるため、GATEがUIMAよりも多くの機能を備えていると言うのは実際には公平ではありません。ただし、GATEにはANNIEがバンドルされており、便利な機能がたくさんあります(これも、やりたいことによって異なります)。UIMAは、これらの機能のすべてではありませんが一部をミラーリングするOpenNLPライブラリにバンドルされていますが、Javaで記述されているため、JVMをロードする必要があります。

C++ライブラリを使用してGATE/ANNIEまたはUIMA/OpenNLPと同様の機能を見つけることができますが、2つのフレームワークの良いところは、それらが一貫性があり、個々のライブラリが相互に通信できるようにするために多くの「グルーコード」を必要としないことです。 。

GATEをC++コードでラップしたくない理由は何ですか?プロジェクトが複雑になることは理解できますが、パフォーマンス/メモリに関する懸念がある場合は、JVMが最も懸念が少ない可能性があります。NLPツールは非常にメモリを消費する傾向があり、NERモデルでは半分のギグを放棄し、統計パーサーではさらに多くのギグを放棄することを期待しています。

于 2009-10-21T12:26:49.247 に答える
1

自然言語処理とテキスト分析用に調整されたプログラミング言語である NLP++ を見てみたいと思うかもしれません。

ここから始めることをお勧めします:

NLP++ の入門パッケージ

このパッケージには、NLP++ を始めるために必要なものがすべて含まれています。はい、新しいプログラミング言語を学ぶ必要がありますが、それは C++ に似ており、ブラックボックス API を使用する必要はありません。さらに、VisualText のコンパイル済みテキスト アナライザーは、他の C++ プロジェクトに含めることができる Visual Studio ソリューションを作成します。

非商用プロジェクトでは、VisualText と NLP++ を無料で使用できます。

NLP++ コミュニティに参加して、質問をしたり、アナライザーについて話し合ったり、NLP++ について詳しく学んだりできます。

NLP++ コミュニティ

敬具、

ドミニク・ホレンスタイン

NLP++ コミュニティ マネージャー

于 2014-09-01T09:26:36.020 に答える