人間だったら考えて

なんでよ?考えて考えてっ 人間だったら考えて

SIGIR Learning to Rank sessionから見るランク学習研究の動向(4)

この記事はランク学習(Learning to Rank) Advent Calendar 2018 - Adventarの11本目の記事です

この記事は何?

以下の記事の続編です。

szdr.hatenablog.com

szdr.hatenablog.com

szdr.hatenablog.com

この記事ではSIGIR 2016・2017・2018のランク学習に関するセッションを取り上げていきます。



SIGIR 2016

3本中2本の論文がダウンロードできませんでした。。。

個人的には学習データのバイアスを扱った研究が非常に面白かったです。
学習データのバイアス問題はどこにでも現れる問題ですが、ちゃんと考えようとすると学習も評価も難しいので、非常に参考になりました。

Generalized BROOF-L2R: A General Framework for Learning to Rank Based on Boosting and Random Forests

(論文がダウンロードできませんでした)
ランダムフォレストとブースティングを組み合わせた手法を提案しているっぽい。

An Optimization Framework for Remapping and Reweighting Noisy Relevance Labels

(論文がダウンロードできませんでした)
クラウドソーシングでラベル付けしてもらったデータでランク学習をするが、クラウドソーシングなのでNoisyなラベルとなっており、工夫が必要。。。みたいなことをAbstでは言っています。

Learning to Rank with Selection Bias in Personal Search

  • ランク学習の学習データにはユーザーのクリックログがよく用いられるが、selection biasを始めとしたバイアス問題がある
  • バイアスを考慮して学習データに重み付けしてランク学習する手法を提案
  • personal search問題に適用、オフラインでもオンラインでも精度向上



SIGIR 2017

東京開催の年です。

この年は"Learning to Rank"と名のついたセッションは無かったのですが、SIGIR 2013と同じように"Retrieval Models and Ranking"というセッションがあったので、こちらのランク学習に関する研究を拾っていきます。

個人的にはEC検索へのランク学習適用論文が出ていたのが非常に面白かったです。
EC検索はweb検索と違って、検索キーワードとマッチしているだけではなく、ユーザーに買ってもらえそうな商品を出さないといけないという、一味違った問題設定を考えます。

ランク学習の手法自体を磨くのも大事だと思うのですが、各アプリケーションに適用しようとした際に出てくる問題を、ドメイン知識を活かして解決していくのは╭( ・ㅂ・)و グッ !と来ますね。。。

Learning to Rank Using Localized Geometric Mean Metrics

スライドが公開されていました

www.slideshare.net

  • 文書間の距離学習を用いたランク学習手法を提案
  • 既存のGBRTやLambdaMARTと比較し、精度・学習時間が良いが、予測時間は長い

End-to-End Neural Ad-hoc Ranking with Kernel Pooling

スライドが公開されていました
https://pdfs.semanticscholar.org/ea73/8439b880ad033ff01602ea52d04b366d0d37.pdf

  • クエリと文書のembeddingベクトルの類似度を単純に情報検索に用いると、微妙な結果になることがある
  • sim(hotel, motel)=0.9, sim(Tokyo, London)=0.9のとき、クエリ"Tokyo hotels"に対して文書"Hotel in London"が引っかかってしまう
  • クエリ単語と文書単語のマッチング行列についてKernel Poolingを通しスコアを求める方法を提案、既存手法よりも精度向上

Neural Ranking Models with Weak Supervision

スライドが公開されていました
http://mostafadehghani.com/wp-content/uploads/2016/07/SIGIR2017_Presentation.pdf

  • Deepなランキングモデルを作りたいが、ラベル付き学習データが得られないケースを考える
  • BM25でpseudo-labeling(BM25を当てたり、pairwise損失を定義したり)し、ネットワークを学習する
  • BM25でランキングするよりも精度向上(えー?)

Comparing Pointwise and Listwise Objective Functions for Random Forest based Learning-to-Rank

  • ランダムフォレストベースのランク学習手法を提案
  • (LambdaMARTの方が精度高い。。。?)

