サービス提供コントロールについて

サービス制御をサービス提供構成に適用して、検索が検索クエリを扱い、結果を返す方法をカスタマイズできます。サービス制御は、条件とアクションのペアで構成されるルールです。条件は、サービス コントロールがいつ実行されるかを示します。アクションは、サービス制御が動作する動作を指定します。

サービス提供コントロールは、API Control.create メソッドを使用して作成できます。

API を使用しない場合は、Vertex AI Search for Commerce でサービス提供コントロールを作成するためにコンソールを選択できます。

利用可能なサービス提供コントロール

次のサービス管理を使用できます。

  • ブースト / 埋め込み: 返される結果リスト内の検索結果のランキングと順序に影響します。 検索とレコメンデーションで使用できます。
  • フィルタ: 返される結果リストからフィルタを通過しない結果を削除します。検索でのみ使用できます。
  • リダイレクト: 検索クエリに応じてユーザーを特定のページにリダイレクトします。検索でのみ使用できます。
  • 固定: 特定の商品について、検索結果内での正確な位置を指定します。
  • 言語: 検索クエリの言語をカスタマイズします。検索でのみ使用できます。数種類の言語制御を使用できます。
    • 類義語: 検索クエリの類義語と考えられるものを拡張します。
    • 一方向の類義語: 特定のキーワードの類義語と考えられるものを一方向に拡張します。
    • 無視: 検索に特定のキーワードが使用されないようにします。
    • 非関連付け: 特定のキーワードが表示されたときにキーワードが検索に使用されないようにします。
    • 置換: 検索クエリのキーワードを置き換えます。

制御条件

制御条件は、サービス制御がいつ実行されるかを規定します。

制御条件フィールドには、クエリ キーワード、期間、またはその両方にすることができます。制御の種類によって、複数の条件フィールドが許可されているものもあれば、許可されていないものもあります。

利用可能な条件フィールド:

  • クエリ キーワード: 検索クエリにキーワードが表示されたときにトリガーされます。
    • 完全一致では、検索クエリ全体がクエリ キーワードに一致する必要があります。
    • 複数のクエリ キーワードを指定できます。検索クエリにいずれかのクエリ キーワードが表示されている限りトリガーされます。
  • 有効期間: 検索クエリの日付が期間内にあるときにトリガーされます。
    • 複数の期間を指定できます。クエリの日付が(包括的な)期間内である限りトリガーされます。

指定する条件フィールドで、制御が適用されるかどうかを決定します。

  • 複数の条件フィールドは AND を使用して結合されます。つまり、期間とクエリ キーワードの両方を指定した場合は、制御を適用するには、両方の条件フィールドがトリガーされる必要があります。
  • 複数条件サブフィールドは OR を使用して結合されます。つまり、複数のクエリ キーワードがある場合は、いずれかのクエリ キーワードが一致するとクエリ キーワードがトリガーされます。複数の期間がある場合は、いずれかの期間が一致するとコントロールがトリガーされます。
  • 指定された条件フィールドがないとは、制御は常に適用されるということです。ただし、一部の制御ではフィールドを定義する必要があります。

条件設定の詳細については、Controls.condition API リファレンスをご覧ください。

制御アクション

制御アクションは、検索中に条件が満たされた場合にサービス制御が有効にするアクションを指定します。

指定できるアクションの種類は、作成するサービス提供コントロールのタイプによって異なります。たとえば、ブースト / 埋め込みコントロールのアクションは、ブースト / 埋め込み値を指定したフィルタの商品に適用し、一方向の類義語コントロールのアクションは、指定した関連用語を適用します。

ブースト/ベリー制御

ブースト/ベリー制御を使用すると、特定の検索結果のランキングを上げたり下げたりして表示できます。

検索またはレコメンデーションのブースト / 埋め込みコントロールを作成できます。レコメンデーションのブースト / 埋め込みは公開プレビュー版です。

ブースト / 埋め込みコントロールを作成する場合は、フィルタ式を使用して Product フィールドに基づいて条件を指定できます。

次に、-1.0 ~ 1.0 の間の boost 値を適用して、これらの条件と一致する商品の結果をブーストまたは埋めることができます。正の値は結果をブーストし、負の値は結果を埋めます。

