プログラミング

PythonでTwitterからツイートを取得してテキスト分析(wordcloud+頻出語句カウント)

PythonでTwitterからツイートを取得して、テキストを分析して、出現頻度が多い単語を簡単に取得します。
また環境はAWSのCloud9を利用しておりますので、WindowsやMac等の端末で利用する場合は、手順が異なりますので、ご注意ください。

https://aws.amazon.com/jp/cloud9/

流れとしては、

  1. 事前準備(Twietter開発キーを取得・モジュールの導入)
  2. Twitterからツイートをcsvへ出力
  3. 出力したCSVファイルを分析する

です。

【事前準備】PythonでTwitterからツイートを取得・分析

事前準備は以下の順序で進めていきます。

  1. Twitter APIを使用するためのアカウント申請
  2. tweepyのインストール
  3. tMecabのインストール
  4. tWordCloudのインストール

Twitter APIを使用するためのアカウント申請

Twitter APIを実行するには、開発者情報を申請し、「Consumer API Keys」、「アクセストークン情報」の情報を取得する必要があります。

すべて英語であったため、申請には一苦労ですが、頑張って必須項目を入力します。

私はGoogle翻訳しながら、頑張りましたが、詳細に説明して頂いているサイトがありましたので、手順通りにやれば、申請が完了します。

https://qiita.com/kngsym2018/items/2524d21455aac111cdee

tweepyのインストール

■以下のコマンドを実行

■実行結果

 

 

導入後に、実際にTweepyでデータが取得できるか確認しましょう。確認するためのソースは以下の参照サイトを利用ください。

参照:qiita Tweepyでツイートを取得

 

私自身のツイートを取得したものは以下となります。

Mecabのインストール

Mecabのインストールには、以下のコマンドを実行します。

 

 

WordCloudのインストール

WordCloudをインストールします。

以下のような結果となります。

Mecabが正常に動作するか確認します。

【データ取得】Twitterのツイートデータをcsvに出力するpythonスクリプト(tweepy)

データ取得に際しては、以下を参考にしました。
https://qiita.com/i_am_miko/items/a2e5168e619ed37afeb9

あと、ツイート数が多い場合は、エラーとなるため、エラーとなった場合は15分間待つ必要があります。
https://qiita.com/non-caffeine/items/299cccf22d074ad27466

 

【データ分析】出力したTwitterデータをMeCabで形態素解析で抽出し、pythonで見える化

jupiter Notebookを利用して、いいね数が平均以上の対象を取りだす。

jupyter Notebookの設定方法は以下を確認ください。

【Cloud9】Jupyter Notebook環境をnumpy簡単にセットアップCloud9上のJupyter Notebookで、numpyを使用する場合は、ライブラリのインストール作業が必要となります。インストー...

jupyter Notebookを用いて、いいねの平均値を取得し、平均値以上のツイートのみを分析対象としております。

WordCloud・頻出語句を取得し、図示するPythonスクリプトを実行する

WordCloudと頻出語句を取得するスクリプトは以下となります。

 

実際に取得して、分析した結果は以下を参考にしてみてください。まこなり社長のツイート分析をしたものがありますので、楽しんでみていただければと思います。

WordCloudで図示してもの。

TOP20の頻出単語を抽出したもの。

詳細は以下にまとめております。

テックキャンプAIコースで学習し、まこなり社長ツイッターを分析してみた!! とはいえ、 AIなんて難しいから、私には無理だ。 最近データサイエンティストとか流行っているが、私には関係な...

【まとめ】PythonでTwitterからツイートを取得・分析すると傾向が見える

結果としては、頻出語は以下となりました。Pythonを利用すれば、簡単に頻出語を取得し、どのようなツイートをしているのかということが分析することができます。

 

また簡単に図示もすることができるので、データ分析をする助けにもなりますね。あなたも気になったデータがあれば、データの傾向がどうなっているのか?といったことを分析してみるのもいいかもしれません。

 

ABOUT ME
みるみる
みるみる
【日々人生をおもしろくするには!?】をモットーに生きてます。 30代中盤のIT企業に勤めるサラリーマンです。 『メンタル』:心理学や実生活で役立つこと。 『IT』:効率化やITを使った自動化・手間の削減 『ダイエット』:細マッチョを目指して、健康的に食事と運動を。