このページでは、カタログ情報の作成とカタログ データの入力に関するベスト プラクティスについて説明します。
概要
小売業向け Vertex AI Search にインポートするカタログデータは、結果として得られるモデルの品質に直接影響するため、検索とレコメンデーション結果の品質に影響します。一般に、提供できる正確で特定のカタログ情報が多いほど、モデルの品質が高くなります。
カタログを最新の状態に保つ必要があります。カタログの変更は必要に応じて何度でもアップロードできます。変更頻度が高いカタログの場合は、毎日アップロードするのが理想的です。既存の商品アイテムをアップロード(パッチ適用)できます。この場合、変更されたフィールドのみが更新されます。カタログ情報のアップロードは無料です。詳細については、カタログを最新の状態に保つをご覧ください。
カタログのブランチ
検索を使用する場合、カタログ ブランチを使用して、サイトでライブにする前にオフラインでアップロードした新しいデータをテストできます。
0
、1
、2
として識別される最大 3 つのブランチを使用できます。公開中のサイトでは、カタログデータの default_branch
を参照します。setDefaultBranch
または Search for Retail コンソールの [データ] タブを使用して、現在公開中の default_branch
のブランチを指定します(デフォルトではブランチ 0
に設定されます)。次に、default_branch
が指すブランチによって提供されるカタログデータを使用します。
たとえば、現在 default_branch
にブランチ ID 0
が設定されていると、サイトではそのブランチにアップロードしたカタログデータを使用します。新しいカタログデータをブランチ 1
にアップロードして、プレビューできます。カタログが正しくアップロードされていることを確認したら、ブランチ 1
をライブ default_branch
として切り替えることができます。
カタログ キャッシュは、ブランチの切り替え後、更新されるまでに最大 30 分を要する場合があります。
レコメンデーションを使用する場合は、ブランチ切り替え時の更新の遅延のために、デフォルトのブランチのみを使用することをおすすめします。ブランチ間のデータの差が大きい場合、更新の遅延が予測結果に悪影響を与える可能性があります。
サービス
カタログは、商品オブジェクトのコレクションです。
必須の商品情報
次のフィールドは必須です。カタログに商品アイテムを作成するときに、値を指定する必要があります。また、内部商品データベースで使用されている値に対応している必要があります。これらの値はモデルのトレーニングで使用されるため、表される商品を正確に反映する必要があります。
他のフィールドも必要になることがあります。Product
リファレンス ページで、すべての商品フィールドの完全なリストをご覧ください。
提供するすべての商品情報は、最適化案と検索結果の品質向上に使用できます。できるだけ多くの項目を入力してください。
項目 | 注 |
---|---|
name
|
商品の完全で一意のリソース名。import を除くすべての Product メソッドに必須です。インポート時に、名前は自動的に生成されます。手動で指定する必要はありません。
|
id
|
商品データベースで使用される商品 ID。ID フィールドはカタログ全体で一意である必要があります。ユーザー イベントを記録する場合に同じ値が使用されます。また、predict メソッドと search メソッドによって同じ値が返されます。 |
title
|
商品データベースの商品タイトル。UTF-8 でエンコードされた文字列。1250 文字以内で指定します。 |
categories
|
商品カテゴリすべてのプロダクトには少なくとも 1 つのカテゴリを割り当てる必要があります。
商品が複数のカテゴリに属している場合は、カテゴリごとにフィールドを繰り返します。長さは 5,000 文字までの、空でない UTF-8 エンコード文字列にする必要があります。完全なカテゴリパスを常に指定します(例: ["Sports & Fitness > Athletic Clothing > Shoes"] )。 |
プロダクト属性
Product
で事前定義されたシステム属性(ブランド、色、サイズなど)の値を指定することを強くおすすめします。Product.attributes
で定義したカスタム属性を含めることもできます。
検索を使用している場合、Product.retrievableFields
で属性を取得可能としてマークすると、検索レスポンスに属性が含まれます。これらは、フィルタリングやファセットなどの他の検索機能に使用できます。
詳しくは、商品属性についてをご覧ください。
商品レベル
商品レベルによって、カタログの階層が決まります。通常は、単一レベルのカタログまたは 2 レベルのカタログのいずれかを選択する必要があります。
たとえば、各商品アイテムに SKU がある単一レベルのカタログを作成できます。SKU グループと個々の SKU の両方を含む 2 レベルのカタログを選択することもできます。
商品レベルの種類
商品レベルには 3 つのタイプがあります。
プライマリ アイテムは、レコメンデーションまたは検索結果で返されます。プライマリは、個別(SKU レベル)のアイテムと、類似アイテムのグループ(SKU グループ)の場合があります。
バリアント アイテムは、SKU グループのプライマリ商品のバージョンです。バリアントは個々(SKU レベル)のアイテムのみになります。たとえば、プライマリ商品が「V ネックシャツ」の場合、バリアントは「ブラウンの V ネックシャツ、サイズ XL」と「ホワイトの V ネックシャツ、サイズ S」になることがあります。プライマリとバリアントは、親アイテムと子アイテムとして説明されることがあります。
コレクション アイテムは商品のコレクションです。コレクションは、プライマリ商品またはバリエーション商品をまとめたものです。たとえば、コレクションは、ネックレス、イヤリング、リングがある宝石のセットが考えられます。コレクションは検索でのみ使用可能で、広く使用されているわけではありません。
カタログ階層について
カタログ階層を計画する際は、カタログにプライマリのみ、またはプライマリとバリアントを含めるかどうかを決定する必要があります。覚えておくべき重要な点は、予測と検索結果ではプライマリ アイテムのみが返されることです。
たとえば、プライマリのみのカタログは、書籍の販売に適しています。ここで、おすすめパネルは、それぞれ独自の SKU を持つ書籍の選択を返します。ただし、T シャツ用のプライマリのみのカタログは、おすすめパネルで使用可能な各サイズで同じ T シャツが表示される可能性が高くなります。
T シャツのカタログには、プライマリとバリアントの両方を用意することをおすすめします。バリアント(サイズごとに 1 つのバリアント)として SKU、また T シャツのそれぞれのスタイルのサイズに対する SKU のグループを表す プライマリを使用します。この 2 レベルのカタログを使用すると、おすすめのパネルにさまざまな類似した T シャツのスタイルを表示できます。 買い物客は、特定のプライマリ(スタイル)をドリルダウンして購入するバリアント(サイズ)を選択できます。
また、バリアントのみのカタログタイプも存在しますが、非推奨化されました。このカタログタイプはレコメンデーションでのみ使用できます。バリアントのみのカタログの場合、インポート時に ingestionProductType
が variant
に設定されます。プライマリは、各バリエーションに指定されたメインの商品 ID に基づいて各バリエーションについて推定されます。
最小限のプライマリ プロダクト
カタログにプライマリとバリアント(SKU グループと SKU)の両方が必要であるものの、現時点で SKU しかない場合は、SKU グループ用のプライマリを作成する必要があります。これらのプライマリは、「仮想プライマリ」または「架空のプライマリ」と呼ばれることもあります。
これらのプライマリには、最小限の情報(id
、title
、categories
)のみを含める必要があります。
type
が指定されていない場合、商品カテゴリはデフォルトでメインになります。インポートする場合は、name
を指定する必要はありません。詳細については、前のセクションの必須の商品情報をご覧ください。
型が不変です
商品のタイプ(バリアントからプライマリ、プライマリからバリアントなど)を変更することはできません。
アイテムのタイプを変更する必要がある場合は、プロダクトを削除して、別のタイプのプロダクトを再作成します。メインの商品を削除する前に、関連するバリエーションを削除する必要があります。
カタログのインポート
現在 Merchant Center にカタログがある場合は、Merchant Center アカウントをリンクして、カタログをインポートすることをおすすめします。
カタログが Merchant Center になく、Cloud Storage、BigQuery、またはその他のストレージにある場合は、データの一括インポートを行います。
将来的に Merchant Center からカタログデータをインポートする場合は、Merchant Center のインポートの説明に従ってデータを確認し、カタログに関する正しい選択を行ってください。既存のカタログの構成を変更するには、カタログを削除して、もう一度アップロードする必要があるため、これは重要です(商品レベルの構成を変更するをご覧ください)。
カタログをアップロードする方法について詳しくは、カタログ情報をインポートするをご覧ください。
商品在庫
商品在庫には以下が含まれます。
価格(現在の価格と元の価格の両方)
在庫状況(在庫あり、在庫なし、入荷待ち、予約済みなど)
利用可能な数量
フルフィルメント情報(店舗受け取り、店舗宛て出荷、翌日配送など)
在庫には、商品レベルとローカル レベルの 2 つのレベルがあります。
商品レベルの在庫
オンラインでのみ販売する小売業者の場合、在庫は商品レベルで指定されます。 カタログ内の商品ごとに、価格、在庫状況、その他の在庫データが設定されています。
在庫データの保守方法など、商品レベルの在庫の詳細については、小売業向け Vertex AI Search の在庫を更新するをご覧ください。
ローカル在庫
実店舗とオンライン ショップの両方を運営する小売業者は、店舗ごとに在庫情報を保持する必要があります。これを行うために、ローカル在庫を使用します。
ローカル在庫の格納に使用できる商品フィールドは 2 つあります。どちらのフィールドにも、関連する在庫情報を含むロケーション(場所 ID)のリストが含まれます。
Product.fulfillmentInfo。店舗の場所ごとの受け取りと配送方法
Product.localInventories。 店舗の場所ごとの価格情報、商品属性、受け取り方法、配送方法
店舗レベルの情報には、これらのいずれかまたは両方のフィールドを使用します。
ローカル在庫の詳細については、小売業向け Vertex AI Search のローカル在庫を更新するをご覧ください。
カタログのデータ品質指標
Search for Retail コンソールの [データ品質] ページでは、検索結果の品質を向上させ、検索パフォーマンス層のロックを解除するために、カタログデータを更新する必要があるかどうかを評価します。
次の表は、小売業向け Vertex AI Search が商品データの評価に使用するための品質指標を示しています。Search for Retail コンソールでデータ品質指標と検索パフォーマンス階層を表示する方法については、検索パフォーマンス階層をロック解除するをご覧ください。
カタログの品質指標 | 品質ルール | 注 |
---|---|---|
URI が存在し、アクセス可能である | 商品に有効な Product.uri がある。URI はアクセス可能であり、ドメインと一致する必要があります。 |
検索では、この URI でクロールされたウェブシグナルを使用して、検索品質を向上させています。 |
時間の適合性を満たしている | Product.availableTime は現在の時刻より前であり、Product.expireTime は現在の時刻より後です。 |
検索できるのは、時間の適合性を満たす商品のみです。 |
検索可能な属性が存在する | 商品で少なくとも 1 つの attribute が検索可能に設定されています。 |
検索可能とマークされたカスタム属性をテキストクエリで検索できます。 |
説明がある | 商品の Product.description が空ではありません。 |
包括的な説明は検索品質の向上に役立ちます。 |
タイトルは 2 単語以上で構成されている | Product.title が 2 単語以上で構成されています。 |
包括的なタイトルは検索品質の向上に役立ちます。 |
画像のあるバリアントがある | variant 商品には少なくとも 1 つの Product.image があります。すべての商品が primary レベルであれば、この指標は無視してかまいません。 |
この指標は参考情報であり、検索品質には影響しません。 |
価格情報ありのバリアントがある | variant 商品で Product.priceInfo が設定されています。すべての商品が primary レベルであれば、この指標は無視してかまいません。 |
この指標は参考情報であり、検索品質には影響しません。 |
小売業向け Vertex AI Search の商品スキーマ
BigQuery からカタログをインポートするときは、以下の小売業向け Vertex AI Search 商品スキーマを使用して、正しい形式の BigQuery テーブルを作成し、カタログデータとともに読み込みます。それから、カタログをインポートします。