Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

トレーニング用のアイテムインタラクションデータの準備 - Amazon Personalize

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

トレーニング用のアイテムインタラクションデータの準備

アイテムインタラクションは、ユーザーとカタログ内のアイテムとのポジティブなインタラクションイベントです。例えば、ユーザーが映画を見たり、リストを表示したり、靴を購入したりする場合です。ユーザーとアイテムとのインタラクションに関するデータをアイテムインタラクションデータセットにインポートします。クリック視聴、または購入など、複数のイベントタイプを記録できます。

例えば、ユーザーが特定のアイテムをクリックしてからそのアイテムに「いいね!」をした場合、Amazon Personalize にこれらのイベントをトレーニングデータとして使用させることができます。各イベントについて、ユーザーの ID、タイムスタンプ (Unix 時間エポック形式)、ならびにイベントタイプ (クリックおよび「いいね」) を記録します。その後、両方のアイテムインタラクションイベントをアイテムインタラクションデータセットに追加します。

すべてのドメインユースケースとカスタムレシピでは、バルクアイテムインタラクションデータは CSV ファイルにある必要があります。各行は、ユーザーとアイテム間の単一のインタラクションを表す必要があります。データの準備が完了したら、スキーマ JSON ファイルを作成する準備が整います。このファイルは、データの構造を Amazon Personalize に伝えます。詳細については、「Amazon Personalize スキーマのスキーマ JSON ファイルの作成」を参照してください。

以下のセクションでは、Amazon Personalize のアイテムインタラクションデータを準備する方法について詳しく説明します。すべてのタイプのデータの、バルクデータフォーマットのガイドラインについては、「バルクデータフォーマットのガイドライン」を参照してください。

アイテムインタラクションデータの要件

以下のセクションでは、Amazon Personalize のアイテムインタラクションデータの要件を一覧表示します。追加のクォータについては、「Amazon Personalize エンドポイントとクォータ」を参照してください。

最小トレーニング要件

すべてのドメインユースケースとカスタムレシピにおいて、バルクアイテムインタラクションデータには以下が必要です。

  • カタログ内のアイテムを操作したユーザーからのアイテムインタラクションレコードが少なくとも 1000 件ある。これらのインタラクションは、一括インポート、ストリーミングイベント、あるいはその両方からのものである。

  • それぞれに 2 回以上のアイテムインタラクションを伴う 25 個以上のユニークユーザー ID。

質の高いレコメンデーションを行うには、1,000 人以上のユーザーからのアイテムインタラクションが少なくとも 50,000 件あり、それぞれ 2 回以上のアイテムインタラクションがあることが推奨されます。

レコメンダーまたはカスタムソリューションを作成するには、少なくともアイテムインタラクションデータセットを作成する必要があります。

列の要件

アイテムインタラクションデータには、次の列が必要です。

  • USER_ID — アイテムを操作したユーザーの一意の識別子。すべてのイベントには USER_ID が必要です。最大長が 256 文字の string である必要があります。

  • ITEM_ID — ユーザーが操作したアイテムの一意の識別子。すべてのイベントにはアイテム ID が必要です。最大長が 256 文字の string である必要があります。

  • TIMESTAMP — イベントが発生した時刻 (Unix エポック時間形式、秒単位)。すべてのインタラクションには TIMESTAMP が必要です。詳細については、「タイムスタンプのデータ」を参照してください。

  • EVENT_TYPE — クリック視聴購入など、アイテムインタラクションイベントの性質。ドメインレコメンダーの場合、イベントタイプの列と、すべてのインタラクションにイベントタイプが必要です。すべてのカスタムレシピでは、EVENT_TYPE 列が推奨されますが、オプションです。追加する場合、すべてのイベントにイベントタイプが必要です。詳細については、「イベントタイプとイベント値のデータ」を参照してください。

ユースケースとデータに応じて、さらにカスタム列を追加することができます。オプションのメタデータ列の最大数は 5 です。これらの列には、空/null 値を含めることができます。これらの列は、少なくとも 70% 完成していることをお勧めします。

タイムスタンプのデータ

タイムスタンプデータは Unix エポック時刻形式 (秒単位) である必要があります。例えば、2020 年 7 月 31 日の日付のエポックタイムスタンプ (秒) は 1596238243 です。日付を Unix エポックタイムスタンプに変換するには、[エポックコンバーター — Unix タイムスタンプコンバーター] を使用します。

Amazon Personalize はタイムスタンプデータを使用して、レイテンシーを計算し、時間ベースのパターンを特定します。これは、Amazon Personalize がユーザーの変化する好みによりレコメンデーションを最新の状態に保つのに役立ちます。

イベントタイプとイベント値のデータ