Efficient Cost-Aware Cascade Ranking in Multi-Stage Retrieval

  • ランキングモデルの予測時間を短縮するために多段階ランキングモデルを提案
  • 各段階のランキングモデルが使う特徴量が制限される
  • 木ベースのランキングモデルに提案手法を適用、高速かつ精度良い結果

On Application of Learning to Rank for E-Commerce Search

  • EC検索におけるランク学習適用
  • EC検索ではweb検索とは異なり、クリック・注文・流通額・カート追加など、最適化したい対象が様々
  • EC検索にランク学習を適用する際の特徴量や評価手法などを様々紹介



SIGIR 2018

この年はがっつりランク学習セッションが復活していました。

実は私はこの年のSIGIRに参加しており、ランク学習セッションも聴講していました。
その時の参加記です↓
szdr.hatenablog.com

From Greedy Selection to Exploratory Decision-Making: Diverse Ranking with Policy-Value Networks

  • 検索結果に多様性を持たせたい問題
  • AlphaGo Zeroでも提案されているような、policy/value networkとモンテカルロ木探索を組み合わせて、多様性を持つランキングモデルの構築手法を提案
  • 多様性を考慮した評価指標であるα-NDCGやERR-IAなどについて、既存手法よりも精度向上

Learning a Deep Listwise Context Model for Ranking Refinement

著者による実装です
github.com

  • ランキングモデルを1つだけ使う手法(global ranking function)では、クエリ毎の文書特徴量分布の違いを扱いきれない
  • あるランキングモデルで得られた結果を、RNNでリランクする手法を提案
  • top-N件の検索結果をRNNの学習データとし、RNNにクエリ毎の文書特徴量分布の違いを学習させる

Efficient Exploration of Gradient Space for Online Learning to Rank

  • オンラインのランク学習問題
  • 既存手法よりも早く高い精度が得られる手法を提案
  • (いまいち何やってるのかは分からない。。。)

Selective Gradient Boosting for Effective Learning to Rank

色々なランク学習手法を実装しているQuickRankというレポジトリがあるのですが、その中で本論文で提案している手法も実装されています。
github.com

  • 勾配ブースティング木ベースのランク学習手法の拡張
  • 次の木を学習する際に、relevant document + 一部のirrelevant documentを用いる
  • 既存のLambdaMARTよりも精度向上

Adversarial Personalized Ranking for Recommendation

スライドが公開されていました→Xiangnan He's Homepage

  • 画像認識の分野で、Adversarial Examples問題について議論されている
  • 商品レコメンドにおける、Adversarial noiseを考慮する問題
  • ノイズに対してロバストなモデルを提案

Turning Clicks into Purchases: Revenue Optimization for Product Search in E-Commerce

  • EC検索において、商品のクリック率・購買率を予測し、流通総額を最大化する問題
  • クリック率予測に関してはランク学習で得られたスコアを変換して求め、購買率は二値分類問題を解いて求める
  • クリック/購買/価格それぞれを考慮した評価指標で提案手法を評価し、流通総額を向上させることができた

Modeling Diverse Relevance Patterns in Ad-hoc Retrieval

実装が公開されていました
github.com

  • クエリと文書の関連度を考える上で、段落レベルでマッチしていたり、文書全体でマッチしていたりなど、マッチの粒度が存在する
  • Local Matching Layer/Global Decision Layerの階層ネットワークによってマッチの粒度を扱う手法を提案
  • 既存のランク学習手法よりも精度向上

Fast ranking with additive ensembles of oblivious and non-oblivious regression trees

別タイトルですが、同じ内容のスライドが公開されていました

www.slideshare.net

  • アンサンブル木ベースのランク学習の予測を高速化する話
  • ビット演算を用いて予測を高速に行うQuickScorerという手法を提案
  • 1.9〜6.6倍の高速化を達成



まとめ

この記事ではSIGIR 2016・2017・2018のランク学習に関するセッションを取り上げました。

この期間ではDeepな手法もガンガン出ていますが、一方でLambdaMARTなどアンサンブル木ベースのランク学習手法もまだまだ研究されています。

また、ランク学習の手法自体だけでなく、EC検索や商品レコメンドなど応用先も広がっています。
SIGIR 2013〜2015と比較して、ランク学習研究の再燃を感じました、今ランク学習が熱い(!?)