Closed nogawanogawa closed 2 years ago
Related PinはPinterest上でアイテムの発見をする上で非常に大きな役割を果たしている。 2013年に登場したこの機能は2015年には全保存数とインプレッションの40%以上がRelated Pinから発生し、Pinterestの主要な発見メカニズムの1つとなっている。
-- 製品紹介チックな論文なので、問題を解いた論文ではない
(Related Pinの推薦の仕組みを紹介する)
Candidate Generationは基本的にユーザーが作成したボードとピンのグラフに基づいて生成される。
最初期は、同じボードに発生したPinのペアを, Hadoop/MapReduceを使用して取得し、それをランダムサンプルしていた。
現在はPixieと呼ばれるランダムウォークによってCandidate Generationされている。 これはPinとボードの二部グラフを使用し、関連性の低いピンを除去した後、ランダムウォークによってユーザー固有のPageRankを算出する。
これによって、Pinから数ステップ離れたボードについても検索することができ、希少なピンが推薦される範囲を拡大できる。
通常、同じセッション内で何らかの形で関係しているが、それは必ずしも同じボード内に保存するわけではなく、ユーザーが別々のボードに画像を保存する事もある。 そのため、時間的次元を考慮することで、この問題に対処している。
具体的には、同じセッション内で保存したPinの系列をword2vecと同様の方法で、Pin2Vecとして学習することで、同一セッションで保存されたPin間の距離を最小化するように学習したEmbeddingを使用している。
先に挙げた方法とは並行して、Cold start問題や推薦の多様性確保に対応するために候補の補充を行った。
Pinterestが国際化したことによって、localeごとにPinの付き方が大きく異なっていた。 そこで、Boardの共起の結果から、localeが合致したPinのみを取得するようにFilteringを行っている。
Memboostとは、Pinterestで使用されている仕組みで、過去にあったクエリとなるPinと結果のペアを記録しておいてそれを使用します。
ログデータには強いポジションバイアスがかかるので、ログデータをそのまま使用することはできない。
そこで、位置に関するクリックの期待値に対して、実際にクリックされたかを使用し、最終的にこのスコアを使用してソートする。
また、Memboostの過程で発生した高いスコアのアイテムが、candidate Generationによって選択されない場合があるが、その際にはMemboostからの候補として追加している。
Memboost自体は、システムが複雑化し問題がありつつ、ポジティブなメリットが大きいと判断して長らく使用されてきた。
長らくCandidate GenerationとMemboostだけでRelated Pinの推薦を行ってきたが、その後Rankingモデルを導入した。 Memboostのスコアに加えて、Pinのデータや、後にユーザーに関する情報(最新のクエリなど)をFeature Extractorによって特徴量化され、それらをモデルのインプットとしている。
その他、フィードバックループによるバイアスを除外するためにログデータをサンプリングして使用する工夫をしている。
オフライン指標には、紆余曲折あれどPR AUCを使用した。
オフラインでランキングを実行しようとすると、リソースの制約により、50%程度しかカバーできないことがわかった。 そのた、いろんな方法を試したが、オフラインでランキングを生成することは難しくなり、オンラインで推論を行うことにした。
論文URL
https://arxiv.org/abs/1702.07969
著者
David C. Liu, Stephanie Rogers, Raymond Shiau, Dmitry Kislyuk, Kevin C. Ma, Zhigang Zhong, Jenny Liu, Yushi Jing
会議
WWW '17
背景
XXX
目的
XXX
アプローチ
歴史的経緯の説明。