2012-05-02 12 views
4

私は夏休みプロジェクト用のJavaベースのWebアプリケーションで被写体抽出と感情分析を実行するNLPライブラリを探している大学生です。JavaベースのWebアプリケーションのNLPライブラリ(件名抽出+感情分析)

私は何をしようとしているのかについてちょっとした文脈をしています... Redditの投稿の見出しから主題を抽出するJavaベースのWebアプリケーションを構築したいと思っています。見出し(可能な場合)。

例入力:

  • Redditには、我々は 3460313に943702人の署名から抗SOPAの嘆願書を取りました。抗CISPA申請は691,768件であり、法案はSOPAよりも広範に である。バンプしてから、さらに対策を検討してみましょう または私たちの過去の努力は無駄です。私たちは前にそれをやった、私は が再びそれをするために呼び出されていることが怖いです。
  • 私の友人が彼を呼び出し「ミスター途方もなくフォトジェニックガイ」
  • 狂気:CISPAだけガットウェイさらに悪いことに、その後、急いで渡さ投票

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

私はframework/library/apiの推奨を探していますし、経験豊富なユーザーとの比較も優れています。 NLPとの私の経験、私はここに助けを求めている理由である、非常に限られている(PS:誰でもwww.nlp-class.orgの外に、より多くの学習のためのリソースを持っている場合、私に知らせてください!):)

答えて

4

まず、Pythonを使うことを強くお勧めします.NLPライブラリはJavaよりもユーザーフレンドリーであり、1人のプロジェクトのために維持するコードが少なくて済みます。私はどちらかの分類を行うには、私の頭の上から何も考えることはできません

、ので、私の勧告は2つの分類、対象に1つ、そして感情のための1つを訓練するだろう。データにラベルを付けて機能を定義する必要がありますが、それはあまり難しくないと思います。特に、感情の言葉の辞書を構築する感情では難しいと思います。データにラベルを付けることはお尻の痛みですが、それは良い分類はどのように優れた特徴があるかです。

テーマ分類:単純ベイズ分類器と

使用NLTK、ワード(小文字)としての機能を定義し、単語バイグラム及びトリグラム。

感情分類器:

同じ件名分類器として機能するだけでなく、接続Cと感情の辞書にある単語wを言う機能を持っています。だから、「悪い」という言葉は「悪い感情」を意味します。

あなたは十分な訓練/試験データを蓄積したら、あなたはあなたの分類を訓練し、必要に応じて、機能を最適化し、その後、あなたが望む他のどんなデータに対して分類器を実行することができます。

汎用ライブラリ(Javaの):

  • OpenNLP
  • LingPipe
  • ウェカ
  • スタンフォードのもの

ライブラリ(パイソン):

  • NLTK
  • Scipy