良い自然言語処理ライブラリはありますか[終了]


90

現在のモジュールにNLPを実装する必要があります。ここで私を助けることができるいくつかの良いライブラリを探しています。「LingPipe」に出会いましたが、使い方を完全に理解することができませんでした。
基本的に、アプリケーションがプレーンな英語で入力された顧客の指示(配達指示)を解読できる機能を実装する必要があります。例えば:

  • 明日の正午に迎えに行きます
  • 6月10日以降の配達をリクエスト
  • 水曜日までに送らないでください
  • 注文に10単位のXYZを追加します

回答:


78

LingPipeは非常に優れており、十分に文書化されています。以下もご覧ください。

最後の1つは、特に興味があるかもしれませんが、すぐに利用できるJava実装があるかどうかはわかりません(そして、とにかくそれはあなたの問題にとって大きすぎるかもしれません:-)

DSLを使用するというPaulのアイデアは、おそらく実装がより簡単で高速であり、顧客にとってより信頼性の高い方法です。私も最初にそれを調べることをお勧めします。


1
私は、このフォーラムやネット上の他の場所から収集したインプットに基づいてレポートを発表しました。私はあなたが提案した他のオプションも提案しました、そしてビズはこれを保持することを決定しました(今、可能な限り最高の候補を見つけるための研究開発を始めます)。
Vini、

1
LingPipeと他のリストを比較した場合、どれを選びますか?@Winnieの質問だけに特定するのではなく、一般的な目的で質問します。
kamaci 2012年

1
マレットをチェックしてください:mallet.cs.umass.edu
R

11

NLPの使用を選択するかどうかは、システムの特定の要件によって決まると思います。自由形式の英語を受け入れる必要があるのですか、それとも特定の一連の指示のみを受け入れるのですか?自由形式のテキストの完全なセマンティック分析を行うよりも、ユーザーが伝えなければならないことをサポートするドメイン固有の言語を構築する方が簡単な場合があります。

Javaの分野では、GroovyはDSLの構築をある程度サポートしています。


要件ドキュメントの数行を次に示します。次に、システムはユーザーの指示を解析し、注文の関連フィールド(存在する場合)に正しい値を入力します。」
Vini

10
これはかなりあいまいな要件です。たとえば、メモは文法的に正しい必要がありますか?要件を考案した当事者がNLPの状態に精通しているかどうかはわかりませんが、彼らが説明した問題は、本質的に読解、または自然言語の理解であり、これは「聖なるNLPの聖杯。「これを実行する」だけのパッケージが見つかるかどうかは、私には疑問です。ユーザーに、限られた数の特別な指示を指定できるUIを提供する方がはるかに現実的です。
ポール・森江

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.