準備用戶細分的輸入數據 - Amazon Personalize

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

準備用戶細分的輸入數據

Batch 區段工作會使用解決方案版本,根據您在輸入 JSON 檔案中提供的資料建立使用者區段。在取得使用者區段之前,您必須準備 JSON 檔案並將其上傳到 Amazon S3 儲存貯體。我們建議您在 Amazon S3 儲存貯體中建立輸出資料夾,或使用單獨的輸出 Amazon S3 儲存貯體。然後,您可以使用相同的輸入資料位置執行多個批次推論工作。

如果您使用具有預留位置參數的篩選器$GENRE,例如,您必須在輸入 JSON 中提供filterValues物件中的參數值。如需詳細資訊,請參閱 在輸入中提供篩選條件值 JSON

若要準備和匯入資料
  1. 根據解決方案使用的配方,格式化批次輸入資料。用新行分隔輸入數據元素。您的輸入資料可能是 IteMID (項目-相似性) 或料號屬性 (項目-屬性-相似性) 的清單。

  2. 將您的輸入 JSON 上傳到 Amazon S3 儲存貯體中的輸入資料夾。如需詳細資訊,請參閱 Amazon 簡單儲存服務使用者指南中的使用拖放方式上傳檔案和資料夾

  3. 為輸出資料建立單獨的位置,可以是資料夾或不同的 Amazon S3 儲存貯體。透過為輸出 JSON 建立不同的位置,您可以使用相同的輸入資料位置執行多個批次區段作業。

準備好輸入資料並將其上傳到 Amazon S3 儲存貯體之後,就可以使用批次區段任務產生使用者區段。如需詳細資訊,請參閱 透過批次區段工作取得使用者區段

指定料號-屬性-相似性方案的料號屬性

如果您使用項目-屬性-相似性方案,您的輸入資料是項目屬性的清單。您可以混合不同的中繼資料欄。例如,一行可能是一個數字列,下一行可能是一個分類列。您無法使用非結構化文字項目中繼資料做為項目屬性。

您的輸入項目中繼資料可以包含AND運算子的邏輯運算式,以取得多個屬性的使用者區段。例如,輸入資料的一行可能是{"itemAttributes": "ITEMS.genres = \"Comedy\" AND ITEMS.genres = \"Action\""}{"itemAttributes": "ITEMS.genres = "\Comedy\" AND ITEMS.audience = "\teen\""}

當您將兩個屬性與AND運算子結合起來時,您可以建立使用者區段,而使用者更有可能根據使用者互動歷程記錄與具有這兩個屬性的項目互動。與篩選IN運算式 (使用運算子進行字串相等) 不同,批次區段輸入運算式只支援字串比對的相等=符號。

Batch 區段工作輸入和輸出 JSON 範例

對於批次區段工作,您的輸入資料必須是項目 MID 清單 (項目-相似性方案) 或料號屬性 (項目-屬性-相似性)。每行輸入資料都是個別的推論查詢。每個使用者區段會依據每位使用者與您庫存中的項目互動的可能性,以遞減順序排序。

如果您使用具有預留位置參數的篩選器$GENRE,例如,您必須在輸入 JSON 中提供filterValues物件中的參數值。如需詳細資訊,請參閱 在輸入中提供篩選條件值 JSON

以下是按方案組織的批次區段作業,正確格式化 JSON 輸入和輸出範例。

料號相似性

Input

您的輸入資料最多可包含 500 個項目。itemId用新行分隔每一行,如下所示。

{"itemId": "105"} {"itemId": "106"} {"itemId": "441"} ...
Output
{"input": {"itemId": "105"}, "output": {"recommendedUsers": ["106", "107", "49"]}} {"input": {"itemId": "106"}, "output": {"recommendedUsers": ["105", "107", "49"]}} {"input": {"itemId": "441"}, "output": {"recommendedUsers": ["2", "442", "435"]}} ...

料號-屬性-相似性

Input

您的輸入資料最多可有 10 個查詢,其中每個查詢都是一或多個非文字項目屬性。使用新行分隔每個屬性或屬性運算式,如下所示。

{"itemAttributes": "ITEMS.genres = \"Comedy\" AND ITEMS.genres = \"Action\""} {"itemAttributes": "ITEMS.genres = \"Comedy\""} {"itemAttributes": "ITEMS.genres = \"Horror\" AND ITEMS.genres = \"Action\""} ...
Output
{"itemAttributes": "ITEMS.genres = \"Comedy\" AND ITEMS.genres = \"Action\"", "output": {"recommendedUsers": ["25", "78", "108"]}} {"itemAttributes": "ITEMS.genres = \"Adventure\"", "output": {"recommendedUsers": ["87", "31", "129"]}} {"itemAttributes": "ITEMS.genres = \"Horror\" AND ITEMS.genres = \"Action\"", "output": {"recommendedUsers": ["8", "442", "435"]}} ...