CloudWatch Evidently を使用した A/B テスト - Amazon Personalize

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

CloudWatch Evidently を使用した A/B テスト

レコメンダーを作成するか、キャンペーンを含むカスタムソリューションバージョンをデプロイしたら、Amazon Personalize レコメンデーションと Amazon CloudWatch Evidently を使用して A/B テストを実行できます。以下の動画では、CloudWatch Evidently を使用して Amazon Personalize のレコメンデーションに基づく A/B テストを実行するプロセスについて説明しています。手順については、「CloudWatch Evidently で A/B テストを実行する」を参照してください。

CloudWatch Evidently で A/B テストを実行する

Amazon Personalize と Amazon CloudWatch Evidently を使用して A/B テストを実行するには、CloudWatch Evidently プロジェクトを作成し、機能とそのバリエーションを定義して、実験をサポートするようにアプリケーションを更新してから、実験を作成して実行します。実験が実行されると、結果が CloudWatch Evidently で表示されます。

Amazon Personalize と CloudWatch Evidently で A/B テストを実行するには
  1. 新しい CloudWatch Evidently プロジェクトを作成します。プロジェクトは、CloudWatch リソースを論理的にグループ化したものです。プロジェクト内では、テストまたは起動をするバリエーションがある機能を作成します。詳細な手順については、Amazon CloudWatch ユーザーガイドの「新しいプロジェクトの作成」を参照してください。

  2. プロジェクトに機能を追加し、そのバリエーションを定義します。この実験では、機能はクリック率など、テストしたいレコメンデーションのシナリオを表す必要があります。

    機能を追加する際は、シナリオのさまざまなバリエーションを Amazon Personalize レコメンダーまたはカスタムキャンペーンにマッピングするための識別子を指定します。バリエーションごとに、文字列などのバリエーションタイプを指定し、バリエーションに名前を付けて値を指定します。

    実験を実行すると、アプリケーションはバリエーションの値を使用して、レコメンデーションに使用する Amazon Personalize リソースを決定します。例えば、2 つの VIDEO_ON_DEMAND レコメンダーをテストする場合、1 つはユーザーのおすすめユースケース用に作成し、もう 1 つは現在のトレンドユースケース用に作成して、次の JSON を各バリエーションのとして設定できます。

    {"type":"top-picks-recommendations","arn":"arn:aws:personalize:us-west-2:<acct-id>:recommender/top-picks-recommender"}
    {"type":"trending-recommendations","arn":"arn:aws:personalize:us-west-2:<acct-id>:recommender/trending-now-recommender"}

    アプリケーションがその識別子を使用して関連するリソースを識別できるのであれば、どのような識別子を指定してもかまいません。例えば、レコメンダーまたはキャンペーンの名前のみを指定し、アプリケーションのリソースの Amazon リソースネーム (ARN) を作成できます。

    機能を追加する詳細な手順については、Amazon CloudWatch ユーザーガイドの「プロジェクトに機能を追加する」を参照してください。

  3. 実験をサポートするようにアプリケーションを更新します。

    • 機能評価 — CloudWatch Evidently EvaluateFeature API オペレーションを使用して、各ユーザーセッションにバリエーションを割り当てます。EvaluateFeatureレスポンスには、前のステップで指定したバリエーション値が含まれます。この場合は、レコメンダーのタイプを持つ JSON オブジェクトで、レコメンダーの ARN です。レコメンデーションリクエストコードを更新して、このリソースからレコメンデーションを取得します。

      機能の評価については、Amazon CloudWatch ユーザーガイドの「EvaluateFeature の使用」を参照してください。

    • 結果を記録する — ユーザーによるレコメンデーションと操作の結果を追跡するコードをアプリケーションに追加します。

      CloudWatch Evidently での実験のメトリクスを追跡するには、CloudWatch Evidently PutProjectEvents API オペレーションを使用して各ユーザーの結果を記録します。例えば、実験に参加しているユーザーがレコメンデーションをクリックすると、このイベントの詳細が CloudWatch Evidently に送信されます。

      CloudWatch Evidently へのイベントの送信については、Amazon CloudWatch ユーザーガイド の「PutProjectEvents の使用」を参照してください。

      Amazon Personalize レコメンデーションの関連性を高めるために、Amazon Personalize PutEvents API オペレーションを使用して結果イベントを記録できます。ドメインのユースケースまたはカスタムレシピでレコメンデーションのリアルタイム更新がサポートされている場合、Amazon Personalize はユーザーの最新のアクティビティから学習し、ユーザーがアプリケーションを使用するごとにレコメンデーションを更新します。更新をサポートしていない場合、Amazon Personalize は次回のモデル再トレーニング時にこのデータを使用するため、レコメンデーションに影響します。

      Amazon Personalize へのイベントのストリーミングについては、「イベントの記録」を参照してください。

  4. 実験を作成および開始します。実験を作成する際には、以下を指定できます。

    • 機能 — 実験でテストする機能を選択します。

    • 対象者 — 参加するユーザーの数と、機能のバリエーション間でトラフィックを分割する方法を設定します。

    • 指標 — 実験の成功を左右する指標を指定します。例えば、クリック数があります。

    実験の作成が完了したら、その期間を指定して実験を開始します。CloudWatch Evidently で実験を作成して開始する詳細な手順については、Amazon CloudWatch ユーザーガイド の「実験を作成する」を参照してください。

  5. 実験を実行すると、CloudWatch Evidently 実験ダッシュボードに結果が表示されます。実験結果の表示については、Amazon CloudWatch ユーザーガイドの「ダッシュボードに実験結果を表示する」を参照してください。

サンプル実装

以下のサンプル実装は、CloudWatch Evidently を使用して A/B テストを実装する方法を示しています。