emnlp 2011 reading

31
EMNLP 2011読む会 Personalized recommendation of user comments via factor model 坪坂 正志 m.tsubosaka(at)gmail(dot)com

Upload: masashi-tsubosaka

Post on 02-Jul-2015

3.400 views

Category:

Documents


1 download

DESCRIPTION

Personalized recommendation of user comments via factor model

TRANSCRIPT

Page 1: EMNLP 2011 reading

EMNLP 2011読む会

Personalized recommendation of user

comments via factor model 坪坂 正志

m.tsubosaka(at)gmail(dot)com

Page 2: EMNLP 2011 reading

紹介する論文

Personalized recommendation of user comments via factor models

Deepak Agarwal, Bee-Chung Chen, Bo Pang

3人ともYahoo! Research

Page 3: EMNLP 2011 reading

レビューデータについて

インターネットには多くのレビューデータが存在する

amazon, 食べログ, Yelp

Yahoo! News, Digg, Slashdot

Page 4: EMNLP 2011 reading

レビューデータの構造 (Yelpを例に)

レビューの対象物

点数

レビュー

レビューに対する評価 レビューアー

Page 5: EMNLP 2011 reading

従来研究

点数

レビュー

レビューに対する評価

レビューから点数を推定する(評判分析) 発展としてレビューを複数の側面(aspect)で捉える研究

[Hu and Liu 2004, Popescu and Etzioni 2005, Synder and Barzilay 2007, Titov and McDonald 2008]

レビューアー

Page 6: EMNLP 2011 reading

従来研究

点数

レビュー

レビューに対する評価

レビューに対する評価を予測する レビューがhelpfulかどうかの予測(ある種の信憑性分析)

ユーザにおける評価の平均値を予測する

[Kim+ 2006, Liu+ 2007, Danescu-Niculescu-Mizil+ 2009]

レビューアー

Page 7: EMNLP 2011 reading

この論文での研究

個々の人に対して、その人にとって好ましいレビューを推薦する (Personalized recommendation)

例えば民主党支持者にとっては共和党支持のコメントは評価は低いが、共和党支持者にとっては評価は高い

Page 8: EMNLP 2011 reading

Notation

𝑦𝑖𝑗 : ユーザ𝑖のコメント𝑗に対して付けたrate

𝒙𝑖 : ユーザ𝑖に関する特徴量ベクトル

ユーザがポジティブな評価を行ったコメントの単語ベクトルなど

𝒙𝑗 : コメント𝑗に関する特徴量ベクトル

コメントに関する単語ベクトル

𝑎(𝑗) : コメント𝑗を書いたユーザ

𝜇𝑖𝑗 : 𝐸(𝑦𝑖𝑗)

通常コメントは高々一回しか評価されないので、観測はできない

Page 9: EMNLP 2011 reading

相互作用によらないバイアス

𝜇𝑖𝑗をいくつかのバイアスの和で表す

𝛼𝑖 : ユーザ𝑖に関するバイアス

ユーザ𝑖のコメントに対する評価の平均的な傾向

𝛽𝑗 : コメント𝑗に関するバイアス

コメント𝑗に対する評価の平均的な傾向

𝛾𝑎(𝑗) : 著者a(𝑗)に関するバイアス

コメントの著者a(𝑗)に対する評価の平均的な傾向

Page 10: EMNLP 2011 reading

潜在変数によるバイアス

𝒗𝑖 : ユーザ間のaffinityを表す𝑟𝑣次元のベクトル

𝒖𝑖 : ユーザコメント間のaffinityを表す𝑟𝑢次元のベクトル

𝒄𝑗 : ユーザコメント間のaffinityを表す𝑟𝑢次元のベクトル

上の変数を使って、バイアスは

𝒗𝑖′𝒗𝑎 𝑗 : コメント著者と評価者の間の類似度

𝒖𝑖′𝒄𝑗 : コメントと評価者の間の類似度

Page 11: EMNLP 2011 reading

モデル

以上より𝜇𝑖𝑗は

𝜇𝑖𝑗 = 𝛼𝑖 + 𝛽𝑗 + 𝛾𝑎 𝑗 + 𝒗𝑖′𝒗𝑎 𝑗 + 𝒖𝑖

′𝒄𝑗

と書け

𝑦𝑖𝑗 ∼ 𝑁(𝜇𝑖𝑗 , 𝜎𝑦2)

また評価が二値などに対応するため一般化線形モデルの枠組みを使うと

