AWS Lambda を使用して Amazon Pinpoint で推奨モデルを使用する - Amazon Pinpoint

AWS Lambda を使用して Amazon Pinpoint で推奨モデルを使用する

Amazon Pinpoint では、推奨モデルからパーソナライズされた推奨事項を取得して、キャンペーンおよびジャーニーから送信するメッセージに追加できます。推奨モデルは、データ内のパターンを検出し、検出されたパターンに基づいて予測と推奨事項を生成する機械学習 (ML) モデルの一種です。これにより、特定のユーザーが製品や商品の特定のセットから好むものが予測され、その情報がユーザーに対する推奨事項のセットとして提供されます。

Amazon Pinpoint で推奨モデルを使用して、各受信者の属性と動作に基づいてパーソナライズされた推奨事項をメッセージ受信者に送信できます。また、AWS Lambdaでは、これらの推奨事項をカスタマイズおよび強化することもできます。たとえば、推奨事項を 1 つのテキスト値 (製品名や ID など) からより洗練されたコンテンツ (製品名、説明、イメージ画像など) に動的に変換できます。さらに、Amazon Pinpoint がメッセージを送信するときにその変換をリアルタイムで実行できます。

この機能は以下の AWS リージョンで利用できます。米国東部 (バージニア北部)、米国西部 (オレゴン)、アジアパシフィック (ムンバイ)、アジアパシフィック (シドニー)、欧州 (アイルランド)

AWS CLI および Lambda add-permission コマンドを使用して Lambda 関数を呼び出すことを Amazon Pinpoint に許可する

Lambda 関数ポリシーを関数に割り当てた後、Amazon Pinpoint が特定のプロジェクト、キャンペーン、またはジャーニーの関数を呼び出すことができるアクセス許可を追加できます。これを行うには、 AWS Command Line Interface (AWS CLI) および Lambda add-permission コマンドを使用します。次の例は、特定のプロジェクト (projectId) に対してこれを行う方法を示しています。

$ aws lambda add-permission \ --function-name function-name \ --statement-id sid \ --action lambda:InvokeFunction \ --principal pinpoint.us-east-1.amazonaws.com \ --source-arn arn:aws:mobiletargeting:us-east-1:accountId:recommenders/*

前述の例は、Unix、Linux、および macOS 用にフォーマットされています。Microsoft Windows の場合、バックスラッシュ (\) の行連結文字をキャレット (^) に置き換えます。

コマンドが正常に実行された場合は、次のような出力が表示されます。

{ "Statement": "{\"Sid\":\"sid\", \"Effect\":\"Allow\", \"Principal\":{\"Service\":\"pinpoint.us-east-1.amazonaws.com\"}, \"Action\":\"lambda:InvokeFunction\", \"Resource\":\"arn:aws:lambda:us-east-1:111122223333:function:function-name\", \"Condition\": {\"ArnLike\": {\"AWS:SourceArn\": \"arn:aws:mobiletargeting:us-east-1:111122223333:recommenders/*\"}}}" }

Statement 値は、Lambda 関数ポリシーに追加されたステートメントの JSON 文字列バージョンです。

推奨モデルの Lambda 関数を呼び出すように Amazon Pinpoint を設定する

推奨モデルの Lambda 関数を呼び出すよう Amazon Pinpoint を設定するには、モデルに対して次の Lambda 固有の構成設定を指定します。

  • RecommendationTransformerUri – このプロパティは、Lambda 関数の名前または Amazon リソースネーム (ARNs) を指定します。

  • Attributes – このオブジェクトは、関数が各エンドポイント定義に追加するカスタム推奨属性を定義するマップです。これらの各属性は、メッセージテンプレートのメッセージ変数として使用できます。

これらの設定は、Amazon Pinpoint APIの推奨モデルリソース (モデルの設定を作成する場合)、またはAmazon Pinpoint API の推奨モデルリソース (モデルの設定を更新する場合) を使用して指定することができます。これらの設定は、Amazon Pinpoint コンソールを使用して定義することもできます。

Amazon Pinpoint での推奨モデルの使用に関する詳細は、『Amazon Pinpoint ユーザーガイド』の「機械学習モデル」を参照してください。