アイテムインタラクションデータセットは、各インタラクションのイベントタイプとイベント値データを保存できます。カスタムリソースのみがイベント値データを使用します。

イベントタイプデータ

アイテムインタラクションのイベントタイプは、その性質と重要性に関するコンテキストを提供します。イベントタイプの例には、クリック視聴購入などがあります。Amazon Personalize は、クリック購入データなどのイベントタイプデータを使用して、ユーザーの意図と関心を特定します。アイテムインタラクションデータセット内のオプションのメタデータ列の合計数と組み合わされた、個別のイベントタイプの最大数は 10 です。

ドメインレコメンダーの場合、イベントタイプの列と、すべてのインタラクションにイベントタイプが必要です。すべてのカスタムレシピでは、EVENT_TYPE 列が推奨されますが、オプションです。追加する場合、すべてのイベントにイベントタイプが必要です。

カスタムリソースを作成する場合は、トレーニングに使用されるイベントをイベントタイプ別に選択できます。データセットの EVENT_TYPE 列に複数のイベントタイプがあり、カスタムソリューションを設定するときにイベントタイプを指定しない場合、Amazon Personalize は、タイプにかかわらず、すべてのアイテムインタラクションデータを同じ重みでトレーニングに使用します。詳細については、「トレーニングに使用するアイテムインタラクションデータの選択」を参照してください。

次のユースケースには、特定のイベントタイプ要件があります。

VIDEO_ON_DEMAND ドメインユースケース

  • X を視聴するには、少なくとも 1000 個の Watch イベントが必要です。

  • 最も人気のある場合には、少なくとも 1000 個の Watch イベントが必要です。

ECOMMERCE ドメインユースケース

  • ほとんどの表示では、少なくとも 1000 個の View イベントが必要です。

  • ベストセラーには、少なくとも 1000 個の Purchase イベントが必要です。

ポジティブおよびネガティブのイベントタイプ

Amazon Personalize は、すべてのインタラクションがポジティブなインタラクションであることを前提としています。嫌いなどのネガティブなイベントタイプとのインタラクションは、必ずしもユーザーの将来のレコメンデーションにアイテムが表示されないようにするわけではありません。

以下は、ネガティブなイベントやユーザーの無関心な影響に関するレコメンデーションを作成する方法です。

イベント値データ (カスタムリソース)

イベント値データは、ユーザーが視聴した映画の割合 (%)、または 10 点満点での評価である場合があります。カスタムソリューションを作成する場合は、EVENT_TYPE 列と EVENT_VALUE 列のデータに基づいて、トレーニングに使用されるレコードを選択できます。ドメインレコメンダーの場合、Amazon Personalize はイベント値データを使用しません。また、トレーニング前にイベントをフィルタリングすることはできません。

タイプと値に基づいてレコードを選択するには、イベントのイベントタイプとイベント値データを記録します。すべてのイベントにイベント値を指定する必要はありません。各イベントで選択する値は、除外するデータや記録するイベントタイプによって異なります。例えば、視聴イベントタイプでは、ユーザーが視聴した動画の割合などのユーザーアクティビティを一致させることができます。

ソリューションを設定する際には、トレーニングからレコードを除外するためのしきい値として特定の値を設定します。例えば、EVENT_TYPE が [watch] (視聴) のイベントの EVENT_VALUE データが、ユーザーが視聴した動画のパーセンテージ (%) である場合であって、イベント値のしきい値を 0.5 に、イベントタイプを [watch] (視聴) に設定する場合、Amazon Personalize は、EVENT_VALUE が 0.5 以上の [watch] (視聴) インタラクションイベントのみを使用してモデルをトレーニングします。

詳細については、「トレーニングに使用するアイテムインタラクションデータの選択」を参照してください

コンテキストメタデータ

特定のレシピやレコメンデーションユースケースでは、Amazon Personalize は、ユーザーにとって最も関連性の高いアイテムを明らかにする基本的なパターンを識別する際に、コンテキストメタデータを使用できます。コンテキストメタデータは、場所やデバイスのタイプなど、イベント時にユーザーの環境で収集するインタラクションデータです。ユーザーのレコメンデーションを取得するときに、ユーザーのコンテキストを指定することもできます。

コンテキストメタデータを含めることで、ユーザーによりパーソナライズされたエクスペリエンスを提供し、新規ユーザーのコールドスタートフェーズを短縮できます。コールドスタートフェーズとは、履歴ユーザーデータがないためにレコメンデーションの関連性が低い場合のことです。

例えば、アイテムインタラクション CSV ファイルに tabletphone の値を持つ DEVICE_TYPE 列が含まれている場合、Amazon Personalize は、顧客がさまざまなデバイスで異なる方法で購入する方法を学習できます。ユーザーのレコメンデーションを取得すると、ユーザーにインタラクション履歴がない場合でも、デバイスを指定でき、レコメンデーションの関連性が高まります。

