Amazon Pinpoint で推奨モデルを使用するための準備 - Amazon Pinpoint

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

Amazon Pinpoint で推奨モデルを使用するための準備

Amazon Pinpoint と連携するには、推奨モデルを Amazon Personalize キャンペーンとしてデプロイする必要があります。さらに、特定の AWS Identity and Access Management (IAM) ロールとポリシーを配置する必要があります。Amazon Pinpoint がモデルから受け取る推奨事項を強化する場合は、推奨事項を処理するために AWS Lambda 関数も用意する必要があります。

Amazon Pinpoint で推奨モデルを設定する前に、データサイエンスおよび開発チームと協力して、これらのリソースを設計および作成します。また、これらのチームと協力して、モデルが Amazon Pinpoint と連携するための特定の技術要件を満たしていることを確認します。これらのリソースを作成したら、管理者と協力して、お客様と Amazon Pinpoint がアクセスできることを確認します。これらの手順を実行する際には、Amazon Pinpoint でモデルを設定するために必要な情報を収集します。

Amazon Personalize キャンペーン

Amazon Personalize は、アプリケーションを利用する顧客に対して、リアルタイムでパーソナライズされたレコメンデーションを提供する機械学習モデルの作成を支援するための AWS サービスです。Amazon Personalize は、主にデータとレシピを組み合わせて機械学習モデルを作成し、学習させるプロセスを案内します。レシピは、例えば、ある人が好み、操作するアイテムの予測など、特定のユースケースをサポートするように設定されたアルゴリズムです。

このデータとレシピの組み合わせをソリューションと呼びます。ソリューションはトレーニング後に、ソリューションバージョンになります。その後、ソリューションバージョンをテストし、改良し、使用できるように準備します。ソリューションバージョンが使用できる状態になると、Amazon Personalize キャンペーンとしてデプロイされます。このキャンペーンは、パーソナライズされたリアルタイムの推奨事項を提供するために使用されます。Amazon Personalize の詳細については、『Amazon Personalize デベロッパーガイド』を参照してください。。

Amazon Pinpoint が Amazon Personalize キャンペーンから推奨事項を取得するには、キャンペーンとそのコンポーネントが次の要件を満たしている必要があります。

  • レシピは USER_PERSONALIZATION レシピである必要があります。このタイプのレシピには、サポートされている任意のアルゴリズム設定(ハイパーパラメータ)を使用できます。このタイプのレシピについては、『Amazon Personalize デベロッパーガイド』の「Using predefined recipes」を参照してください。

  • このソリューションは、エンドポイント ID または Amazon Pinpoint プロジェクトのユーザー ID と関連付けることができるユーザー ID を使用してトレーニングする必要があります。Amazon Pinpointは、userId フィールドを使用して、Amazon Personalize内のユーザーとAmazon Pinpointプロジェクト内のエンドポイントまたはユーザー間のデータを関連付けます。

  • このソリューションは、「Amazon Personalize Runtime API」の「GetRecommendations」オペレーションの使用をサポートする必要があります。

  • キャンペーンでは、推奨事項を取得するソリューションバージョンを使用する必要があります。

  • キャンペーンがデプロイされ、ステータスが [アクティブ] になっている必要があります。

  • キャンペーンは、キャンペーンから推奨事項を使用する Amazon Pinpoint プロジェクトと同じ AWS リージョンで実行されている必要があります。そうでない場合、Amazon Pinpoint はキャンペーンから推奨事項を取得できなくなり、Amazon Pinpoint キャンペーンやジャーニーのアクティビティが失敗する可能性があります。

これらの要件に加えて、1 秒あたり 20 以上のプロビジョニングされたトランザクションをサポートするようにキャンペーンを設定することをお勧めします。

チームと協力して、前述の要件を満たす Amazon Personalize キャンペーンを実施する場合は、以下の質問にも回答してください。

どのキャンペーンですか?

Amazon Pinpoint でモデルを設定するには、推奨事項を取得する Amazon Personalize キャンペーンの名前を知る必要があります。後で、管理者と連携してキャンペーンへのアクセスを手動で設定する場合は、キャンペーンの Amazon リソースネーム (ARN) も知っている必要があります。

ID のタイプはどれですか?

Amazon Pinpoint でモデルを設定するときに、Amazon Personalize キャンペーンのユーザーを Amazon Pinpoint プロジェクト内のエンドポイントとユーザーのどちらに関連付けるかを選択します。これにより、モデルは特定のメッセージ受信者に固有の推奨事項を提供できるようになります。

Amazon Personalize キャンペーンでは、各ユーザーにはユーザー ID があります (コンテキストに応じて、userId または USER_ID)。これは、キャンペーン内の特定のユーザーを一意に識別する一連の文字です。Amazon Pinpoint プロジェクトでは、メッセージ受信者は次の 2 種類の ID を持つことができます。

  • [エンドポイント ID] – メッセージの送信先を一意に識別する一連の文字 メールアドレス、携帯電話番号、モバイルデバイスなど。

  • [ユーザー ID] – 特定のユーザーを一意に識別する一連の文字。各ユーザーは、1 つ以上のエンドポイントに関連付けることができます。例えば、あるユーザーと E メール、SMS、モバイルアプリケーションで連絡を取る場合、ユーザーの E メールアドレス、携帯電話番号、自宅(固定電話) の電話番号の 3 つのエンドポイントに関連付けることができます。

Amazon Personalize ユーザー ID に関連付ける Amazon Pinpoint ID のタイプを選択する場合は、Amazon Pinpoint プロジェクトで最も一貫して使用するタイプを選択します。ユーザーまたはアプリケーションが、エンドポイントまたはユーザーに ID を割り当てていない場合、Amazon Pinpoint はエンドポイントまたはユーザーのための推奨事項を取得できません。これにより、Amazon Pinpoint がエンドポイントまたはユーザーにメッセージを送信できないことがあります。または、予期せぬ方法や望ましくない方法で表示されるメッセージが Amazon Pinpoint から送信されることがあります。

