インタラクションデータ - Amazon Personalize

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

インタラクションデータ

Amazon Personalize では、インタラクションは、記録してからトレーニングデータとしてインポートするイベントです。クリック視聴、または「いいね」など、複数のイベントタイプを記録できます。例えば、ユーザーが特定のアイテムをクリックしてそのアイテムを「いいね」し、Amazon Personalize でこれらのイベントをトレーニングデータとして使用する場合、各イベントについて、ユーザーの ID 、アイテムの ID 、タイムスタンプ (Unix 時間エポック形式)、ならびにイベントタイプ (クリックおよび「いいね」) を記録します。その後、両方のインタラクションイベントを Interactions データセットに追加します。十分なイベントを記録したら、モデルをトレーニングし、Amazon Personalize を使用してユーザー向けにレコメンデーションを生成できます。最小要件については、「Service Quotas」を参照してください。

Amazon Personalize は、インタラクションデータを Interactions データセットに保存します。すべてのユースケース(ドメインデータセットグループ)とレシピ(カスタムデータセットグループ)について、インタラクションデータには次のものが必要です。

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

  • 少なくともそれぞれ 2 つのインタラクションを持つ 25 以上の一意のユーザー ID

レコメンダーまたはカスタムソリューションを作成するには、少なくとも Interactions データセットを作成する必要があります。このセクションでは、Amazon Personalize にインポートできる次のタイプのインタラクションデータに関する情報を提供します。

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

インタラクションデータセットには、次のようなイベントタイプのデータを保存できます。クリックそして腕時計イベントタイプ、および各イベントのイベント値データ

  • VIDEO_ON_DEMAND または ECOMMERCE ドメイン用にドメインデータセットグループを作成する場合、すべてのユースケースでは、データに EVENT_TYPE フィールドを含める必要があります。ユースケースが異なれば、必要なイベントタイプも異なります。詳細については、「」を参照してください。レコメンダーのユースケースの選択

    ドメインデータセットグループでは、Amazon Personalize はイベント値データを使用しません。

  • カスタムデータセットグループを作成すると、Amazon Personalize はトレーニングの前にイベントタイプとイベント値のデータを使用してイベントをフィルタリングします。イベントタイプデータ、またはイベントタイプをインポートできますそしてイベント値データ。このデータをインポートして、Amazon Personalize がトレーニングで使用するインタラクションデータを次のように選択します。

    • イベントタイプに基づいてイベントを選択— タイプに基づいてレコードを選択するには、EVENT_TYPE 列に各イベントのタイプを記録します。ソリューションを設定するときにタイプを指定すると、Amazon Personalize はこのタイプのレコードのみをトレーニングで使用します。

      たとえば、データに次の情報が含まれているとします購入,クリック、および腕時計イベントタイプで、Amazon Personalize にモデルのトレーニングのみを行わせたい場合腕時計events の場合は、各イベントのタイプを EVENT_TYPE 列に含めます。次に、ソリューションを作成するときに、腕時計としてevent typeAmazon Personalize がトレーニングで使用しているもの。

      Interactions データセットの EVENT_TYPE 列に複数のイベントタイプがあり、ソリューションを設定するときにイベントタイプを指定しない場合、Amazon Personalize は、タイプにかかわらず、同じ重みでトレーニングにすべてのインタラクションデータを使用します。

    • タイプと値に基づいてレコードを選択する— タイプと値に基づいてレコードを選択するには、各イベントのイベントタイプとイベント値を記録します。各イベントに選択する値は、除外するデータと記録するイベントの種類によって異なります。たとえば、ユーザーが視聴した動画の割合など、ユーザーアクティビティを照合できます。腕時計イベントタイプ。

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

コンテキストメタデータ

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

コンテキストメタデータを含めると、既存のユーザー向けに、よりパーソナライズされたエクスペリエンスを提供できます。例えば、顧客が電話からカタログにアクセスするときとコンピュータからアクセスするときで、ショッピングの態様が異なる場合は、ユーザーのデバイスに関するコンテキストメタデータを含めます。これにより、閲覧方法に基づいて、レコメンデーションの関連性がより高くなります。

さらに、コンテキストメタデータは、新規ユーザーまたは不明ユーザーのコールドスタートフェーズを減らすのに役立ちます。コールドスタートフェーズとは、そのユーザーに関する履歴情報が不足しているために、レコメンデーションエンジンが関連性の低いレコメンデーションを提供する期間をいいます。

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

カスタムデータセットグループおよびカスタムソリューションについては、コンテキストメタデータを使用するレシピには次のものが含まれます。

コンテキスト情報については、以下を参照してください。AWSMachine Learning ブログ投稿: コンテキスト情報を活用して、Amazon Personalize レコメンデーションの関連性を高める

インプレッションデータ

VIDEO_ON_DEMAND または ECOMMERCE ドメインのドメインデータセットグループを作成するか、User-Personalization レシピを使用する場合、Amazon Personalize は、Interactions データセットにアップロードするインプレッションデータをモデル化できます。インプレッションは、ユーザーが特定のアイテムを操作した (例えば、クリックや視聴した) ときに表示されたアイテムのリストです。

Amazon Personalize は、インプレッションデータを使用して、探索に含めるアイテムを決定します。探索では、レコメンデーションに、インタラクションデータまたは関連性が少ない新しいアイテムが含まれます。インプレッションデータでアイテムが頻繁に発生するほど、Amazon Personalize がそのアイテムを探索に含める可能性は低くなります。インプレッション値には、最大 1000 文字を使用できます (縦棒を含む)。

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

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

暗黙的なインプレッションは、Amazon Personalize から取得した、ユーザーに表示するレコメンデーションです。(GetRecommendations および GetPersonalizedRanking 操作によって返される) RecommendationId を将来の PutEvents リクエストの入力として含めることにより、それらをレコメンデーションワークフローに統合できます。Amazon Personalize は、レコメンデーションデータに基づいて暗黙的なインプレッションを派生させます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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