ランキング アルゴリズムの概要: 検索結果をランク付けする主なランキング アルゴリズム

1. はじめに

        Learning to Rank  (LTR) は、クエリとの関連性に基づいてアイテムのリストをランク付けするように設計された教師あり機械学習アルゴリズムのクラスです。分類や回帰などの問題における古典的な機械学習の目標は、特徴ベクトルから単一の値を予測することです。LTR アルゴリズムは、一連の特徴ベクトルを操作し、アイテムの最適な順序を予測します。

        LTR にはさまざまな用途があります。その一部を次に示します。

  • 検索エンジンユーザーがブラウザの検索バーにクエリを入力します。検索エンジンは、最も関連性の高い結果が上位に表示されるように Web ページをランク付けすることになっています。
  • 推薦者制度映画推薦システムは、入力クエリに基づいてユーザーにどの映画を推薦するかを選択します。

        ランキングの問題を正式に定義しましょう。

 クエリとドキュメントに関する情報を格納する n次元の特徴ベクトルが与えられた場合 、ランキングの目的は、クエリとドキュメントの関連性を示す実数を生成する関数fを見つけることです。また、オブジェクト i がオブジェクト j よりも上位にランク付けされている場合 (i   j)、f( i)はf(j) より大きくなければなりません 。

知らせ。i ▷ j は、ドキュメント i がドキュメント j よりも上位にあることを意味します。

2. データ

2.1 固有ベクトル

        特徴ベクトルは、次の 3 種類の特徴で構成されます。

  • ドキュメントのみから派生した特徴 (ドキュメントの長さ、ドキュメント内のリンクの数など)。
  • クエリのみから得られる特徴 (クエリの長​​さ、クエリの頻度など)。
  • ドキュメントとクエリの組み合わせから得られる特徴 (例: TF-IDF、BM25、BERT、ドキュメントとクエリ内の一般的な単語の数)

2.2 トレーニングデータ

        モデルをトレーニングするには、モデルにフィードされるトレーニング データが必要です。トレーニング データの収集方法に応じて、2 つのアプローチが考えられます。

  • オフラインLTRデータには人間が手動で注釈を付けました。人間は、さまざまなクエリとドキュメントのペア (クエリ、ドキュメント) の関連性をスコア付けします。このアプローチは費用と時間がかかりますが、高品質の注釈が提供されます。
  • オンラインLTRデータは、クエリ結果とのユーザーの対話から暗黙的に収集されます (ランク付けされたアイテムのクリック数、Web ページの滞在時間など)。この場合、トレーニング データの取得は簡単ですが、ユーザー インタラクションを解釈するのは簡単ではありません。

その後、特徴ベクトルとそれに対応するラベルが得られます。モデルをトレーニングするために必要なのはこれだけです。次のステップは、問題に最適な機械学習アルゴリズムを選択することです。

3. ランキングタイプ

        大まかに言えば、ほとんどの LTR アルゴリズムは確率的勾配降下法を使用して最適なランキングを見つけます。アルゴリズムが各反復で項目ランクを選択および比較する方法に応じて、主に 3 つのアプローチがあります。

  • ポイントごとにランク付けされます。
  • ペアでランク付けします。
  • リストによるランク付け。

        これらの方法はすべて、ランキング タスクを分類または回帰問題に変換します。次のセクションでは、それらが内部でどのように機能するかを見ていきます。

3.1 ポイントごとのランキング

        ポイントごとの方法では、スコアは特徴ベクトルごとに個別に予測されます。最後に、予測スコアが並べ替えられます。予測にどのタイプのモデル (デシジョン ツリー、ニューラル ネットワークなど) が使用されるかは関係ありません。

このタイプのランキングは、ランキング問題を回帰タスクに変換します。回帰モデルは、選択された損失関数 (MSE など) との正しい相関関係を予測しようとします。

もう 1 つの効率的なアプローチは、グラウンド トゥルース ランキングをワンホット表現に変換し、このデータをモデルにフィードすることです。この場合、回帰モデルまたは分類モデル (クロスエントロピー損失を伴う) を使用できます。

ポイントワイズ モデル アーキテクチャ。モデルは入力としてクエリと特徴ベクトルを受け入れます。

この方法は非常に簡単ですが、以下に挙げるいくつかの問題点があります。

階級の不均衡

