入力データのフォーマット - Amazon Personalize

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

入力データのフォーマット

データを Amazon Personalize にインポートするために使用するファイルは、使用しているスキーマに対応している必要があります。

Amazon Personalize は、カンマ区切り値 (CSV) 形式のファイルからのみデータをインポートします。Amazon Personalize では、列ヘッダーを含めるために CSV ファイルの最初の行が必要です。CSV ファイルの列ヘッダーは、データセットを作成するためにスキーマに対応している必要があります。ヘッダーを引用符 (") で囲まないでください。TIMESTAMP および CREATION_TIMESTAMP データは Unix エポック 時間形式。詳細については、「タイムスタンプデータ」を参照してください。

重要

データがASCII以外のエンコード文字を含む場合、CSVファイルはUTF-8形式でエンコードする必要があります。

次のCSVデータ サンプルは、 データセットとスキーマ. このデータは、映画のチケットを販売するウェブサイトの過去のユーザーアクティビティを表します。このデータを使用して、他のユーザーのアクティビティに基づき映画のレコメンデーションをユーザーに提供するモデルをトレーニングできます。

USER_ID,ITEM_ID,EVENT_TYPE,EVENT_VALUE,TIMESTAMP 196,242,click,15,881250949 186,302,click,13,891717742 22,377,click,10,878887116 244,51,click,20,880606923 166,346,click,10,886397596 298,474,click,40,884182806 115,265,click,20,881171488 253,465,click,50,891628467 305,451,click,30,886324817

関連するインタラクションスキーマを以下に繰り返します。

{ "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" }

Amazon Personalize には、 USER_IDITEM_ID、および TIMESTAMP フィールド。USER_ID は、アプリケーションのユーザーの識別子です。ITEM_ID は、映画の識別子です。EVENT_TYPE および EVENT_VALUE は、ユーザーアクティビティの識別子です。サンプル データでは、 click 映画購入イベントや 15 映画の購入価格かもしれません。TIMESTAMP は、映画の購入が行われた UNIX のエポック時間を表します。

タイムスタンプデータ

次のようなタイムスタンプ データ TIMESTAMP (Interactionsデータセットの場合)または CREATION_TIMESTAMP (項目データセットの場合)データは、Unix エポック時間形式 (秒単位) である必要があります。たとえば、2020 年 7 月 31 日の Epoch タイムスタンプは 1596238243 です。Unix エポック タイムスタンプに日付を変換するには、 エポック コンバータ - Unix タイムスタンプ コンバータ.

作成タイムスタンプデータ

Amazon パーソナライズ用途 CREATION_TIMESTAMP データ(Unix エポック時間フォーマット、秒単位)を使用して、項目の経過時間を計算し、それに応じて推奨値を調整します。

スキーマに CREATION_TIMESTAMP フィールドですが、 CREATION_TIMESTAMP 1つ以上のアイテムにデータがありません。 Amazon Personalize インタラクションデータがある場合、この情報から推測し、アイテムの最も古いインタラクションデータのタイムスタンプをアイテムの作成日として使用します。アイテムにインタラクションデータがない場合、その作成日はトレーニングセットで最新のインタラクションのタイムスタンプとして設定され、新しいアイテムと見なされます。

詳細については、「データセットとスキーマ」を参照してください。項目スキーマの例については、以下を参照してください。 項目スキーマの例.

印象データ

インプレッションとは、ユーザーが特定のアイテムと対話(クリックや視聴など)した時に表示されていたアイテムのリストです。 Amazon Personalize は、2種類の印象をモデル化できます。

  • 暗黙の印象 は推奨であり、 Amazon Personalizeユーザーを表示します。推奨ワークフローに統合するには、 RecommendationId ( GetRecommendations および GetPersonalizedRanking 業務)を将来へのインプットとして PutEvents 要求および Amazon Personalize は、あなたの推奨データに基づいて暗黙のインプレッションを導き出します。

  • 明確な印象 は、手動で記録し、 Amazon Personalize. 明確な印象を使用して、 Amazon Personalize. たとえば、明示的なインプレッションを使用して、使用不可能な項目をフィルタし、ユーザーインタラクションに基づいて推奨の順序を変更します。

明示的な印象のアップロード

トレーニングデータに明示的なインプレッションを含めるには、インタラクションデータセットにアップロードします( データセットとスキーマ)または PutEvents コマンド impression 入力パラメータ。印象は、 recommendationId パラメータ:

{ "eventList": [ { "eventId": "event1", "eventType": "Rating", "sentAt": 1553631760, "itemId": "item id" "recommendationId": "id" "impression": ["itemId1", "itemId2", "itemId3"] } ], "sessionId": "session1", "trackingId": "tracking_id", "userId": "1" }
重要

競合する暗黙的および明示的な印象データを PutEvents 要求、 Amazon Personalize は、デフォルトで明示的なインプレッションを使用します。

印象データは、インタラクションデータセットに記録され、各印象は | または PutEvents リクエスト( | は、SDK を使用する場合には必要ありません)。データセットの詳細は、 Amazon Personalize、参照 データセットとスキーマ.

以下は、インタラクションデータセットからの短い抜粋で、 IMPRESSION 列。

EVENT_TYPE 印象 ITEM_ID TIMESTAMP USER_ID
クリック

73|70|17|95|96

73人

1586731606

ユーザー_1
クリック

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

35

1586735164

ユーザー_2
... ... ... ... ...

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

カテゴリ別データ

カテゴリ別文字列データを使用する場合に 1 つのアイテムに複数のカテゴリを含めるには、縦棒文字「|」を使用して値を区切ります。たとえば、前のセクションの項目スキーマを 2 つのカテゴリを使用して一致させるには、データ行は次のようになります。

ITEM_ID,GENRE item_123,horror|comedy

データをフォーマットしたら、Amazon Personalize にインポートできるように Amazon S3 バケットにアップロードします。詳細については、Amazon S3 バケットへのアップロード を参照してください。