キャンペーンの作成 - Amazon Personalize

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

キャンペーンの作成

リアルタイムのレコメンデーションについては、データの準備とインポートソリューションの作成 を完了すると、ソリューションバージョンをデプロイしてレコメンデーションを生成する準備が整います。Amazon Personalize のキャンペーンを作成して、ソリューションバージョンをデプロイします。バッチレコメンデーションを取得しようとしている場合は、キャンペーンを作成する必要はありません。詳細については、「バッチレコメンデーションとユーザーセグメントの取得」を参照してください。

キャンペーンは、専用のプロビジョンドトランザクション容量を搭載した、デプロイ済みのソリューションバージョン (トレーニング済みモデル)。アプリケーションユーザー向けのリアルタイムレコメンデーションを作成します。キャンペーンを作成したら、GetRecommendations または GetPersonalizedRanking の API 操作を使用してレコメンデーションを取得します。

キャンペーンは、Amazon Personalize コンソール、AWS Command Line Interface (AWS CLI)、または AWS SDK を使用して作成します。

重要

ソリューションバージョンを手動で再トレーニングする場合、またはキャンペーンの設定を変更する場合は、キャンペーンを更新する必要があります。詳細については、「キャンペーンを更新します。」を参照してください。

1 秒あたりの最小プロビジョンドトランザクション数とオートスケーリング

重要

minProvisionedTPS高くなると請求額が増えます。minProvisionedTPS(デフォルト) は 1 から始めることをお勧めします。Amazon CloudWatch のメトリックスを使用して使用状況を追跡し、minProvisionedTPS必要に応じて増やしてください。詳細については、「最小プロビジョンド TPS」を参照してください。

Amazon Personalize のキャンペーンを作成する場合、アプリケーションユーザー向けのリアルタイムのレコメンデーションを作成するための専用のトランザクション容量を指定します。トランザクションは単一の GetRecommendations または GetPersonalizedRanking コールです。1 秒あたりのトランザクション数 (TPS) は、Amazon Personalize のスループットと請求単位です。プロビジョンド最小 TPS (minProvisionedTPS) は、Amazon Personalize によってプロビジョニングされたベースラインスループット、つまり最小請求料金を指定します。

TPS が minProvisionedTPS を超えて増加した場合、Amazon Personalize はプロビジョンド容量を自動的にスケールアップまたはスケールダウンしますが、minProvisionedTPS を下回ることはありません。容量が引き上げられている間に短時間の遅延が生じます。これにより、トランザクションの損失が生じる可能性があります。

実際に使用される TPS は、5 分間のウィンドウ内の平均リクエスト数/秒として計算されます。最小プロビジョンド TPS または実際の TPS のいずれか多い金額を支払います。最初は低い値から始めてminProvisionedTPS、Amazon CloudWatch のメトリクスを使用して使用状況を追跡し、minProvisionedTPS必要に応じて増やすことをお勧めします。

キャンペーンの作成 (コンソール)

重要

minProvisionedTPS高くなると請求額が増えます。minProvisionedTPS(デフォルト) は 1 から始めることをお勧めします。Amazon CloudWatch のメトリックスを使用して使用状況を追跡し、minProvisionedTPS必要に応じて増やしてください。詳細については、「最小プロビジョンド TPS」を参照してください。

ソリューションバージョンのステータスが [Active ] (アクティブ) になったら、Amazon Personalize のキャンペーンでそのソリューションバージョンをデプロイする準備が整います。

