ソリューションの作成 - Amazon Personalize

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

ソリューションの作成

Amazon Personalize コンソールを使用してカスタムソリューションを作成できます。 AWS Command Line Interface (AWS CLI)、または AWS SDKs。以下に、Amazon Personalize コンソールを使用してソリューションを作成する詳細な手順と、必須フィールドのみを使用してソリューションを作成する方法を示すコード例を示します。

ソリューションの作成 (コンソール)

重要

デフォルトでは、すべての新しいソリューションで自動トレーニングが使用されます。自動トレーニングでは、ソリューションがアクティブである間にトレーニングコストが発生します。不要なコストを避けるために、完了したらソリューションを更新して自動トレーニングをオフにできます。トレーニングコストの詳細については、「Amazon Personalize の料金」を参照してください。

コンソールでソリューションを作成するには、データセットグループを選択し、ソリューション名、レシピ、およびオプションのトレーニング設定を指定します。

ソリューションを設定する (コンソール)
  1. ホーム で https://console.aws.amazon.com/personalize/Amazon Personalize コンソールを開き、アカウントにサインインします。

  2. [データセットグループ] のページで、データセットグループを選択します。

  3. 概要ページのステップ 3 で、次のいずれかを実行します。

    • ドメインデータセットグループを作成した場合は、カスタムリソースを使用する を選択し、ソリューションの作成 を選択します。

    • カスタムデータセットグループを作成した場合は、[ソリューションの作成] を選択します。

  4. [Solution name (ソリューション名)] で、ソリューションの名前を指定します。

  5. ソリューションタイプ で、作成するソリューションのタイプを選択します。選択したタイプによって、利用できるレシピが決まります。

    • [アイテムのレコメンデーション] を選択して、ユーザーのアイテムのレコメンデーションを取得します。例えば、パーソナライズされた映画のレコメンデーションなどです。

    • [アクションのレコメンデーション] を選択して、ユーザーのアクションのレコメンデーションを取得します。例えば、アプリのダウンロードなど、ユーザーにとって次に最適なアクションを生成します。

    • [ユーザーセグメンテーション] を選択してアイテムデータに基づいてユーザーセグメント (ユーザーのグループ) を取得します。

  6. [Recipe] (レシピ) で、レシピを選択します (「レシピの選択」を参照)。

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

  8. [Next (次へ)] を選択します。

  9. 「トレーニング設定」ページで、ビジネス要件を満たすようにソリューションをカスタマイズします。

    • 自動トレーニング で、ソリューションが自動トレーニングを使用するかどうかを選択します。自動トレーニングを使用する場合は、 を変更できますAutomatic training frequency。デフォルトのトレーニング頻度は 7 日ごとです。

      自動トレーニングを使用することをお勧めします。これにより、レコメンデーションの関連性を簡単に維持できます。トレーニングの頻度は、ビジネス要件、使用するレシピ、データをインポートする頻度によって異なります。詳細については、「自動トレーニングの設定」を参照してください。関連性の維持については、「」を参照してくださいレコメンデーションの関連性の維持

    • ハイパーパラメータ設定 で、レシピとビジネスニーズに基づいてハイパーパラメータオプションを設定します。異なるレシピは異なるハイパーパラメータを使用します。使用可能なハイパーパラメータについては、「」の個々のレシピを参照してくださいレシピの選択

    • トレーニング用の列 で、レシピがアイテムレコメンデーションまたはユーザーセグメントを生成する場合は、オプションで Amazon Personalize がソリューションバージョンを作成するときに考慮する列を選択します。詳細については、「トレーニング時に使用する列の設定」を参照してください。

    • 追加設定 で、アイテムインタラクションデータセットに EVENT_TYPE または EVENT_TYPE 列と EVENT_VALUE 列の両方がある場合、オプションでイベントタイプフィールドとイベント値のしきい値フィールドを使用して、Amazon Personalize がモデルのトレーニング時に使用するアイテムインタラクションデータを選択します。詳細については、「トレーニングに使用するアイテムインタラクションデータの選択」を参照してください。

    • User-Personalization レシピ または Personalized-Ranking レシピ レシピのいずれかを使用する場合は、オプションで [目的] を指定し、[目的の感度] を選択して、関連性に加えて目的に合わせてソリューションを最適化します。目的感度は、Amazon Personalize が目的に基づいてアイテムのレコメンデーションとインタラクションデータを介した関連性のバランスをとる方法を設定します。詳細については、「追加の目的のためのソリューションの最適化」を参照してください。

  10. Next を選択し、ソリューションの詳細を確認します。作成後にソリューションの設定を変更することはできません。

  11. [Create solution (ソリューションの作成)] を選択します。ソリューションを作成すると、Amazon Personalize は 1 時間以内に最初のソリューションバージョンの作成を開始します。トレーニングが開始されたら、ソリューションの詳細ページのソリューションバージョンセクションでモニタリングできます。自動的に作成されたソリューションバージョンでは、トレーニングタイプは ですAUTOMATIC。

    ソリューションバージョンが になるとACTIVE、それを使用してレコメンデーションを取得する準備が整います。アクティブなソリューションバージョンの使用方法は、レコメンデーションの取得方法によって異なります。

ソリューションの作成 (AWS CLI)

重要

デフォルトでは、すべての新しいソリューションで自動トレーニングが使用されます。自動トレーニングでは、ソリューションがアクティブである間にトレーニングコストが発生します。不要なコストを避けるために、完了したらソリューションを更新して自動トレーニングをオフにできます。トレーニングコストの詳細については、「Amazon Personalize の料金」を参照してください。