ポイントワイズ メソッドを使用する場合の一般的な問題は、クラスの不均衡です。実際にランダムなクエリを実行する場合、コレクション内のすべてのドキュメントのごく一部のみがそれに関連する可能性があります。したがって、トレーニング データ内のクエリの相対ドキュメントと非関連ドキュメントの間には大きな不均衡が存在します。

この問題は克服できますが、考慮すべきさらに深刻な問題があります。

不適切な最適化メトリクス

ポイントごとのランキングの最適化目標には、大きな根本的な問題が 1 つあります。

ポイントごとのランキングでは、異なるドキュメント間の相対スコアに関係なく、ドキュメント スコアが個別に最適化されます。したがって、ランキングの品質を直接最適化するものではありません。

以下の例を考えてみましょう。ここでは、ポイントワイズ アルゴリズムが 2 つのドキュメント セットに対して予測を行います。MSE 損失はトレーニング中に最適化されると仮定します。

コレクションには 5 つのドキュメントが含まれており、そのうち 1 つは関連しており、他の 4 つは関連していません。関連するドキュメントの予測関連性は 0.7 ですが、他のドキュメントの予測関連性は 0.5 です。

        コレクションには 5 つのドキュメントが含まれており、そのうち 1 つは関連しており、他の 4 つは関連していません。予測される関連性は、関連ドキュメントの場合は 0.1、その他のドキュメントの場合は 0.2 です。

2 つのランキング結果がある場合、アルゴリズムの観点からは、対応する MSE 値が低いため 2 番目の方が優れていることがわかります。ただし、2 番目の位置を選択すると、無関係な結果がすべて最初にユーザーに表示されます。ちなみに、最初の例では、関連する結果が最初に表示されますが、ユーザー エクスペリエンスの観点からは、この方がはるかに優れています。通常、ユーザーはその後の提案にはあまり注意を払いません。

        この例は、実際の生活では、そもそも関連する結果と項目の相対的な順序を表示することにより関心があることを示しています。ファイルを個別に処理することにより、ポイントバイポイントではこれらの側面が保証されません。損失が少ないからといってランキングが向上するわけではありません。

3.2 ペアごとのランキング

        ペアワイズ モデルは、反復ごとに 1 組のドキュメントを使用します。入力形式に応じて、ペアワイズ モデルには 2 つのタイプがあります。

3.2.1 ペア入力モデル

        モデルへの入力は 2 つの特徴ベクトルです。モデルの出力は、最初のドキュメントが 2 番目のドキュメントよりも上位にランクされる確率です。トレーニング中に、これらの確率は特徴ベクトルのさまざまなペアに対して計算されます。モデルの重みは、グラウンド トゥルース レベルに基づいて勾配降下法によって調整されます。

ペア入力モデルのアーキテクチャ。モデルは入力として、クエリと 2 つの連結された特徴ベクトルを受け入れます。

この方法には、推論中に 2 つの大きな欠点があります。

  • 推論中に特定のクエリに対して n 個のドキュメントをランク付けするには、モデルはドキュメントの各ペアを処理して、すべてのペアごとの確率を取得する必要があります。ペアの総数は 2 次 (n  * (n — 1) / 2 に正確に等しい) となり、非常に非効率的です。
  • すべてのドキュメントのペアごとの確率があったとしても、特にドキュメントの 3 つ組(x, y, z)があるときにモデルが次のように動作する悪循環のような矛盾した状況では、最終的にそれらをどのようにランク付けするかは明らかではありません。ランク付けするには: x ▷ y、y ▷ z、および z ▷ x

悪循環問題

これらの欠点のため、ペア入力モデルは実際にはほとんど使用されず、単一入力モデルの方が優れています。

3.2.2 単一入力モデル

        モデルは単一の特徴ベクトルを入力として受け入れます。トレーニング中に、ペア内の各ドキュメントが独立してモデルに入力され、独自のスコアを受け取ります。次に、2 つのスコアが比較され、グラウンド トゥルース評価に従って勾配降下法によってモデルが調整されます。

単一入力モデルのアーキテクチャ。モデルは入力として、クエリとドキュメントを表す単一の特徴ベクトルを受け取ります。ランク予測は、モデルが 2 つの特徴ベクトルに独立してスコアを割り当てた後に計算されます。

推論中、各ドキュメントはモデルに渡されてスコアを取得します。その後、スコアが並べ替えられて、最終的なランキングが得られます。

シャム ネットワーク (FaceNet、SBERT など) に精通している人にとっては、単一入力モデルはシャム ネットワークとみなすことができます。

