emnlp 2011 reading
DESCRIPTION
Personalized recommendation of user comments via factor modelTRANSCRIPT
EMNLP 2011読む会
Personalized recommendation of user
comments via factor model 坪坂 正志
m.tsubosaka(at)gmail(dot)com
紹介する論文
Personalized recommendation of user comments via factor models
Deepak Agarwal, Bee-Chung Chen, Bo Pang
3人ともYahoo! Research
レビューデータについて
インターネットには多くのレビューデータが存在する
amazon, 食べログ, Yelp
Yahoo! News, Digg, Slashdot
レビューデータの構造 (Yelpを例に)
レビューの対象物
点数
レビュー
レビューに対する評価 レビューアー
従来研究
点数
レビュー
レビューに対する評価
レビューから点数を推定する(評判分析) 発展としてレビューを複数の側面(aspect)で捉える研究
[Hu and Liu 2004, Popescu and Etzioni 2005, Synder and Barzilay 2007, Titov and McDonald 2008]
レビューアー
従来研究
点数
レビュー
レビューに対する評価
レビューに対する評価を予測する レビューがhelpfulかどうかの予測(ある種の信憑性分析)
ユーザにおける評価の平均値を予測する
[Kim+ 2006, Liu+ 2007, Danescu-Niculescu-Mizil+ 2009]
レビューアー
この論文での研究
個々の人に対して、その人にとって好ましいレビューを推薦する (Personalized recommendation)
例えば民主党支持者にとっては共和党支持のコメントは評価は低いが、共和党支持者にとっては評価は高い
Notation
𝑦𝑖𝑗 : ユーザ𝑖のコメント𝑗に対して付けたrate
𝒙𝑖 : ユーザ𝑖に関する特徴量ベクトル
ユーザがポジティブな評価を行ったコメントの単語ベクトルなど
𝒙𝑗 : コメント𝑗に関する特徴量ベクトル
コメントに関する単語ベクトル
𝑎(𝑗) : コメント𝑗を書いたユーザ
𝜇𝑖𝑗 : 𝐸(𝑦𝑖𝑗)
通常コメントは高々一回しか評価されないので、観測はできない
相互作用によらないバイアス
𝜇𝑖𝑗をいくつかのバイアスの和で表す
𝛼𝑖 : ユーザ𝑖に関するバイアス
ユーザ𝑖のコメントに対する評価の平均的な傾向
𝛽𝑗 : コメント𝑗に関するバイアス
コメント𝑗に対する評価の平均的な傾向
𝛾𝑎(𝑗) : 著者a(𝑗)に関するバイアス
コメントの著者a(𝑗)に対する評価の平均的な傾向
潜在変数によるバイアス
𝒗𝑖 : ユーザ間のaffinityを表す𝑟𝑣次元のベクトル
𝒖𝑖 : ユーザコメント間のaffinityを表す𝑟𝑢次元のベクトル
𝒄𝑗 : ユーザコメント間のaffinityを表す𝑟𝑢次元のベクトル
上の変数を使って、バイアスは
𝒗𝑖′𝒗𝑎 𝑗 : コメント著者と評価者の間の類似度
𝒖𝑖′𝒄𝑗 : コメントと評価者の間の類似度
モデル
以上より𝜇𝑖𝑗は
𝜇𝑖𝑗 = 𝛼𝑖 + 𝛽𝑗 + 𝛾𝑎 𝑗 + 𝒗𝑖′𝒗𝑎 𝑗 + 𝒖𝑖
′𝒄𝑗
と書け
𝑦𝑖𝑗 ∼ 𝑁(𝜇𝑖𝑗 , 𝜎𝑦2)
また評価が二値などに対応するため一般化線形モデルの枠組みを使うと
ℎ(𝜇𝑖𝑗) = 𝛼𝑖 + 𝛽𝑗 + 𝛾𝑎 𝑗 + 𝒗𝑖′𝒗𝑎 𝑗 + 𝒖𝑖
′𝒄𝑗
𝑦𝑖𝑗 ∼ Bernoulli(𝜇𝑖𝑗)
などとも書ける(例えば2値の場合ℎはロジット関数、通常の連続値の場合は恒等間数)
潜在変数のモデル化
このモデルの潜在変数をそのままMLEで学習しようとすると過学習の可能性がある
そこで潜在変数についての事前分布を考える
𝛼𝑖 ∼ 𝑁 𝑔′𝒙𝑖 , 𝜎𝑎2 , 𝛽𝑗 ∼ 𝑁 𝑑′𝒙𝑗 , 𝜎𝛽
2 , 𝛾𝑎 𝑗 ∼ 𝑁(0, 𝜎𝛾2)
𝒖𝑖 ∼ 𝑁 𝐺𝒙𝑖 , 𝜎𝑢2 , 𝒄𝑗 ∼ 𝑁 𝐷𝒙𝑗 , 𝜎𝑐
2 , 𝒗𝑖 ∼ 𝑁(0, 𝜎𝑣2)
以上より
潜在変数: Θ = {𝑢𝑖 , 𝑣𝑖 , 𝑐𝑗}
パラメータ: 𝜂 = {𝑔, 𝑑, 𝐺, 𝐷, 𝜎𝛼2, 𝜎𝛽
2, 𝜎𝛾2, 𝜎𝑢
2, 𝜎𝑐2, 𝜎𝑣
2, 𝜎𝑦2}
を推定すれば良いことがわかる
モデルフィッティング
対数尤度関数は以下のようになる
この問題ではEステップでの𝑃(Θ|𝜂𝑜𝑙𝑑 , 𝑌)を解析的に計算するのは困難
Monte Carlo EMアルゴリズムを使う
モンテカルロEMアルゴリズム
Mステップで計算する
𝑄 𝜂, 𝜂𝑜𝑙𝑑 = ∫ 𝑝 Θ 𝑌, 𝜂𝑜𝑙𝑑 log 𝑝(Θ, 𝑌|𝜂) 𝑑Θ
を現在の事後分布の推定𝑝 Θ 𝑌, 𝜂𝑜𝑙𝑑 からのサンプル
{Θ𝑙}の有限和
𝑄 𝜂, 𝜂𝑜𝑙𝑑 ≃1
𝐿 log 𝑝(Θ𝑙 , 𝑌|𝜂)𝑙
で近似する
PRML(11.1.6)にも解説あり
この問題の場合Mステップは通常の方法で最適化できる
派生モデル
全部の要素を取り入れたモデルを𝐯𝐯 + 𝐮𝐜モデルと書く
ユーザ間の類似度のみ用いたモデルを𝐯𝐯モデルと書く
ユーザとコンテントの類似度のみ用いたモデルを𝐮𝐜モデルと書く
matrix factorization modelとの関係
Matrix factorization modelは
ℎ(𝜇𝑖𝑗) = 𝛼𝑖 + 𝛽𝑗 + 𝒖𝑖′𝒄𝑗
で、𝑔 = 𝑑 = 𝐺 = 𝐷 = 0としたモデルとみなせる
ucモデル
matrix factorization modelと同じであるが、𝑔, 𝑑, 𝐺, 𝐷が非ゼロであるところが異なる
これは既存のregression modelである[Agarwal and Chen 2009]と類似のモデルとなっている
“Regression-based latent factor models”, KDD 2009
vvモデル
ℎ(𝜇𝑖𝑗) = 𝛼𝑖 + 𝛾𝑎 𝑗 + 𝒗𝑖′𝒗𝑎 𝑗 としたモデル
これはソーシャルネットワークでのインタラクションをモデル化するのに用いられている
Hoff, Bilinear mixed-effects models for dyadic data. JASA, 2005
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の次元が大きい時はパラメータ数を少なく抑えることができる
実験データ
2010年3月から5月までのYahoo!Newsのコメント評価データを用いる
評価はpositive/negativeのbinary
9003人の200以上のratingを行なっているユーザを用いる
189291人の20以上のratingを受けているユーザを用いる
5088個の40個以上のコメントがあるニュース記事を用いる
200以上などの条件は生データにおけるものなので、フィルタ後のデータにおいて必ずしもこの条件が満たされるとは限らない
合計で444万222個のratingsと119万7089個のコメントデータとなった
実験データ
5088記事のうち50%を訓練用、5%をチューニング用、45%をテスト用に用いる。
すべてのコメントはトークナイズされ、小文字に正規化され、ストップワードと句読点は除外される
単語は頻出10000語に制限される
コメントの特徴量ベクトル𝑥𝑗のBOF表現として表される
重み付けにはtf-idfを用いる
評価者の特徴ベクトル𝑥𝑖は評価者がポジティブの評価をしたコメントの特徴ベクトルの合計として表される
比較手法
𝐯𝐯 + 𝐮𝐜モデル, 𝐯𝐯モデル, 𝐮𝐜モデル
𝑟𝑣 = 2, 𝑟𝑢 = 3
low-rank bilinear (bilinear)
ランクは3
コサイン類似度 (cos) 𝒙𝑖
′𝒙𝑗を利用
Per-user SVM (svm) 評価者ごとに𝒙𝑗を使ってSVMで学習を行う
Per-user Naive Bayes (nb)
NBで学習を行う
パフォーマンスメトリックス
ROC(AUC)
False positive rateを横軸に、True positive rateを縦軸に取った時の下側の面積
ランダムな推論のとき0.5となる
P@k
各rankerに関してテストセットの評価を行ったデータに関してスコアを計算し、k位までの精度を算出する
全rankerに関して平均をとる
各手法におけるROCカーブ
各手法におけるAUCおよび精度の値
Paired t-testの結果
2つの手法に関して有意な差があるかの検定を行った
uc+vv
uc vv
bilinear
svm
nb
cos
各手法の順序関係
activity レベルの差による精度の違い
ユーザのアクティビティの数が多いほどユーザ間のaffinityを考慮したvvモデルの精度は上がる
特徴量のサイズによる精度の違い
ucモデルに関して𝑥𝑖の特徴量の数を変えた時の精度を見た
サイズを5Kから10Kに変えても殆ど変わらないため、論文においては10Kで行なっている
潜在次元の観察
潜在次元を1にしたとき、𝑢𝑖 = 𝐷𝒙𝑖 , 𝑐𝑖 = 𝐺𝒙𝑗の正負に注
目する
2つの符号が等しければraterはそのコメントを好む
実際符号のサイズの大きいものを見ると、片方にはrepukes, repugsなどの共和党を貶す単語が見られ、もう一方にはlibtards, nobama, obummerなど反オバマの単語が見られる
まとめ
評価者とコメントの関係、評価者とコメントの著者との関係を取り入れたモデルを提案した
ニュースの記事などの潜在変数は時間と共に変わっていくと思われるので、このような時間変化を捉えれるモデルは今後の検討課題である
このようなモデルは通常の商品のレコメンデーションなどにも応用できると考えられる
コールドスタート問題の解決など