平成22年度卒業論文...

43
平成22年度卒業論文 Twitterにおける リツイート経路の可視化とユーザ発見支援 情報通信工学科 情報通信システム学講座 0710025 太田侑介 指導教員 寺田 実 准教授 提出日 2011年 1月28日

Upload: ngonhi

Post on 01-Jul-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

平成22年度卒業論文

Twitterにおけるリツイート経路の可視化とユーザ発見支援

情報通信工学科 情報通信システム学講座

0710025 太田侑介

指導教員 寺田 実 准教授

提出日 2011年 1月28日

1

概要

目的

?? 近年, Twitterが普及してきた. Twitterをよりよく利用するためには, ユーザは同一の興味を持つ他の

ユーザを探す必要が出てくる. Twitterのリツイートという機能に着目すると, リツイートを行なったユー

ザ達は同一の興味を持っていると考えられる. 本研究では, リツイートがどのように伝播したかを可視化す

ることで, 同一の興味を持つユーザの発見を支援した.

方法

本研究では, 一つ一つのリツイート伝播経路情報を可視化したリツイート経路木と複数のリツイート情報

を重ね合わせて可視化したオーバーラップグラフを提示した. 前者では, リツイートをより広めているユー

ザや自分と関係が近いユーザの発見に繋がっている. 後者では, 複数のリツイート情報に存在している潜在

的なユーザなどの発見に繋がっている.

結論

評価実験の結果より, リツイート経路木のアンケートにおいて, 自分の親からリツイートした別のユーザ

やリツイート元がよく選択された結果となった. また, オーバーラップグラフの結果については, 登場回数の

多いユーザなど, 複数リツイート情報からでないと発見できないような潜在的なフォロー対象ユーザを発見

することができた. これらは, 本システムの意図した結果であり, リツイートの経路情報が興味の近いユー

ザ発見に繋がっていることが示された.

2

目 次

第 1章 序論 7

1.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2 問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3 着眼点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.4 目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.5 論文構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

第 2章 Twitter 10

2.1 モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2 用語 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2.1 ツイート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2.2 フォロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2.3 タイムライン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2.4 リプライ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2.5 ハッシュタグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.6 リスト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.7 お気に入り . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3 リツイート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3.1 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3.2 公式リツイート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3.3 非公式リツイート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3.4 公式と非公式の違い . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.4 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.5 OAuth認証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

第 3章 関連研究 15

