Overcoming Browser Cookie   Churn with Clustering        Anirban Dasgupta, Maxim Gurevich,    Liang Zhang, Belle Tseng, Ac...
概要• クッキーが消えてしまうとユーザのトラッキン グができない• Cookie Churn problem• 複数のクッキーをクラスタリングしてユーザを 同定• グラフ彩色問題として解く
サイト運営としては• 匿名化されたユーザの行動取得やユーザエクス ペリエンスを改善したい• そのため,アクセスしたユーザにCookieと呼 ばれる一意な識別子をブラウザに付与する
クッキーによって• 次の指標が計算できる• ユニークユーザ数• ユーザの挙動• Webサイトの人気度• 広告を出した際の影響力→インターネット企業にとっ  て重要な収入源
問題点• クッキーは永久に残らない• ユーザによって削除されたり• ブラウザが定期的に消す設定になっていたり• クッキー自身に設定された有効期間切れ• よってクッキーベースの集計では過大にカウン トしてしまう
更なる問題• コールドスタート問題 • 少ない情報しか持たないユーザには適切な案内ができ  ない• 広告主がreach-frequencyを把握できない • reach: キャンペーンによって何人が広告を見たか • freq: キャンペーンに何...
既存手法(1)• comScore, Nielsen • モニタを雇用し,ユニークユーザを推定   •   (モニタのアクセスログの比から推定?)• Fomitchev [1] • IPベースのログとクッキーベースのログから推定• これらでは推...
既存研究(2)• Browser fingerprints [2] • OS,ブラウザ,UA,解像度などで一意な情報を取得   •   今試したらブラウザのプラグインやシステムフォントなど       も取得 • それらの情報に対するアクセス権限...
方針• 以下の情報(以降: 制約)に着目しクッキーをユー ザ単位でクラスタリング• クッキーの寿命 •   同じユーザによるクッキーの寿命は重ならない• OS,ブラウザ •   同じユーザによってこれらの属性は変化しない(仮定)
課題• スケーラビリティ• クラスタ数(=ユーザ数)が未知• 制約はクッキーに対し二乗で発生する• ボトルネック• クッキーの寿命が短いため,意味のある情報を 取り出すのが困難
解決策 • 寿命を用いてinterval graphとして表現 • グラフ彩色問題としてgreedyに解ける• クッキーの情報も用いて拡張グラフ彩色問題と して解く • その際用いる類似度の学習において分類問題を解く • L1/L2ノルム,ベイ...
プライバシーについて• 今回用いるクッキーは完全に匿名化されている• ユーザの詳細な情報や登録情報などとは紐付けられて いない• IPベースの特徴も用いているが完全にハッシュ化さ れ,サブネットの情報なども用いていない• むしろこの研究によって...
Interval graph• 辺 Eと頂点Vを持つグラフG(V, E)において各頂 点v_iに対して     があるとき,           ……?
実例                 寿命Cookie i   s_i              t_i                                  寿命           Cookie j   s_j         ...
最もシンプルな彩色• O(¦V¦log(¦V¦ + ¦E¦))でgreedyに計算可能• クッキーを生成された時間でソートし • overlapしなければそのクラスタ(色)に割り振る • overlapすれば新しいクラスタ(色)に割り振る
擬似コードdef IntervalColor(intervals)  colors = { }  intervals.sort.each do |c|    if colors.not_overlap?(c)      colors[color...
* Browser Model• 寿命を用いたグラフ彩色で解く事の妥当性を示 す• 証明などは元論文参照• 簡単に説明を行う• ユーザモデルの仮定,データとの比較→妥当性を示す• ↑の仮定を用い,ユニークユーザ数がグラフ彩色にお  ける色数の良...
* ユーザモデルの仮定• ユーザごとに次のパラメータを仮定する• λ: アクセスにおける時間間隔はλの指数分布に従う• p: アクセス毎にpの確率でクッキーを削除する• あるユーザの持つクッキーd_iの寿命がλpの指 数分布に従う
* 実データでの検証         実測値                  5つのモデルを                  混合すること                  によりいい感  5モデル            じにモデリン   ...
* 彩色問題への妥当性• 「定数ε及び真のユーザ数kについて,少なくと も(1-ε)k色でグラフを塗ることができる」 • 大体いい感じに推定できる• 詳細はTheorem 1読んでください……
実際に解いていく• 先述のアルゴリズムでは時間間隔しか用いるこ とができない• 他属性も用いてクラスタリングを行う• 拡張グラフ彩色アルゴリズム
いくつか定義•sim(C,   C’) • クッキーの集合間における類似度を返す関数•I(C) • クラスタCにおける最も若い寿命• 目的関数:
擬似コードdef ClusterBrowser(cookies, t)  clusters = { }  cookies.sort.each do |c|    A = clusters.select{|C|I(c) ∩ I(C) = empt...
スケールするために• クラスタの候補を選ぶ際,(IP, OS, ブラウザ) の特徴が等しいクッキーを持つもののみを候補 にする• この考えを二部グラフで表現するとクラスタリ ングが並列実行可能
二部グラフ<aaa,Win7,IE6>          C1      <aaa, Win7, IE6><bbb,10.7,             <ccc, 10.5, safari>          C2w3m> <ccc,     ...
連結成分抽出<aaa,Win7,IE6>          C1       <aaa, Win7, IE6><bbb,10.7,              <ccc, 10.5, safari>          C2w3m> <ccc,  ...
擬似コードdef ClusterBrowserParallel(cookies, t)  g = bi_graph.new  cookies.each do |c|    g.edge(c, <c.ip, c.os, c.browser>)  ...
特徴量• 次の問題は類似度sim(C, C’)• xはクラスタCのセントロイド• 特徴量s_iをこれから定義していく • β = 1 でユークリッド距離 • β_iをまともに学習させるとマハラビノス距離(M=対  角行列とした時の)
新たな距離尺度• ベイズ因子• 多変量な特徴間の距離に(logを取って)使う• 例: クラスタに含まれるipアドレスと踏まれたページの  組み合わせからなる特徴ベクトル
特徴 (1)• Lifetime gap • 2つのクラスタのクッキーの寿命の差• Lifetime length • クッキーの寿命の長さ• # of page vies • 何度そのクッキーによってページが見られたか(のlog)
* 特徴 (2)• OS type • 本来はcannot-linkの制約であるがベイズ因子を使って特   徴化   • 事前分布として多項分布を仮定• IP address usage pattern • クラスタ内のクッキーと踏まれたページ...
βの学習• ↑式のようにロジスティック回帰でβを学習す る• 教師データとして用いるのはY!ツールバー利用 者のユーザ情報とクッキーの対
結果 (1)
結果 (2)
結論• クッキーからユーザの予測ができた
参考文献• [1] Method and System for Estimating Unique  Visitors for Internet Sites• [2] https://panopticlick.eff.org/
Upcoming SlideShare
Loading in …5
×

Overcoming browser cookie churn with clustering in wsdm2012 reading

3,952 views

Published on

0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,952
On SlideShare
0
From Embeds
0
Number of Embeds
1,480
Actions
Shares
0
Downloads
16
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Overcoming browser cookie churn with clustering in wsdm2012 reading

  1. 1. Overcoming Browser Cookie Churn with Clustering Anirban Dasgupta, Maxim Gurevich, Liang Zhang, Belle Tseng, Achint O. Thomas. Yahoo! Research WSDM2012勉強会 twitter: @y_benjo http://d.hatena.ne.jp/repose/
  2. 2. 概要• クッキーが消えてしまうとユーザのトラッキン グができない• Cookie Churn problem• 複数のクッキーをクラスタリングしてユーザを 同定• グラフ彩色問題として解く
  3. 3. サイト運営としては• 匿名化されたユーザの行動取得やユーザエクス ペリエンスを改善したい• そのため,アクセスしたユーザにCookieと呼 ばれる一意な識別子をブラウザに付与する
  4. 4. クッキーによって• 次の指標が計算できる• ユニークユーザ数• ユーザの挙動• Webサイトの人気度• 広告を出した際の影響力→インターネット企業にとっ て重要な収入源
  5. 5. 問題点• クッキーは永久に残らない• ユーザによって削除されたり• ブラウザが定期的に消す設定になっていたり• クッキー自身に設定された有効期間切れ• よってクッキーベースの集計では過大にカウン トしてしまう
  6. 6. 更なる問題• コールドスタート問題 • 少ない情報しか持たないユーザには適切な案内ができ ない• 広告主がreach-frequencyを把握できない • reach: キャンペーンによって何人が広告を見たか • freq: キャンペーンに何度遭遇したか• より正確なユーザ数の近似が必要
  7. 7. 既存手法(1)• comScore, Nielsen • モニタを雇用し,ユニークユーザを推定 • (モニタのアクセスログの比から推定?)• Fomitchev [1] • IPベースのログとクッキーベースのログから推定• これらでは推定が粗すぎる
  8. 8. 既存研究(2)• Browser fingerprints [2] • OS,ブラウザ,UA,解像度などで一意な情報を取得 • 今試したらブラウザのプラグインやシステムフォントなど も取得 • それらの情報に対するアクセス権限を求めるため実行 コストが高い • それぞれの特徴が独立であるという仮定に基づいてい る→大規模サイトでは衝突しやすい
  9. 9. 方針• 以下の情報(以降: 制約)に着目しクッキーをユー ザ単位でクラスタリング• クッキーの寿命 • 同じユーザによるクッキーの寿命は重ならない• OS,ブラウザ • 同じユーザによってこれらの属性は変化しない(仮定)
  10. 10. 課題• スケーラビリティ• クラスタ数(=ユーザ数)が未知• 制約はクッキーに対し二乗で発生する• ボトルネック• クッキーの寿命が短いため,意味のある情報を 取り出すのが困難
  11. 11. 解決策 • 寿命を用いてinterval graphとして表現 • グラフ彩色問題としてgreedyに解ける• クッキーの情報も用いて拡張グラフ彩色問題と して解く • その際用いる類似度の学習において分類問題を解く • L1/L2ノルム,ベイズ因子による2つの類似度を提案
  12. 12. プライバシーについて• 今回用いるクッキーは完全に匿名化されている• ユーザの詳細な情報や登録情報などとは紐付けられて いない• IPベースの特徴も用いているが完全にハッシュ化さ れ,サブネットの情報なども用いていない• むしろこの研究によってプライバシーと分析のトレー ドオフに貢献できるのでは
  13. 13. Interval graph• 辺 Eと頂点Vを持つグラフG(V, E)において各頂 点v_iに対して     があるとき, ……?
  14. 14. 実例 寿命Cookie i s_i t_i 寿命 Cookie j s_j t_i t• クッキーからInterval graphを構築 • 図のように寿命が重なるクッキー同士をつないだグラ フ• グラフ彩色: 隣り合うノードが違う色になるよう にグラフを塗る問題
  15. 15. 最もシンプルな彩色• O(¦V¦log(¦V¦ + ¦E¦))でgreedyに計算可能• クッキーを生成された時間でソートし • overlapしなければそのクラスタ(色)に割り振る • overlapすれば新しいクラスタ(色)に割り振る
  16. 16. 擬似コードdef IntervalColor(intervals) colors = { } intervals.sort.each do |c| if colors.not_overlap?(c) colors[color].push c else colors[new_color].push c return colors
  17. 17. * Browser Model• 寿命を用いたグラフ彩色で解く事の妥当性を示 す• 証明などは元論文参照• 簡単に説明を行う• ユーザモデルの仮定,データとの比較→妥当性を示す• ↑の仮定を用い,ユニークユーザ数がグラフ彩色にお ける色数の良い推定値になる事を証明• 聞き流しても構わない
  18. 18. * ユーザモデルの仮定• ユーザごとに次のパラメータを仮定する• λ: アクセスにおける時間間隔はλの指数分布に従う• p: アクセス毎にpの確率でクッキーを削除する• あるユーザの持つクッキーd_iの寿命がλpの指 数分布に従う
  19. 19. * 実データでの検証 実測値 5つのモデルを 混合すること によりいい感 5モデル じにモデリン 混合 グできている 単一モデル
  20. 20. * 彩色問題への妥当性• 「定数ε及び真のユーザ数kについて,少なくと も(1-ε)k色でグラフを塗ることができる」 • 大体いい感じに推定できる• 詳細はTheorem 1読んでください……
  21. 21. 実際に解いていく• 先述のアルゴリズムでは時間間隔しか用いるこ とができない• 他属性も用いてクラスタリングを行う• 拡張グラフ彩色アルゴリズム
  22. 22. いくつか定義•sim(C, C’) • クッキーの集合間における類似度を返す関数•I(C) • クラスタCにおける最も若い寿命• 目的関数:
  23. 23. 擬似コードdef ClusterBrowser(cookies, t) clusters = { } cookies.sort.each do |c| A = clusters.select{|C|I(c) ∩ I(C) = empty} C* = argmax C ∈ A sim(C, {c}) if sim(C*, {c}) >= t clusters[C*].push c else clusters.new(c) return clusters
  24. 24. スケールするために• クラスタの候補を選ぶ際,(IP, OS, ブラウザ) の特徴が等しいクッキーを持つもののみを候補 にする• この考えを二部グラフで表現するとクラスタリ ングが並列実行可能
  25. 25. 二部グラフ<aaa,Win7,IE6> C1 <aaa, Win7, IE6><bbb,10.7, <ccc, 10.5, safari> C2w3m> <ccc, <ddd, Vista, IE6> 10.5, C3safari> <bbb, 10.7, w3m><aaa,Win7, C4IE6>
  26. 26. 連結成分抽出<aaa,Win7,IE6> C1 <aaa, Win7, IE6><bbb,10.7, <ccc, 10.5, safari> C2w3m> <ccc, <ddd, Vista, IE6> 10.5, C3safari> <bbb, 10.7, w3m><aaa,Win7, C4IE6>
  27. 27. 擬似コードdef ClusterBrowserParallel(cookies, t) g = bi_graph.new cookies.each do |c| g.edge(c, <c.ip, c.os, c.browser>) G{G_1, ..., G_k} = g.connect_componets G.parallel_each do |G_i| B_i = ClusterBrowser(G_i, t) return {B_1, ..., B_k}.union
  28. 28. 特徴量• 次の問題は類似度sim(C, C’)• xはクラスタCのセントロイド• 特徴量s_iをこれから定義していく • β = 1 でユークリッド距離 • β_iをまともに学習させるとマハラビノス距離(M=対 角行列とした時の)
  29. 29. 新たな距離尺度• ベイズ因子• 多変量な特徴間の距離に(logを取って)使う• 例: クラスタに含まれるipアドレスと踏まれたページの 組み合わせからなる特徴ベクトル
  30. 30. 特徴 (1)• Lifetime gap • 2つのクラスタのクッキーの寿命の差• Lifetime length • クッキーの寿命の長さ• # of page vies • 何度そのクッキーによってページが見られたか(のlog)
  31. 31. * 特徴 (2)• OS type • 本来はcannot-linkの制約であるがベイズ因子を使って特 徴化 • 事前分布として多項分布を仮定• IP address usage pattern • クラスタ内のクッキーと踏まれたページのベクトル • 事前分布として多項分布,その事前分布にディリクレ• category visiting pattern • IP addressと同様
  32. 32. βの学習• ↑式のようにロジスティック回帰でβを学習す る• 教師データとして用いるのはY!ツールバー利用 者のユーザ情報とクッキーの対
  33. 33. 結果 (1)
  34. 34. 結果 (2)
  35. 35. 結論• クッキーからユーザの予測ができた
  36. 36. 参考文献• [1] Method and System for Estimating Unique Visitors for Internet Sites• [2] https://panopticlick.eff.org/

×