Amazon Personalize とは
Amazon Personalize とはAmazon.com と同様のテクノロジーを利用し、
機械学習の知識がなくても、個々のユーザー向けにリコメンデーションをリアルタイムで提供できるサービスです。
Amazon Personalize の機能一覧
- ユーザー属性を基にパーソナライズされたレコメンデーションリストを作成
- 特定のアイテムをチェックした際に、類似アイテムリストを提供
- 特定のアイテムリストをユーザーの嗜好に合わせて並び替える
Amazon Personalize のワークフロー
1.入力データをフォーマットしてAmazon S3にアップロードするか、リアルタイムのイベントデータを送信する。
2.データに適用するトレーニングレシピ (アルゴリズム) を選択する。
3.レシピを使用してソリューションバージョン(レコメンデーションモデル)をトレーニングする。
4.ソリューションバージョンをデプロイする。
5.レコメンデーションAPIのいずれかを呼び出して、レコメンデーションを提供する。
データセットの種類
Amazon Personalizeでは、以下の3種類のデータセットを使用します。
データセット型の Users や Items はメタデータ型と呼ばれ、特定のレシピでのみ使用されます。
データセットの種類 | 用途 | 説明 |
---|---|---|
Interactions | 全てのレシピで使用 | ユーザーとアイテム間の過去のインタラクションデータ 例:購買履歴、視聴履歴 |
Users | メタデータを利用するレシピで利用 | ユーザーに関するメタデータ 例:年齢、性別など |
Items | メタデータを利用するレシピで利用 | アイテムに関するメタデータ 例:価格、ジャンルなど |
レシピの種類
レシピ(アルゴリズム)は大きく分けて3つあります。これらをケースごとに使い分けてください。
- USER_PERSONALIZATION → 特定ユーザー向けのアイテムリストを取得
- PERSONALIZED_RANKING → 渡したアイテムリストをユーザー向けに並び替え
- RELATED_ITEMS → 特定アイテムの類似アイテムリストの取得
レシピタイプ | API | 要件 |
---|---|---|
USER_PERSONALIZATION | GetRecommendations | userId: 必須 itemId:オプション inputList: 該当なし |
PERSONALIZED_RANKING | GetPersonalizedRanking | userId: 必須 itemId: 該当なし inputList: itemId のリスト |
RELATED_ITEMS | GetRecommendations | userId: 使用されない itemId: 必須 inputList: 該当なし |
使用料金
データ取り込み→0.05USD/GB
トレーニング→0.24USD/トレーニング時間
レコメンデーション:
1か月あたり最初の2万TPS時間まで→ 1TPS時間につき0.20USD
1 か月あたり次の18万TPS時間まで→1TPS時間につき0.10USD
1 か月あたり20万TPS時間以降→1TPS時間につき0.05USD
料金例
データ取り込み:
月間200GBの場合
→200GB × 0.05USD/1GB = 10USD
トレーニング:
1日10トレーニング時間かかるトレーニングを実施した場合
→10トレーニング時間 × 30 × 0.24USD/1トレーニング時間 = 72USD
レコメンデーション:
10TPSのスループットを利用
→10TPS x 24時間 x 30日 x 0.20USD/TPS-時間 = 1,440 USD
合計コスト = 10USD + 72USD + 1,440USD = 1,522USD
おわりに
次回はAmazon Personalizeの実装方法を解説いたします。
お楽しみに!