Twitter User Recommendation

Preview:

DESCRIPTION

 

Citation preview

@americiumian 2012.10.27

TwitterでのUser Recommendation @TokyoWebmining#23

本日の概要

2

自己紹介・発表の目的 (1 slide)

なぜTwitterユーザ推薦? (3 slides)

Twitterユーザ推薦方式の紹介 (20 slides)

どのように評価するか? (5 slides)

まとめ (1 slide)

付録・参考文献

自己紹介・発表の目的

3

@americiumian

チーズケーキとかまぼこの ある大学の情報系院生

学部時代はネットワーク トラヒック制御の研究

現在はTwitterを対象とした レコメンデーションの研究

Twitterユーザ推薦の概要をつかんで頂く

目的・アイデア・手法の概要・結果に絞って説明します

詳細は各論文へ

発表目的

Twitterとは

Twitterから情報を得るには

ユーザ推薦の何がうれしいか

なぜTwitterユーザ推薦? 4

Twitterとは

5

Twitter

SNSの一種

リアルタイムで情報の収集・発信・共有・コミュニケーションを行うマイクロブログサービス

特徴

1 tweetは140字以内

登録ユーザ数は5億人以上 (2012年7月) [2]

1日のtweet数は3億4000万以上 (2012年3月) [1]

情報インフラとしての役割 [1] http://jp.techcrunch.com/archives/20120321six-year-old-twitter-now-has-140m-active-users-sending-340m-tweets-per-day/

[2] http://jp.techcrunch.com/archives/20120730analyst-twitter-passed-500m-users-in-june-2012-140m-of-them-in-us-

jakarta-biggest-tweeting-city/

Twitterから情報を得るには

6

follow

他ユーザのtweetを見ることができるようにすること

-er : 自分をfollowしているユーザ

-ee : 自分がfollowしているユーザ

friendとも

Search

クエリを含む最新tweetを検索

最新1500件 or 最新1週間分に限る

ノイズも多い

A B

follow

よいユーザが推薦できると何がうれしいか

7

Twitterでしか得られない情報を効率的に得られる

キーワードで探すとノイズが多い+API制限

followすると今後もその話題についての情報が得られる

影響力のあるユーザが分かれば宣伝してもらえる

ソエンド

qrustスコア(影響力スコア)の高いユーザ に対し,宣伝ツイートをしたらクーポン発行

Klout

Kloutスコア(影響力スコア)が高いユーザ に対し,空港のラウンジ無料招待

よいユーザとは?

目的別ユーザ推薦法

Twitterユーザ推薦法の紹介 8

例えば

一概には決められない

有名人を推薦すべき?

同じ会社の人を推薦すべき?

自分と似た傾向のつぶやきをする人を推薦すべき?

よいユーザとは?

9

vs

どのようなユーザを推薦したいか

決める必要がある

ではどんな研究があるのか?

10

総合的に影響力の高いユーザを推薦

TwitterRank

自分と似たユーザを推薦

属性伝播に着目した推薦

ある話題について影響力の高いユーザを推薦

TURKEYS

実際の友達を推定して推薦

Flap

ではどんな研究があるのか?

11

総合的に影響力の高いユーザを推薦

TwitterRank

自分と似たユーザを推薦

属性伝播に着目した推薦

ある話題について影響力の高いユーザを推薦

TURKEYS

実際の友達を推定して推薦

Flap

TwitterRank

12

目的

総合的に影響力の高いユーザを推薦する

手法のアイデア

ユーザは同じトピックを共有するユーザをフォローしやすい

どのトピックをつぶやきやすいか調べる

各トピックで影響力の高い人を見つける

リンク解析手法を適用する

総合して,影響力の高い人を見つける

重み付き和を求める

手法概要

13

1. Tweetを収集 2. LDAを用いて

トピックを抽出

3. 各ユーザ,どのトピックの

発言が多いか調べる

4. 3の解析を元に

JSダイバージェンスで

ユーザ間の類似度を測る

5. 各トピックについて

フォロー関係グラフを構成する

重みは類似度とtweet数を考慮

PageRankでスコアリングする

𝑟𝑡𝑃𝑅𝑡

6. トピック頻度で

重み付けして

スコアリング

結論

14

実験結果

影響力のある人物を抽出できた(定性的評価)

以下の手法に比べ,良い結果を出した フォロワー数

フォロワーグラフにおけるPageRank

トピックの頻度を考慮しないTwitterRank

課題

“follow”の理由を推測して分類する必要がある

(tweet数が多いほどよいユーザとは限らない)

(botに弱い)

ではどんな研究があるのか?

15

総合的に影響力の高いユーザを推薦

TwitterRank

自分と似たユーザを推薦

属性伝播に着目した推薦

ある話題について影響力の高いユーザを推薦

TURKEYS

実際の友達を推定して推薦

Flap

属性伝播に着目した推薦

16

目的

同じ興味,所属のユーザを推薦する

*この論文では,同じ所属のクラスタを発見するにとどまる

手法のアイデア

ユーザは同じ属性を持つユーザをフォローすることが多い ある大学の人は同じ大学の人をフォローしやすい

