でかいチーズをベーグルする

でかいチーズはベーグルすべきです。

WWW2015でポスター発表した

WWW2015でポスター発表してきた。WWWは以前聴講だけで参加したことがあって、今回はポスターだったので、次回はフルペーパーで発表したい。今回のポスターのタイトルは"Why Do You Follow Him? Multilinear Analysis on Twitter"。キャッチーなタイトルにしたいなーと思ってあれこれ考えた結果結局ありがちなタイトルになった笑

今回の発表はTwitterにおいてユーザが他のユーザをフォローする理由を分析しましょうというもの。以前から@ceekzさんと一緒にTwitterのデータ使った研究しましょうと言ってたのでようやく一つ発表できた。基本的には@ceekzさんにデータの収集と基本的な分析をしてもらって、僕が持ってたちょっとしたアイデアテンソル分解)を試してみた感じ。

この発表に関するリソースは以下のとおり。

データ:http://dx.doi.org/10.5281/zenodo.13966

コード:yamaguchiyuto/tagf · GitHub

ポスター:http://www.kde.cs.tsukuba.ac.jp/~yuto/resources/www2015/www15_poster.pdf

論文:http://www.www2015.it/documents/proceedings/companion/p137.pdf

概要

目的はユーザAがBをフォローした時の理由を明らかにすること。

これをリストデータを使って分析する。Twitterユーザは他のユーザのリストを作ることができるんだけど、この発表ではそれをタグ付けと捉える。つまり、例えばユーザAが「スポーツ」っていうリストを作ってユーザBをそのリストに加えた時、AはBを「スポーツ」というタグでタグ付けしたとみなす。

この「タグ付け関係」を表すグラフを考える。ノードはユーザで、エッジはタグ付け関係。それぞれのタグには対応するタグ(単語)がラベルとして付いている。またそれに加えてユーザの「フォロー関係」のグラフも用意する。同様にノードはユーザで、エッジはフォロー関係。エッジのラベルはない。

んで、グラフをテンソルにする。タグ付け関係のグラフは3階テンソル、フォロー関係のグラフは2階テンソル、つまり行列になる。タグのテンソルは(ユーザ、ユーザ、タグ)という三つ組を表し、フォロー行列は(ユーザ、ユーザ)のペアを表す。

f:id:yamaguchiyuto:20150530224856p:plain

ここからが(ちょっと)新しいんだけど、これらのテンソルと行列の軸を合わせて貼り合わせる。ここではユーザの二軸が対応してるので、その軸に合わせて貼り合わせる。イメージは図の通り。そしてこの張り合わさったテンソルと行列に対してテンソル分解をかけて潜在パターンを見つけ出す。

出てきた潜在パターンがあら不思議!ユーザがユーザをフォローしてる理由になってますね。すごーい。というお話でした。詳細は論文を読んでね!2ページだけだし。

貢献

  • ユーザ間のタグ付け(リスト)関係、フォロー関係のデータを収集、公開した(こちらは@ceekzさんの成果)
  • フォローの理由を分析するためにタグ付けおよびフォロー関係をテンソルで表して分解するという手法を提案した
  • 上記のデータをつかって実験をして、結果として出てきたいろんな潜在パターンを定性的に評価した