リアルタイムのアイテムレコメンデーションの取得 - 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. [キャンペーンの結果をテスト]で、使用したレシピに基づいたレコメンデーションのリクエストの詳細を入力します。レコメンダーの場合は、[テストレコメンダー] を選択し、ユースケースに基づいてレコメンデーションリクエストの詳細を入力します。

    ユーザーがログインする前にユーザーのイベントを記録した場合 (匿名ユーザー)、userId の代わりにそれらのイベントから sessionId を指定することにより、このユーザー向けのレコメンデーションを取得できます。匿名ユーザーのイベントの記録の詳細については、「匿名ユーザー向けのイベントの記録」を参照してください。

  6. オプションでフィルターを選択します。詳細については、「レコメンデーションとユーザーセグメントのフィルタリング」を参照してください。

  7. コンテキストメタデータを使用する場合は、コンテキストごとにデータを提供してください。コンテキストごとに、「キー」にメタデータフィールドを入力します。 にはコンテキストデータを入力します。詳細については、「コンテキストメタデータを使用したレコメンデーションの関連性の向上」を参照してください。

  8. キャンペーンまたはレコメンダーのレコメンデーションでメタデータを有効にした場合、[Items データセット列]、レコメンデーション結果に含めるメタデータ列を選択します。キャンペーンのメタデータの有効化については、「レコメンデーションのアイテムメタデータ」を参照してください。レコメンダーのメタデータの有効化については、「Amazon Personalize でドメインレコメンダーのレコメンデーションでメタデータを有効にする」を参照してください。

  9. 一部の商品をプロモーションする場合は、オプションで [プロモーション] フィールドに入力します。詳細については、「レコメンデーション内のアイテムのプロモーション」を参照してください。

  10. [レコメンデーションの取得] を選択します。ユーザーの上位 25 個の推奨アイテムを含むテーブルが表示されます。User-Personalization-v2 を使用する場合、各推奨項目には、その項目がレコメンデーションに含まれた理由のリストが含まれます。詳細については、「User-Personalization-v2 の推奨理由」を参照してください。

アイテムレコメンデーションの取得 (AWS CLI)

次のコードを使用してキャンペーンからレコメンデーションを取得します。レコメンダーからレコメンデーションを取得するには、campaign-arn パラメータを recommender-arn に置き換えます。

レコメンデーションを取得するユーザーの ID、およびキャンペーンまたはレコメンダーの Amazon リソースネーム (ARN) を指定します。ユーザーに推奨される上位 10 個のアイテムのリストが表示されます。User-Personalization-v2 を使用する場合、各推奨項目には、その項目がレコメンデーションに含まれた理由のリストが含まれます。詳細については、「User-Personalization-v2 の推奨理由」を参照してください。

推奨アイテムの数を変更するには、numResults の値を変更します。デフォルトのアイテム数は 25 です。アイテムの最大数は 500 です。RELATED_ITEMS recipe を使用してキャンペーンをサポートするソリューションバージョンをトレーニングした場合は、 user-idパラメータを に置き換えitem-id、アイテム ID を指定します。

ユーザーがログインする前にユーザーのイベントを記録した場合 (匿名ユーザー)、userId の代わりにそれらのイベントから sessionId を指定することにより、このユーザー向けのレコメンデーションを取得できます。匿名ユーザーのイベントの記録の詳細については、「匿名ユーザー向けのイベントの記録」を参照してください。

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 個のアイテムのリストが表示されます。User-Personalization-v2 を使用する場合、各推奨項目には、その項目がレコメンデーションに含まれた理由のリストが含まれます。詳細については、「User-Personalization-v2 の推奨理由」を参照してください。

推奨アイテムの数を変更するには、numResults の値を変更します。デフォルトのアイテム数は 25 です。アイテムの最大数は 500 です。RELATED_ITEMS recipe を使用してキャンペーンをサポートするソリューションバージョンをトレーニングした場合は、 userIdパラメータを に置き換えitemId、アイテム ID を指定します。

キャンペーンまたはレコメンダーのレコメンデーションでメタデータを有効にした場合、レスポンスに含めるアイテムデータセットのメタデータ列を指定できます。コードサンプルについては、「アイテムメタデータをレコメンデーション (AWS SDKs)」を参照してください。メタデータの有効化については、「レコメンデーションのアイテムメタデータ」を参照してください。

ユーザーがログインする前にユーザーのイベントを記録した場合 (匿名ユーザー)、userId の代わりにそれらのイベントから sessionId を指定することにより、このユーザー向けのレコメンデーションを取得できます。匿名ユーザーのイベントの記録の詳細については、「匿名ユーザー向けのイベントの記録」を参照してください。

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();