ある属性を持った多くの人にフォローされていれば, その人も同じ属性を持っているのでは? 属性が伝播している

同じ属性を持つユーザで,フォローしていない人を推薦

手法概要

17

1. ターゲットユーザがfollowしているユーザセット(第一世代)を得る

2. 第一世代がn人以上followしているユーザセット(第二世代)を得る

3. 2を繰り返すことで第m世代までの

ユーザセットを得る

属性の伝播とは

ある属性を持つユーザn人以上にfollowされている時,属性が伝搬

している,と判断する

結論

18

実験

あるユーザにfolloweeを属性別で分類してもらう

そのユーザセットを元に,属性伝播の基準(n)や世代数(m)を変えてグラフを構成

実際に属性が伝搬しているかどうかターゲットユーザに判断してもらう

同じ属性のコミュニティを発見することができた

課題

botや有名人アカウントに影響されやすい

属性の規模に応じて,nやmを決める必要がある

ではどんな研究があるのか?

19

総合的に影響力の高いユーザを推薦

TwitterRank

自分と似たユーザを推薦

属性伝播に着目した推薦

ある話題について影響力の高いユーザを推薦

TURKEYS

実際の友達を推定して推薦

Flap

TURKEYSで用いる Twitterの機能

20

retweet (RT)

あるユーザのtweetを、本文を変えることなく、 引用者情報を付加して再投稿すること(情報の共有)

reply (@...)

他のユーザとの会話や言及

会話のchainを辿れる

Twitter User Rank using KEYword Search

21

目的

ある話題について影響力のあるユーザを推薦する

手法のアイデア

ある話題に関して,価値のあるRTやreplyをしている ユーザは,followする価値がある

グラフを構成し,影響力のあるユーザを推薦する

リンク解析手法

手法概要

22

クエリ クエリを含むtweet

+それに対するreply tweet/Retweet, replyしたユーザ

Tweet Count Score(TC) 1. あるユーザのtweetが 含まれる割合を計算

User Influence Score(UI) 1. tweetがユーザに与える影響力を表す,

(Re)tweet 関係を加味した隣接行列を作る 2. ユーザがtweetに与える影響力を表す

retweet,reply関係を加味した隣接行列を作る 3. HITSに似た手法を用いてスコアリング

𝑇𝑈𝑅𝐾𝐸𝑌𝑆 𝑈 = 𝑇𝐶(𝑈)𝑤 × 𝑈𝐼(𝑈)1−𝑤

結論

23

実験結果

以下の手法よりもよい結果

tweet数

follow関係

ユーザ同士の関係のみを考慮したTURKEYS

課題

とてもポピュラーなキーワードには弱い

論文中では“福島”

tweetのテキストを考慮する必要がある

ではどんな研究があるのか?

24

総合的に影響力の高いユーザを推薦

TwitterRank

自分と似たユーザを推薦

属性伝播に着目した推薦

ある話題について影響力の高いユーザを推薦

TURKEYS

実際の友達を推定して推薦

Flap

Friendship and location analysis and prediction

25

目的

実際の友達関係を推定

ユーザの位置推定

手法のアイデア

同じような語彙を使う人は友達の可能性が高い

近くに長い間いる人は友達の可能性が高い

tweetの位置情報を用いる

手法

26

1. tweetの語彙類似度

を用いてユーザ間の

類似度を計算

2. tweetの位置情報

を用いて,同じ場所に

いた度合いを計算

𝑇(𝑢, 𝑣) 𝐶(𝑢, 𝑣)

3. どの程度followeeが

かぶっているかを計算

𝑀𝐸(𝑢, 𝑣)

決定木を用いて学習

結論

27

実験方法

tweetから”@***”は除いて実験した

フォロー関係の一部を隠して,推測

実験結果

50%のエッジを隠しても上手く動いた

全てのエッジを隠してもある程度動いた

課題

友達関係推測と位置推測の組み合わせ

(位置情報付きtweetが多くないと使えない)

手法のまとめ

28

TwitterRank 属性伝播法 TURKEYS Flap

目的とするユーザ 総合的影響力のあるユーザ

同属性のユーザ ある話題で影響力のあるユーザ

実際の友達

ユーザからの入力 なし フォロー関係 クエリ tweet情報

フォロー関係

対cold-start性 ◯ × ◯ ×

注意すべきこと tweet数,フォローの信頼性

フォロー先が同属性とは限らない

一般語への対処 位置情報付ツイートの量

ユーザの評価は難しい

個々のユーザを評価 主観評価

ユーザによる評価

ランキング全体を評価 DCG

どうやって評価する? 29

ユーザ推薦の評価は難しい

30

follower数が多いとよい?

たくさんfollowして,フォロー返しを待てば, follower数は増やせる

Webページの被リンク数とは異なる

tweet数が多いとよい?

情報の発信量は多いが,ノイズが混じる可能性も高い

個々のユーザの評価 – 主観評価

31

概要

推薦されたユーザのtweetを実際に見て評価する

利点

手法のどこが悪いか発見しやすい

手軽に評価できる