を使用してソリューションを作成するには AWS CLI、 create-solution コマンドを使用します。このコマンドは CreateSolutionAPIオペレーションを使用します。次のコードは、自動トレーニングを使用するソリューションを作成する方法を示しています。5 日ごとに新しいソリューションバージョンが自動的に作成されます。

コードを使用するには、コードを更新してソリューションに名前を付け、データセットグループの Amazon リソースネーム (ARN) を指定し、オプションでトレーニング頻度を変更し、使用するレシピARNの を指定します。レシピの詳細については、「レシピの選択」を参照してください。

aws personalize create-solution \ --name solution name \ --dataset-group-arn dataset group ARN \ --recipe-arn recipe ARN \ --perform-auto-training \ --solution-config "{\"autoTrainingConfig\": {\"schedulingExpression\": \"rate(5 days)\"}}"

ソリューションを作成したら、今後の使用ARNに備えてソリューションを記録します。自動トレーニングでは、ソリューションバージョンの作成は、ソリューションが になった後 1 時間以内に開始されますACTIVE。1 時間以内にソリューションバージョンを手動で作成した場合、ソリューションは最初の自動トレーニングをスキップします。トレーニングの開始後、 ListSolutionVersionsAPIオペレーションを使用してソリューションバージョンの Amazon リソースネーム (ARN) を取得できます。ステータスを取得するには、 DescribeSolutionVersionAPIオペレーションを使用します。

ソリューションバージョンが になるとACTIVE、それを使用してレコメンデーションを取得する準備が整います。アクティブなソリューションバージョンの使用方法は、レコメンデーションの取得方法によって異なります。

ソリューションの作成 (AWS SDKs)

重要

デフォルトでは、すべての新しいソリューションで自動トレーニングが使用されます。自動トレーニングでは、ソリューションがアクティブである間にトレーニングコストが発生します。不要なコストを避けるため、完了したらソリューションを更新して自動トレーニングをオフにできます。トレーニングコストの詳細については、「Amazon Personalize の料金」を参照してください。

を使用してソリューションを作成するには AWS SDKs、 CreateSolutionAPIオペレーションを使用します。次のコードは、自動トレーニングを使用するソリューションを作成する方法を示しています。5 日ごとに新しいソリューションバージョンが自動的に作成されます。

コードを使用するには、コードを更新してソリューションに名前を付け、データセットグループの Amazon リソースネーム (ARN) を指定し、オプションでトレーニング頻度を変更し、使用するレシピARNの を指定します。レシピの詳細については、「レシピの選択」を参照してください。

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') create_solution_response = personalize.create_solution( name = 'solution name', recipeArn = 'recipe ARN', datasetGroupArn = 'dataset group ARN', performAutoTraining = True, solutionConfig = { "autoTrainingConfig": { "schedulingExpression": "rate(5 days)" } } ) solution_arn = create_solution_response['solutionArn'] print('solution_arn: ', solution_arn)
SDK for JavaScript v3
import { CreateSolutionCommand, PersonalizeClient, } from "@aws-sdk/client-personalize"; // create client const personalizeClient = new PersonalizeClient({ region: "REGION" }); // set the solution parameters export const solutionParam = { datasetGroupArn: "DATASET_GROUP_ARN" /* required */, recipeArn: "RECIPE_ARN" /* required */, name: "SOLUTION_NAME" /* required */, performAutoTraining: true /* optional, default is true */, solutionConfig: { autoTrainingConfig: { schedulingExpression: "rate(5 days)" /* optional, default is every 7 days */, }, }, }; export const run = async () => { try { const response = await personalizeClient.send( new CreateSolutionCommand(solutionParam) ); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

ソリューションを作成したら、今後の使用ARNに備えてソリューションを記録します。自動トレーニングでは、ソリューションバージョンの作成は、ソリューションが になった後 1 時間以内に開始されますACTIVE。1 時間以内にソリューションバージョンを手動で作成した場合、ソリューションは最初の自動トレーニングをスキップします。トレーニングの開始後、 ListSolutionVersionsAPIオペレーションを使用してソリューションバージョンの Amazon リソースネーム (ARN) を取得できます。ステータスを取得するには、 DescribeSolutionVersionAPIオペレーションを使用します。

次の Python コードを使用して、自動トレーニングが開始されるまで待機できます。wait_for_training_to_start メソッドは、最初のソリューションバージョンの ARN を返します。

import time import boto3 def wait_for_training_to_start(new_solution_arn): max_time = time.time() + 3 * 60 * 60 # 3 hours while time.time() < max_time: list_solution_versions_response = personalize.list_solution_versions( solutionArn=new_solution_arn ) solution_versions = list_solution_versions_response.get('solutionVersions', []) if solution_versions: new_solution_version_arn = solution_versions[0]['solutionVersionArn'] print(f"Solution version ARN: {new_solution_version_arn}") return new_solution_version_arn else: print(f"Training hasn't started yet. Training will start within the next hour.") time.sleep(60) personalize = boto3.client('personalize') solution_arn = "solution_arn" solution_version_arn = wait_for_training_to_start(solution_arn)

ソリューションバージョンが になるとACTIVE、それを使用してレコメンデーションを取得する準備が整います。アクティブなソリューションバージョンの使用方法は、レコメンデーションの取得方法によって異なります。