Vertex AI Search for Commerce には、検索で上位に表示するレコードを指定できる機能があります。ブースト ルールを適用して、返された検索アイテムに優先順位を付けることで、結果のランキングを制御できます。
ブースト ルール
ブースト ルールは、関連性順の検索や、並べ替え前のスコアを含む閲覧結果など、基本の関連性スコアがある場合にのみ適用できます。ブーストは、これらの検索結果とブラウジング結果に適用される乗数関数です。
ブーストまたは埋め込み
1 つの商品を複数のブーストまたは埋め込みルールで条件付けできます。これらのルールは、検索サービス API の boostspec
クラスで設定します。
- 正の数は、ブースト ルール(プロモーション)を示します。
- 負の数は、昇格ではなく降格の埋め込みルールを示します。
構成オプション
- ブースト効果の合計: 降格と昇格の両方がある場合、Vertex AI Search for Commerce はこれらの値を合計します。結果として得られる合計は、ブーストの低下またはネット埋葬効果のいずれかになります。
- 最大ブースト ルール(デフォルト): Vertex AI Search for Commerce は、最大値を確認し、他のルールを無視します。
1 つの商品に複数のブーストまたは埋め込みルールが設定されている
複数のブーストまたは埋め込みルールが商品に影響を与える可能性があり、ブースト値の合計または最大値のいずれかが最終スコアを決定します。
同じ商品に複数のブースト ルールが適用されている場合は、別の商品のスコアによってその商品が上位から外れていないか常に確認してください。この問題が発生しにくくなるよう、最大モードがデフォルトに設定されています。
ある商品には 2、3、0.5 のブーストが適用され、別の商品には 0.5 のブーストが 1 回適用されたとします。この商品はブースト スコアが 0.5 しかありませんが、繰り返しブーストされると、他の商品よりも上位に表示されます。ブーストの仕様を慎重に確認し、重複していないか、意図したとおりに重複しているかを確認します。
フィルタをオーバーライドする
ブースト ルールよりも優先される 2 種類のフィルタ:
ユーザー指定: 価格やブランドなど。ウェブサイトでタイルやファセットとしてエンドユーザーに表示されます。
トピック性(関連性): これらのフィルタは検索クエリにのみ存在します(ブラウジングには存在しません)。関連性の低い商品は検索結果から除外されます。たとえば、「冷蔵庫」で検索しても、電子レンジや冷蔵庫の取っ手などのアクセサリーは返されません。冷蔵庫の検索では電子レンジをブーストしないようにフィルタが認識します。
検索とブラウジングで利用可能なフィルタ
- 検索: トピックのフィルタと、サイト内ファセットなどユーザーが適用した他のフィルタ。
- 閲覧: テキスト クエリがないため、ユーザーが適用したフィルタのみが適用されます。フィルタは、商品(スーツなど)が正しい商品カテゴリ(セーターなどではない)に属していることを確認するためにも適用されます。
デバッグとトラブルシューティング
すべての商品で無制限のブーストが可能です。ただし、ユーザーが適用したフィルタによって、検索結果から商品が除外されることがあります。ブーストされた商品が検索結果やブラウジング結果に表示されない原因をトラブルシューティングするには、次の点を確認します。
- 複数のブーストルール(埋め込み降格を含む): ブーストモードの構成(合計または最大)を確認し、最終スコアを決定します。
- 関連性: 商品はクエリに関連性があり、関連性フィルタを通過する必要があります。検索語句が Nike シューズで、商品タイトルが Air Jordans の場合、単語は一致しませんが、意味的に近い関係性があるため、関連性スコアが高くなります。「イエロージャケット」などの商品タイトルは、Nike の検索クエリとの関連性が低くなります。同様に、商品名が意味不明な型番で、どの単語とも関連性がない場合、関連性スコアはどの検索語句に対しても低くなります。
- フィルタ: フィルタリング ルールはブースト ルールよりも優先され、ブーストされた商品が検索結果に表示されないようにします。フィルタは常にブーストの上に適用されます。商品にユーザーが適用したフィルタがある場合や、商品カテゴリにブラウジング用のフィルタがある場合、ブーストはまったく機能しません。
ブーストのチュートリアル
このチュートリアルでは、商品ブーストの例を説明します。
このタスクを Cloud Shell エディタで直接行う際の順を追ったガイダンスについては、[ガイドを表示] をクリックしてください。
ブーストを構成する
このページでは、次のデータセットを例として使用します。説明に必要なフィールドのみが含まれています。
データセットの例
検索リクエストとレスポンスの例
たとえば「Google スピーカー」を検索する場合、「nest_mini_2nd_gen」、「nest_audio」、「nest_hub_max」、「nest_hub」、「google_home_max」、および「google_home_mini」を取得し、順序は決まっていません。
ブースト仕様の例
安い商品(95 ドル未満)に優先し、高価な商品(95 ドル超)の優先度を下げる場合、ブースト仕様を以下のように適用できます。
JSON
{ condition_boost_specs { condition: "price: IN(*, 95.0e)" boost: 0.5 } condition_boost_specs { condition: "price: IN(95.0e, *)" boost: -0.5 } }
結果で、"nest_mini_2nd_gen"
、"google_home_mini"
、"nest_hub"
が最初の 3 つになり、"nest_audio"
、"nest_hub_max"
、"google_home_max"
は最後の 3 つになります。ただし、フィルタと並べ替えの結果で説明されているように、価格順とは異なり、特定の順序は事前に決定されません。