botg Machine Learningと辞書メソッドを使用するために、テキストマイニングに最適なオープンソースのJavaベースのフレームワークを知りたいです。
私はMalletを使用していますが、ドキュメントがそれほど多くなく、すべての要件に適合するかどうかわかりません。
botg Machine Learningと辞書メソッドを使用するために、テキストマイニングに最適なオープンソースのJavaベースのフレームワークを知りたいです。
私はMalletを使用していますが、ドキュメントがそれほど多くなく、すべての要件に適合するかどうかわかりません。
正直なところ、ここで提示されたいくつかの回答は非常に優れていると思います。ただし、私の要件を満たすために、Apache UIMAとClearTKを使用することにしました。いくつかの ML メソッドをサポートしており、ライセンスの問題はありません。さらに、他の ML 方法論のラッパーを作成することもできます。また、非常によく整理された高速な UIMA フレームワークを利用しています。
興味深い回答をありがとうございました。
敬具、ウクライナ
テキスト マイニング (およびその他の関連) タスクには、人間の言語を言語学的に分析するための Java ライブラリ スイートであるLingPipeを使用しました。
これは非常によく文書化されたソフトウェア パッケージであり、このサイトには名前付きエンティティの認識など、LingPipe で特定のタスクを実行する方法を徹底的に説明するいくつかのチュートリアルが含まれています。また、ソフトウェア (または NLP 関連のタスク) に関する質問を投稿できるニュースグループもあり、パッケージの作成者からの迅速な回答を得ることができます。もちろんブログも。
ソース コードも非常に理解しやすく、よく文書化されています。これは、私にとって常に大きなプラスです。
機械学習アルゴリズムに関しては、ナイーブ ベイズから条件付きランダム フィールドまで、たくさんあります。一方、辞書照合アルゴリズムには、 Aho-Corasich アルゴリズム (このタスクの非常に高速なアルゴリズム) の実装であるExactDicitonaryChunkerがあります。
要するに、これは Java 用の最高の NLP ソフトウェア パッケージの 1 つだと思います (私はそこにあるすべてのパッケージを使用したわけではないので、これが最高だとは言えません)。あなたは手元にあります。
あなたはすでにGATEについて知っているかもしれません: http://gate.ac.uk/
...しかし、それは私たちが (私の日常の仕事で) さまざまなテキスト マイニングの問題に使用してきたものです。それはかなり柔軟でオープンです。
OpenNLP MaxEnt http://sourceforge.net/projects/maxent/をコース用に 1 回使用して、CoNLL データ用の最大エントロピー名前付きエンティティ認識エンジンを構築しました。
ただし、カスタム perl スクリプトを使用した多くのデータの前処理が必要であり、すべての機能が適切な数値ベクトルに抽出されます。
lucene を使用して、インターネットからのライブ ストリームを処理します。ネイティブの Java API があります。
http://lucene.apache.org/java/docs/
その後、lucene の上で動作する macien 学習アルゴリズムの束である mahout を使用できます。