[解決済み] PythonによるTwitterのセンチメント分析 [終了しました]。
質問
私は、できればpythonで、次のようなオープンソースの実装を探しています。 テキスト感傷分析 ( http://en.wikipedia.org/wiki/Sentiment_analysis ). どなたか、私が使えるようなオープンソースの実装に詳しい方はいらっしゃいませんか?
私は、ある検索語、例えば"youtube"でtwitterを検索し、"happy"ツイートと"sad"ツイートをカウントするアプリケーションを書いているところです。 Googleのappengineを使用しているので、pythonで書かれています。twitterから返された検索結果を分類できるようにしたいので、pythonでそれを行いたいと思っています。 そのようなセンチメントアナライザは今のところ見つけることができず、特にpythonではありません。 私が使用することができるそのようなオープンソースの実装をご存知ですか?できれば、これはすでにpythonであるが、そうでなければ、私はそれをpythonに翻訳することができることを期待します。
私が分析しているテキストは非常に短く、それらはツイートです。ですから、理想的には、この分類器はそのような短いテキストに最適化されています。
ところで、twitter は検索で ":)" と ":(") 演算子をサポートしており、まさにこれを行うことを目的としていますが、残念ながら、これらによって提供される分類はそれほど優れていません。
ありがとうございます!
ちなみに、初期のデモは ここで で、今のところあるコードは ここで で、私は興味のある開発者と一緒にそれをオープンソースにしたいと思います。
どのように解決するのですか?
この種のアプリケーションのほとんどで、統計的分類タスクのために独自のコードの多くをロールバックする必要があります。Lucka が提案したように、NLTK は、あなたの目的がそのライセンスの非商業的性質を妨げない限り、Python での自然言語操作のための完璧なツールです。 しかし、私はモデリングには他のソフトウェアをお勧めします。 Pythonで利用できる強力で高度な機械学習モデルはあまり見当たりませんので、簡単に連携できるスタンドアロンバイナリをいくつか提案します。
あなたが興味を持つのは 高度な識別モデリング用ツールキット は、Pythonと簡単に連動させることができます。 これは、自然言語処理の様々な分野での分類タスクに使用されています。 また、多くの異なるモデルを選択することができます。 Naive Bayes分類器の実装に慣れているのであれば、Maximum Entropy分類から始めることをお勧めします。 そうでない場合は、機械学習タスクとしての統計的分類をきちんと理解するために、それを調べてコード化することをお勧めします。
テキサス大学オースティン校の計算言語学グループが開催したクラスでは、ほとんどのプロジェクトがこの素晴らしいツールを使用していました。 のコースページを見ることができます。 計算言語学 II のコースページを見て、どのように動作させるか、またどのような以前のアプリケーションで使用されてきたかを知ることができます。
同じように動作するもうひとつの素晴らしいツールは マレット . Malletとの違いは、ドキュメントがもう少し多いことと、決定木のような利用可能なモデルがあること、そしてJavaで書かれていることです(私の意見では、少し遅くなります)。 Weka は、さまざまな機械学習モデル一式をひとつの大きなパッケージにまとめたもので、グラフィカルなものも含まれていますが、これは本当にほとんど教育的な目的のためのもので、実稼働させるものではありません。
あなたのタスクがうまくいくといいですね。 本当に難しい部分は、おそらく、モデルが学習する「シードセット」を分類するために、前もって必要な知識工学の量です。 バイナリ分類 (幸せか悲しいか) を行うか、感情の全範囲を行うかによって、かなり大規模になる必要があります (これはさらに必要になります)。 この設計されたデータの一部をテスト用に保持するか、10倍または1倍除去テストを実行して、実際に良い仕事をしていることを確認してから、それを世に送り出してください。そして何より、楽しんでください。 これがNLPとAIの醍醐味だと私は思っています。
関連
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PythonでSVGからPNGに変換する
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] Python Logging でログメッセージが2回表示される件
-
[解決済み] PyQtアプリケーションのスレッド化。QtスレッドとPythonスレッドのどちらを使うか?
-
[解決済み] CSVデータを処理する際、1行目のデータを無視する方法を教えてください。
-
[解決済み] djangoフレームワークでフォームフィールドから値を取得するには?
-
[解決済み] Pythonによる一対のクロスプロダクト [重複] (英語)
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] Flaskで非同期タスクを作る
-
[解決済み] Python の sorted() はどのようなアルゴリズムを使っているのですか?重複