SIMS の recipe - Amazon Personalize

SIMS の recipe

注記

RELATED_ITEMS レシピはすべてインタラクションデータを使用します。モデルにさらに多くのハイパーパラメータを設定したい場合は、SIMS を選択してください。商品のメタデータがあり、Amazon Personalize に類似商品の検索に使用させたい場合は、を選択してください。Similar-Items レシピ

アイテム間の類似性 (SIMS) レシピは、協調フィルタリングを使用して、レコメンデーションを取得するときに指定したアイテムに最も類似するアイテムを推奨します。SIMS は、色や料金などのアイテムメタデータではなく、アイテムインタラクションデータセットを使用して類似性を判断します。SIMS は、Interactions データセットのユーザー履歴でアイテムの共起を識別して、類似アイテムを推奨します。例えば、SIMS を使用すると、Amazon Personalize は、顧客が頻繁に併せて購入するコーヒーショップの商品や、別のユーザーも視聴した映画を推奨できます。

類似商品のレコメンデーションを受け取ったら、リクエストで指定した商品の属性に基づいて商品をフィルタリングできます。そのためには、CurrentItem.attribute 要素をフィルターに追加します。例については、item data filter examplesを参照してください。

SIMS を使用するには、履歴とイベントのユニークなインタラクションを (合わせて) 1000 件以上含むアイテムインタラクションデータセットを作成する必要があります。SIMS は、レコメンデーションを生成する際に Users または Items のデータセットのデータを使用しません。これらのデータセットのデータに基づいてレコメンデーションをフィルタリングすることはできます。詳細については、「レコメンデーションとユーザーセグメントのフィルタリング」を参照してください。

アイテムに関する十分なユーザー行動データがない場合、または指定されたアイテム ID が見つからない場合、SIMS は人気のあるアイテムを推奨します。ソリューションバージョンを作成した後は、必ずソリューションバージョンとデータを最新の状態に保ってください。SIMS では、新しいソリューションバージョンを手動で作成 (モデルを再トレーニング) して、更新をカタログに反映し、ユーザーの最新の行動でモデルを更新する必要があります。次に、ソリューションバージョンを使用してキャンペーンを更新する必要があります。詳細については、「レコメンデーションの関連性の維持」を参照してください。

SIMS レシピには以下のプロパティがあります。

  • 名前 - aws-sims

  • レシピ Amazon リソースネーム (ARN)arn:aws:personalize:::recipe/aws-sims

  • アルゴリズム ARNarn:aws:personalize:::algorithm/aws-sims

  • 機能変換 ARNarn:aws:personalize:::feature-transformation/sims

  • レシピタイプRELATED_ITEMS

以下の表では、SIMS レシピのハイパーパラメータについて説明します。ハイパーパラメータは、モデルパフォーマンスを向上させるために調整できるアルゴリズムパラメータです。アルゴリズムのハイパーパラメータは、モデルの実行方法を制御します。特徴化のハイパーパラメータは、トレーニングで使用するデータのフィルタリング方法を制御します。ハイパーパラメータに最適な値を選択するプロセスは、ハイパーパラメータの最適化 (HPO) と呼ばれます。詳細については、「ハイパーパラメータおよび HPO」を参照してください。

このテーブルには、各ハイパーパラメータに関する以下の情報も含まれています。

  • 範囲: [下限、上限]

  • 値のタイプ: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)

  • HPO 調整可能: パラメータがハイパーパラメータ最適化 (HPO) に参加できますか?

名前 説明
アルゴリズムのハイパーパラメータ
popularity_discount_factor

人気がレコメンデーションにどのように影響するかを設定します。人気の高い商品を多く含めるには、0 に近い値を指定します。1 に近い値を指定すると、人気度があまり重視されなくなります。

デフォルト値: 0.5

範囲: [0.0, 1.0]

値の型: 浮動小数点

HPO 調整可能: はい

min_cointeraction_count

アイテムのペア間の類似度を計算するために必要な同時インタラクションの最小数。例えば、値が 3 の場合、アルゴリズムで類似度を計算するためには、両方のアイテムとインタラクションを行った 3 人以上のユーザーが必要であることを意味します。

デフォルト値: 3

範囲: [0, 10]

値の型: 整数

HPO 調整可能: はい

特徴化のハイパーパラメータ
min_user_history_length_percentile

モデルのトレーニングに含めるユーザー履歴の長さの最小パーセンタイル。履歴の長さは、ユーザーに関して利用可能なデータの合計量です。履歴の長さが短いある割合のユーザーを除外するには、min_user_history_length_percentile を使用します。履歴が短いユーザーは、多くの場合、ユーザーの個人的なニーズや希望ではなく、アイテムの人気に基づくパターンを表示します。それらを削除すると、データの基盤となるパターンに重点を置いてモデルをトレーニングできます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のユーザーを保持し、エッジケースを削除する値を設定することをお勧めします。

デフォルト値: 0.005

範囲: [0.0, 1.0]

値の型: 浮動小数点

HPO 調整可能: いいえ

max_user_history_length_percentile

モデルのトレーニングに含めるユーザー履歴の長さの最大パーセンタイル。履歴の長さは、ユーザーに関して利用可能なデータの合計量です。履歴の長さが長いある割合のユーザーを除外するには、max_user_history_length_percentile を使用します。長い歴史を持つユーザーは、ノイズを含む傾向があります。例えば、ロボットに自動化されたインタラクションの長いリストがあるとします。これらのユーザーを削除することで、トレーニングのノイズが制限されます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のユーザーを保持し、エッジケースを削除する値を設定することをお勧めします。

例えば、min_hist_length_percentile = 0.05max_hist_length_percentile = 0.95 には、履歴の長さが下位または上位 5% であるユーザーを除くすべてのユーザーが含まれます。

デフォルト値: 0.995

範囲: [0.0, 1.0]

値の型: 浮動小数点

HPO 調整可能: いいえ

min_item_interaction_count_percentile

モデルのトレーニングに含めるアイテムのやり取りの最小パーセンタイル数。インタラクション履歴が短いアイテムの割合を除外するには、min_item_interaction_count_percentile を使用します。履歴が短いアイテムは、多くの場合、新しいアイテムです。それらを削除すると、既知の履歴を持つアイテムに重点を置いてモデルをトレーニングできます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のアイテムを保持し、エッジケースを削除する値を設定することをお勧めします。

デフォルト値: 0.01

範囲: [0.0, 1.0]

値の型: 浮動小数点

HPO 調整可能: いいえ

max_item_interaction_count_percentile

モデルのトレーニングに含めるアイテムのやり取りの最大パーセンタイル数。インタラクション履歴が長いアイテムの割合を除外するには、max_item_interaction_count_percentile を使用します。履歴が長いアイテムは古い傾向があり、最新のものではなくなっている可能性があります。例えば、絶版になっている映画のリリースがあります。これらのアイテムを削除すると、より関連性の高いアイテムに重点を置くことができます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のアイテムを保持し、エッジケースを削除する値を設定することをお勧めします。

例えば、min_item_interaction_count_percentile = 0.05max_item_interaction_count_percentile = 0.95 には、インタラクションカウントが下位または上位 5% であるアイテムを除くすべてのアイテムが含まれます。

デフォルト値: 0.9

範囲: [0.0, 1.0]

値の型: 浮動小数点

HPO 調整可能: いいえ

SIMS サンプルノートブック

SIMS レシピの使用方法を示す Jupyter ノートブックのサンプルについては、「Finding similar items + HPO」を参照してください。