ドメインレコメンダーの探索の設定 - Amazon Personalize

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

ドメインレコメンダーの探索の設定

Top picks for your または Recommended for you のユースケースでは、Amazon Personalize は商品をレコメンデーションする際に探索を使用します。探索は、インタラクションデータがないかほとんどない状態で、ユーザーが商品にどのように反応するかを学習するための、さまざまな商品のレコメンデーションをテストに関連します。探索は以下のように設定できます。

  • 関連性の低いアイテムの探索に重点を置く (探索の重み) — 探索する範囲を設定します。0~1 の小数値を指定します。デフォルトは 0.3 です。値が 1 に近くなるほど、探索が多くなります。探索が増えると、レコメンデーションにはより多くのアイテムが含まれますが、アイテムインタラクションデータや以前の行動に基づく関連性が少なくなります。ゼロでは、探索は行われず、レコメンデーションは現在のデータに基づきます (関連性)。

  • 探索アイテムが存在するようになってからの期間のカットオフ - アイテムインタラクションデータセット内のすべてのアイテムについて、最新のインタラクションからの日数で、アイテムが存在するようになってからの最長期間を指定します。これにより、アイテムの経過時間に基づいてアイテム探索の範囲が定義されます。Amazon Personalize は作成タイムスタンプを基に、あるいは作成タイムスタンプデータがない場合はアイテムインタラクションデータを基に、アイテムが存在するようになってからの期間を決定します。Amazon Personalize がアイテムが存在するようになってからの期間を決定する方法の詳細については、「作成のタイムスタンプデータ」を参照してください。

    Amazon Personalize が探索中に考慮するアイテムの数を増やすには、より大きな値を入力します。デフォルトは 30 日 で、最短は 1 日 です。レコメンデーションには、指定したアイテムの期間制限より古いアイテムが含まれる場合があります。これは、これらのアイテムがユーザーの興味に関連しており、それらを特定するために探索が必要ではなかったことによります。

次のコードサンプルは、 AWS CLI または AWS SDKs を使用してレコメンダーの探索を設定する方法を示しています。Amazon Personalize コンソールでこれを行うには、レコメンダーを作成するときに、[詳細設定] ページで探索設定を指定します。詳細については、「レコメンダーの作成 (コンソール)」を参照してください。

次のコードは、Top picks for you のユースケースのレコメンダーを作成する際に探索を設定する方法を示しています。この例では、デフォルトの値を使用します。

アイテムデータセットがあり、レコメンデーションを取得したときにメタデータを含めるオプションが必要な場合は、recommender-config を更新して enableMetadataWithRecommendations フィールドを追加し、true に設定します。

aws personalize create-recommender \ --name recommender name \ --dataset-group-arn dataset group ARN \ --recipe-arn arn:aws:personalize:::recipe/aws-vod-top-picks \ --recommender-config "{\"itemExplorationConfig\":{\"explorationWeight\":\"0.3\",\"explorationItemAgeCutOff\":\"30\"}}"

Top picks for your または Recommended for you のユースケースでは、Amazon Personalize は商品をレコメンデーションする際に探索を使用します。探索は、インタラクションデータがないかほとんどない状態で、ユーザーが商品にどのように反応するかを学習するための、さまざまな商品のレコメンデーションをテストに関連します。探索は以下のように設定できます。

  • 関連性の低いアイテムの探索に重点を置く (探索の重み) — 探索する範囲を設定します。0~1 の小数値を指定します。デフォルトは 0.3 です。値が 1 に近くなるほど、探索が多くなります。探索が増えると、レコメンデーションにはより多くのアイテムが含まれますが、アイテムインタラクションデータや以前の行動に基づく関連性が少なくなります。ゼロでは、探索は行われず、レコメンデーションは現在のデータに基づきます (関連性)。

  • 探索アイテムが存在するようになってからの期間のカットオフ - アイテムインタラクションデータセット内のすべてのアイテムについて、最新のインタラクションからの日数で、アイテムが存在するようになってからの最長期間を指定します。これにより、アイテムの経過時間に基づいてアイテム探索の範囲が定義されます。Amazon Personalize は作成タイムスタンプを基に、あるいは作成タイムスタンプデータがない場合はアイテムインタラクションデータを基に、アイテムが存在するようになってからの期間を決定します。Amazon Personalize がアイテムが存在するようになってからの期間を決定する方法の詳細については、「作成のタイムスタンプデータ」を参照してください。

    Amazon Personalize が探索中に考慮するアイテムの数を増やすには、より大きな値を入力します。デフォルトは 30 日 で、最短は 1 日 です。レコメンデーションには、指定したアイテムの期間制限より古いアイテムが含まれる場合があります。その理由は、これらの商品がユーザーの興味に関連しており、それらを特定するために探索が必要ではなかったためです。

次のコードは、レコメンダーを作成する際に探索を構成する方法を示しています。この例では、デフォルトの値を使用します。

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') create_recommender_response = personalize.create_recommender( name = 'recommender name', recipeArn = 'arn:aws:personalize:::recipe/aws-vod-top-picks', datasetGroupArn = 'dataset group ARN', recommenderConfig = {"itemExplorationConfig": {"explorationWeight": "0.3", "explorationItemAgeCutOff": "30"}} ) recommender_arn = create_recommender_response['recommenderArn'] print('Recommender ARN:' + recommender_arn)
SDK for JavaScript v3
// Get service clients and commands using ES6 syntax. import { CreateRecommenderCommand, PersonalizeClient } from "@aws-sdk/client-personalize"; // create personalizeClient const personalizeClient = new PersonalizeClient({ region: "REGION" }); // set the recommender's parameters export const createRecommenderParam = { name: "RECOMMENDER_NAME", /* required */ recipeArn: "RECIPE_ARN", /* required */ datasetGroupArn: "DATASET_GROUP_ARN", /* required */ recommenderConfig: { itemExplorationConfig: { explorationWeight: "0.3", explorationItemAgeCutOff: "30" } } }; export const run = async () => { try { const response = await personalizeClient.send(new CreateRecommenderCommand(createRecommenderParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();