ブーストの強さを高く設定すると、アイテムに大幅な昇格が適用されますが、ブーストされたアイテムが常に上位の結果になるとは限りません。検索クエリに著しく関連している結果は、重要性が高いが関連していないアイテムよりも依然として優先されます。同様に、ブーストの強度を -1.0 に設定すると、アイテムに大幅な降格が適用されますが、深く関連している結果が引き続き表示されることがあります。

ブースト / 埋め込みを使用する例として、より安価な商品を優先し、高価な商品の優先順位を低くできます。

コントロール条件は、検索とレコメンデーションのブースト / 埋め込みコントロールで異なります。

  • 検索: コントロール条件として、クエリ用語と該当する期間を設定できます。
  • レコメンデーション: コントロール条件は利用できません。コントロールは常に適用されます。

コントロール アクションとして、ブーストまたは埋め込む商品のフィルタを指定し、ブースト / 埋め込み値を設定します。

ブースト / 埋め込みコントロールを作成するには、新しいサービス提供コントロールを作成するをご覧ください。

ブースト / 埋め込み制御設定の詳細については、Controls.BoostAction API リファレンスをご覧ください。

フィルタ コントロール

フィルタ オプションを使用すると、特定の検索リクエストに基づいて事前に定義されたフィルタを動的に追加できます。

Product フィールドに基づいてフィルタ式を使用できます。フィルタ式の構文については、結果のフィルタリングと並べ替えをご覧ください。

制御条件として、クエリ キーワードと該当する期間を設定できます。制御アクションとして、クエリ時に適用するフィルタを指定します。

たとえば、「青い靴」というクエリの場合、フィルタ制御を使用して、検索結果を青の色で自動的にフィルタできます。フィルタ制御を使用して、特定の結果を買い物客に返さないようにすることもできます。

フィルタ オプションを作成するには、新しいサービス提供コントロールを作成するをご覧ください。

フィルタ オプション設定の詳細については、Controls.FilterAction API リファレンスをご覧ください。

リダイレクト コントロール

リダイレクト コントロールを使用すると、検索結果を表示するだけではなく、買い物客の意図に基づいて異なるページに買い物客をリダイレクトできます。

制御条件として、クエリ キーワードと該当する期間を設定できます。制御アクションとして、条件が一致した場合にリダイレクトするリダイレクト URI を指定します。

たとえば、「gShoe」という商品のプロモーション中に、「ランニング シューズ」または「スポーツ」シューズを含むクエリが gShoe の商品ページにリダイレクトされるようにリダイレクト制御を作成できます。リダイレクト コントロールを使用する別のケースとしては、買い物客がサイトに関連しない用語を検索した場合に、特定のページにリダイレクトすることが考えられます。たとえば、FAQ を検索したユーザーを検索結果ではなく、サイトの実際のよくある質問のページにリダイレクトする場合などです。

リダイレクト コントロールを作成するには、新しいサービス提供コントロールを作成するをご覧ください。

リダイレクト制御設定の詳細については、Controls.RedirectAction API リファレンスをご覧ください。

固定設定

ピン留めコントロールを使用すると、特定の商品を検索結果のどの位置に表示するかを正確に指定できます。

検索またはブラウジングの固定コントロールを作成できます。最適化案ではサポートされていません。

固定コントロールを作成する場合は、フィルタ式を使用して Product フィールドに基づいて条件を指定できます。

制御アクションとして、検索または閲覧の ConditionRule を追加します。これはアクション フィールド pin_action. になります。

次に、[1,120] の範囲の pin 値を適用して、指定された条件と一致する結果を固定する位置を指定できます。

  • ルールの条件: 空でない [Condition.query_terms][](検索のみ)または [Condition.page_categories][](閲覧のみ)を指定する必要があります。両方を指定することはできません。
  • Action Input: [pin_position, product_id] ペアがマッピングされます(入力位置は 1 ~ 120 の値にできます)。最大サイズは、リクエストの最大ページサイズです。10 は、ピンマップで許可されるペアの数です。
  • アクションの結果: 一致する ID の商品を最終結果の順序で指定された位置に固定します。たとえば、クエリが「靴」で、[Condition.query_terms][]"shoes" で、pin_map{1pid1} があるとします。pid1 のある商品が最終結果の最上位に固定されます。

ピンと適用されたルールを有効にする

固定コントロールが有効になっている場合:

  • ピンと一致する商品 ID を持つ商品は、コントロールで指定された正確な位置に最終レスポンスで表示されます。
  • 2 ページ目以降(ページ番号が大きい)へのピン留めは許可されません。つまり、リクエスト page_size より上位の位置に設定されたピンは無視されます。
  • 1 つのコントロールで固定できる商品は最大 10 個です。
  • product_id は、カタログ内の既存の商品の ID である必要があります。

