議員のtweetをトピック分析して可視化する
August 5, 2017
柏市議会議員のtweetをトピック分析してみました。
対象データ
柏市議会議員は定数36で現職36名なのですが、議員のアカウントとして確認できた6名分のtweetを対象にしています。
(私が見つけられなかっただけなので、もしアカウントがあれば教えてください :bow:
柏市議会議員を集めたtwitterのリストがあるので、そこから機械的にtweetを集めました。
2017年1月以降のtweetを対象にしたかったのですが、APIの制限なのか、6月ごろまでのものしか遡って取得できていません。 つまり、直近1,2ヶ月のtweetを分析したものとなります。
今回は、1 tweet = 1 document とみなします。
前処理
- URL文字列はノイズなので除去
- 取得したデータに対して mecab で形態素解析し、tweet内の名詞以外を除去
- 記号(pythonのstring.punctuationを除去)と頻度が1の単語を除去
LDA
LDA は gensimパッケージを使いました。 トピック数 10 で、イテレーション数やハイパーパラメータ等はデフォルト設定で実行しました。
こんな感じです。 URLや名詞以外の単語の除去は別スクリプトでやってます。
トピック数10にはあまり根拠がありません。えいっ、と決めました。 トピック数も推測してくれる HDP-LDA の存在は知ってはいるものの、ちゃんとモデルを理解していないので機会があれば(と言うかモデルを理解できたら)試してみたいです。
結果はこちらです。
d3-cloudでwordcloudを作ってみました。
同じ色が同じトピックで、トピック内での出現順位が上位な単語ほど文字サイズが大きくなるようにしています。
結果をざっと見ると、やはり"柏"は誰のtweetにも出てきています。 “原発"や"加計”、“共謀"といった国政の場で話題になるような単語が出ている人もいれば、“図書館”、“地域”、“子ども"などローカル感の出ている人もいます。 同じ単語(例えば"子ども”)が複数の色=トピックで出ているのは、文脈の違いでしょうか。
各議員の特徴が出ていて面白いです。