欠点

元となる ユーザ/クエリ に依存しやすい

自分の手法にバイアスがかかる(?)

個々のユーザの評価 - ユーザ評価

32

評価方法

推薦ユーザを見せ,質問にn段階で答えてもらい,評価 ”フォローしたいか”

”目的に沿ったユーザか” etc...

同様の対抗手法がある場合,同じ条件で推薦を行い, 手法名を隠してユーザに見せ,同様の質問で評価

利点

手法の優位性を示しやすい

欠点

手間がかかる

ランキング全体の評価

33

DCG(Discounted Cumulative Gain)

0. システムはランク付けされたユーザリストを出力

1. 何らかの指標を用いて全ユーザに関連度Rを付与

2. 以下の計算式で,𝑝位までの結果に対するDCGを計算

𝐷𝐶𝐺𝑝 = 𝑅1 + 𝑅𝑖𝑙𝑜𝑔2𝑖

𝑝

𝑖=2 𝑅𝑖: 𝑖位のユーザの関連度

nDCG(Normalized Discounted Cumulative Gain)

DCGを,理想的な順位(スコアの降順の時の順位)の時のDCG(IDCG)で正規化したもの

nDCG =𝐷𝐶𝐺𝑝

𝐼𝐷𝐶𝐺𝑝

DCGの具体的な計算例

34

𝐼𝐷𝐶𝐺 = 3 +3

𝑙𝑜𝑔22+2

𝑙𝑜𝑔23+1

𝑙𝑜𝑔24+1

𝑙𝑜𝑔25= 8.193

A B C D E

関連度 3 3 2 2 1

D B C E A

𝐷𝐶𝐺5 = 2 +3

𝑙𝑜𝑔22+2

𝑙𝑜𝑔23+1

𝑙𝑜𝑔24+3

𝑙𝑜𝑔25= 8.054

関連度 2 3 2 1 3

𝐷𝐶𝐺5 = 3 +1

𝑙𝑜𝑔22+3

𝑙𝑜𝑔23+2

𝑙𝑜𝑔24+2

𝑙𝑜𝑔25= 7.754

A E B D C

関連度 3 1 3 2 2

理想

手法1

手法2

正規化

𝑛𝐷𝐶𝐺 = 0.983

正規化

𝑛𝐷𝐶𝐺 = 0.946

関連度3 : すごく関係ある

関連度2 : 少し関係ある

関連度1 : 不適切

まとめ

35

なぜTwitterユーザ推薦?

興味のある情報が得られる

商品の宣伝にも

何を目的とするか,が大事

目的に応じてアルゴリズムは異なる

評価は難しい

個々の評価

ランキング全体の評価

付録1. Twitter研究の主なトピックまとめ

36

ユーザ推薦

評判分析

実世界の動向(株価・売上)の予測

ユーザの属性推定

トピック同定

トレンド分析

自動要約

情報の信頼性評価

Social sensorとしての利用

緊急時のコミュニケーション手段としての利用

Tweet用のテキスト処理ツールの開発

付録2. Twitterアカウントの増やし方

37

1. gmailアカウントを作る

example@gmail.com

2. example+(任意)@gmail.comで登録

未登録のアドレスとして扱われる

全てexample@gmail.comで管理可能

今回紹介した論文

38

総合的に影響力の高いユーザを推薦

Weng, J.; Lim, E.-P.; Jiang, J.; and He, Q. 2010. TwitterRank:Finding Topic-Sensitive Influential Twitterers. In ACM WSDM.

自分と似たユーザを推薦

康大樹, 島田諭, 関洋平, 佐藤哲司. 属性伝播モデルを用いたマイクロブログのフォロー先推薦法. DEIM Forum 2011,No. A1-3, 2011.

今回紹介した論文

39

ある話題について影響力の高いユーザを推薦

Tomoya Noro, Fei Ru, Feng Xiao, Takehiro Tokuda Twitter User Rank Using Keyword Search. 22nd European Japanese Conference on Information Modelling and Knowledge Bases, pp.48-65. 2012 Jun

実際の友達を推定して推薦(+ユーザの位置推定)

Sadilek, A.: Kautz, H.; and Bigham, J. P. 2012. Finding your friends and following them to where you are. In Proc. of the fifth ACM int’l conference on Web search and data mining.

slide : http://www.slideshare.net/nokuno/finding-your-friends-and-following-them-to-where-you-are-wsdm2012

手法の参考文献

40

LDA

[Blei+2003] Latent Dirichlet allocation, JMLR

latent Dirichlet allocation - 機械学習の「朱鷺の杜Wiki」

LDA入門

JSダイバージェンス

Jensen-Shannonダイバージェンス - 機械学習の「朱鷺の杜Wiki」

PageRank, HITS

Google PageRankの数理 ―最強検索エンジンのランキング手法を求めて―

Googleページランクの数理1【アイマス教養講座】

その他参考文献

41

ユーザ推薦以外のTwitter研究

マイクロブログマイニングの現在

他のランキングの評価手法

Web Data Mining

http://www.cs.uic.edu/~liub/WebMiningBook.html