商品は常にすべての検索で呼び出され、次のいずれかに該当する場合を除き、ページに表示されます。

  • フィルタと並べ替えが適用されます。これにより、ピンが表示されなくなります。
  • 並べ替え順序(検索結果を価格順に並べ替えるなど)がデフォルトではない。

ピンの動作

  • 商品が固定されている場合、リクエストや他のコントロールからのブーストや埋め込みは無視されます。
  • 1 つの商品が複数の位置に固定されている場合、最後に更新されたコントロールが優先されます。
  • 同じピン留めコントロール(ピン留めマップ)内の同じ位置に 2 つの商品をピン留めすることはできません。
    • 同じクエリに一致するコントロールが複数あり、それらのコントロールのそれぞれに同じ商品 ID の異なるピンがある場合、最後に更新されたコントロールの [pin_pos, p_id] ペアが優先されます。

言語制御

特定のクエリに対する語句の処理方法に追加やオーバーライドが作成できます。

類義語制御

2 つの単語を類義語として設定することは、2 つの単語を関連付ける言語制御です。

類義語制御を使用すると、検索クエリにコンテキストを追加できます。結果を検索結果に強制的に含めることはできませんが、システムが検索結果に追加の商品を含めるのに役立ち、特定の結果が含まれる可能性が高まります。つまり、同義語コントロールを使用すると、検索結果でより多くのオプションが考慮されるようになりますが、最終的にはスコアリングに依存します。

たとえば、「ランニング シューズ」の検索結果に「スポーツ シューズ」も表示したい場合は、言語の類義語制御を作成します。条件は、検索語句として「ランニング シューズ」が入力されていることです。アクションは、その検索に「スポーツ シューズ」という類義語を含めることです。そのため、サイトの買い物客が「ランニング シューズ」を検索すると、検索は作成した言語制御との一致を見つけ、買い物客に検索結果を返す際に「スポーツ シューズ」が含まれるように拡張します。

類義語コントロールを作成するには、新しいサービス提供コントロールを作成するをご覧ください。

双方向の類義語制御

双方向の類義語制御を使用して複数のキーワードを一緒に結びつけ、検索が検索中にそれらを同じものとして扱うようにします。

制御条件として、クエリ キーワードと該当する期間を設定できます。 別途コントロール アクションを設定する必要はありません。指定したキーワードがクエリとして使用される場合は、コントロール アクションは類義語として指定した他のキーワードを使用します。

たとえば、キーワードの「ディッシュ タオル」と「キッチン タオル」を類義語として関連付ける双方向類義語制御を設定できます。サイトの買い物客がクエリに「キッチン タオル」と入力すると、検索では、それからクエリを拡張して「ディッシュ タオル」と「キッチン タオル」の結果を含むようにできます。

類義語コントロールを作成するには、新しいサービス提供コントロールを作成するをご覧ください。

同義語は元のクエリを変更しません。たとえば、クエリ A と B が双方向の同義語である場合、次のような効果が期待されます。

  • クエリ A の結果: セット A(類義語ルールが適用されていない場合)とセット B の一部。ただし、結果は A と B の組み合わせよりも少なくなる可能性があります。

  • クエリ B の結果が返される: セット B と A の一部。ただし、結果セット A と B の合計よりも少ない可能性があります。

双方向の類義語コントロール設定の詳細については、Controls.TwowaySynonymsAction API リファレンスをご覧ください。

一方向の類義語制御

一方向の類義語制御では、クエリ語句を拡張して、キーワードを一緒に一方向に結びつけます。

制御条件として、クエリ キーワードと該当する期間を設定できます。制御アクションとして、一方向の類義語として使用するキーワードを指定します。

たとえば、「バラ」というキーワードの検索を拡張して「ピンク」というキーワードを含める、一方向の類義語制御を設定できます。これは一方向の類義語であるため、「ピンク」というキーワードの検索は「バラ」というキーワードを含むように拡張されません。

一方向の類義語コントロールを作成するには、新しいサービス提供コントロールを作成するをご覧ください。

