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

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

インタラクションデータ

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

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

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

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

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

質の高いレコメンデーションについては、少なくとも1,000人のユーザーから少なくとも50,000回のインタラクションを行い、それぞれ2回以上のインタラクションを行うことをお勧めします。

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

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

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

  • VIDE_ON_DEMAND または ECOMMERCE ドメインのドメイン用にドメインのドメイン用にドメインのドメイン用にドメインのドメイン用にドメインのドメインのドメイン用にドメインのドメインのドメインのドメインのドメインのドメインのドメインのドメインのドメインのドメインのドメインのドメインのドメインのドメインのドメインのドメインの ユースケースが異なれば、必要なイベントタイプも異なります。他のイベントタイプも自由に使用できます。詳細については、レコメンダーのユースケースの選択を参照してください。

    ドメインデータセットグループでは、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 文字 (縦棒を含む) を使用できます。

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