結果を向上させる

Vertex AI Search for Commerce には、検索で上位に表示するレコードを指定できる機能があります。ブースト ルールを適用して、返された検索アイテムに優先順位を付けることで、結果のランキングを制御できます。

ブースティングを使用すると、定義した条件に基づいて特定のアイテムを昇格(ブースト)または降格(埋め込み)することで、結果のランキングを制御できます。フィルタリングでは結果セットからアイテムが削除されますが、ブーストでは、すでに返される対象となっているアイテムの位置が調整されます。

ブーストとフィルタのオーバーライド

ブースト ルールよりも優先される一般的なフィルタタイプの例を次に示します。

  1. ユーザー指定。価格やブランドなどがこれに該当します。エンドユーザーには、ウェブサイトのタイルまたはファセットとして表示されます。
  • トピック性(関連性)。これらのフィルタは検索クエリ(ブラウジングではない)にのみ存在します。関連性の低い商品は検索結果から除外されます。たとえば、「冷蔵庫」を検索しても、電子レンジや冷蔵庫の取っ手などのアクセサリーは返されません。冷蔵庫の検索では電子レンジをブーストしないようにフィルタが認識します。

ブースト ルール

ブースト ルールは、関連性順の検索や、並べ替え前のスコアを含む閲覧結果など、基本の関連性スコアがある場合にのみ適用できます。ブーストは、検索結果とブラウジング結果に適用される乗数関数です。ブーストの構文とロジックは、次のように分類できます。

  • 可用性。ブーストは在庫状況ルールをオーバーライドできません。商品がフィルタで除外されている場合(在庫切れなど)、ブーストしても表示されません。

  • 演算子。ブースト条件の数値フィールドには、標準の厳密なフィルタリングでは使用できない、次より大きい、次より小さいなどのオペレーションを使用できます。

ブースト値またはベリー値

1 つの商品を複数のブーストまたは埋め込みルールで条件付けできます。これらのルールは、Search API の boostSpec クラスで設定します。ブースト値は、-1.01.0 の範囲の浮動小数点数です。

  • 正の値(0.0 ~ 1.0): 商品アイテムをプロモートし、検索結果の上位に表示します。値が 1.0 の場合、最大のプロモーションが適用されます。

  • 負の値(-1.0 ~ 0.0): アイテムをデモート(埋め込み)し、結果の下位に移動します。-1.0 の値は、最大のデモートになります。

1 つの商品に対する複数のブーストまたは非表示ルール

複数の引き上げルールまたは引き下げルールが 1 つの商品に影響を与えることがあり、引き上げ値の合計または最大値のいずれかが最終スコアを決定します。同じ商品に複数のブースト ルールが適用されている場合は、別の商品のスコアによってその商品が上位から外れていないか常に確認してください。この問題が発生しにくくなるように、最大モードはデフォルトに設定されています。

ある商品が 2、3、0.5 のブーストを受け、別の商品が 0.5 のブーストを 1 回受けたとします。この商品のブースト スコアは 0.5 しかありませんが、繰り返しブーストされると、他の商品よりも上位に表示されます。ブースト仕様を慎重に確認し、重複していないこと、または意図したとおりに重複していることを確認します。

競合の解決

同じ商品に複数のブースト ルールが適用される場合は、それらのルールがどのように相互作用するかを定義できます。

  • 最大ブースト ルール(デフォルト): Vertex AI Search for Commerce は、最大値を確認し、他のルールを無視します。

  • ブースト効果の合計(代替設定): 降格と昇格の両方がある場合、Vertex AI Search for Commerce は、適用可能なすべてのブーストルールと埋め込みルールの値を合計します。これにより、累積効果が得られます。結果として得られる合計は、ブーストの低下またはネット埋め込み効果のいずれかになります。

ブーストを構成する

