Twitter分析!プログラミングに関するツイートを分析してみた

プログラミング
この記事は約8分で読めます。

Pythonを使ってTwitter分析してみました!

 

この記事では、2019年5月17~18日間の丸一日で、”プログラミング”というキーワードで検索し収集したツイート約6100件を分析してみた結果を報告します。

分析した方法は、PythonとMeCabを使い、ツイートに含まれる単語を抽出し、頻出度(どのくらいその単語が使われているか)を調べる方法です。

結論から言いますと、バズツイートの影響が想像以上だったため、上位頻出単語が全てバズツイートに含まれる単語になってしまいました。

 

ですが、今回せっかくコードをつくったし、もう少しツイートの収集精度を高めれば使えそうなので、この記事で公開したいと思った次第です。

私は自由研究のレポートとして書いているので気軽に読んでいただければと思います。

なお、私がつくったコードも公開しております。(ここから飛べます)興味のある方はぜひ使ってみてくださいね。

 

スポンサーリンク

■”プログラミング”に関するツイート約6100件を分析した結果【Python】

Pythonで”プログラミング”というキーワードに関するツイート約6100件を分析してみました。

まず初めに、今回やったことの概要をまとめておきます。

<今回やったことの概要>

<手順>

  1. “プログラミング”に関するツイートを丸一日検索
  2. エラーになるデータを人力で除外(コード公開項にて詳しく書きます。)
  3. MeCabで形態素解析、よく使われる単語をカウント
  4. 無意味な単語を人力で除外

<取得したツイートに関して>

・TwitterAPIにより、”プログラミング”で検索

・重複しないツイート:6107件(ツイート固有のidで判別)

・RT・引用ツイートも上記のツイート数に含まれる

・2019年5月17日~18日に収集

※以上を読んでいただければわかりますが、エラー、無意味な単語の除外は人力で行いました。なので、全自動というよりは半自動のコードとなっています。

 

・頻出度の高い単語は?

プログラミングというキーワードでヒットしたツイートを分析した結果、上位30位の最頻出単語は以下のようになりました。

 

順位 キーワード 使用回数(回)
1 プログラミング 6576
2 流産 3953
3 初期 2641
4 責任 1349
5 原因 1331
6 残業 1320
7 排卵 1318
8 ガチャガチャ 1318
9 発育 1318
10 ランダム 1318
11 受精 1317
12(バズツイートを除くと実質1位) 言語 602
13 勉強 509
14 学習 468
15 エンジニア 464
16 放送 380
17 プロスタ 378
18 日テレ 366
19 今日 334
20 BS 299
21 ブログ 283
22 自分 282
23 経験 262
24 IT 252
25 仕事 248
26 情報 226
27 時間 223
28 初心者 217
29 Progate 216
30 スクール 207

 

 

※上位2位~11位のキーワードは、以下の宋美玄さんのバズツイートに含まれる単語です。

今回動かしたコードではRT・引用ツイートも1つのツイートとしてカウントするようにつくったので、バズった場合でも考慮しないでツイートを収集してみました。

たまたま、”プログラミング”というキーワードが含まれていたため、検索に引っかかったようです。

 

 

そのため、バズツイートを加味しない場合の実質もっともよく使われた単語は、”言語”(602回)ということになりました。

次いで”勉強”(509回)”学習”(468回)となっています。

 

実は、この分析を行う前に同様の手順で100件のツイートを分析してました。

この100件の分析したときも、”勉強”や”学習”といったキーワードは上位に来ていたので、ほぼ予想通りの結果になりました。

 

・この分析からわかったこと

以下、今回分析してみてわかったことのまとめです。

 

・プログラミング学習者が積極的にツイートしている

バズツイートを除外すると、上にあった表の上位5つは以下のようになります。

1 言語 602
2 勉強 509
3 学習 468
4 エンジニア 464
5 放送 380

 

つまり、プログラミング学習のツイートが多い結果となりました。

プログラミングを学習していることに関するツイートはよく目にしていたのですが、データとして実際に多いことがわかりました。

いいねやRTがたくさん欲しい場合は、学習者へ向けてのメッセージを送るとニーズが満たせそうですね。

 

・バズツイートの与える影響は大きい!

今回やってみて得られたことの中で1番大きいのが、バズツイートの影響を実感したことです。

そもそもRT・引用ツイートを重複するツイートとして除外しなかったのは、たとえバズツイートが含まれていても、影響は少ないだろうと考えていたからでした。

結果としてみれば、今回収集したツイートの約30%以上がバズツイートに関するもので、予想をはるかに超えた結果となっています。

 

Twitter分析を行う際は、バズツイートに対する対処もしていく必要がありそうですね。それか長い期間でツイートを収集する必要がありそうです。

 

 

スポンサーリンク

■今回つくったコードを公開!

今回つかったコードを以下にまとめます。

ツイート収集用と自動化用、頻出度カウント用の3つあります。

 

・ツイート収集用コード

ツイートを検索してTweetsdata.csvというCSVファイルに保存します。

 

検索にはTwitterAPIを使っています。まだアクセスキーを持っていない方は、以下の記事を参考に申請してみてください。

※無料で申請、取得できます。

Twitter APIを使うための手順【2019年最新版】

 

ちなみにTweetsdata.csvというファイルを始めに読み込む必要があるので、あらかじめCSVファイルを作成しておく必要があります。

 

・自動化用コード

ツイート収集用コードを自動化するコードです。(5).minutesの部分を変更することで、検索する頻度を変更できます。

TwitterAPIを使う際は、15分180回のリクエスト制限があるので注意して下さい。

つまり、5秒に1回が最大のリクエスト上限です。

 

・頻出度カウント用コード

 

読み込んだCSVファイル内のツイートテキストのみを抽出し、単語を辞書リストへ追加していきます。

辞書リストは、(”単語” : 頻出カウント数)のようになっており、最終的にwordcount_dic_tweettext.csvのCSVファイルに結果を出力します。

ここで紹介したコードはそのままでも動きますが、バズツイートへの対処などが別途必要になると思います。

 

 

スポンサーリンク

■まとめ

今回プログラミングに関するツイートを調べてみたわけですが、丸一日では6000件ほどしか収集できないことがわかりました。

TwitterAPIを使えば最大1時間当たり72000件のツイートを取得できるので、データ収集の方法から考える必要がありそうです。

 

今回は以上になります。最後まで読んでいただきありがとうございました。

 

プログラミングやTwitter分析に興味のある方におすすめの記事です。

Twitter APIの申請手順まとめ【2019年最新版】

 

Twitterのツイートをプログラミングで取得する際はTwittterAPI(Twitter公式かつ無料のAPI)が便利です。以下の記事を読みつつ申請すれば簡単に使うことができます。

Pythonでツイートを取得する方法【Twitter分析】

 

 

PythonでDeepLearningしたいなら持っておきたい1冊。ニューラルネットワークのつくり方から学べます。

ゼロから作るDeep Learning ❷ ―自然言語処理編

ゼロから作るDeep Learning ❷ ―自然言語処理編

斎藤 康毅
3,960円(04/25 13:36時点)
Amazonの情報を掲載しています
タイトルとURLをコピーしました