以下は、DEVICE_TYPE 列をコンテキストメタデータとしてアイテムインタラクション CSV ファイルをフォーマットする方法を示しています。

ITEM_ID,USER_ID,TIMESTAMP,DEVICE_TYPE,EVENT_TYPE shoe12345,12,1428624000,Tablet,CLICK shoe12346,12,1420416000,Tablet,CLICK shoe12347,12,1410652800,Tablet,BUY shoe4444,13,1409961600,Phone,CLICK shoe4445,13,1402876800,Phone,BUY shoe4336,13,1402185600,Phone,CLICK .....

ドメインデータセットグループでは、以下のレコメンダーユースケースでコンテキストメタデータを使用できます。

カスタムリソースについては、コンテキストメタデータを使用するレシピには次のものが含まれます。

レコメンデーションの取得時にコンテキストを含める方法については、「コンテキストメタデータを使用したレコメンデーションの関連性の向上」を参照してください。コンテキストメタデータの使用方法を示すエンドツーエンドの例については、Machine AWS Machine Learning ブログ記事「コンテキスト情報を活用して Amazon Personalize のレコメンデーションの関連性を高める」を参照してください。

インプレッションデータ

インプレッションは、ユーザーが特定のアイテムを操作した (例えば、クリックや視聴した) ときに表示されたアイテムのリストです。パーソナライゼーションまたは User-Personalization レシピを提供するドメインユースケースを使用する場合、Amazon Personalize はインプレッションデータを使用して探索をガイドできます。

探索では、新しいアイテムまたはアクション、インタラクションがほとんどないアイテムまたはアクション、以前の行動に基づいてユーザーに関連性が低いアイテムまたはアクションなど、通常はユーザーにレコメンデーションされる可能性が低いアイテムまたはアクションがレコメンデーションに含まれます。インプレッションデータでアイテムが頻繁に発生するほど、Amazon Personalize がそのアイテムを探索に含める可能性は低くなります。

レコメンダーまたはソリューションを作成する場合、Amazon Personalize は常にインプレッションデータをトレーニングから除外します。これは、Amazon Personalize がインプレッションデータを使用してモデルをトレーニングしないためです。代わりに、ユーザーの探索をガイドするレコメンデーションを取得するときに使用します。

インプレッションの値は最大 1,000 文字 (縦棒文字を含む) まで入力できます。ドメインデータセットグループでは、以下のレコメンダーユースケースでインプレッションデータを使用できます。

探索の詳細については、「探査」を参照してください。Amazon Personalize は、暗黙的なインプレッション および 明示的なインプレッション といった 2 種類のインプレッションをモデル化できます。

明示的なインプレッション

明示的なインプレッションとは、手動で記録して Amazon Personalize に送信するインプレッションです。明示的なインプレッションを使用して、Amazon Personalize の結果を操作します。アイテムの順序はいかなる影響も及ぼしません。

例えば、靴に関するレコメンデーションを提供するショッピングアプリケーションがあるとします。現在在庫のある靴のみをお勧めする場合は、明示的なインプレッションを使用してこれらのアイテムを指定できます。明示的なインプレッションを使用するレコメンデーションワークフローは次のようになります。

  1. Amazon Personalize の GetRecommendations API を使用して、いずれかのユーザー向けにレコメンデーションをリクエストします。

  2. Amazon Personalize は、モデル (ソリューションバージョン) を使用してユーザー向けのレコメンデーションを生成し、それらを API 応答で返します。

  3. 推奨される靴のうち、在庫がある靴のみをユーザーに表示します。

  4. リアルタイムの増分データインポートについては、ユーザーが 1 組の靴を操作する (例えば、クリックする) ときに、PutEvents API に対するコールで選択を記録し、在庫がある推奨アイテムを impression パラメータでリストします。コードサンプルについては、「インプレッションデータを使用したアイテムインタラクションイベントの記録」を参照してください。

    履歴アイテムインタラクションデータにインプレッションをインポートするために、明示的なインプレッションを csv ファイルにリストし、各アイテムを「|」文字で区切ることができます。縦棒文字は 1,000 文字の制限に含まれます。例については、「明示的なインプレッションのフォーマット」を参照してください。

  5. Amazon Personalize は、インプレッションデータを使用して探索をガイドします。将来のレコメンデーションには、インタラクションデータまたは関連性が少ない新しい靴が含まれます。

明示的なインプレッションのフォーマット

