Twitterデータを用いたソーシャル分析!

こんにちは、はじめまして。ATLの です。

現在私は、ソーシャル上での情報伝播を分析することでどのような効果が得られるか、を手法を含めて調査、検討及び開発を行っています。その中で今回、Twitter上での弊社某アプリに関し、伝播状況を可視化して分析をしているのですが、そのやり方についてご説明します。

1)使っているデータについて

データは過去三ヶ月分を、以前より契約をしている Datasift社のサービスを使って取得しました。

このとき、本文、あるいはlinkの中に、当該のアプリ名を含むtweet、およびこれらのtweetに対するreplyをすべて抽出しています。

2) モデルについて

Twitterのデータは、当然ながらやり取りされるTweetを単位としたものとなっていますが、今回はこれを人でグルーピングし、「時間経過のある人のネットワーク」としています。

そしてこれを、既存の複雑ネットワークの手法を用いて分析を行っています。つまり、人をネットワークのノードに、公式retweet、非公式retweet、reply、mentionなどを、伝播行為とみなし、ネットワークのエッジとして定義しています。

このようなルールを、先に入手していたデータに対して適用し、gexfファイルを作成するプログラムを作って処理を行いました。

3) 静止画を作る

上記のモデルを可視化するため、gephi-toolkitというネットワークを可視化するOSSを使いました

また、各種パラメータの設定はこちらを参考にしました。

4) 動画にする

gephi-toolkitが計算してくれた時系列layoutをプログラムによりキャプチャし、SVG形式で出力します。さらに、この一連のSVGファイルをjpegへ変換、これらをつなげて掲示しているmpeg動画を作っています。

なお、この動画の中では、左端に「Topユーザー10人のつぶやき」も表示するようにしていますが、ここでは、複雑ネットワークの次数中心性(degree centrality)を用い、単純に中心性の高い人を選出しています。

今回、うまくある程度の規模で伝播する状況をまじかにウォッチすることができ、これを可視化、分析できたことはとてもラッキーでした。今後、先の変換プログ ラム(2)や動画化プログラム(3や4)については、オープンソース化も検討していますが、いち早く試してみたい、などあれば @rtech_atl までお問い合わせください!