ℎ(𝜇𝑖𝑗) = 𝛼𝑖 + 𝛽𝑗 + 𝛾𝑎 𝑗 + 𝒗𝑖′𝒗𝑎 𝑗 + 𝒖𝑖

′𝒄𝑗

𝑦𝑖𝑗 ∼ Bernoulli(𝜇𝑖𝑗)

などとも書ける(例えば2値の場合ℎはロジット関数、通常の連続値の場合は恒等間数)

Page 12: EMNLP 2011 reading

潜在変数のモデル化

このモデルの潜在変数をそのままMLEで学習しようとすると過学習の可能性がある

そこで潜在変数についての事前分布を考える

𝛼𝑖 ∼ 𝑁 𝑔′𝒙𝑖 , 𝜎𝑎2 , 𝛽𝑗 ∼ 𝑁 𝑑′𝒙𝑗 , 𝜎𝛽

2 , 𝛾𝑎 𝑗 ∼ 𝑁(0, 𝜎𝛾2)

𝒖𝑖 ∼ 𝑁 𝐺𝒙𝑖 , 𝜎𝑢2 , 𝒄𝑗 ∼ 𝑁 𝐷𝒙𝑗 , 𝜎𝑐

2 , 𝒗𝑖 ∼ 𝑁(0, 𝜎𝑣2)

以上より

潜在変数: Θ = {𝑢𝑖 , 𝑣𝑖 , 𝑐𝑗}

パラメータ: 𝜂 = {𝑔, 𝑑, 𝐺, 𝐷, 𝜎𝛼2, 𝜎𝛽

2, 𝜎𝛾2, 𝜎𝑢

2, 𝜎𝑐2, 𝜎𝑣

2, 𝜎𝑦2}

を推定すれば良いことがわかる

Page 13: EMNLP 2011 reading

モデルフィッティング

対数尤度関数は以下のようになる

この問題ではEステップでの𝑃(Θ|𝜂𝑜𝑙𝑑 , 𝑌)を解析的に計算するのは困難

Monte Carlo EMアルゴリズムを使う

Page 14: EMNLP 2011 reading

モンテカルロEMアルゴリズム

Mステップで計算する

𝑄 𝜂, 𝜂𝑜𝑙𝑑 = ∫ 𝑝 Θ 𝑌, 𝜂𝑜𝑙𝑑 log 𝑝(Θ, 𝑌|𝜂) 𝑑Θ

を現在の事後分布の推定𝑝 Θ 𝑌, 𝜂𝑜𝑙𝑑 からのサンプル

{Θ𝑙}の有限和

𝑄 𝜂, 𝜂𝑜𝑙𝑑 ≃1

𝐿 log 𝑝(Θ𝑙 , 𝑌|𝜂)𝑙

で近似する

PRML(11.1.6)にも解説あり

この問題の場合Mステップは通常の方法で最適化できる

Page 15: EMNLP 2011 reading

派生モデル

全部の要素を取り入れたモデルを𝐯𝐯 + 𝐮𝐜モデルと書く

ユーザ間の類似度のみ用いたモデルを𝐯𝐯モデルと書く

ユーザとコンテントの類似度のみ用いたモデルを𝐮𝐜モデルと書く

Page 16: EMNLP 2011 reading

matrix factorization modelとの関係

Matrix factorization modelは

ℎ(𝜇𝑖𝑗) = 𝛼𝑖 + 𝛽𝑗 + 𝒖𝑖′𝒄𝑗

で、𝑔 = 𝑑 = 𝐺 = 𝐷 = 0としたモデルとみなせる

Page 17: EMNLP 2011 reading

ucモデル

matrix factorization modelと同じであるが、𝑔, 𝑑, 𝐺, 𝐷が非ゼロであるところが異なる

これは既存のregression modelである[Agarwal and Chen 2009]と類似のモデルとなっている

“Regression-based latent factor models”, KDD 2009

Page 18: EMNLP 2011 reading

vvモデル

ℎ(𝜇𝑖𝑗) = 𝛼𝑖 + 𝛾𝑎 𝑗 + 𝒗𝑖′𝒗𝑎 𝑗 としたモデル

これはソーシャルネットワークでのインタラクションをモデル化するのに用いられている

Hoff, Bilinear mixed-effects models for dyadic data. JASA, 2005

Page 19: EMNLP 2011 reading

bilinear regression modelとの関係

bilinear regression modelでは以下のような式になる

