Twitter APIとMeCabで街コンのエゴサーチをした話


社会人2年目エンジニアの関です。

突然ですがリンクバルの主要サービスと言えば・・・そう「街コン」ですね。
日頃街コンジャパンという街コンのサイトを保守・運用しているわけですが、やはり一般ユーザからのサービスへの評価が一番気になるところです。
しかしユーザ一人一人にインタビューするわけにもいかないですし、Twitterとかでエゴサーチをしようにも情報量が多すぎていまいち価値のある評価が良く分からない。
そこで今回は、Twitter APIとMeCabを使って「街コン」に関するツイートの中からより重要な単語・ツイートを分析・発見していきたいと思います。

制作物は以下で公開しています。
APIキーの取得・設定などを事前に行ってください。
https://github.com/hseki-luckey/api-mecab

1. 事前に準備するもの
MeCab
日本語形態素解析エンジン。名前の由来は開発者の好物とのこと。
php-mecab
PHPでMeCabを使うためのモジュール。
(諸々の事情でMAMPで使えるように設定したのですが意外と苦労しました;)
TwistOAuth
Twitter APIでごにょごにょやるためのライブラリ。使い方は超簡単。

2. 収集・分析手法
① Twitter APIを使って街コンに関するツイートをキーワード検索・収集
検索キーワード:街コン(※http、https、拡散、RTを除外)

② TF-IDF法により各単語、各ツイートの重み(重要度)を計算
TF-IDF法についてはこことか参照してみてください。
詳しい理論などは省きますが、要はオリジナリティって大事だよね☆ってことです。
※ README.mdにも書いたのですが、意味の無い文字列を弾くために今回はツイートから一部を除く記号とアカウント名を排除しています。

③ ②の結果をもとに重要な単語・ツイートを分析・発見
スクリプト実行により自動生成される以下の3つのCSVを使っていきます。
◆ data.csv
Twitter APIにより取得したデータを格納。
最大5000件取得可能(今回の場合は4376件取得)。

◆ tfidf_avg.csv
各単語の平均TF-IDF値を格納。

◆ tfidf_list.csv
各ツイートのTF-IDFの合計値を格納。data.csvと対応。

3. TF-IDF値が上位だった単語
◆ 荒らし
今回TF-IDF値が最も高かった単語。
ちなみに「街コン 参加」だと「怒り」という単語が3位に来ており、マイナスな単語も上位にそこそこ見受けられました。良い意見より悪い意見の方が重要度が高い、ということでしょうか。

◆ さがそ
「街コンさがそ」というツイートから。
街コンをお探しの際はぜひ街コンジャパンのご利用を。素敵なイベントが見つかるはずです。

◆ ジュン
街コンに行く報告をした友人(ジュンくん)に反応した模様。

◆ めんど
人それぞれのめんどくさいと思うポイントが書かれていました。
「申し込んだものの行くのが…」か「出会ったはいいもののその後のお付き合いが…」の2つが多かったかと。

◆ 相殺
「街コン相殺拳」という何やら強そうなツイートから。
どんな必殺技か非常に気になります。

4. おわりに
やはり意外な単語ほど上位にランクインするようです。
逆に「出会い」「パーティー」「開催」「合コン」「友達」などの街コンと掛け合わせてよく使われる単語は、軒並み下位になっていました。
TF-IDF法自体はアンケート結果の分析などにも有効なので、機会があったら使ってみるといいのでは。
最後に。今回TF-IDFの合計値が最も高かったツイートから。

街コンで出会った人と上手くいくといいな

ぜひ皆様、一度街コンに参加してみてください。

☆.。:・★.。:・☆.。:☆.。:・★.。:・☆.。:・★.。:・☆☆.。:・★.。:・☆.。:☆.。:・★.。:*・☆☆

株式会社リンクバルでは一緒に働くエンジニアを募集中です!
気になった方はコチラまで!

☆.。:・★.。:・☆.。:☆.。:・★.。:・☆.。:・★.。:・☆☆.。:・★.。:・☆.。:☆.。:・★.。:*・☆☆