3.1 boydらの研究 [1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1.1 本研究との関連 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2 Sysomos社の報告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.3 Twitterのソーシャルグラフ解析サービス . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.3.1 Mentionmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.3.2 Correlatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.3.3 viratter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3

第 4章 提示システム 19

4.1 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.2 リツイート経路木 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.2.1 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.2.2 考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.3 オーバーラップグラフ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.3.1 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.3.2 考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.4 システム全体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.4.1 マウス操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.4.2 グラフ表示エリア . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.4.3 リツイート情報エリア . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.4.4 ユーザ情報エリア . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.4.5 ノード検索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.4.6 表示グラフ変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.4.7 エッジ選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

第 5章 実装 26

5.1 開発環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.1.1 Twitter4j . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.1.2 JUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.2 処理の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.3 API制限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.4 リツイート経路木構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.4.1 リツイートの経路推定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.4.2 リツイート経路の取得 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.4.3 Twitter API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.4.4 リツイート経路木の構成方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.4.5 グラフ装飾 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.5 オーバーラップグラフ構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.5.1 オーバーラップグラフの必要情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.5.2 グラフの構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.6 グラフの装飾 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.7 現状の仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.7.1 TwitterAPIの利用制限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.7.2 リツイート経路情報の消失 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

第 6章 評価実験 33

6.1 評価方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6.1.1 タスク 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6.1.2 タスク 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6.2 被験者 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6.3 アンケート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4

6.4 結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

6.4.1 タスク 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

6.4.2 タスク 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

6.5 考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

6.5.1 リツイート経路木 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

6.5.2 オーバーラップグラフ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

第 7章 結論 39

7.1 結論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

7.2 今後の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

7.2.1 リツイート経路木の改善 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

7.2.2 オーバーラップグラフの改善 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

7.2.3 情報取得 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

7.2.4 リツイート情報取得 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

7.2.5 非公式リツイートの対応 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

7.2.6 他のサービスへの応用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

参考文献 42

5

図 目 次

1.1 Twitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1 リプライをした例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2 ハッシュタグを付けて発言した例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3 リツイート例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.4 公式リツイート例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.5 非公式リツイート例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.6 OAuth認証例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1 mentionmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2 Correlatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.3 viratter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.1 リツイート経路木 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.2 オーバーラップグラフ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.3 システム全体図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.1 システムの流れ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.2 経路構成例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.3 3つのリツイート経路木 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.4 オーバーラップグラフ例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

6

表 目 次

4.1 マウス操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.1 メソッド及び APIの情報取得対応表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

6.1 質問 1~3の結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

6.2 質問 4の結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

6.3 質問 1~3の結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

6.4 質問 4の結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

7

第1章 序論

1.1 背景

近年, Twitter1が普及してきた. Twitterは「ツイート」という 140文字以内の短いメッセージのやり取

りで友達や家族, 同僚, 自分と繋がっているユーザなどと情報交換を行えるサービスである. Twitterの詳細

は 2章で述べる. ユーザは他のユーザを「フォロー」することで, そのユーザのツイートを自分のタイムラ

イン上に表示して見ることができる. ユーザは身近な出来事やふと思ったこと, また広く主張したいことま

でツイートすることができ, 簡単に自己主張することができる. 近年では, 海外や国内の著名人も利用する

ようになり, 利用者が増えている. また, 多くのユーザやニュースサイトをフォローすることで, 自分のタイ

ムラインに様々な情報が集まってくるので情報収集のためにも有用である.

Twitterには基本的な機能として, 他のユーザのツイートに対する返事をする「リプライ」や気に入った

ツイートを自分のフォロワーに見せる「リツイート」などがある. それぞれの機能がユーザ間の繋がりを強

化していく. 他のユーザをフォローすることは, グラフ理論においてユーザをノードとすると, ノード間に

単方向のエッジを繋ぐこととなる. このため, Twitterにおいてユーザのフォロー, フォロワーの関係から

ソーシャルグラフが浮かび上がる.

図 1.1: Twitter

1http://twitter.com/

第 1章 序論 8

1.2 問題

Twitterを利用していく上で, ユーザは他のユーザをフォローしていく. そのため, ユーザはフォローすべ

き他のユーザを見つける必要が出てくる. ユーザがフォローしたいと思う対象は, 以下のようなユーザが挙

げられる.

• 自分と興味が合うユーザ

• 現実世界において知り合いであるユーザ

• 著名なユーザ

• ニュースサイトの記事などを定期的に発言するアカウント

プログラムで定期的にニュースなどをつぶやくアカウントは botと呼ばれている. ここで, 著名なユーザ

や botなどはユーザが能動的に調べやすい. だが, 自分と興味が合うユーザを探す場合は容易ではない. ユー

ザのプロフィールやツイート内容から興味の判断は可能であるが, その場合わざわざ自分で見て吟味すると

いう手間が発生する.

また, 特定のキーワードやハッシュタグ (2.2.5)で検索をすることや参加しているリスト (2.2.6)を参照す

る方法がある. だが, 検索するキーワードやハッシュタグを適切に選択しなければ効果が少ない.

1.3 着眼点

そこで, 本研究ではリツイートという機能に着目した. リツイートを行ったユーザは, そのツイートに対

して興味を持っており, 他のユーザに内容を広げたいと考えている. つまり, 同じツイートに対して自分も

リツイートを行った場合, 興味が似ていると考えられる. このことより, リツイートを見るだけで, 同様の趣

味趣向を持った集団を発見することができる. また, リツイートは自分がフォローしているユーザから流れ

てくるので, 受動的にその情報を得ることが可能である. さらに, リツイートを行っているユーザは, 自分の

興味あることを他のユーザに伝えようと Twitterを積極的に利用していることから, すでに Twitterに飽き

て利用しないユーザと区別することができる.

1.4 目的

誰がリツイートを行ったかは Twitterで調べることができる. だが, 具体的にどのようにしてリツイート

が自分の所に伝播してきたかや, 誰からよくリツイートされたかなどの情報は明確でない. そこで本研究で

は, リツイートの経路を可視化することでそれらの情報を読み取ることを可能とし, 自分と興味の近いユー

ザを発見支援, すなわちフォロー対象者発見支援に役立てた.

1.5 論文構成

本論文の構成概略を以下に示す.

第 2章では, Twitterについて述べる.

第 3章では, 本研究との関連研究, システムについて述べる.

第 4章では, 本研究で作成したシステムの概要について述べる.

第 1章 序論 9

第 5章では, 本研究で作成したシステムの実装について述べる.

第 6章では, 評価実験とその考察について述べる.

第 7章では, 結論と今後のことについて述べる.

10

第2章 Twitter

2.1 モデル

Twitterはツイートと呼ばれる 140文字のメッセージから成り立つ情報ネットワークである. ユーザは日

常の何気ないことをツイートして, 他のユーザに発信する. ブログとは違い, リアルタイムですぐ他のユー

ザからの返答などがあり, ユーザ間の交流が活発になりやすい. ユーザは他のユーザをフォローすることで

関係が繋がる.

2.2 用語

2.2.1 ツイート

140字以内のメッセージ, またはそれを投稿する行為のことである.

2.2.2 フォロー

他のユーザのツイートを自分のタイムライン上で閲覧できるように登録することである. ユーザは他人を

フォローすることで一方方向の関係が結ばれ, 互いにフォローし合うことで相互関係ができる.

2.2.3 タイムライン

リアルタイムに表示されるツイートの一覧である. ユーザが Twitterにログインすると, 自分のタイムラ

インであるホームタイムラインの画面に行く. ホームタイムラインには, 自分と自分がフォローしている人

のツイートの一覧が表示されている.

2.2.4 リプライ

図 2.1: リプライをした例

特定のユーザに対して発言するときに使う機能である. @の後にユーザ名を入れて発言することで利用で

きる. リプライをつけたツイートは, リプライ先のユーザが見ることができる. また, リプライ元とリプラ

第 2章 Twitter 11

イ先をフォローしているユーザのタイムライン上にも表示される. そのため, 相互にフォローし合っている

ユーザ間でそのツイートを共有することができる.

2.2.5 ハッシュタグ

図 2.2: ハッシュタグを付けて発言した例

ハッシュタグは#から始まる文字列で, ツイートでキーワードや話題を明示的に表現するために使われる.

同一のハッシュタグを付けているツイートはこれでカテゴライズされる. ハッシュタグで検索すると, 同一

のイベントに参加しているユーザや同一の興味を持つユーザなどの様々な意見を見ることができる.

2.2.6 リスト

アカウント上にて特定のユーザーをグループ化する機能である. リストは各々のユーザが作成することが

できる. リストを参照すると, そのリストがフォローしているユーザのみを表示したタイムラインを見るこ

とができる. よって, ユーザはリスト機能を使うことで, 自分がチェックしたいユーザのみをまとめることが

できる.

2.2.7 お気に入り

自分の気に入ったツイートを保存する機能である. ユーザが特定のツイートを後から参照したりするとき

に利用される.

第 2章 Twitter 12

2.3 リツイート

2.3.1 概要

図 2.3: リツイート例

リツイートは, 他人のツイートを自分のツイートとして再投稿するということである. これにより, リツ

イートしたツイートを自分のフォロワーに見せることができる. リツイートには, 公式リツイートと非公式

リツイートと呼ばれる二種類の方法がある.

2.3.2 公式リツイート

図 2.4: 公式リツイート例

これは, 元のツイートの内容を変えずにそのまま再投稿するリツイートである. 元々リツイートはTwitter

ユーザが独自に行っていた行為で, 後に公式にリツイート機能が追加された. 公式リツイートは Twitterの

リツイートボタンを押すことで行うことができる.

第 2章 Twitter 13

図 2.5: 非公式リツイート例

2.3.3 非公式リツイート

これは, 元のツイートにその投稿者名と文を追加して再投稿するリツイートである. 非公式リツイートは

公式リツイートが出てくる前に使われていたリツイートであり, 現在も多くのユーザが使っている. 文を追

加することができるので, そのツイートに対しての意見などを書くことが可能である. また, 慣習として先

頭に「RT」や「QT」などをつけることが多く, その定義は定まっていない.

2.3.4 公式と非公式の違い

二つのリツイートの大きな違いは文を追加するかどうかである. 非公式の場合, リツイートしたユーザの

意見を見ることができ, よりそのユーザのことを知ることができる. だが, リツイートが長く続くと, ツイー

トの字数制限によって続けることができなくなる. その場合は, 初期のユーザの情報が消されたりして, 誰

がリツイートしたかが不明になることがある. このため, 状況に応じて使い分けられていることが多い.

2.4 API

Twitter では, Twitter の様々な情報を利用するための API が提供されている. 本システムにおいて,

Twitterの APIを利用して得る情報は, ユーザのフォローリスト, ログインユーザによるリツイートリスト,

ユーザがリツイートした時間である.

2.5 OAuth認証

本システムを使用するにあたって, ユーザ認証として OAuth認証を利用している. OAuth認証では直接

Twitterでのパスワードを利用せず, 与えられるアクセストークンを利用するため, パスワードの保護に繋

がる. 例として, Twitterのアプリケーションを OAuth認証を行って利用する手順を以下に示す.

1. アプリを Twitterに登録して, コンシューマーキーとコンシューマーシークレット取得

2. ユーザがアプリを起動

3. アプリが Twitterにコンシューマーキー, コンシューマーシークレットを渡す

4. Twitterがリクエストトークン, リクエストシークレットを発行

5. アプリはユーザにリクエストトークン, リクエストシークレットを渡し, Twitterでの認証ページに

誘導

6. ユーザが認証後, 認証鍵を取得でき, ユーザはアプリにリダイレクトされる

7. 認証鍵とリクエストトークン, リクエストシークレットを Twitterに渡す

第 2章 Twitter 14

図 2.6: OAuth認証例

8. Twitterからアクセストークンとアクセスシークレットを取得

今回は, Twitter developers2にてアプリを登録し, アクセストークン, アクセスシークレットを得た.

2http://dev.twitter.com/

15

第3章 関連研究

3.1 boydらの研究 [1]

boydらの研究において, リツイートについて深く言及している. 彼らは, パブリックタイムラインから取

得したツイートやリツイート, また彼らのアカウントのフォロワーに質問をすることでリツイートについて

研究を行なった. その中で, 彼らは人がリツイートを行なう理由を以下のように述べている.

• ツイートを他の人に広めるため

• 特定の人に知らせたり楽しませるため

• ツイートに対して新しい文を追加してコメントするため

• 自分が聴衆として聞いていると証明するため

• 公にそのことについて同意するため

• 他の人の考えを検証するため

• 注意を引くことで友情を示すため

• 注目されない人やツイートを認識させるため

• フォロワーを増やすため

• 個人的にツイートを保存するため

3.1.1 本研究との関連

本研究ではリツイートを対象に可視化を行なっている. リツイートをする理由から, 概ねリツイートを行

うユーザ達はその元となるツイートに対して興味を持っていることが分かる. よって, リツイートを可視化

対象として選択するのは有効であると考えられる.

3.2 Sysomos社の報告

Sysomos社3が 2ヶ月間の 12億のツイートを解析したところ, ツイート全体の 23%はリプライがされ, 6

%はリツイートがされ, リツイートの中で 92%は元のツイートが投稿されてから 1時間以内にリツイート

されるということであった. このことより, リツイートは長期間ではなく短期間のスパンの情報であること

が分かる. つまり, より最新の情報が含まれていることとなる.

3http://sysomos.com/insidetwitter/engagement/

第 3章 関連研究 16

3.3 Twitterのソーシャルグラフ解析サービス

3.3.1 Mentionmap

図 3.1: mentionmap

Mentionmap4は Twitterユーザ同士のフォロー関係のネットワークを可視化したサービスである. 指定

したユーザとリプライのやりとりをよく行なう親密な相手を判断してそれらが表示される. そして, その相

手と親密なユーザがさらに表示される. 表示されるのはユーザだけでなく, 図 3.3.1のAのように, それぞれ

のユーザが使ったハッシュタグも表示される. また, エッジの太さはやり取りする頻度に比例し, 図 3.3.1の

Bのように, マウスオーバーでその回数が表示される. それぞれのノードをクリックすると, そのノードを

中心としてグラフが再構築される.

このツールは, 自分と親しい人の親しい人を見つけることが容易であり, それはフォロー対象者となる. ま

た, ハッシュタグからも自分の趣味と似た人を見つけることが可能となっている.

本研究との差異

Mentionmapは, 可視化対象をリツイートにしている本研究とは違い, フォロー関係としている. フォロー

関係を解析する場合, 自分がフォローしているユーザなど関係が近いユーザは調べやすい. 一方, リツイー

トを解析すると, 自分と関係が近いユーザはもちろんその先の自分と関係が遠いユーザも経路を辿ることで

調べやすい. また, Mentionmapにおいて, ハッシュタグを表示している点が一つの特徴となっている. ハッ

シュタグを使う場合は, ユーザが能動的に適切なハッシュタグをツイートに付けるという行為が必要である

一方, リツイートをする場合は, 他のユーザからリツイートの情報が流れてくるため, ある程度受動的にリツ

イートを行うことができる.

4http://apps.asterisq.com/mentionmap/

第 3章 関連研究 17

3.3.2 Correlatter

図 3.2: Correlatter

Correlatter5はユーザのフォロー, フォロワーの繋がりを可視化する対話的なフォローグラフ解析サービ

スである. 指定したユーザのフォロワーが放射状に表示される. フォロワーのアイコンをマウスオーバーす

ると, そのユーザのプロフィールを見られたり, タイムラインを見ることができる. アイコンをクリックす

ると, 次はそのユーザが中心となって周りにフォロワーが表示される. このように, Correlaterはフォロワー

のフォロワーを探っていくことができ, フォロー対象者発見に役立つ.

本研究との差異

Correlatterはリツイートを可視化した本システムとは違い, フォロー, フォロワー関係を可視化している.

自分に関連しているユーザを手繰ることでフォロー対象を探すということが Correlatterの特徴であるが,

このサービスで知ることができるのはユーザのプロフィールとタイムライン情報なので, 自分と趣味が合っ

ているかを判断することは難しい. 本システムは自分のリツイートを対象としているので, 趣味の一致の理

解をしやすいものとなっている.

3.3.3 viratter

viratter6はリツイートをツリー形式で見やすく表示するサービスである. このサービスではリツイートを

扱っており, リツイートを行ったユーザはツリー表示によって伝播の様子を理解しやすいこととなっている.

特定のリツイートの矢印アイコンをクリックすることで, そのリツイート以下の子のみをピックアップして

見ることができる. また, 現在よくリツイートされているツイートを見ることができ, より新しい情報が得

られる.

5http://correlatter.com/index.html6http://viratter.jp/

第 3章 関連研究 18

図 3.3: viratter

本研究との差異

viratterは本システムと同様にリツイートを可視化している. ここで, viratterは Twitter上の全てのリツ

イートを対象として可視化している一方, 本システムでは使用ユーザ個人のリツイートに限定して可視化し

ている. そのため, 本システムでは viratterには実装されていない使用ユーザのリツイートを重ね合わせた

グラフを示すことに成功している. 重ねあわせたグラフでは, 個々のリツイート経路情報からは得られない

ものが見えてくる.

19

第4章 提示システム

4.1 概要

本研究では, 以下の二種類の視覚化を行なった.

• リツイート経路木

• オーバーラップグラフ

リツイート経路木は, ひとつのリツイートの伝播経路を木構造で表現したものである. オーバーラップグラ

フは, 複数のリツイート情報において二回以上登場したユーザを集めて, そのユーザからリツイート元まで

の経路を重ね合わせたグラフである. リツイートの経路を対象に可視化を行う場合, 一つのリツイート情報

では見えない情報が含まれている可能性がある. それは, 複数のリツイートに存在しているユーザのような

情報である. 個々のリツイートを見ても区別できない情報も複数のリツイート情報を重ねることで理解がし

やすいことになる.

この二つの可視化結果からフォロー対象者発見支援を促す.

4.2 リツイート経路木

図 4.1: リツイート経路木

第 4章 提示システム 20

4.2.1 概要

リツイート経路木は, 個々のリツイートの伝播経路について可視化を行っている. それぞれのユーザは自

分の親にあたるノードからリツイートを行っている.

青色の三角で示されているノードがリツイート元のユーザである. 赤系統の色の丸いノードはリツイートを

したユーザである. ノードの色が濃いほど, 後にリツイートを行っている. ノード検索機能 (4.4.5)によって

選択されたノードは黄色で表示される.

4.2.2 考察

リツイート経路木からは, どのようにリツイートが伝播したか, リツイートをより広めているユーザは誰

かなどの情報知ることができる. また, 以下のユーザがフォロー対象となるユーザだと思われる.

• 自分の親からリツイートを行った別ユーザ

• リツイートを広めているユーザ

• リツイート元ユーザ

• 自分の子孫のユーザ

自分の親からリツイートを行った別ユーザは, 自分と同じく親のフォロワーであり, かつそのリツイート内

容に関して興味を持っているということである. そのため, 自分からの距離も近く, 興味を同じくしている

のでフォロー対象となる. 図 4.2を例とすると, 現在黄色で表示されているノードと同一の深さに存在して

いる二つのノードのユーザである.

リツイートをより広めているユーザは, それだけフォロワー数が多い. つまり, 著名なユーザである可能

性が高い. 図 4.2では Aのようなユーザが該当する.

リツイート元のユーザはそもそも自分の興味あるツイートをした本人である. そのため, フォロー対象と

なりうる.

自分の子の場合, 相手からはすでにフォローされているが, それに自分が気付いていない可能性がある. 経

路を可視化したことでそのことに気付くことができる. 図 4.2では, Bのユーザにとって, Cと Dのユーザ

が該当する.

4.3 オーバーラップグラフ

4.3.1 概要

オーバーラップグラフは, 収集した複数のリツイートについて, 二回以上登場しているユーザを集め, その

ユーザからリツイート元までの経路を重ね合わせたものとなっている. リツイート経路木と同様に三角で示

されているノードはそれぞれのリツイート元のユーザである. ノードの色の濃さは登場回数が多いほど濃

く示されている. 収集したリツイート情報は, 自分がリツイートしたものであるため, 最も赤く示されてい

るノードが自分となる. ノードをマウスオーバーするとアノテーションとして登場回数を表示する. エッジ

の太さはそのノード間の繋がりの回数に比例している. ここで, ノードの色が濃いユーザは自分と同じリツ

イートをしているので, 趣味が似ていると取ることができる.

第 4章 提示システム 21

図 4.2: オーバーラップグラフ

第 4章 提示システム 22

4.3.2 考察

オーバーラップグラフでは, 二回以上登場しているユーザをピックアップしている. このとき, 登場して

いるユーザの中には自分とフォロー関係が遠いユーザが存在している. このユーザは, 自分の知らないとこ

ろで実は同じリツイートを行っているユーザである. 図 4.2では Aのようなユーザが該当する. 個々のリツ

イート経路を可視化してもそのユーザはただのユーザと扱われていた. だが, リツイートの情報を重ね合わ

せたことがこのユーザの発見に繋がっている. よって, オーバーラップグラフではこのような潜在的に自分

と同じ興味を持っているユーザを発見することに優れていると言える.

第 4章 提示システム 23

4.4 システム全体

4.4.1 マウス操作

表 4.1: マウス操作

機能名 使える機能

Picking ノードの選択及び移動, 表示グラフ拡大及び縮小

Translating 表示グラフ全体の移動, 拡大, 縮小

本システムにおいて, 基本的なマウス操作はクリックすることでのノードの選択, マウスホイールでのグラ

フの拡大, 縮小である. さらに, 追加のモードとして, Picking, Translatingがある. Pickingは, ノードを選択

してドラッグすると個別に移動することができる. ここで, ノード選択時にドラッグすることで複数のノー

ドを選択することもできる. Translatingは, 図全体の移動を行なうことができる. PickingとTranslatingは

常にどちらかを選択しており, 二つのモードの切り替えはシステム上部のメニューバーにおいて設定できる.

4.4.2 グラフ表示エリア

選択されたグラフを表示する.

4.4.3 リツイート情報エリア

現在選択しているリツイート内容を表示する. オーバーラップグラフを表示している時はエッジ選択で選

ばれているリツイートの内容を表示する.

4.4.4 ユーザ情報エリア

選択されているノードのユーザ情報を表示する. 表示されるユーザ情報は, ユーザのアイコン, フォロー

人数, フォロワー人数, プロフィールである.

4.4.5 ノード検索

図 5.1の➀のプルダウンメニューで選んだユーザを検索できる. プルダウンメニューにおいて, ユーザ名

はアルファベット順にソートされている. 選択されたユーザの情報は, ユーザ情報エリアに表示される. ま

た, 選択されているユーザのノードは表示されているグラフにおいて黄色で描かれる.

4.4.6 表示グラフ変更

図 5.1の➁のプルダウンメニューで表示するグラフを変更できる. ここでは, 個々のリツイート経路木と

オーバーラップグラフを選択できる. それぞれのリツイート経路木に関しては, リツイートしたツイート内

容の最初の数文字が書かれている. 選択したリツイートの内容全文はリツイート情報エリアに書かれる.

第 4章 提示システム 24

4.4.7 エッジ選択

この機能はオーバーラップグラフ閲覧時のみ使用できる. 図 5.1の➂のプルダウンメニューで, 選択した

リツイートの経路を通っているエッジを赤色で示すことが出来る. オーバーラップグラフでは, 複数のリツ

イート経路情報が入り組んでいるため, 特定のリツイートの経路に着目したい時このエッジ選択が有用と

なる.

第 4章 提示システム 25

図 4.3: システム全体図

26

第5章 実装

5.1 開発環境

本システムはプログラミング言語 JAVAで構成されている. また, 以下の二つのオープンソースライブラ

リを使用している.

5.1.1 Twitter4j

Twitter4j7はTwitter APIの JAVAラッパである. 本システムではTwitterの情報取得部に使用している.

5.1.2 JUNG

JUNG(The Java Universal Network/Graph Framework)8はグラフやネットワークとして表現されるデー

タの可視化や解析を行うライブラリである. 本システムではグラフ作成部で使用している.

5.2 処理の概要

本システムの流れとして, 大まかに情報取得部とグラフ作成部に分かれている. 情報取得部では, Twitter

の APIを Twitter4jを通して使用し, 必要な情報を回収している. グラフ作成部では, 得られた情報より

JUNGライブラリを使用しグラフを構成する.

5.3 API制限

TwitterのAPIを利用する場合, ユーザはAPI利用回数を制限されている. TwitterAPIは, ユーザのフォ

ローリストやリツイートしたツイートのリストなど, 情報を取得するたびに利用回数がカウントされる. 利

用回数の制限は, API利用による負荷を軽減するものであり, 通常は 150 回/h, OAuth認証経由の場合は

350 回/h となっている.

5.4 リツイート経路木構成

5.4.1 リツイートの経路推定

2.4において言及したが, ユーザがリツイートを行なった時間は TwitterAPIによって取得することがで

きる. だが, 具体的に誰からリツイートを行なったかは不明である. そのため, 経路を推定する必要がある.

7http://twitter4j.org/ja/index.html8http://jung.sourceforge.net/

第 5章 実装 27

図 5.1: システムの流れ

リツイートは自分のタイムライン上にあるツイートに対して行える. そのため, 自分の前にリツイートを行

なったユーザは基本的には自分がフォローしているユーザの中にいる. ここで, ユーザがリツイートを行っ

た時間を考慮すると, 自分のリツイート元のユーザは, 自分のフォローしているユーザの中で自分より早く

リツイートを行っているユーザである. 該当するユーザが複数いる場合は, それ以上推定は不可能であり, 今

回は経路木の都合上, より昔にリツイートしたユーザとのエッジを形成した.

5.4.2 リツイート経路の取得

リツイートの経路情報を得るためには, 具体的に誰がどの順でリツイートをしたかという情報が必要であ

る. あるユーザがリツイートすると, そのユーザのフォロワーのタイムラインにリツイートしたツイートが

表示される. つまり, 各々のユーザはそれより時系列の古いユーザよりリツイートしたことになる. 必要な

情報を以下にまとめる.

• 元となるリツイートしたツイート情報

• 各々のユーザのフォローリスト

• 各々のユーザがリツイートした時間

5.4.3 Twitter API

Twitterから情報を取得する場合, Twitterから提供されている APIを Twitter4jを通して利用すること

で取得する. 前項より, 必要な情報とそれに応じたメソッド及び呼び出される APIを表 5.1にまとめる. ま

第 5章 実装 28

表 5.1: メソッド及び APIの情報取得対応表

メソッド 呼び出される API 取得情報

getRetweetByMe statuses/retweeted by me ログインユーザによってリツイートされたツイート

getRetweets statuses/retweets/:id 与えられたツイートの 100件までのリツイート

getFriendsIDs friends/ids 指定したユーザがフォローしているユーザの UserID

ず, getRetweetByMeメソッドより, ログインユーザがリツイートしたツイートの一覧を取得する. ツイー

トは Statusというデータクラスで管理される. Statusのメソッドには, そのツイートがリツイートされた

ものであった場合, リツイート元の Statusを取得する getRetweetedStatusがある. このメソッドを使い, ツ

イートの一覧のそれぞれのリツイート元の Statusを取得する. 次に, リツイート元を getRetweetsするこ

とでリツイート情報を取得できるので, 誰がいつリツイートを行なったかという情報は得られる. そして,

getFriendsIDsでリツイート元及び行なったユーザのフォローリストを取得する.

5.4.4 リツイート経路木の構成方法

図 5.2: 経路構成例

具体的なリツイート経路木構成の手順は以下の通りである.

1. リツイート元のノード作成

2. 一番最初にリツイートしたユーザのノードを作成し, リツイート元とエッジを繋ぐ

3. 次にリツイートしたユーザのフォローリストにすでにノードを作成したユーザが存在するか調べる

4. 見つかったユーザ中, よりリツイートをした時間が古いユーザとエッジを繋ぐ. いない場合やリツイー

ト元が発見された場合, リツイート元とエッジを繋ぐ

5. リツイートユーザがなくなるまで繰り返し

図 5.4.4を例とする. ここでは, Xがリツイート元, Aから Fまでがその時系列順にリツイートを行った. ま

ず, Xがリツイート元なので, ノードを作り配置する. 次に, Aのノードを作成し, Xとエッジを繋ぐ. そし

第 5章 実装 29

て, Bのフォローリストを参照し, Xと Aがその中に含まれるかを検査する. 図 5.4.4では, Aのみ含まれて

いるとしているので, Bのノードを作り, Aとエッジを繋ぐ. Cについても同様にフォローリストを参照し,

X, A, B, が含まれているか検査する. ここで, Cには Xと Aが含まれているとすると, Xのほうが時系列

が古いので Xと Cのエッジを繋ぐ. 以降はリツイートしたユーザがなくなるまで繰り返す.

5.4.5 グラフ装飾

ノードの濃淡

各々のノードの色はリツイート元とそれぞれがリツイートした時間の順に比例している. ノードの色を

RGBで表したとき, リツイートした時間によって G及び Bの値を変更している. このことはツイートは 1

時間以内にリツイートされているという Sysomos社のレポートに基づいて決定している. これにより, 誰が

どれくらいの期間でリツイートを行なったかを理解できる.

5.5 オーバーラップグラフ構成

ここでは, 複数のリツイート情報を重ね合わせたオーバーラップグラフの構成方法を示す.

5.5.1 オーバーラップグラフの必要情報

オーバーラップグラフを構成するために必要な情報は, リツイート経路木データである. そのため, 本シ

ステムではまずリツイート経路木を 5.4.4の手法で複数作成し, その後オーバーラップグラフを作成する.

5.5.2 グラフの構成

図 5.3: 3つのリツイート経路木

第 5章 実装 30

図 5.4: オーバーラップグラフ例

第 5章 実装 31

オーバーラップグラフは複数のリツイートに二回以上登場しているユーザからルートまでを重ね合わせた

ものとなっている. 具体的なグラフ構成方法は, まずそれぞれのリツイートグラフにおいて, 二回以上登場

しているユーザを発見したらその親を辿っていき, その木のルートまで遡る. それまで経路として見つかっ

たノードを全てオーバーラップグラフに追加していく. ここで, 図 5.3と図 5.4を例とする. 図 5.3では, X,

Y, Z, がそれぞれのリツイート元ユーザである. A, B, C, Meがそれぞれ二回以上登場しているユーザであ

る. また, リツイート経路 1, 3において緑及び黄色で示されているのは二回以上登場しているユーザからリ

ツイート元までの経路途中のユーザである. この三つのリツイート経路木を重ね合わせて出来たオーバー

ラップグラフが図 5.4である. 二回以上登場したユーザからリツイート元までの経路を重ね合わせるので,

緑と黄色のノードが 1回しか出てきてないにも関わらず, オーバーラップグラフでも登場している.

5.6 グラフの装飾

ノードの濃淡

各々のノードの濃さは, ユーザが複数のリツイート経路木に登場した回数に比例して濃くなっている. こ

のとき, 6回以上は同様の濃さとなっている.

エッジの太さ

オーバーラップグラフのエッジの太さはそのエッジを通った回数に比例する. つまり, 太いエッジで繋がっ

ているノード間は関係が深いと考えられる.

レイアウト

オーバーラップグラフのレイアウトは JUNGライブラリにある SpringLayoutを使用した. SpringLayout

はエッジが繋がる二つのノード間をバネであるとして伸縮力を働かせ, さらに繋がっていない他のノードと

斥力を働かせノードの位置を計算するレイアウトである. オーバーラップグラフではノード数が多くなりや

すいため, SpringLayoutようにノードが重なる心配のないレイアウトが向いている.

第 5章 実装 32

5.7 現状の仕様

本システムを構成するに当たって, TwitterAPI制限などにより, やむなく仕様を変更した箇所がある.

5.7.1 TwitterAPIの利用制限

本システムでは逐次Twitterより情報を取得する予定であった. だが, リツイートを行なったユーザのフォ

ローリストを取得する必要があった. 逐次情報を取得する場合, TwitterAPI制限により,すぐ利用不可能に

なるため, 各々のユーザのフォロワーリストとそれぞれのリツイートがいつ誰にリツイートされたかという

データをローカルに保存することにした.

5.7.2 リツイート経路情報の消失

リツイート経路木において, getRetweetsメソッドで取得するリツイート情報は最大 100件しか取得でき

なかった. このため, リツイートを初期に行なったユーザの情報は失われている可能性がある. すると, その

ユーザからリツイートを行なった以降のユーザのリツイート経路は失われる. その場合は直接リツイート元

とエッジを繋ぐことにした. 直接リツイート元と繋がっているエッジの色は青くして区別をつけた.

33

第6章 評価実験

6.1 評価方法

被験者に二つのタスクを行ってもらい, アンケートに書いてもらった.

6.1.1 タスク 1

被験者の指定したリツイートについて, 実験用に本システムのリツイート経路木作成部を抜粋したシステ

ムに適用してもらい,そこから読み取れる情報についてアンケートを収集した. リツイート経路木は, Twitter

のアカウントを持っていて, 望んだ人は自分のアカウントでのリツイート情報について可視化を行なった.

6.1.2 タスク 2

こちらで用意したオーバーラップグラフを見てもらい, そこから読み取れる情報についてアンケートを収

集した. オーバーラップ作成に当たって, 今回使用したリツイート情報は 30件分である.

6.2 被験者

実験は, 本大学の学生 11名に協力してもらった. 11名中 2名は Twitterを利用していない人である.

6.3 アンケート

以下に評価実験にて使用したアンケート内容を記載する.

第 6章 評価実験 34

アンケート 1/2

タスク 1

1. リツイートの経路の見易さを 4段階で評価してください

(見辛い)   1   2   3   4   (見易い)

2. リツイートをした順番が分かりやすいか 4段階で評価してください

(分かりにくい)  1   2   3   4   (分かりやすい)

3. ユーザを検索しやすいか 4段階で評価してください

(検索しにくい)  1   2   3   4   (検索しやすい)

4. リツイート経路木を見て, フォローしたいと感じたユーザはどれでしたか?

以下の該当する項目に○を付けてください (複数回答可)

A リツイートをより広めているユーザ

B 自分の親からリツイートした別のユーザ

C リツイート元のユーザ

D 初期にリツイートを行なったユーザ

E 後にリツイートを行なったユーザ

F いない

G その他のユーザ

    理由

    

    

    

5. その他, コメント等がありましたらお書きください

第 6章 評価実験 35

アンケート 2/2

タスク 2

1. グラフの見易さを 4段階で評価してください

(見辛い)   1   2   3   4   (見易い)

2. リツイートの経路が分かりやすいか 4段階で評価してください

(分かりにくい)  1   2   3   4   (分かりやすい)

3. ユーザを検索しやすいか 4段階で評価してください

(検索しにくい)  1   2   3   4   (検索しやすい)

4. オーバーラップグラフを見て, フォローしたいと感じたユーザはどれでしたか?

以下の該当する項目に○を付けてください (複数回答可)

A 登場回数の多いユーザ

B 太いエッジが繋がっているユーザ

C リツイート元のユーザ

D 経路途中のユーザ

E いない

F その他のユーザ

    理由

    

    

    

5. その他, コメント等がありましたらお書きください

第 6章 評価実験 36

6.4 結果

6.4.1 タスク 1

質問 1~4の結果

表 6.1: 質問 1~3の結果評価 (悪 1⇔良 4) 1 2 3 4 平均

リツイートの経路の見易さ 0 1 6 4 3.3

リツイート順の分かりやすさ 1 1 3 6 3.3

ユーザの検索し易さ 1 5 3 2 2.6

表 6.2: 質問 4の結果

リツイートをより広めているユーザ 4

自分の親からリツイートした別のユーザ 4

リツイート元のユーザ 5

初期にリツイートを行ったユーザ 3

後にリツイートを行ったユーザ 1

いない 2

その他のユーザ 0

良い意見

• リツイート関係がかなりわかりやすい

• 普段着にしていないのでおもしろい

• 自分が含まれる経路図の場合, どの程度自分の知っている人がいるか気になった 

悪い意見

• ノードの色が似ていて見辛いので色付けを考えるべき

• ユーザ名が重なって見難い

提案意見

• ユーザを選んでフォローできると良い

• マウス操作の変換をボタンなどにしたほうが直感的でよい

第 6章 評価実験 37

• アイコン表示したほうがよい

• ある程度クラスタリングしたほうがよい

• 木の見せ方のバリエーションを増やしたほうがよい

• 選択したユーザのページに飛べたり, もっとユーザ情報を表示してほしい

• 画面内に木が収まるとよい

• ノードのアノテーションにリツイートした順があるとよい

• 検索するときに, アイコンが並んでると検索しやすいと思う

6.4.2 タスク 2

質問 1~4の結果

表 6.3: 質問 1~3の結果評価 (悪 1⇔良 4) 1 2 3 4 平均

グラフの見易さ 0 2 6 3 3.1

リツイートの経路の分かり易さ 1 2 4 4 3.0

ユーザの検索のし易さ 0 3 5 3 3.0

表 6.4: 質問 4の結果

登場回数の多いユーザ 7

太いエッジが繋がっているユーザ 8

リツイート元のユーザ 3

経路途中のユーザ 0

いない 0

その他のユーザ 1

良い意見

• グラフに動きがある分おもしろい

• 経路の太さからユーザの関係をなんとなく把握できてよい

• リツイート経路木より, 全体を把握しやすい

悪い意見

• 線を跨いでいるところが見難い

第 6章 評価実験 38

提案意見

• ユーザを押したらリツイートしたもののリストが出るとよい

• フォローしたいユーザとの関係を見たい

• 自分を主眼としたものにしたほうがよい

• 自分と誰かを選んで, それらが含まれているリツイートを探したい

• リツイート元のノードにもう少しエフェクトが欲しい

• エッジ選択の代わりに, ノードを選択したらそのユーザが含まれているエッジを赤くする方向がよい

• リツイートの関係を回数か何かでスコアリングして出すとよい

6.5 考察

6.5.1 リツイート経路木

アンケート結果の表 6.1を見ると, ユーザ検索以外はおおよそ良い評価であった. 意見にもあるように,

ユーザ名が並んでいるよりも, アイコンが表示されているほうが直感的にユーザを理解しやすいと考えられ

る. これは, Twitterを利用するにあたって, ユーザは名前よりも表示されてるアイコンでそのユーザを覚え

ていることがあるからだと思われる. フォローしたいユーザのアンケートでは, リツイート元ユーザや自分

の親からリツイートした別のユーザなどが意見が多かった. この中で, 自分の親からリツイートした別ユー

ザは, リツイートの伝播の様子を可視化しないと見つけることは難しい. そのため, そのようなユーザを発

見することがリツイート経路木において, 最も発見したかったユーザのため, アンケート結果はおおよそ意

図した結果となった.

6.5.2 オーバーラップグラフ

アンケート結果の表 6.3を見ると, 三つの項目全て 3.0以上という評価であった. グラフの見易さは, レイ

アウトをバネモデルにすることで, ノードの重なりを無くすことで見やすくなっていると考えられる. だが,

表示するだけでなくユーザ同士の関係の詳細をもっと見たいといった意見があった. フォローしたいユーザ

のアンケートでは, 登場回数の多いユーザや, 太いエッジの関係があるユーザが選ばれていた. オーバーラッ

プグラフでは, 特に単独のリツイート経路木からは理解し辛かったが複数のリツイート情報から分かるよう

な, 潜在的に自分のリツイート情報に存在しているユーザの発見を促していたため, アンケート結果は意図

した結果と一致していた.

39

第7章 結論

7.1 結論

本研究では, Twitterのリツイートの可視化によってユーザのフォロー支援を促した. 可視化を行うこと

で, リツイートの伝播をより分かりやすくすることができた. 評価実験の結果より, リツイート経路木のア

ンケートにおいて, 自分の親からリツイートした別のユーザやリツイート元がよく選択された結果となった.

また, オーバーラップグラフの結果については, 登場回数の多いユーザなど, 複数リツイート情報からでない

と発見できないような潜在的なフォロー対象ユーザを発見することができた. これらは, 本システムの意図

した結果であり, リツイートの経路情報が興味の近いユーザ発見に繋がっていることが示された.

7.2 今後の課題

7.2.1 リツイート経路木の改善

リツイート経路木の表示を考えたほうがよいという意見が多数あった. アイコン表示を行なう, リツイー

ト元を左側に配置して木を右側に向かって伸ばす, 画面に収まるように木を配置するなどの意見があった.

特にノード数が増えるとさらに見づらくなることが考えられる. ただの木構造ではなく, リツイート元を中

心とした同心円上のレイアウトなど, 他のレイアウト方法も検討する予定である.

7.2.2 オーバーラップグラフの改善

オーバーラップグラフの意見では, それぞれのユーザがどのリツイートに属しているかやフォローしたい

ユーザとの関係を見たいなど, ユーザ個人の情報についての意見が多かった. これは, オーバーラップグラ

フを見ただけ得る情報よりさらに詳細な情報が欲しいと考えられる. そのために, ログインユーザを主眼と

するような改善が必要だろう. また, レイアウトに関してはエッジが交差する部分が見辛いという意見が多

数あったため, ノードの初期配置を考えることで改善を促したい.

7.2.3 情報取得

本システムでは, API回数制限のため情報を逐次取得することができない. このため, 本システムは新鮮

なユーザ情報を使うことができなかった. Twitterは将来的に回数制限を現在の 350回から 2000回に引き

上げると発表している. 回数が緩和されるならば, それに伴い逐次情報が取得できるようになるだろう.

第 7章 結論 40

7.2.4 リツイート情報取得

今回はリツイートの情報を最新 100件までしか取得できず, やむなく一部経路が抜けた表示となった. こ

れは, APIの情報取得に制限があったためである. 本システムではそれを解決する方法を思いつくことは出

来なかった. 他の情報取得方法を模索し, この問題を解決したい.

7.2.5 非公式リツイートの対応

本システムは, 公式リツイートしか対応していない. 非公式リツイートはツイートにコメントをしてリツ

イートを行なえるので, ユーザがそのリツイートに対して持っている意見を知ることが出来る. このことは,

自分と他のユーザが同じ興味を持っているかを知る上では追加の要素となりうる.

7.2.6 他のサービスへの応用

今回は Twitterのリツイートに対して利用を考えた. リツイートは誰かのツイートが広がっていく形にな

る. つまり, リツイートはブログなどのトラックバックや論文の参照関係などが似たような流れとなってい

る. このようなリツイートと同様の流れのサービスを可視化すると, Twitterの人間関係のようにそれぞれ

の人間関係が浮き出てくる可能性がある.

41

謝辞

本研究は,電気通信大学電気通信学部情報通信工学科情報通信システム学講座寺田研究室において,寺田

実准教授の指導の下で卒業研究として行われました.寺田 実准教授には卒業研究のアイデア, アドバイス,

参考論文の探し方や論文の書き方, 発表時の方法や注意など様々な部分でご指導頂きました. 心から感謝を

申し上げます.

東京大学 情報基盤センターに所属している丸山 一貴 助教にも研究室輪講時などにおいて, 様々なご意見,

協力を頂戴いたしました. 深い感謝を申し上げます.

博士課程四年の高須賀 清隆さん, 修士課程二年の井桁 正人さん, 佐藤 和哉さん, 修士課程一年の田中 英

人さん, 学部四年の猪俣 順平君, 大井 彩香さん, 神田 尚子さん, 添田 洋貴君, 野田口 宗君, その他多数の

方々には研究のアイデアやアドバイス, 協力等をいろいろな面で頂きました. 大変感謝をいたします.

42

参考文献

[1] danah boyd, Scott Golder, and Gilad Lotan. “Tweet, Tweet, Retweet: Conversational Aspects of

Retweeting on Twitter ”. Proceedings of the 43rd Hawaii International Conference on System Sciences,

pp.1-10, 2010.

[2] Zi Yang, Jingyi Guo, Keke Cai, Jie Tang, Juanzi Li, Li Zhang, and Zhong Su. “Understanding

Retweeting Behaviors in Social Networks”. Proceedings of the 19th ACM international conference on

Information and knowledge management, 2010.

[3] 風間一洋, 今田美幸, 柏木啓一郎. “Twitter の情報伝播ネットワークの分析”. 第 24回人工知能学会全国

大会, 2010.