Trending-Now レシピ - Amazon Personalize

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Trending-Now レシピ

Trending-Now レシピ (aws-trending-now) は、ユーザーの間で急速に人気が高まっている商品のレコメンデーションを生成します。人気が高まっている商品が顧客との関連性が高い場合は、Trending-Now レシピを使用するとよいでしょう。例えば、顧客は他のユーザーとのやり取りを高く評価しているかもしれません。一般的な用途としては、話題のソーシャルメディアコンテンツ、最新ニュース記事、最近のスポーツ動画を勧めることが挙げられます。

Trending-Now は、設定可能な時間間隔における各項目のインタラクションの増加を計算して、最もトレンドの多い項目を自動的に識別します。増加率が最も高いアイテムはトレンドアイテムとみなされます。時間はアイテムインタラクションデータセットのタイムスタンプデータに基づいています。考慮されるアイテムは、一括で段階的にインポートしたインタラクションデータからのものです。インタラクションデータ内の新しい項目を検討するために、Trending-Now 用の新しいソリューションバージョンを手動で作成する必要はありません。

ソリューションの作成時に Trend discovery frequency を指定することで、時間間隔を指定できます。例えば、30 分のデータごとに Trend discovery frequency30 minutes を指定すると、Amazon Personalize は前回の評価以降にインタラクションの増加率が最も高いアイテムを特定します。可能な頻度には、30 分、1 時間、3 時間、および 1 日が含まれます。インタラクションデータの分布に合った頻度を選択してください。選択した間隔でデータが欠落していると、レコメンデーションの精度が低下する可能性があります。過去 2 つの時間間隔でインタラクションがゼロをインポートした場合、Amazon Personalize はトレンド商品ではなく人気商品のみをレコメンドします。

Trending-Now では、Amazon Personalize コンソールの[テストキャンペーン] ページで GetRecommendations オペレーションを呼び出したり、おすすめ情報を取得したりできます。Amazon Personalize は、人気の高い商品を返します。リクエストで userId を渡すのは、それを必要とするフィルターを適用した場合に限られます。 GetRecommendations API では、 numResultsパラメータを使用して返されるトレンドアイテムの数を設定できます。Trending-Now レシピではバッチレコメンデーションを取得できません。

Trending-Now を使用するには、少なくとも 1000 個の一意の履歴インタラクションとイベントインタラクションを組み合わせたアイテムインタラクションデータセットを作成する必要があります (eventType と を指定した場合 eventValueThreshold、 でフィルタリング後)。Trending-Now は、トレンドアイテムのレコメンデーションを生成するときに、アイテムデータセットまたはユーザーデータセットのデータを使用しません。ただし、これらのデータセットのデータに基づいてレコメンデーションをフィルタリングすることはできます。詳細については、「レコメンデーションとユーザーセグメントのフィルタリング」を参照してください。

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

  • 名前aws-trending-now

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

  • アルゴリズム ARNarn:aws:personalize:::algorithm/aws-trending-now-custom

詳細については、「レシピの選択」を参照してください。

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

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

  • 範囲: [下限、上限]

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

  • HPO 調整可能: パラメータが HPO に参加できますか?

名前 説明
特徴変換ハイパーパラメーター
Trend discovery frequency

Amazon Personalize がインタラクションデータを評価し、トレンドアイテムを特定する頻度を指定してください。例えば、Trend discovery frequency30 minutes に指定すると、30 分ごとに指定すると、Amazon Personalize は 30 分間隔でのインタラクションの増加率が最も高いアイテムを特定します。

使用可能な頻度は、30 分、1 時間、3 時間、および 1 日です。インタラクションデータの分布に合った頻度を選択してください。選択した間隔でデータが欠落していると、レコメンデーションの精度が低下する可能性があります。 CreateSolution API オペレーションを使用し、値を指定しない場合、デフォルトは 2 時間ごとです。

デフォルト値: 2 時間

指定できる値: 30 分、1 時間、3 時間、1 日。

値の型: 文字列

HPO 調整可能: いいえ

次のコードは、SDK for Python (Boto3) を使用して Trending-Now レシピでソリューションを作成する方法を示しています。trend_discovery_frequency の可能な値は 30 minutes1 hour3 hours1 day です。コンソールを使用して手動でテーブルを作成する方法については、「ソリューションの作成 (コンソール)」を参照してください。

import boto3 personalize = boto3.client("personalize") create_solution_response = personalize_client.create_solution( name="solution name", recipeArn="arn:aws:personalize:::recipe/aws-trending-now", datasetGroupArn="dataset group ARN", solutionConfig={ "featureTransformationParameters": { "trend_discovery_frequency": "1 hour" } } ) print(create_solution_response['solutionArn'])

Trending-Now レシピの使用方法を示すサンプル Jupyter Notebook については、Amazon Personalize サンプル GitHub リポジトリの「 Trending_now_example.ipynb」を参照してください。