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

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

インタラクションデータセット

インタラクションとは記録してトレーニングデータとしてインポートするイベントです。Amazon Personalize は、主にインタラクションデータセットにインポートしたインタラクションデータに基づいてレコメンデーションを生成しますクリック視聴、または「いいね」など、複数のイベントタイプを記録できます。

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

すべてのユースケース (ドメインデータセットグループ) とレシピ (カスタムリソース) で、インタラクションデータには以下が必要です。

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

  • 25 個以上のユニークユーザー ID、それぞれに少なくとも 2 回のインタラクションがあります。

品質を推奨するには、1,000 人以上のユーザーからのインタラクションが少なくとも 50,000 件あり、それぞれ 2 回以上のインタラクションがあることが推奨されます。

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

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

インタラクションデータセットには、クリックイベントタイプやウォッチイベントタイプなどのイベントタイプデータと、各イベントのイベント値データを保存できます。

  • ドメインレコメンダーを作成する場合、どのユースケースでもデータに EVENT_TYPE フィールドを含める必要があります。一部のユースケースでは、特定のイベントタイプが必要です。その他のイベントタイプは自由に使用できます。詳細については、ユースケースの選択を参照してください。

    ドメインレコメンダーでは、Amazon Personalize はイベント値データを使用しません。

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

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

      たとえば、データに購入クリック視聴イベントタイプが含まれていて、Amazon Personalize に視聴イベントのみでモデルをトレーニングさせたい場合は、EVENT_TYPE 列に各イベントのタイプを含めます。次に、ソリューションを作成するときに、Amazon Personalize event typeがトレーニングで使用する時計を指定します

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

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

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

コンテキストメタデータ

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

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

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

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

カスタムリソースの場合、コンテキストメタデータを使用するレシピには以下が含まれます。

コンテキスト情報の詳細については、AWS Machine Learning ブログの投稿である「コンテキスト情報を活用して、Amazon Personalize のレコメンデーションの関連性を高める」を参照してください。

インプレッションデータ

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

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

探索について詳しくは、を参照してください[探査]。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 は、インプレッションデータを使用して探索をガイドします。将来のレコメンデーションには、インタラクションデータまたは関連性が少ない新しい靴が含まれます。