データセットとのやり取り - Amazon Personalize

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

データセットとのやり取り

アンインタラクションデータセットは、ユーザーとアイテム間のやりとりの履歴データとリアルタイムデータを格納します。Amazon Personalize を使用してレコメンデーションシステムを作成するには、少なくとも Interactions データセットを作成する必要があります。

Amazon Personalize では、インタラクションである。eventをトレーニングデータとして記録し、インポートすることができます。次のような複数のイベントタイプを記録できます。をクリックします。,を見るまたはLI。たとえば、ユーザークリック特定の項目を選択し、次にLIを作成し、Amazon Personalize eでこれらのイベントをトレーニングデータとして使用する場合は、各イベントについて、ユーザーID、アイテムID、タイムスタンプ(Unixタイムエポック形式)、イベントタイプ(をクリックします。およびLI). 次に、両方のインタラクションイベントをインタラクションデータセットに追加します。十分なイベントを記録したら、モデルをトレーニングし、Amazon Personalize eを使用してユーザー向けのレコメンデーションを生成できます。最小要件については、サービスクォータ

インタラクションデータセットを作成するときは、データセットのスキーマも作成する必要があります。Aschemaは、データの構造について Amazon Personalize に指示し、Amazon Personalize がデータを解析できるようにします。インタラクションデータセットのスキーマの例については、インタラクションスキーマの例。スキーマの要件については、データセットとスキーマの要件

このセクションでは、トレーニング用にアップロードできるインプレッションデータやコンテキストメタデータなど、インタラクションデータの種類について説明します。また、インタラクションスキーマの例。履歴インタラクションデータのインポートの詳細については、データの準備とインポート。リアルタイムでのイベントの記録については、 PutEvents API については、イベントの記録

インタラクションデータセットを作成し、インタラクションデータをインポートしたら、レコメンデーションをフィルタリングして、ユーザーがインタラクションしたアイテムを含めるか除外することができます。詳細については、「」を参照してください。推奨事項のフィルタリング

必要なインタラクションデータ

各インタラクションに提供するトレーニングデータは、スキーマと一致している必要があります。スキーマによっては、インタラクションメタデータに空/NULL値を含めることができます。少なくとも、各インタラクションについて以下を指定する必要があります。

  • ユーザー ID

  • 項目 ID

  • タイムスタンプ (UNIX エポック時刻形式)

Interactions データセットに追加できるオプションのメタデータフィールドの最大合計数と、distinctイベント型は 10 です。このカウントに含まれるメタデータフィールドは、スキーマに追加するカスタムメタデータフィールドとともに、EVENT_TYPE、EVENT_VALUE フィールドです。IMPRESSION などの予約済みフィールドを除くメタデータフィールドの最大数は 5 です。カテゴリ値には最大 1000 文字を使用できます。1,000 文字を超えるカテゴリ値とのやりとりは、データセットのインポートジョブ中に削除され、トレーニングには使用されません。

Interactions データセットの最小要件と最大データ制限の詳細については、」サービスクォータ

コンテキストメタデータ

を使用する場合、ユーザーのパーソナライズまたはPersonalized-Rankingレシピでは、インタラクションデータセットはトレーニングで使用するコンテキスト情報を格納できます。コンテキストメタデータは、イベント発生時にユーザーの環境で収集する対話データです。コンテキストメタデータを含めることで、既存のユーザーに対してよりパーソナライズされたエクスペリエンスを提供できます。たとえば、顧客が電話からカタログにアクセスするときにコンピュータと比較して購入方法が異なっている場合は、ユーザーのデバイスに関するコンテキストメタデータを含めます。レコメンデーションは、ブラウジング方法に基づいてより関連性が高くなります。

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

コンテキスト情報の詳細については、以下を参照してください。AWSMachine Learning のブログ記事: コンテキスト情報を活用して、Amazon Personalize 推奨事項の関連性を高める

インプレッションデータ

を使用する場合、ユーザーのパーソナライズレシピを使用して、Amazon Personalize では、インタラクションデータセットにアップロードしたインプレッションデータをモデル化できます。インプレッションは、ユーザーが特定のアイテムと対話したとき(クリックまたは視聴したときなど)に表示されたアイテムのリストです。Amazon Personalize は、インプレッションデータを使用して、調査に含めるアイテムを決定します。[探査]は、インタラクションデータや関連性の少ない新しいアイテムがレコメンデーションに含まれる場所です。インプレッションデータで商品が出現する頻度が高いほど、Amazon Personalize が商品を検索に含める可能性は低くなります。