推奨事項はいくつありますか?

Amazon Pinpoint が推奨事項を取得するたびに、Amazon Personalize はメッセージの受信者ごとに推奨事項の順序付きリストを返します。各受信者について、これらの推奨事項の 1~5 を取得するように Amazon Pinpoint を設定できます。推奨事項を 1 つ選択した場合、Amazon Pinpoint は各受信者のリストの最初の項目のみを取得します。例えば、受信者に最も推奨される映画を取得します。2 つの推奨事項を選択すると、各受信者のリストから 1 番目と 2 番目の項目のみを取得します。例えば、受信者に推奨される上位 2 つの映画を取得します。などとなります。

この設定は、主にモデルからの推奨事項を含むメッセージの目的によって選択されます。ただし、チームがソリューションをどのように設計したか、およびソリューションのパフォーマンスに対するチームの評価によっても異なる場合があります。このため、チームと協力して、この設定に適切な数字を選択するようにしてください。

推奨事項には何が含まれていますか?

Amazon Pinpoint が推奨事項を取得する場合、Amazon Personalize は各メッセージ受信者に対して取得するように選択した推奨事項の数に応じて、1~5 までの順序が付けられた推奨アイテムのリストを返します。各アイテムは、製品 ID や映画のタイトルなどのテキストのみで構成されます。ただし、これらのアイテムの性質と内容は、基盤となるソリューションとキャンペーンの設計に基づいて、Amazon Personalize キャンペーンごとに異なる場合があります。

そのため、キャンペーンが推奨アイテムに対して提供するコンテンツを正確にチームに尋ねることをお勧めします。その回答は、キャンペーンから推奨事項を使用するメッセージを設計する方法に影響します。キャンペーンが提供するコンテンツを拡張する場合は、このタスクを実行できる AWS Lambda 関数を実装することもできます。

AWS Identity and Access Management ロールとポリシー

AWS Identity and Access Management (AWS) は、管理者が AWS リソースへのアクセスを制御するのに役立つ のサービスです。IAM の詳細と Amazon Pinpoint との連携については、『Amazon Pinpoint デベロッパーガイド』の「Identity and access management for Amazon Pinpoint」を参照してください。

Amazon Pinpoint で推奨モデルを設定するときは、推奨事項を取得する Amazon Personalize キャンペーンを指定します。キャンペーンを選択するには、まず管理者が、組織の AWS ユーザーアカウントでキャンペーンを表示することをユーザーに許可する必要があります。そうしないと、選択できるキャンペーンの一覧にキャンペーンが表示されません。リストにキャンペーンが表示されない場合は、管理者にこのアクセス権を提供するように依頼してください。

次に、ユーザーまたは管理者は、Amazon Personalize キャンペーンから推奨事項を取得することを Amazon Pinpoint に許可する IAM ロールおよびポリシーを作成する必要があります。推奨モデルを設定する際に、このロールとポリシーを Amazon Pinpoint で自動的に作成することを選択できます。別のオプションとしては、Amazon Pinpoint で推奨モデルを設定する前に、このロールおよびポリシーをユーザーまたは管理者が手動で作成します。これを行う方法については、『Amazon Pinpoint デベロッパーガイド』の「IAM role for retrieving recommendations」を参照してください。

AWS Lambda 関数

一部のモデルでは、Amazon Pinpoint が Amazon Personalize から受け取る推奨事項を強化したい場合があります 。例えば、メッセージに 1 つの推奨値 (商品名など) のみを含める代わりに、メッセージに追加のコンテンツ (商品名、説明、イメージなど) を含める必要がある場合があります。これは、チームと協力して、推奨事項データを必要なコンテンツに変換する AWS Lambda 関数を設計および作成して実行できます。

AWS Lambda は、サーバーのプロビジョニングや管理を行わずにコードを実行できるように設計された AWS サービスです。ユーザーまたはそのチームは、コードを開発およびパッケージ化し、Lambda 関数として AWS Lambda にアップロードします。AWS Lambda は、関数が Amazon Pinpoint などのアプリケーションやサービスによって呼び出されるたびに関数を実行します。AWS Lambda の詳細については、『AWS Lambda デベロッパーガイド』を参照してください。

Amazon Pinpoint で推奨モデルを設定するときに、Amazon Pinpoint が受け取る推奨事項を処理する方法を指定します。1 つのオプションは、Lambda 関数を使用することです。Lambda 関数を使用する場合は、チームと協力して以下を行います。

  • 関数の動作を定義します。

  • 関数が推奨事項を処理するときに使用するカスタム推奨属性を定義します。これには、属性の数、各属性の名前と目的が含まれます。Lambda 関数は、各メッセージ受信者に対して 10 個までのカスタム属性を使用できます。Amazon Pinpoint で推奨モデルを設定するとき、これらの属性に関する情報を入力する必要があります。

  • 関数が、その関数を使用する Amazon Pinpoint プロジェクトと同じ AWS リージョンでホストされていることを確認します。そうでない場合、Amazon Pinpoint は推奨事項データを関数に送信できず、Amazon Pinpoint キャンペーンやジャーニーのアクティビティが失敗する可能性があります。

最後に、管理者と協力して、モデルからの推奨事項を含むメッセージを送信するたびに Amazon Pinpoint が Lambda 関数を呼び出すことができるポリシーを作成します。

Lambda 関数を使った推奨事項の処理の詳細については、『Amazon Pinpoint デベロッパーガイド』の「Customizing recommendations with AWS Lambda」を参照してください。