ブーストまたは埋め込みルールを使用してデータセットを構成するには、商品属性(ブランドや価格など)に基づいて条件を定義し、-1.0(埋め込み)1.0(ブースト)の範囲のブースト値を割り当てて、一致するアイテムのランキング スコアを調整します。ブースト コントロールまたは埋め込みコントロールの構成には、次のプロダクトを使用できます。

  • 検索: トピックのフィルタに加えて、サイト内ファセットなど、ユーザーが適用した他のフィルタ。検索のブーストの設定方法をご覧ください。

  • 閲覧: テキスト クエリがないため、ユーザーが適用したフィルタのみが適用されます。フィルタは、商品(スーツなど)が正しい商品カテゴリ(セーターなどではない)に属していることを確認するためにも適用されます。おすすめのブーストの設定方法についてご確認ください。

データセットの例

構成オプション

Vertex AI Search for Commerce では、ブーストは検索アルゴリズムによって生成された基本関連性スコアの乗数として適用されます。ブースト仕様を使用するか、サービス提供コントロールをサービス提供構成に適用することで、検索リクエストでブースト ルールを直接構成できます。レスポンスでは、これらの条件に一致するアイテムの関連性スコアが変更され、結果リストで完全に削除されることなく、上位または下位に表示されます。検索のブースト / 埋め込みコントロールを構成するには:

Cloud コンソール

  1. Search for commerce コンソールの [コントロール] ページに移動します。

    [コントロール] ページに移動

  2. [サービス提供コントロール] タブで、コントロールの右側にある [編集] アイコン をクリックします。

  3. [コントロールを編集] ポップアップで、[コントロール名] フィールドの下のフィールドをクリックして、コントロール名を変更します。

  4. 省略可: 検索の場合、[トリガー] セクションで、このコントロールをトリガーするユーザーの行動のタイプを選択します。[カテゴリを表示] セクションと [検索] セクションがグレー表示されます。

  5. 省略可: [一致した検索語句] を編集します。

  6. 省略可: [時間範囲を追加] オプションをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

  7. [続行] をクリックして [アクション] セクションに進みます。

  8. [ブースト / 埋め込み商品] フィールドに商品属性のフィルタを追加します。

    結果のフィルタリングと並べ替えに記載されているフィルタ式の構文を使用します。たとえば、「product1」と「product2」の赤と青のバージョンを指定するには: (id: ANY("product1","product2")) AND (colorFamily: ANY("Red","Blue"))

  9. [ブースト / 埋め込み値] には、スライダーを使用してブーストの強さを設定します。正の値は結果をブーストし、負の値は結果を埋め込みます。[続行] をクリックします。

  10. [サービス提供構成] セクションで、コントロールを適用するサービス提供構成を選択します。

  11. コントロール設定を送信します。

ブーストまたは埋め込みコントロール ルールが、プロジェクトの [サービス提供コントロール] に新しいコントロール タイプとして追加されました。新しいブースト / 埋め込みコントロールを作成する方法については、コントロールを作成するをご覧ください。

JSON

これは、価格によるブーストの例を示しています。

安い商品(95 米ドル未満)に優先し、高価な商品(95 米ドル超)の優先度を下げる場合、ブースト仕様を適用できます。

{
  "condition_boost_specs": [
    {
      "condition": "price: IN(*, 95.0e)",
      "boost": 0.5
    },
    {
      "condition": "price: IN(95.0e, *)",
      "boost": -0.5
    }
  ]
}

この例では、95 米ドル未満の商品はプロモーション(0.5)の対象となり、95 米ドルを超える商品は降格(-0.5)の対象となります。

結果で、"nest_mini_2nd_gen""google_home_mini""nest_hub" が最初の 3 つになり、"nest_audio""nest_hub_max""google_home_max" は最後の 3 つになります。ただし、フィルタと並べ替えの結果で説明されているように、価格順とは異なり、特定の順序は事前に決まっていません。

検索の場合、SearchRequestcondition_boost_specs を含むブースト仕様(boostSpec)を直接含めることで、一致するアイテムのランキング スコアを動的に適用します。

条件とトリガー