探索のメリットについては、ユーザーのパーソナライズ。Amazon Personalize eでは、次の2種類のインプレッション暗黙的な感想および明示的な表示回数

暗黙的な感想

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

たとえば、ストリーミングビデオのレコメンデーションを提供するアプリケーションを使用できます。インプレッションを暗黙的に使用するレコメンデーションワークフローは、次のとおりです。

  1. Amazon Personalize eを使用して、ユーザーの一人に動画のおすすめをリクエストします。 GetRecommendations API オペレーション。

  2. Amazon Personalize は、お客様のモデル(ソリューションバージョン)を使用してユーザーに推奨を生成し、recommendationIdAPI レスポンスで。

  3. アプリケーションでユーザーにおすすめ動画を表示します。

  4. ユーザーがビデオとやりとりするとき(クリックなど)、その選択肢を PutEvents API を使用し、recommendationIdをパラメータとして指定します。コードサンプルについては、インプレッションデータの記録

  5. Amazon Personalize はrecommendationIdを使用して、以前の動画レコメンデーションからインプレッションデータを派生させ、インプレッションデータを使用して探索を導きます。ここでは、今後のレコメンデーションには、インタラクションデータや関連性の少ない新しい動画が含まれます。

    暗黙のインプレッションデータを使用したイベントの記録について詳しくは、」インプレッションデータの記録

明示的な表示回数

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

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

  1. Amazon Personalize を使用して、いずれかのユーザーにおすすめをリクエストします。 GetRecommendations API.

  2. Amazon Personalize は、モデル(ソリューションバージョン)を使用してユーザーに推奨を生成し、API レスポンスでそれらを返します。

  3. 在庫のある推奨シューズのみをユーザーに表示します。

  4. リアルタイムインクリメンタルデータインポートでは、ユーザが靴のペアを操作する (クリックするなど) ときに、 PutEvents API を使用して、在庫のあるおすすめ商品をimpressionパラメータ。コードサンプルについては、インプレッションデータの記録

    インタラクション履歴データのインプレッションをインポートする場合は、csv ファイルに明示的なインプレッションをリストし、各アイテムを '|' 文字で区切ることができます。「明示的なインプレッション」を参照してください。

  5. Amazon Personalize は、インプレッションデータを使用して探索を導きます。今後の推奨事項には、インタラクションデータや関連性の少ない新しいシューズが含まれます。

インタラクションスキーマの例

以下の例では、Interactions データセットのスキーマを示しています。USER_IDITEM_IDTIMESTAMP の各フィールドは必須です。-EVENT_TYPE,EVENT_VALUE, およびIMPRESSIONフィールドは、Amazon Personalize によって認識されるオプションの予約キーワードです。LOCATIONおよびDEVICEはオプションのコンテキストメタデータフィールドです。スキーマの要件については、データセットとスキーマの要件

{ "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", "null" ] }, { "name": "LOCATION", "type": "string", "categorical": true }, { "name": "DEVICE", "type": [ "string", "null" ], "categorical": true }, { "name": "TIMESTAMP", "type": "long" }, { "name": "IMPRESSION", "type": "string" } ], "version": "1.0" }

このスキーマでは、CSV ファイルの履歴データの最初の数行は次のようになります。EVENT_VALUEの一部の値はnullであることに注意してください。

USER_ID,ITEM_ID,EVENT_TYPE,EVENT_VALUE,LOCATION,DEVICE,TIMESTAMP,IMPRESSION 35,73,click,,Ohio,Tablet,1586731606,73|70|17|95|96|92|55|45|16|97|56|54|33|94|36|10|5|43|19|13|51|90|65|59|38 54,35,watch,0.75,Indiana,Cellphone,1586735164,35|82|78|57|20|63|1|90|76|75|49|71|26|24|25|6|37|85|40|98|32|13|11|54|48 9,33,click,,Oregon,Cellphone,1586735158,68|33|62|6|15|57|45|24|78|89|90|40|26|91|66|31|47|17|99|29|27|41|77|75|14 23,10,watch,0.25,California,Tablet,1586735697,92|89|36|10|39|77|4|27|79|18|83|16|28|68|78|40|50|3|99|7|87|49|12|57|53 27,11,watch,0.55,Indiana,Tablet,1586735763,11|7|39|95|71|1|6|40|41|28|99|53|68|76|0|65|69|36|22|42|34|67|24|20|66 ... ...