Chu and Park , Personalized recommendation on dynamic content using predictive bilinear models. WWW 2009

ℎ(𝜇𝑖𝑗) = 𝑔′𝒙𝑖 + 𝑑′𝒙𝑗 + 𝒙𝑖

′𝑨𝒙𝑗

一方提案モデルでは

ℎ(𝜇𝑖𝑗) = 𝑔′𝒙𝑖 + 𝑑′𝒙𝑗 + 𝒙𝑖

′𝑮′𝑫𝒙𝑗

提案モデルは𝐺′𝐷 = 𝐴とLow-rankの行列2つでAを分解したモデルと捉えることができる

Aの次元が大きい時はパラメータ数を少なく抑えることができる

Page 20: EMNLP 2011 reading

実験データ

2010年3月から5月までのYahoo!Newsのコメント評価データを用いる

評価はpositive/negativeのbinary

9003人の200以上のratingを行なっているユーザを用いる

189291人の20以上のratingを受けているユーザを用いる

5088個の40個以上のコメントがあるニュース記事を用いる

200以上などの条件は生データにおけるものなので、フィルタ後のデータにおいて必ずしもこの条件が満たされるとは限らない

合計で444万222個のratingsと119万7089個のコメントデータとなった

Page 21: EMNLP 2011 reading

実験データ

5088記事のうち50%を訓練用、5%をチューニング用、45%をテスト用に用いる。

すべてのコメントはトークナイズされ、小文字に正規化され、ストップワードと句読点は除外される

単語は頻出10000語に制限される

コメントの特徴量ベクトル𝑥𝑗のBOF表現として表される

重み付けにはtf-idfを用いる

評価者の特徴ベクトル𝑥𝑖は評価者がポジティブの評価をしたコメントの特徴ベクトルの合計として表される

Page 22: EMNLP 2011 reading

比較手法

𝐯𝐯 + 𝐮𝐜モデル, 𝐯𝐯モデル, 𝐮𝐜モデル

𝑟𝑣 = 2, 𝑟𝑢 = 3

low-rank bilinear (bilinear)

ランクは3

コサイン類似度 (cos) 𝒙𝑖

′𝒙𝑗を利用

Per-user SVM (svm) 評価者ごとに𝒙𝑗を使ってSVMで学習を行う

Per-user Naive Bayes (nb)

NBで学習を行う

Page 23: EMNLP 2011 reading

パフォーマンスメトリックス

ROC(AUC)

False positive rateを横軸に、True positive rateを縦軸に取った時の下側の面積

ランダムな推論のとき0.5となる

P@k

各rankerに関してテストセットの評価を行ったデータに関してスコアを計算し、k位までの精度を算出する

全rankerに関して平均をとる

Page 24: EMNLP 2011 reading

各手法におけるROCカーブ

Page 25: EMNLP 2011 reading

各手法におけるAUCおよび精度の値

Page 26: EMNLP 2011 reading

Paired t-testの結果

2つの手法に関して有意な差があるかの検定を行った

Page 27: EMNLP 2011 reading

uc+vv

uc vv

bilinear

svm

nb

cos

各手法の順序関係

Page 28: EMNLP 2011 reading

activity レベルの差による精度の違い

ユーザのアクティビティの数が多いほどユーザ間のaffinityを考慮したvvモデルの精度は上がる

Page 29: EMNLP 2011 reading

特徴量のサイズによる精度の違い

ucモデルに関して𝑥𝑖の特徴量の数を変えた時の精度を見た

サイズを5Kから10Kに変えても殆ど変わらないため、論文においては10Kで行なっている

Page 30: EMNLP 2011 reading

潜在次元の観察

潜在次元を1にしたとき、𝑢𝑖 = 𝐷𝒙𝑖 , 𝑐𝑖 = 𝐺𝒙𝑗の正負に注

目する

2つの符号が等しければraterはそのコメントを好む

実際符号のサイズの大きいものを見ると、片方にはrepukes, repugsなどの共和党を貶す単語が見られ、もう一方にはlibtards, nobama, obummerなど反オバマの単語が見られる

Page 31: EMNLP 2011 reading

まとめ

評価者とコメントの関係、評価者とコメントの著者との関係を取り入れたモデルを提案した

ニュースの記事などの潜在変数は時間と共に変わっていくと思われるので、このような時間変化を捉えれるモデルは今後の検討課題である

このようなモデルは通常の商品のレコメンデーションなどにも応用できると考えられる

コールドスタート問題の解決など