Amazon Personalize で構築するレコメンデーションエンジン - パーソナライズの実装パターン

ユーザーの行動データからパーソナライズされたレコメンデーションを生成する。レシピの選定とリアルタイムイベント統合を紹介します。

Personalize の仕組みとデータ準備

Personalize は Amazon.com のレコメンデーション技術を基盤としたマネージド ML サービスです。ML の専門知識なしで、ユーザーの行動データからレコメンデーションモデルを構築できます。入力データは 3 種類のデータセットで構成されます。Interactions データセット (必須) はユーザーとアイテムの行動履歴 (クリック、購入、評価) を記録します。Items データセット (任意) はアイテムのメタデータ (カテゴリ、価格、ジャンル) を含みます。Users データセット (任意) はユーザーの属性情報 (年齢層、地域) を含みます。最低 1,000 件の Interactions レコードと 25 人以上のユニークユーザーがあればモデルの構築を開始できます。

レシピの選定

Personalize は用途に応じた複数のレシピ (アルゴリズム) を提供しています。User-Personalization は最も汎用的なレシピで、ユーザーごとにパーソナライズされたアイテムランキングを生成します。リアルタイムのイベント (PutEvents API) を反映し、ユーザーがサイトを閲覧している間にレコメンデーションが動的に更新されます。Similar-Items はアイテム間の類似性に基づくレコメンデーションで、商品詳細ページの「この商品を見た人はこんな商品も見ています」に適しています。Personalized-Ranking は外部で生成したアイテムリストをユーザーの嗜好に基づいて並べ替えるレシピで、検索結果のパーソナライズに活用できます。

リアルタイムパーソナライゼーションの実装

リアルタイムレコメンデーションは、キャンペーンを作成して GetRecommendations API を呼び出すことで取得します。 API Gateway + Lambda + Personalize の構成で、 Web アプリケーションからリアルタイムにレコメンデーションを取得するアーキテクチャが標準的です。ユーザーの行動イベントは PutEvents API でリアルタイムに送信し、モデルが即座に反映します。フィルター機能では、動的フィルター (例: 価格が 5,000 円以下のアイテムのみ) と静的フィルター (例: カテゴリが「書籍」のアイテムのみ) を組み合わせて、ビジネスルールに基づくレコメンデーションの制御が可能です。 パーソナライズのアルゴリズムを網羅的に学ぶなら、技術書 (Amazon)を参照してください。

Personalize の料金

Personalize の料金はデータ処理、トレーニング、リアルタイム推論で構成されます。データ処理は 1 GB あたり約 0.05 ドル、トレーニングは 1 トレーニング時間あたり約 0.24 ドルです。リアルタイム推論は TPS (Transactions Per Second) 時間あたり約 0.20 ドルで、最小 1 TPS のプロビジョニングが必要です。バッチ推論は 1,000 ユーザーあたり約 0.067 ドルで、リアルタイム性が不要な場合はバッチの方が低コストです。無料枠は最初の 2 か月間、データ処理 20 GB、トレーニング 100 時間、推論 50 TPS 時間が含まれます。

まとめ

Personalize は Amazon.com で培われたレコメンデーション技術をマネージドサービスとして提供します。行動データを投入してレシピを選択するだけでモデルが構築され、リアルタイム API でパーソナライズされたレコメンデーションを取得できます。EC サイト、メディア配信、コンテンツプラットフォームなど、ユーザーエンゲージメントの向上が求められるサービスに有効です。