1. ホーム
  2. python

[解決済み] PythonによるTwitterのセンチメント分析 [終了しました]。

2023-04-18 13:47:56

質問

私は、できれば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の醍醐味だと私は思っています。