#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の実装方法を解説いたします。
お楽しみに!