キャンペーンを作成するには (コンソール)
  1. https://console.aws.amazon.com/personalize/home で Amazon Personalize コンソールを開き、アカウントにサインインします。

  2. デプロイするソリューションバージョンのデータセットグループを選択します。

  3. ナビゲーションペインで、[キャンペーン] を選択します。

  4. [Campaigns] (キャンペーン) のページで、[Create campaign] (キャンペーンを作成) を選択します。

  5. [Create new campaign] (新しいキャンペーンを作成) ページの [Campaign details] (キャンペーンの詳細) で、次の情報を入力します。

    • Campaign name (キャンペーン名): キャンペーンの名前を入力します。ここで入力したテキストは、[Campaign] (キャンペーン) ダッシュボードと詳細のページに表示されます。

    • Solution (ソリューション): 先ほど作成したソリューションを選択します。

    • Solution version ID (ソリューションバージョン ID): 作成したソリューションバージョンの ID を選択します。

    • 1 秒あたりの最小プロビジョンドトランザクション (API では minProvisionedTPS と呼ばれます): Amazon Personalize がサポートしている 1 秒あたりの最小プロビジョンドトランザクションを設定します。値が高いと請求額が増えます。最初は1 (デフォルト) を使用することをお勧めします。Amazon CloudWatch のメトリックスを使用して使用状況を追跡し、minProvisionedTPS必要に応じて増やしてください。詳細については、「1 秒あたりの最小プロビジョンドトランザクション数とオートスケーリング」を参照してください。

  6. User-Personalization レシピを使用した場合は、[Campaign configuration] (キャンペーン設定) で、オプションで [Exploration weight] (探索の重み) と [Exploration item age cut off] (探索アイテムが存在するようになってからの期間のカットオフ) の値を入力します。詳細については、「User-Personalization」を参照してください。

  7. タグ」には、オプションで任意のタグを追加します。Amazon Personalize リソースのタグ付けの詳細については、「」を参照してくださいAmazon Personalize リソースへのタグ付け

  8. [Create campaign (キャンペーンの作成)] を選択します。

  9. キャンペーンの詳細のページで、キャンペーンのステータスが [Active] (アクティブ) の場合、キャンペーンを使用してレコメンデーションを取得し、インプレッションを記録できます。詳細については、「レコメンデーションの取得 (カスタムデータセットグループ)」を参照してください。

    キャンペーンのステータスが ACTIVE になると、キャンペーンの準備が整います。ソリューションバージョンを再トレーニングする場合、またはキャンペーンの設定を変更する場合は、キャンペーンを更新する必要があります。詳細については、「キャンペーンを更新します。」を参照してください。

キャンペーンの作成 (AWS CLI)

ソリューションバージョンのステータスが [Active ] (アクティブ) になったら、Amazon Personalize のキャンペーンでそのソリューションバージョンをデプロイする準備が整います。次の create-campaign AWS CLI コマンドを使用して、User-Personalization レシピを使用してトレーニングされたソリューションバージョンをデプロイするキャンペーンを作成します。キャンペーンに名前を付け、ソリューションバージョン ARN (Amazon リソースネーム) を指定します。オプションで、ユースケースでより高いプロビジョンド容量が必要な場合は minProvisionedTPS を変更します。最小値は 1 です。

campaign-config パラメータは、ソリューションバージョンのトレーニングに使用したレシピに固有です (レシピの詳細については、「ステップ 1: レシピを選択する」を参照してください)。この例では、次の User-Personalization レシピ固有の itemExplorationConfig フィールドをデフォルト値で使用しています: explorationWeight および explorationItemAgeCutOffcampaign-config パラメータを省略すると、デフォルトの値が適用されます。itemExplorationConfig フィールドの詳細については、User-Personalization レシピの プロパティおよびハイパーパラメータ を参照してください。

aws personalize create-campaign \ --name campaign name \ --solution-version-arn solution version arn \ --min-provisioned-tps 1 \ --campaign-config "{\"itemExplorationConfig\":{\"explorationWeight\":\"0.3\",\"explorationItemAgeCutOff\":\"30\"}}"

キャンペーンのステータスが ACTIVE になると、キャンペーンの準備が整います。現在のステータスを取得するには、DescribeCampaign を呼び出して、 status フィールドが ACTIVE であることを確認します。

ソリューションバージョンを再トレーニングする場合、またはキャンペーンの設定を変更する場合は、キャンペーンを更新する必要があります。詳細については、「キャンペーンを更新します。」を参照してください。

Amazon Personalize には、作成したキャンペーンを一覧表示する ListCampaigns など、キャンペーンを管理するための操作が用意されています。キャンペーンを削除するには、DeleteCampaign を呼び出します。キャンペーンを削除しても、キャンペーンの一部であるソリューションバージョンは削除されません。

キャンペーンを作成したら、これを使用して推奨を行うことができます。詳細については、「レコメンデーションの取得 (カスタムデータセットグループ)」を参照してください。

キャンペーンの作成 (AWS SDK)