3.2.3 ペアワイズ損失関数

        各トレーニング反復中に、モデルはドキュメントのペアのスコアを予測します。したがって、損失関数はペアごとであり、両方のドキュメントのスコアを考慮する必要があります。

        一般に、ペアワイズ損失は、 2 つのスコア s[i] — s[j] の差に 定数 σ を乗じたものをパラメータzとして計算します。アルゴリズムに応じて、損失関数は次のいずれかの形式になります。

        

ペアごとのソートのためのさまざまな損失関数

場合によっては、小数差 z に定数を乗算することができます。

RankNet は、最も人気のあるペアワイズ ランキング アルゴリズムの 1 つです。次のセクションでその実装の詳細を見ていきます。

3.2.4 ランキングネットワーク

ドキュメントi および j        のスコアを取得し た後 、RankNet はソフトマックス関数を使用してそれらを正規化します。これにより、RankNet は 文書i が文書 j よりも上位にランクされる 確率 P[i][j] =  P(i ▷ j) を取得します。代わりに、確率 P̃[j][i] = P(j ▷ i ) = 1 — P(i ▷ j) を計算できます。簡単にするために、実際には i が j よりも上位にランク付けされると仮定します。そのため、 P̃[i][j] =  1 および P̃[j][i] =  0となります。モデルの重みを更新するために、RankNet はクロスエントロピー損失を使用します。これは次のように単純化されます。

        純損失関数のランキング

        モデルの重みは勾配降下法によって調整されます。次回モデルがドキュメント i と j の同じペアを取得したとき、ドキュメント i は以前よりも高いスコアを取得し、ドキュメント j が押し下げられる可能性があります。

RankNet分析

わかりやすくするために、数学については詳しく説明しませんが、元の論文では、著者がトレーニング プロセスを簡素化する方法を見つけたという興味深い発見が示されています。これは、次の 3 つの可能な値のいずれかを取る変数 S[i][j]を導入することによって 行われます。

いくつかの数学的トリックの後、クロスエントロピー損失の導関数は次のように分解されます。

式のラムダ値は、ドキュメントのすべてのペアについて比較的迅速に計算できる定数です。正または負の値を取ることにより、これらのラムダはドキュメントを上または下に押す力として機能します。

単一のドキュメントi のラムダのすべてのペアを合計できます 。この合計により、 ランキングにおいて文書iに適用される 合計の力が得られます。

ラムダを集計してドキュメントに加えられる合計の力を見つける

ラムダを使用すると、トレーニング時間が短縮され、結果の解釈が向上します。

ペアワイズ アルゴリズムはポイントワイズ法よりも優れたパフォーマンスを発揮しますが、2 つの欠点があります。

説明できない確率

モデルの出力確率は、モデルがオブジェクト iをオブジェクトj よりも高く ランク付けする 確信度を単純に示します。ただし、これらの確率は実際のものではなく、モデルによって大まかに近似できる場合があるため、特に前に見た悪循環の混乱の状況では、常にそれらを解釈に使用することは得策ではありません。

インバージョンを最小限に抑えることは最適ではありません

この問題は前の問題よりもはるかに深刻です。ほとんどのペアワイズ アルゴリズム、特に RankNet の根本的な問題は、ランク反転の数を最小限に抑えることです。反転数を最適化するのは自然なことのように思えるかもしれませんが、実際には、これはほとんどのエンド ユーザーが望んでいることではありません。2 つのランキングが含まれる次の例を考えてみましょう。どちらのランキングが優れていると思いますか?

2 つの関連ファイルがリストの最初と最後にあります。

2 つの関連文書がリストの中央の左側にあります。

2 番目のランクは反転が少なく、これがアルゴリズムの優先順位ですが、最上位に関連する結果が少なくとも 1 つあるため、平均的なユーザーは依然として 1 番目のランクを好みます。これは、ユーザーが最初の関連する結果を見つけるために大量のドキュメントをスクロールする必要がないことを意味します。繰り返しになりますが、反転よりも上位の結果に重点を置く、nDCGERRなどのユーザー指向のインジケーターを使用することをお勧めします。

したがって、すべてのドキュメントのペアが同じように重要であるわけではないことがわかります最下位ではなく上位で適切なランクを取得することに重点を置くように、アルゴリズムを微調整する必要があります。

この論文の研究者は、RankNet を使用してランキングを最適化すると、どのように非最適な結果が生じる可能性があるかを示す、わかりやすい例を考え出しました。

