ステップ 2: ソリューションを設定する - Amazon Personalize

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

ステップ 2: ソリューションを設定する

ステップ 1: レシピを選択する を完了すると、モデルをトレーニングするためのソリューションを設定する準備が整います。

ソリューションを設定すると、モデルが特定のビジネスニーズを満たすようにトレーニングをカスタマイズできます。ソリューションを設定するには、トレーニングに使用するデータ、トレーニングに使用するレシピ、および追加のソリューションパラメータとレシピ固有のハイパーパラメータを含むデータセットグループを指定します。Interactions トレーニングデータに EVENT_TYPE および EVENT_VALUE データが含まれている場合、ソリューションを設定するときに、トレーニングの前に Interactions データを除外できます。

コンソール、AWS Command Line Interface (AWS CLI)、または AWS SDK を使用してソリューションを作成および設定できます。

ソリューションの設定 (コンソール)

コンソールでソリューションを設定するには、使用するデータセットを含むデータセットグループを選択してから、ソリューション名、レシピ、およびオプションのレシピ固有のハイパーパラメータを指定します。

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

  2. データセットグループのページに移動し、トレーニングに使用するデータセットグループを選択します。

  3. 概要」ページで、「ソリューションを作成」ボタンを選択します。

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

  5. [Solution type] (ソリューションタイプ) で、[Item recommendation] (アイテムのレコメンデーション) を選択してユーザー向けのアイテムのレコメンデーションを取得するか、[User segmentation] (ユーザーのセグメンテーション) を選択してアイテムデータに基づいてユーザーセグメント (ユーザーのグループ) を取得します。

  6. [Recipe] (レシピ) で、レシピを選択します (「ステップ 1: レシピを選択する」を参照)。

  7. [Solution configuration] (ソリューション設定) で、Interactions データセットに EVENT_TYPE 列または EVENT_TYPE 列と EVENT_VALUE 列の両方がある場合は、オプションで [Event type] (イベントタイプ) と [Event value threshold] (イベント値のしきい値) のフィールドを使用して、モデルのトレーニング時に Amazon Personalize が使用するインタラクションデータを選択します。

    詳細については、「トレーニングに使用するインタラクションデータの選択」を参照してください。

  8. User-Personalization レシピ または Personalized-Ranking レシピ レシピのいずれかを使用する場合は、オプションで [Objective] (目的) を指定し、[Objective sensitivity] (目的の感度) を選択して、関連性に加えて目的に合わせてソリューションを最適化します。詳細については、「追加の目的のためのソリューションの最適化」を参照してください。

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

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

  11. [Create and train solution] (ソリューションを作成およびトレーニング) を選択します。[Dashboard] (ダッシュボード) のページが表示されます。ソリューションバージョンの作成 (コンソール) に進みます。

ソリューションの設定 (AWS CLI)

AWS CLI を使用してソリューションを設定するには、次の create-solution 操作を使用します。solution namedataset group arn、および recipe arn を指定します。

aws personalize create-solution \ --name solution name \ --dataset-group-arn dataset group arn \ --recipe-arn recipe arn

ソリューションの Amazon リソースネーム (ARN) が表示されます。次に例を示します。

{ "solutionArn": "arn:aws:personalize:<region>:solution/<solution name>" }

上記のコードを変更して、レシピのプロパティとハイパーパラメータを最適化するか (「ハイパーパラメータおよび HPO」を参照)、トレーニングに使用される Interactions データをフィルタリングできます (「トレーニングに使用するインタラクションデータの選択」を参照)。

User-Personalization レシピ または Personalized-Ranking レシピ レシピのいずれかを使用する場合は、関連性に加えて、目的に合わせてソリューションを最適化できます。詳細については、「追加の目的のためのソリューションの最適化」を参照してください。

将来の使用のためにソリューション ARN を記録し、ソリューションバージョンの作成 (AWS CLI) に進みます。

ソリューションの設定 (AWS SDK)

次のコードは、Amazon Personalize ソリューションを作成する方法を示しています。ソリューションの名前を指定し、データセットグループの Amazon リソースネーム (ARN) と使用するレシピの ARN を指定します。レシピについては、を参照してくださいステップ 1: レシピを選択する

次のコードを変更して、レシピのプロパティとハイパーパラメータを最適化するか (「ハイパーパラメータおよび HPO」を参照)、トレーニングに使用される Interactions データをフィルタリングできます (「トレーニングに使用するインタラクションデータの選択」を参照)。User-Personalization レシピ または Personalized-Ranking レシピ レシピのいずれかを使用する場合は、関連性に加えて、目的に合わせてソリューションを最適化できます。詳細については、「追加の目的のためのソリューションの最適化」を参照してください。

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') print('Creating solution') create_solution_response = personalize.create_solution( name='solution name', recipeArn= 'recipe arn', datasetGroupArn = 'dataset group arn' ) solution_arn = create_solution_response['solutionArn'] print('solution_arn: ', solution_arn)
SDK for Java 2.x
public static String createPersonalizeSolution(PersonalizeClient personalizeClient, String datasetGroupArn, String solutionName, String recipeArn) { try { CreateSolutionRequest solutionRequest = CreateSolutionRequest.builder() .name(solutionName) .datasetGroupArn(datasetGroupArn) .recipeArn(recipeArn) .build(); CreateSolutionResponse solutionResponse = personalizeClient.createSolution(solutionRequest); return solutionResponse.solutionArn(); } catch (PersonalizeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { CreateSolutionCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); // Set the solution parameters. export const createSolutionParam = { datasetGroupArn: 'DATASET_GROUP_ARN', /* required */ recipeArn: 'RECIPE_ARN', /* required */ name: 'NAME' /* required */ } export const run = async () => { try { const response = await personalizeClient.send(new CreateSolutionCommand(createSolutionParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

将来の使用のためにソリューション ARN を記録し、ソリューションバージョンの作成 (AWS SDK) に進みます。