ソリューションバージョンのステータスが [Active ] (アクティブ) になったら、Amazon Personalize のキャンペーンでそのソリューションバージョンをデプロイする準備が整います。次のコードを使用してキャンペーンを作成します。キャンペーンに名前を付け、デプロイするソリューションバージョンの Amazon リソースネーム (ARN) を指定します。また、オプションとして、キャンペーンがサポートするものを指定します (このパラメータのデフォルト値は 1)。最小プロビジョンド TPSUser-Personalizationレシピを使用する場合、itemExplorationWeightexplorationItemAgeCutOffおよびパラメーターを使用してアイテム探索を設定できます。

SDK for Python (Boto3)

この例では、itemExplorationWeight および explorationItemAgeCutOff パラメータは User-Personalization レシピに固有です。 itemExplorationWeight デフォルトは 0.3 で、デフォルトは 30 explorationItemAgeCutOff です。キャンペーン設定パラメータを省略すると、デフォルトの値が適用されます。

import boto3 personalize = boto3.client('personalize') response = personalize.create_campaign( name = 'campaign name', solutionVersionArn = 'solution version arn', minProvisionedTPS = 1, campaignConfig = {"itemExplorationConfig": {"explorationWeight": "0.3", "explorationItemAgeCutOff": "30"}} ) arn = response['campaignArn'] description = personalize.describe_campaign(campaignArn = arn)['campaign'] print('Name: ' + description['name']) print('ARN: ' + description['campaignArn']) print('Status: ' + description['status'])
SDK for Java 2.x

この例では、itemExplorationWeight および explorationItemAgeCutOff パラメータは User-Personalization レシピに固有です。 itemExplorationWeight デフォルトは 0.3 で、デフォルトは 30 explorationItemAgeCutOff です。キャンペーン設定パラメータを省略すると、デフォルトの値が適用されます。

public static void createCampaign(PersonalizeClient personalizeClient, String campaignName, String solutionVersionArn, Integer minProvisionedTPS, String itemExplorationWeight, String explorationItemAgeCutOff) { //Optional code to instantiate a HashMap and add the explorationWeight and explorationItemAgeCutOff values. //Remove if you aren't using User-Personaliztion. Map<String,String> itemExploration = new HashMap<String,String>(); itemExploration.put("explorationWeight", itemExplorationWeight); itemExploration.put("explorationItemAgeCutOff", explorationItemAgeCutOff); try { // Build a User-Personalization recipe specific campaignConfig object with the itemExploration map. // CampaignConfig construction will vary by recipe. CampaignConfig campaignConfig = CampaignConfig.builder() .itemExplorationConfig(itemExploration) .build(); // build the createCampaignRequest CreateCampaignRequest createCampaignRequest = CreateCampaignRequest.builder() .name(campaignName) .solutionVersionArn(solutionVersionArn) .minProvisionedTPS(minProvisionedTPS) .campaignConfig(campaignConfig) // .build(); // create the campaign CreateCampaignResponse campaignResponse = personalizeClient.createCampaign(createCampaignRequest); String campaignArn = campaignResponse.campaignArn(); DescribeCampaignRequest campaignRequest = DescribeCampaignRequest.builder() .campaignArn(campaignArn) .build(); DescribeCampaignResponse campaignResponse = personalizeClient.describeCampaign(campaignRequest); Campaign newCampaign = campaignResponse.campaign(); System.out.println("The Campaign status is " + newCampaign.status()); } catch (PersonalizeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { CreateCampaignCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); // Set the campaign's parameters. export const createCampaignParam = { solutionVersionArn: 'SOLUTION_VERSION_ARN', /* required */ name: 'NAME', /* required */ minProvisionedTPS: 1 /* optional integer */ } export const run = async () => { try { const response = await personalizeClient.send(new CreateCampaignCommand(createCampaignParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

キャンペーンのステータスが ACTIVE になると、キャンペーンの準備が整います。現在のステータスを取得するには、DescribeCampaign を呼び出して、 status フィールドが ACTIVE であることを確認します。

ソリューションバージョンを手動で再トレーニングする場合、またはキャンペーンの設定を変更する場合は、キャンペーンを更新する必要があります。詳細については、「キャンペーンを更新します。」を参照してください。

Amazon Personalize には、作成したキャンペーンを一覧表示する ListCampaigns など、キャンペーンを管理するための操作が用意されています。キャンペーンを削除するには、DeleteCampaign を呼び出します。キャンペーンを削除しても、キャンペーンの一部であるソリューションバージョンは削除されません。

キャンペーンを作成したら、これを使用して推奨を行うことができます。詳細については、「レコメンデーションの取得 (カスタムデータセットグループ)」を参照してください。