CSV ファイルに明示的なインプレッションを含めるには、IMPRESSION 列を追加します。アイテムインタラクションごとに、バーティカルバー「|」文字で区切られた itemId のリストを追加します。バーティカルバーは、インプレッションデータの 1,000 文字の上限に含まれます。PutEvents オペレーションに明示的なインプレッションを含める場合は、文字列の配列にアイテムを指定します。

IMPRESSION 列に明示的なインプレッションを含む CSV ファイルからの短い抜粋を次に示します。

EVENT_TYPE IMPRESSION ITEM_ID TIMESTAMP USER_ID
クリック

73|70|17|95|96

73

1586731606

USER_1
クリック

35|82|78|57|20|63|1|90|76|75|49|71|26|24|25|6

35

1586735164

USER_2
... ... ... ... ...

アプリケーションは、ユーザーに対して、 USER_1 アイテム、73701795 および 96 を表示し、ユーザーは最終的にアイテム 73 を選択しました。このデータに基づいて新しいソリューションバージョンを作成すると、アイテム 701795、および 96 がユーザー USER_1 に推奨される頻度が低くなります。

暗黙的なインプレッション

暗黙的なインプレッションは、Amazon Personalize から取得した、ユーザーに表示するレコメンデーションです。暗黙的なインプレッションを使用する場合は、CSV ファイルに IMPRESSION または RECOMMENDATION_ID 列を含める必要はありません。代わりに、PutEvents リクエストに RecommendationId (GetRecommendations および GetPersonalizedRanking オペレーションによって返される) を含めます。Amazon Personalize は、レコメンデーションデータに基づいて暗黙的なインプレッションを派生させます。

例えば、ストリーミング動画に関するレコメンデーションを提供するアプリケーションがあるとします。暗黙的なインプレッションを使用するレコメンデーションワークフローは次のようになります。

  1. Amazon Personalize の GetRecommendations API 操作を使用して、いずれかのユーザー向けに動画のレコメンデーションをリクエストします。

  2. Amazon Personalize は、モデル (ソリューションバージョン) を使用してユーザー向けのレコメンデーションを生成し、それらを recommendationId とともに API 応答で返します。

  3. アプリケーションでユーザーに動画のレコメンデーションを表示します。

  4. ユーザーが動画を操作する (例えば、クリックする) 際に、PutEvents API に対するコールで選択内容を記録し、パラメータとして recommendationId を含めます。コードサンプルについては、「インプレッションデータを使用したアイテムインタラクションイベントの記録」を参照してください。

  5. Amazon Personalize は、recommendationId を使用して以前の動画のレコメンデーションからインプレッションデータを導き出し、その後にインプレッションデータを使用して探索をガイドします。将来のレコメンデーションには、インタラクションデータまたは関連性が少ない新しい動画が含まれます。

    暗黙的なインプレッションデータを使用したイベントの記録の詳細については、「インプレッションデータを使用したアイテムインタラクションイベントの記録」を参照してください。

インタラクションデータの例

次のインタラクションデータは、動画ストリーミングウェブサイトからの過去のユーザーアクティビティを表しています。このデータを使用して、ユーザーのインタラクションデータに基づいておすすめの映画を提供するモデルをトレーニングできます。EVENT_VALUE の一部の値が null であることに注意してください。

USER_ID,ITEM_ID,EVENT_TYPE,EVENT_VALUE,TIMESTAMP 196,242,watch,.50,881250949 186,302,watch,.75,891717742 22,377,click,,878887116 244,51,click,,880606923 166,346,watch,.50,886397596 298,474,watch,.25,884182806 115,265,click,,881171488 253,465,watch,.50,891628467 305,451,watch,.75,886324817

Amazon Personalize には、USER_IDITEM_ID、および TIMESTAMP 列が必要です。USER_ID は、アプリケーションのユーザーの識別子です。ITEM_ID は映画の識別子です。EVENT_TYPEEVENT_VALUE は、ユーザーインタラクションの識別子です。サンプルデータでは、イベントは watch および click イベント、値はユーザーが視聴した動画の割合です。TIMESTAMP は、映画の購入が発生した Unix エポック時間を表します。

データの準備が完了したら、スキーマ JSON ファイルを作成する準備が整います。このファイルは、データの構造を Amazon Personalize に伝えます。詳細については、「Amazon Personalize スキーマのスキーマ JSON ファイルの作成」を参照してください。これは、サンプルデータに対してスキーマ JSON ファイルがどのように表示されるかを示しています。

{ "type": "record", "name": "Interactions", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "USER_ID", "type": "string" }, { "name": "ITEM_ID", "type": "string" }, { "name": "EVENT_TYPE", "type": "string" }, { "name": "EVENT_VALUE", "type": "float" }, { "name": "TIMESTAMP", "type": "long" } ], "version": "1.0" }
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.