双方向の類義語と同様に、元のクエリが実行されると、そのクエリへのヒントとして類義語が提供されます。まったく異なる単語の同義語の場合、検索結果に同義語の語句がわずかしか含まれないことがあります。前の例では、ピンクのバラを強調したピンクの商品が返されますが、「犬」というキーワードの検索を拡張して「猫」というキーワードを含める類義語ルールでは、犬の商品がほとんどで、猫の商品もいくつか返されます。

一方向の類義語コントロール設定の詳細については、Controls.OnewaySynonymsAction API リファレンスをご覧ください。

同義語で検索しても同じ結果が表示されない

2 つの同義語の検索結果が常に同じになるとは限りません。

たとえば、「ラップトップ バッグ」と「ラゲッジ」を双方向類義語として設定した場合、システムはすでに「スーツケース」を「ラゲッジ」に関連付けている可能性があります。たとえば、ユーザーが「luggage」を検索すると、Vertex AI Search for Commerce は「luggage」、「suitcase」、「laptop bags」に関する結果を返します。ただし、ノートパソコン バッグを検索すると、Vertex AI Search for Commerce は類義語にラゲッジのみを追加します。そのため、結果に「スーツケース」が含まれない可能性があります。

無視制御

無視制御により、検索が検索中に特定のクエリ キーワードを使用することを防ぐことができます。無視されたキーワードはクエリで重要でないとマークされますが、クエリから完全に除外されることはありません。

クエリから検索語句を完全に削除するには、置換コントロールを使用します。フィルタ制御は表示される結果に影響しますが、置換制御は、Vertex AI Search for commerce が特定の用語の結果を返さないようにするためのより堅牢な方法です。

無視コントロールは、無視されたキーワードの結果が Vertex AI Search for commerce の結果で返されないことを保証するものではありません。たとえば、「油」という単語を無視するように設定しても、「油絵」というクエリに対しては油絵が返されます。このクエリは「絵画」として渡され、多くの油絵が一致する可能性がありますが、検索対象が「絵画」であるため、結果セットは大きくなります。このタイプのコントロールは、サイト上で「油絵」がよく検索されている場合や、さまざまな種類の絵画を販売しているものの油絵は多くない場合に便利です。

制御条件として、クエリ キーワードと該当する期間を設定できます。 別途制御アクションを設定する必要はありません。指定したキーワードがクエリとして使用された場合、制御アクションはそのキーワードを無視します。

たとえば、不適切な語句を使用するクエリ キーワードを無視する制御を作成できます。

無視コントロールを作成するには、新しいサービス提供コントロールを作成するをご覧ください。

無視制御設定の詳細については、Controls.IgnoreAction API リファレンスをご覧ください。

非関連付け制御

非関連付け制御を使用すると、特定の検索キーワードが指定した他のキーワードに関連付けられないようにできます。必ずしも検索結果に影響するわけではありませんが、影響する可能性はあります。

指定されたクエリ キーワードと該当する期間を制御条件に使用します。制御アクションとして、クエリ キーワードに関連付けてはならないキーワードを指定します。

例: gShoe などのブランド名が、クエリで cheappoor quality とグループ化されないようにするコントロールを作成します。買い物客が「品質の悪い安い gShoe」を検索します。検索では、最初のクエリからクエリ語句「cheap」と「poor quality」が削除され、結果としてクエリ語句「gShoe」が生成されます。ただし、これで検索結果から完全に削除されるとは限りません。

関連する検索キーワードに、非関連付けと指定されたキーワードも含まれている場合は、その関連する結果が依然として返されることがあります。このことの発生を完全に防ぐには、フィルタ制御を使用します。

関連付けなしのコントロールを作成するには、新しいサービス提供コントロールを作成するをご覧ください。

非関連付け制御設定の詳細については、Controls.DoNotAssociateAction API リファレンスをご覧ください。

置換制御

置換制御は、1 つ以上の所与のクエリ キーワードを指定した別のキーワードに置き換えます。単一のキーワードにマッピングできる複数のキーワードを指定できます(ただし、その逆はできません)。

制御条件として、クエリ キーワードと該当する期間を設定できます。コントロール アクションとして、代わりに使用すべきキーワードを指定します。

たとえば、ブランドのニックネームを、商品の説明で一般的に使用される完全なブランド名に置き換える制御を作成できます。

コマース向け検索コンソールで代替コントロールを作成するには、新しいサービス提供コントロールを作成するをご覧ください。

置換制御設定の詳細については、Controls.ReplacementAction API リファレンスをご覧ください。