自分のツイートから名詞一覧を取得する方法+いいねが多いツイートの分析

Python
Nishipy
せっかくMeCabをGoogle Colabで使えるようにしたので、久々にツイートの分析をしてみます。

1. はじめに

前回やったこと

↓の記事で、私(@iamnishipy)の全てのツイートを取得し、いいねが多いツイートの傾向について簡単に考察しました。
結果として、画像つきのツイートはいいねが多い傾向にあることがわかりました。私の写真のセンスがいいだけかも知れないので、参考程度にご覧ください。

Pythonで自分のツイートをすべて取得する方法と、いいねが多いツイートの特徴
Nishipy本ブログ用に作ったTwitterアカウントのフォロワーが1000人を超えました!良い節目ですので、自分の今までのツイートをスクレイピングします。そして、"いいね"数が多いツイートの傾向について、見ていきます。...(続く)

今回やること

だいたい以下のようなことを行います。

  • 自分の全ツイート取得
  • 各ツイートの名詞と関連する情報の取得
    • ツイートに出現した名詞
    • 名詞ごとの出現回数
    • 名詞ごとに獲得したいいね数
  • いいねに貢献する名詞を分析


2. 自分の全ツイート取得

まず、自分の全ツイートを取得します。Twitter APIを利用した取得方法については、↓の記事を参照してください。
Twitterアカウント固有の認証情報を使うため、Google Colab等のクラウド上ではなく、ローカルで実行するのが良いでしょう。

[初心者向け]TwitterのAPIを使う方法!開発者アカウント申請と認証情報取得
NishipyTwitterのAPIを使うまでの手順を解説します。いいねの数や、リツイートの数をAPIで取得できるので、SNSを用いたマーケティング等にも活かしたいですね。1. Twitter APIとは?APIとは、「アプ...(続く)
Pythonで自分のツイートをすべて取得する方法と、いいねが多いツイートの特徴
Nishipy本ブログ用に作ったTwitterアカウントのフォロワーが1000人を超えました!良い節目ですので、自分の今までのツイートをスクレイピングします。そして、"いいね"数が多いツイートの傾向について、見ていきます。...(続く)

今回は、ツイート内容を取得する際、URLが含まれないようにしています。URLが上手く分かち書きできず、名詞を抽出する際に邪魔だから。
コードは以下のようにしています。↑の記事と同様に、認証情報は別ファイルに変数として保存してあります。
全ツイートの情報は、csvファイルとして取得します。

全ツイートをまとめたcsvファイルを、Google Colabに移して、pandas.DataFrame

3. 各ツイートの名詞と関連する情報の取得

以下の情報を、pandas.DataFrameとして取得します。

  • ツイートに出現した名詞
  • 名詞ごとの出現回数
  • 名詞ごとに獲得したいいね数


ここで「名詞ごとに獲得したいいね数」は、その名詞が含まれたツイートが獲得したいいね数を合計した値とします。
例えば、こんな2つのツイートがあったとき

# ツイート いいね数
1 リンゴとミカンがおいしい 10
2 やっぱりリンゴが好きです。ブドウも。 20

→ 「名詞ごとに獲得したいいね数」は、以下のように定めます。

# 名詞 いいね数 備考
1 リンゴ 30 ツイート#1にもツイート#2にも出現(10+20)
2 ミカン 10 ツイート#1にのみ出現
3 ブドウ 20 ツイート#2にのみ出現

集計するためのコードは、こんな感じにしました。もっとうまい方法が知っている方がいれば、ご教示下さい。
出力結果はこんな感じです。MeCabによると2288個の名詞が出てきたらしいです。

MeCabの使い方は、こちらをご参照ください。

Google ColabでMeCabを使うまで。node.surfaceバグへの対処添え
NishipyMeCabをGoogle Colabで使いたくなったときの備忘録です。2019年1月時点の最新バージョンだと、node.surfaceがうまく動かないことに注意します。1. はじめにMeCabとはWikipe...(続く)

(2288, 3)

4. いいねに貢献する名詞を分析

集計結果を元に、簡単に考察していきます。

いいね数と出現回数の関係

名詞ごとに出現回数と、獲得したいいね数を描画してみます。

  • 全てプロットしてみます。annotateで、重要そうな点には、ラベルを表示します。

パッとみた感じ

私のフォロワーの方々は、以下のようなツイートを比較的「いいね」と思う気がする。

  • 本の話
  • 最近の話
  • 転職の話
  • 転職エージェントの話
  • Pythonの話
  • 統計の話
  • Ansibleの話
  • 特徴量の話
  • 〇〇学の話


5. さいごに

今後やりたいこと

  • word2vec実装
  • WordCloud試す
  • いいね数予測モデル構築

以上

コメント