4

私は大学生で、夏の趣味のプロジェクト用のJavaベースのWebアプリケーションで主題の抽出と感情分析を実行するためのNLPライブラリを探しています。

私がやろうとしていることについて少し説明します...Redditの提出物の見出しから主題を抽出し、見出しに対するOPの感情を特定するJavaベースのWebアプリケーションを構築したいと思います(可能)。

入力例:

  • Reddit、943,702の署名から3,460,313に反SOPA請願書を取りました。反CISPA請願は691,768であり、法案はSOPAよりも大幅に劣っています。ぶつけてから、さらなる対策について話し合いましょう。さもないと、これまでの努力は無駄になります。私たちは以前にそれをしました、私たちは再びそれをするように求められているのではないかと思います。
  • 私の友人は彼を「ばかばかしいほどフォトジェニックな男」と呼んでいます
  • 狂気:CISPAはさらに悪化し、急いで投票されました

現在AlchemyAPIを試していますが、より優れたNLPライブラリが存在するようです。できれば、特定の期間内の限られた数のAPIリクエストに制限されることはありません(AlchemyAPIには割り当てがあります)。GATE、LingPipe、OpenNLPの名前を聞いたことがありますが、それらが私のニーズに合っているかどうかはわかりません。

フレームワーク/ライブラリ/APIの推奨事項、またはさらに優れた、経験豊富なユーザーからの比較を探しています。私のNLPの経験は非常に限られているため、ここで助けを求めています(ps:www.nlp-class.org以外で、詳細を学ぶためのリソースがある場合は、お知らせください!):)

4

1 に答える 1

4

まず、Python を使用することを強くお勧めします。NLP ライブラリは Java よりもユーザー フレンドリーであり、1 人のプロジェクトで維持するコードが大幅に少なくて済むからです。

どちらの分類も頭の中で思いつくことはできないので、2 つの分類器 (1 つは主題用、もう 1 つは感情用) をトレーニングすることをお勧めします。データにラベルを付けて機能を定義する必要がありますが、特に「感情」という言葉の辞書を作成するセンチメントでは、それほど難しくないと思います。データにラベルを付けるのは面倒ですが、それと優れた機能があれば、適切な分類を行うことができます。

対象分類子:

Naive Bayes 分類器で NLTK を使用し、特徴を単語 (小文字)、および単語のバイグラムとトライグラムとして定義します。

センチメント分類子:

サブジェクト分類子と同じ機能ですが、単語 w が接続 c で感情辞書にあるという機能もあります。つまり、「悪い」という言葉は「悪い感情」を意味します。

十分なトレーニング/テスト データを収集したら、必要に応じて分類子をトレーニングし、機能を最適化します。その後、必要な他のデータに対して分類子を実行できます。

汎用ライブラリ (Java):

  • OpenNLP
  • リンパイプ
  • ウェカ
  • スタンフォードのもの

ライブラリ (Python):

  • NLTK
  • スキピー
于 2012-05-02T20:58:50.657 に答える