TF-Ranking:ランクキング作成用TensorFlowライブラリ(2/2)

  • 2018.12.09
  • AI
TF-Ranking:ランクキング作成用TensorFlowライブラリ(2/2)

1.TF-Ranking:ランクキング作成用TensorFlowライブラリ(2/2)まとめ

・複数の評価項目を持つアイテムのランキングを単一評価項目のアイテムとう同様にランキング付け可能
・新しい評価基準最適化手法であるLambdaLossが実装され従来より正確な評価が可能
・ユーザは妥当性に関わらず最初の数件に敏感に反応する傾向があるがその偏りを排除する事が可能

2.TF-Rankingの特徴

以下、ai.googleblog.comより「TF-Ranking: A Scalable TensorFlow Library for Learning-to-Rank」の意訳です。元記事は2018年12月5日、Xuanhui WangさんとMichael Benderskyさんによる投稿です。前半はこちら

 

複数項目のランキング
TF-Rankingは、単一項目を個別にスコアリングする従来のスコアリング手法を拡張し、複数項目(例えば、Webページ)を連携してスコアリングすることができる新しいスコアリングメカニズムをサポートしています。
複数項目スコアリングにおける1つの課題は、各項目は項目単位でスコアリングする必要がある事です。次に、各項目のスコアはアイテムごとに累積され、ソートに使用されます。(訳注:Webページで言えば、「本文」「タイトル」「強調タグの使われ方」等々の各項目を他のページと比較してスコア付けし、それらのスコアが最終的にWebページのランクに反映されると言う事)これらの複雑さをユーザに見えなくするために、TF-RankingはLILO(List-In-List-Out)APIを提供し、エクスポートされたTFモデルでこのロジックを全て覆い隠します。


TF-Rankingライブラリは、従来の単一項目スコアリングを拡張した複数項目スコアリングアーキテクチャをサポートしています。

最近のデモンストレーションで実証したように、TF-Rankingの複数項目スコアリングは、LETORの公開ベンチマークでRankNet、MART、LambdaMARTなどの最先端のLearning-to-Rankモデルと良い勝負をしています。

ランキング評価基準の最適化
Learning-to-Rankにおける重要な研究課題は、ランキング評価基準(前述のNDCGおよびMRRなど)に対して最適化する事です。これらの評価基準は、Area Under the Curve(AUC)のような標準的な分類器評価基準よりもランク付けシステムのパフォーマンスをより良く評価できる一方で、不連続または平坦であるという望ましくない特性を有します。従って、これらの評価基準に標準的な確率的勾配降下法で最適化を行うと問題が発生します。

直近の研究では、評価基準最適化のための原理的な確率論的枠組みを提供する新しい方法、LambdaLossを提案しました。LambdaLossでは、基準駆動型損失関数を期待値最大化手順によって設計および最適化することができます。TF-Rankingライブラリは、これらの評価基準の最新の進歩を統合し、LambdaLossの実装を提供します。私達はこれにより、評価基準最適化の重要な分野におけるさらなる研究の進歩が促進されることを期待しています。

偏りのないLearning-to-Rank
以前の調査では、ランク付けされたリストがあると、ユーザーはそのランキングの妥当性と関係なく、最初の数件により敏感に反応する傾向が高いことが示されています。

この調査結果は、偏りのないLearning-to-Rankへの関心と研究を促しました。そして、トレーニングインスタンスを再加重させる事によって、偏りのない評価方法と幾つかの偏りのない学習アルゴリズムの開発動機につながりました。TF-Rankingライブラリでは、偏りのない評価をサポートするための測定基準が実装されています。また、ランキングに対するユーザーの反応を記録したインタラクションデータセットに固有の偏りを補正するために、ネイティブに再重み付けをサポートする偏りのない学習用の損失が実装されています。

TF-Rankingを試してみるためには
TF-RankingはTensorFlow Estimatorインターフェイスを実装しており、トレーニング、評価、予測、およびリリース作業をカプセル化して機械学習プログラミングを大幅に簡略化します。TF-Rankingは豊富なTensorFlowエコシステムと統合されています。上記のように、Tensorboardを使用して、NDCGやMRRなどのランキング測定基準を視覚化し、これらの測定基準を使用して最良のモデルを選択することができます。モデルの準備が整ったら、TensorFlow Servingを使用して実稼働環境にリリースするのも簡単です。

ご自身でTF-Rankingを試してみたいと思ったなら、GitHubリポジトリをチェックし、チュートリアルの例を見てください。TF-Rankingは積極的な研究プロジェクトであり、あなたのフィードバックと貢献を歓迎します。 TF-Rankingがどのように情報検索や機械学習の研究コミュニティに役立つかを知る事は私達の喜びです。

謝辞
このプロジェクトはTF-Ranking teamの皆さん、Rama Pasumarthi, Cheng Li, Sebastian Bruch, Nadav Golbandi, Stephan Wolf, Jan Pfeifer, Rohan Anil, Marc Najork, Patrick McGregor and Clemens Mewaldの尽力がなければ成し遂げられませんでした。私たちはTensorFlowチームのメンバー、Alexandre Passos, Mustafa Ispir, Karmel Allison, Martin Wickeと沢山の方々から頂いたアドバイスとサポートに感謝します。

最後に、協力者、インターン、早期にこのソフトウェアを試してくれた方々、Suming Chen, Zhen Qin, Chirag Sethi, Maryam Karimzadehgan, Makoto Uchida, Yan Zhu, Qingyao Ai, Brandon Tran, Donald Metzler, Mike Colagrosso, と沢山の方々、及びGoogle社内でTF-Rankingの初期バージョンのヘルプと評価とテストを手伝ってくれた皆さんに特別な感謝の意を表します。

(TF-Ranking:ランクキング作成用TensorFlowライブラリ(1/2)からの続きです。)

3.TF-Ranking:ランクキング作成用TensorFlowライブラリ(2/2)関連リンク

1)ai.googleblog.com
TF-Ranking: A Scalable TensorFlow Library for Learning-to-Rank

2)github.com
tensorflow/ranking