検索ブーストは条件付きにできます。これらの条件に基づいてブースト ルールをトリガーできます。

  • クエリ語句: ユーザーが特定の語句を検索した場合にのみブーストを適用します(クエリに「ジャケット」が含まれている場合に冬用コートをブーストするなど)。

  • 期間: 特定のプロモーション期間中のみブーストを適用します。

  • グローバル: 特定の構成で処理されるすべてのクエリにブーストを適用します。

検索リクエストとレスポンスの例

前述のサンプル データセットで「Google スピーカー」を検索すると、「nest_mini_2nd_gen」、「nest_audio」、「nest_hub_max」、「nest_hub」、「google_home_max」、「google_home_mini」が順不同で返されます。

おすすめのブースト

レコメンデーションのブーストは、サービス提供コントロールを使用して管理されます。検索とは異なり、おすすめブーストではクエリベースの条件はサポートされていません(ユーザー クエリがないため)。代わりに、コントロールは、関連付けられているサービス構成によって生成されたすべての予測に適用されます。このため、通常は、リクエストでブースト仕様を渡すのではなく、ブーストまたは埋め込みのサービス提供コントロールをサービス提供構成に適用して、レコメンデーションを構成します。

推奨事項でサポートされているフィールド

レコメンデーションでブーストする商品を定義する場合は、フィルタ式を使用します。標準レコメンデーションのフィルタリングはテキスト フィールドに限定されますが、ブーストは追加の数値フィールドをサポートしています。

フィールド タイプ サポートされるフィールド 説明
テキスト productIdbrandscategoriesgendersageGroupscolorFamiliescolorssizestitlematerialspatternsconditionsattributes.keytags フィルタリングとブーストの両方に使用できる標準フィールド。tags は商品に関連付けられたカスタムタグです。
数値 pricediscountratingratingCount ブースト/埋め込み専用。これらのフィールドを使用すると、価格、割引、ユーザー評価に基づいて商品をブーストできます。

詳細については、レコメンデーションをフィルタリングするブースト/ベリーのサポートされているフィールドをご覧ください。

高評価の商品をブーストする

たとえば、高評価の映画が「関連商品のおすすめ」パネルの上位に表示されるようにしたいとします。このユースケースでは、評価数が 100 を超えるアイテムをブーストするサービス提供コントロールを作成します。次の点を考慮して、コントロールを構成します。

  • コントロール タイプ: ブーストまたは非表示

  • プロダクトの選択: 推奨事項

  • 対応:

    • フィルタ式: ratingCount > 100

    • ブースト値: 0.5

この制御により、ユーザーの関連性を維持しながら、人気が高く評価の高いアイテムがおすすめリストで優先されます。

デバッグとトラブルシューティング

すべての商品で無制限にブーストできますが、ユーザーが適用したフィルタによって検索結果から除外されることがあります。ブーストされた商品が検索結果やブラウジング結果に表示されない原因をトラブルシューティングするには、次の点を確認します。

  • 複数のブーストルール(埋め込み降格を含む): ブーストモードの構成(合計または最大)を確認し、最終スコアを決定します。
  • 関連性: 商品は検索語句に関連性があり、関連性フィルタを通過する必要があります。検索語句が「ナイキの靴」で、商品タイトルが「エア ジョーダン」の場合、単語は一致しませんが、意味的に近い関係性があるため、関連性スコアが高くなります。「イエロージャケット」などの商品タイトルは、Nike の検索クエリとの関連性が低くなります。同様に、商品タイトルが意味不明な型番で、どの単語とも関連性がない場合、関連性スコアはどの検索語句に対しても低くなります。
  • フィルタ: フィルタリング ルールはブースト ルールよりも優先され、ブーストされた商品が検索結果に表示されないようにします。フィルタは常にブーストの上に適用されます。商品にユーザーが適用したフィルタがある場合や、商品カテゴリにブラウジング用のフィルタがある場合、ブーストはまったく機能しません。

ブーストのチュートリアル

このチュートリアルでは、商品ブーストの例を説明します。


このタスクを Cloud Shell エディタで直接行う際の順を追ったガイダンスについては、[ガイドを表示] をクリックしてください。

ガイドを表示