位置 1 のドキュメントが位置 4 にプッシュされ、位置 15 のドキュメントが位置 10 にプッシュされたため、反転の合計数が 2 減少していることがわかります。しかし、ユーザーエクスペリエンスの観点から見ると、新しいランキングはさらに悪化しています。中心的な問題は、RankNet が適切に配置されていないドキュメントに大きな勾配を割り当てることです。ただし、ユーザー向けのメトリクスを最適化するには、これを逆にする必要があります。つまり、より適切な位置にあるドキュメントが、より悪い位置にあるドキュメントよりもさらに上に押し上げられる必要があります。こうすることで、nDCGのようなユーザー向けの指標が高くなります。

3.3 リストによるランク付け

        リスト アルゴリズムは、ランキング指標を明示的に最適化します。勾配降下法を使用して特定のメトリックを最適化するには、そのメトリックの導関数を計算する必要があります。残念ながら、ほとんどのランキング指標 ( nDCG精度など) は非連続で微分不可能であるため、他の高度な手法が発明されました。

        ポイントワイズまたはペアワイズ ランキングとは異なり、リスト メソッドはドキュメントのリスト全体を一度に入力として受け取ります。場合によっては、これにより大規模な計算が必要になりますが、アルゴリズムが反復ごとにより多くの情報を提供するため、堅牢性も向上します。

モデルのアーキテクチャをリストします。モデルは入力として、すべてのドキュメントのクエリ ベクトルと特徴ベクトルを受け取ります。

3.3.1 ラムダランク

実装に応じて、LambdaRank はペアごとのメソッドまたはリスト メソッドとして見ることができます。

nDCGに焦点を当てる場合  、 位置の交換がより高いnDCGにつながる ドキュメント ペアに、より大きな勾配を割り当てることが最善であると思われます。この中心となるアイデアはLambdaRankにあります。

アルゴリズム名の「ラムダ」は、LambdaRank も RankNet で記述されているラムダを使用して最適化されることを意味します。

研究者らは驚くべき結果を生み出し、RankNet の損失値に|nDCG|を乗算すると、アルゴリズムがnDCG を直接最適化する傾向があることを実証しました。とはいえ、LambdaRank アルゴリズムは RankNet と非常によく似ていますが、今回はラムダにnDCGバリエーションを乗算する点が異なります。

nDCG最適化式

この研究の驚くべき点は、このトリックがnDCGだけでなく、他の情報検索メトリクスにも同様に機能することです。同様に、ラムダに精度の変動を乗算すると、精度が最適化されます。

最近、LambdaRank が特定の情報検索メトリクスの下限を最適化することが理論的に実証されました。

3.3.2 その他の方法

        他のリスト メソッドがどのように機能するかについては詳しく説明しませんが、それでも 2 つの素晴らしいアルゴリズムの実装の背後にある主なアイデアを提供します。

        LambdaMart は、 勾配ブースト ツリーと LambdaRank から派生した損失関数を使用したリスト メソッドのよく知られた実装です。実際には、LambdaRank よりも優れたパフォーマンスを発揮します。

      SoftRank は、nDCG派生の存在する問題に対処しますnDCG を滑らかに表現して近似する 「 SoftNDCG 」と呼ばれる新しいメトリクスを作成し、対応する導関数を見つけて勾配降下法を介してモデルの重みを更新できるようにします。実際、このアプローチは他の指標にも適用できます。

4. 結論

        一連のオブジェクトを関連する順序でランク付けする機械学習における重要なタスクであるランキングについて説明しました。ポイントワイズおよびペアワイズメソッドはあまり使用されませんが、リストワイズメソッドが最も信頼性が高くなります。明らかに、ここではランキング アルゴリズムのほんの一部しか説明しませんでしたが、この情報は ListNet や ListMLE などのより複雑な手法を理解するために重要です。リスト アルゴリズムの広範なリストは、ここにあります。

        LambdaRank は最も高度なランキング アルゴリズムの 1 つであり、特定のメトリクスを最適化するための高い柔軟性を提供することは注目に値します。

        ランキング指標について詳しく知りたい場合は、このトピックに関する私の他の記事を読むことを強くお勧めします。

5. リソース

 すべての写真は著者 Vyacheslav Yefimovから提供されました

·

おすすめ

転載: blog.csdn.net/gongdiwudu/article/details/132368961