取得即時項目建議 - Amazon Personalize

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

取得即時項目建議

您可以使用 Amazon Personalize 化控制台從 Amazon Personalize 化推薦人或自定義營銷活動獲得實時商品推薦, AWS Command Line Interface (AWS CLI),或 AWS SDKs.

取得項目建議 (主控台)

若要使用 Amazon Personalize 主控台取得建議,請在推薦人 (網域資料集群組) 或自訂行銷活動的詳細資料頁面上提供請求資訊。

取得建議
  1. https://console.aws.amazon.com/personalize/家中打開 Amazon Personalize 化控制台並登錄您的帳戶。

  2. 選擇包含您正在使用的促銷活動或推薦人的資料集群組。

  3. 在導覽窗格中,選擇 [廣告活動] 或 [推薦人]。

  4. 選擇目標廣告系列或推薦人。

  5. 對於廣告活動,請在「測試廣告系列結果」下,根據您使用的食譜輸入您的建議請求詳細資料。對於推薦人,請選擇測試推薦人,然後根據您的使用案例輸入您的建議請求詳細資料。

    如果您在使用者登入之前記錄了他們的事件 (匿名使用者),您可以提供來自這些事件,就像是他們的事件一樣,sessionId來取得此使用者的建議userId。如需有關為匿名使用者錄製事件的詳細資訊,請參閱記錄匿名用戶的事件

  6. (選擇性) 選擇篩選器。如需詳細資訊,請參閱篩選建議和使用者區段

  7. 如果您使用關聯式詮釋資料,請提供每個上下文的資料。針對每個前後關聯,針對「金鑰」輸入中繼資料欄位。針對「」,輸入內容資料。如需詳細資訊,請參閱透過上下文中繼資料增加建議

  8. 如果您已在促銷活動或推薦人的建議中啟用中繼資料,對於「項目」資料集欄,請選擇要包含在建議結果中的中繼資料欄。如需啟用促銷活動中繼資料的詳細資訊,請參閱建議的項目中繼資料。如需啟用推薦人之詮釋資料的相關資訊,請參閱在建議中為 Amazon Personalize 網域推薦人啟用中繼資料

  9. 如果您要促銷料號子集,請選擇性地完成「促銷」欄位。如需詳細資訊,請參閱 推廣建議中的項目

  10. 選擇 Get recommendations (取得建議)。此時會顯示一個包含使用者前 25 個建議項目的表格。如果您使用使用者個人化-v2,每個建議項目都會包含建議中包含項目的原因清單。如需詳細資訊,請參閱使用者個人化-v2 的建議原因

取得項目推薦 (AWS CLI)

使用下列程式碼取得行銷活動的建議。若要取得推薦人的建議,請將campaign-arn參數取代為recommender-arn.

指定您要取得建議的使用者 ID,以及行銷活動或推薦人的 Amazon 資源名稱 (ARN)。會顯示使用者前 10 個建議項目的清單。如果您使用使用者個人化-v2,每個建議項目都會包含建議中包含項目的原因清單。如需詳細資訊,請參閱使用者個人化-v2 的建議原因

若要變更建議項目的數目,請變更的值numResults。預設值為 25 個項目。最多為 500 個項目。如果您使用 RELATED _ ITEMS 方法來訓練支援促銷活動的解決方案版本,請將user-id參數取代為item-id並指定項目 ID。

如果您在使用者登入之前記錄了他們的事件 (匿名使用者),您可以提供來自這些事件,就像是他們的事件一樣,sessionId來取得此使用者的建議userId。如需有關為匿名使用者錄製事件的詳細資訊,請參閱記錄匿名用戶的事件

aws personalize-runtime get-recommendations \ --campaign-arn campaign arn \ --user-id User ID \ --num-results 10

取得項目推薦 (AWS SDKs)

下列程式碼示範如何從行銷活動中取得使用者的 Amazon Personalize 建議 AWS SDKs。若要取得推薦人的建議,請將campaignArn參數取代為recommenderArn.

指定您要取得建議的使用者 ID,以及行銷活動或推薦人的 Amazon 資源名稱 (ARN)。會顯示使用者前 10 個建議項目的清單。如果您使用使用者個人化-v2,每個建議項目都會包含建議中包含項目的原因清單。如需詳細資訊,請參閱使用者個人化-v2 的建議原因

若要變更建議項目的數目,請變更的值numResults。預設值為 25 個項目。最多為 500 個項目。如果您使用 RELATED _ ITEMS 方法來訓練支援促銷活動的解決方案版本,請將userId參數取代為itemId並指定項目 ID。

如果您在促銷活動或推薦人的建議中啟用中繼資料,您可以指定要包含在回應中的項目資料集中繼資料欄。如需程式碼範例,請參閱 包含含建議的項目中繼資料 (AWS SDKs)。如需啟用詮釋資料的資訊,請參閱建議的項目中繼資料

如果您在使用者登入之前記錄了他們的事件 (匿名使用者),您可以提供來自這些事件,就像是他們的事件一樣,sessionId來取得此使用者的建議userId。如需有關為匿名使用者錄製事件的詳細資訊,請參閱記錄匿名用戶的事件

SDK for Python (Boto3)
import boto3 personalizeRt = boto3.client('personalize-runtime') response = personalizeRt.get_recommendations( campaignArn = 'Campaign ARN', userId = 'User ID', numResults = 10 ) print("Recommended items") for item in response['itemList']: print (item['itemId'])
SDK for Java 2.x
public static void getRecs(PersonalizeRuntimeClient personalizeRuntimeClient, String campaignArn, String userId) { try { GetRecommendationsRequest recommendationsRequest = GetRecommendationsRequest.builder() .campaignArn(campaignArn) .numResults(20) .userId(userId) .build(); GetRecommendationsResponse recommendationsResponse = personalizeRuntimeClient .getRecommendations(recommendationsRequest); List<PredictedItem> items = recommendationsResponse.itemList(); for (PredictedItem item : items) { System.out.println("Item Id is : " + item.itemId()); System.out.println("Item score is : " + item.score()); } } catch (AwsServiceException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { GetRecommendationsCommand } from "@aws-sdk/client-personalize-runtime"; import { personalizeRuntimeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeRuntimeClient = new PersonalizeRuntimeClient({ region: "REGION"}); // Set the recommendation request parameters. export const getRecommendationsParam = { campaignArn: 'CAMPAIGN_ARN', /* required */ userId: 'USER_ID', /* required */ numResults: 15 /* optional */ } export const run = async () => { try { const response = await personalizeRuntimeClient.send(new GetRecommendationsCommand(getRecommendationsParam)); console.log("Success!", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();