

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

# レシピの選択
<a name="working-with-predefined-recipes"></a>

 カスタムソリューションを作成するときに、レシピを指定し、トレーニングパラメーターを設定します。*レシピ*は、特定のユースケース向けに準備された Amazon Personalize のアルゴリズムです。Amazon Personalize は、一般的なユースケースに基づいて、モデルをトレーニングするためのレシピを提供します。ソリューションのソリューションバージョンを作成すると、Amazon Personalize はレシピとトレーニング設定に基づいてソリューションバージョンを裏付けるモデルをトレーニングします。

Amazon Personalize のレシピは、トレーニング中に次を使用します。
+ データの事前定義済み属性
+ 事前定義済み特徴変換
+ 事前定義済みアルゴリズム
+ アルゴリズムの初期パラメータ設定

モデルを最適化するために、ソリューションの作成時にこれらのパラメータの多くを上書きできます。詳細については、「[ハイパーパラメータおよび HPO](customizing-solution-config-hpo.md)」を参照してください。

**Topics**
+ [

## Amazon Personalize のユースケース別レシピの種類
](#use-cases)
+ [

## Amazon Personalize のレシピ
](#recipe-categories)
+ [

## 利用可能な Amazon Personalize のレシピの表示
](#listing-recipes)
+ [

# User-Personalization-v2 レシピ
](native-recipe-user-personalization-v2.md)
+ [

# User-Personalization レシピ
](native-recipe-new-item-USER_PERSONALIZATION.md)
+ [

# Trending-Now レシピ
](native-recipe-trending-now.md)
+ [

# Popularity-Count レシピ
](native-recipe-popularity.md)
+ [

# Personalized-Ranking-v2 レシピ
](native-recipe-personalized-ranking-v2.md)
+ [

# Personalized-Ranking レシピ
](native-recipe-search.md)
+ [

# セマンティック類似レシピ
](native-recipe-semantic-similarity.md)
+ [

# Similar-Items レシピ
](native-recipe-similar-items.md)
+ [

# SIMS の recipe
](native-recipe-sims.md)
+ [

# Next-Best-Action レシピ
](native-recipe-next-best-action.md)
+ [

# Item-Affinity レシピ
](item-affinity-recipe.md)
+ [

# Item-Attribute-Affinity レシピ
](item-attribute-affinity-recipe.md)
+ [

# レガシー HRNN レシピ
](legacy-user-personalization-recipes.md)

## Amazon Personalize のユースケース別レシピの種類
<a name="use-cases"></a>

レシピを選択するには、まず以下からユースケースを選択し、対応するレシピタイプを書き留めます。
+ ユーザーに推奨するアイテム (USER\$1PERSONALIZALIZATION レシピ)

  ユーザーにレコメンデーションを提供するには、USER\$1PERSONALIZATION レシピを使用してモデルをトレーニングします。パーソナライズされたレコメンデーションは、エンゲージメントとコンバージョンの向上に役立ちます。
+ ユーザー向けのアイテムのランク付け (PERSONALIZED\$1RANKING レシピ) 

  ユーザー向けに厳選されたリストまたは検索結果の順序をパーソナライズするには、PERSONALIZED\$1RANKING レシピを使用してモデルをトレーニングします。PERSONALIZED\$1RANKING レシピは、特定のユーザーの予測される関心レベルに基づいて入力アイテムのコレクションを再ランク付けすることにより、パーソナライズされたリストを作成します。パーソナライズされたリストは、カスタマーエクスペリエンスを向上させ、顧客のロイヤルティとエンゲージメントを高めます。
+  トレンド商品や人気商品 (POPULAR\$1ITEMS レシピ) の推薦 

  トレンド商品や人気商品をレコメンドするには、POPULAR\$1ITEMS レシピを使用してください。POPULAR\$1ITEMS は、顧客が他のユーザーとのやり取りを高く評価している場合に使用できます。一般的な用途としては、話題のソーシャルメディアコンテンツ、最新ニュース記事、最近のスポーツ動画を勧めることが挙げられます。
+  類似アイテムの推奨 (RELATED\$1ITEMS レシピ)

  頻繁に一緒に購入される商品や他のユーザーも視聴した映画など、類似アイテムを推奨するには、RELATED\$1ITEMS レシピを使用する必要があります。類似のアイテムを推奨すると、顧客がアイテムを見つけやすくなり、ユーザーのコンバージョン率を高めることができます。
+  次善のアクションのレコメンド (PERSONALIZED\$1ACTIONS レシピ)

  ロイヤルティプログラムへの登録やクレジットカードの申請など、次善のアクションをユーザーにリアルタイムでレコメンドするには、PERSONALIZED\$1ACTIONS レシピを使用する必要があります。次善のアクションをレコメンドすることにより、顧客ロイヤルティを高め、収益を増やし、ユーザーエクスペリエンスを向上させることができます。
+  ユーザーセグメントの取得 (USER\$1SEGMENTATION レシピ)

  特定の属性を持つアイテムを操作する可能性が最も高いユーザーなど、アイテム入力データに基づいてユーザーのセグメントを取得するには、USER\$1SEGMENTATION レシピを使用する必要があります。ユーザーセグメントを取得すると、アクションを実行する可能性に基づいて、さまざまなユーザーセグメントに対して、さまざまなアイテムのプロモーションを実施する高度なマーケティングキャンペーンを作成するのに役立ちます。

## Amazon Personalize のレシピ
<a name="recipe-categories"></a>

Amazon Personalize では、3 種類のレシピを利用できます。次の表に示すように、各タイプは、動作が異なるほかにレコメンデーションを取得する要件が異なります。


| レシピタイプ | recipe | API | API 要件 | 
| --- | --- | --- | --- | 
| USER\$1PERSONALIZATION |  [User-Personalization-v2](native-recipe-user-personalization-v2.md) [User-Personalization](native-recipe-new-item-USER_PERSONALIZATION.md) [HRNN レシピ (レガシー)](native-recipe-hrnn.md) [HRNN-Metadata レシピ (レガシー)](native-recipe-hrnn-metadata.md) [HRNN-Coldstart レシピ (レガシー)](native-recipe-hrnn-coldstart.md)  | [GetRecommendations](API_RS_GetRecommendations.md) |  `userId`: 必須 `itemId`: 使用されない `inputList`: 該当なし  | 
| POPULAR\$1ITEMS |  [トレンド-ナウ](native-recipe-trending-now.md) [Popularity-Count](native-recipe-popularity.md)  | [GetRecommendations](API_RS_GetRecommendations.md) |  `userId`: それを必要とするフィルターを適用する場合にのみ必要です。 `itemId`: 使用されない `inputList`: 該当なし  | 
| PERSONALIZED\$1RANKING |  [Personalized-Ranking-v2](native-recipe-personalized-ranking-v2.md) [Personalized-Ranking](native-recipe-search.md)  | [GetPersonalizedRanking](API_RS_GetPersonalizedRanking.md) |  `userId`: 必須 `itemId`: 該当なし `inputList`: itemId のリスト  | 
| RELATED\$1ITEMS |  [Similar-Items](native-recipe-similar-items.md) [SIMS](native-recipe-sims.md) [セマンティック類似レシピ](native-recipe-semantic-similarity.md)  | [GetRecommendations](API_RS_GetRecommendations.md) |  `userId`: それを必要とするフィルタを適用する場合にのみ必要です。 `itemId`: 必須 `inputList`: 該当なし  | 
| PERSONALIZED\$1ACTIONS |  [Next-Best-Action](native-recipe-next-best-action.md)  | [GetActionRecommendations](API_RS_GetActionRecommendations.md) |  `userId`: 必須 `actionId`: 使用されない `itemId`: 使用されない `inputList`: 該当なし  | 
| USER\$1SEGMENTATION |  [Item-Affinity](item-affinity-recipe.md) [Item-Attribute-Affinity](item-attribute-affinity-recipe.md)  | [CreateBatchSegmentJob](API_CreateBatchSegmentJob.md) |  バッチワークフローの要件については、「[バッチセグメントジョブを使用してユーザーセグメントを取得する](creating-batch-seg-job.md)」を参照してください。  | 

## 利用可能な Amazon Personalize のレシピの表示
<a name="listing-recipes"></a>

使用可能なレシピのリストを表示するには:
+ Amazon Personalize コンソールで、データセットグループを選択します。ナビゲーションペインから、[**Solutions and recipes (ソリューションとレシピ)**] を選択し、[**Recipes (レシピ)**] タブを選択します。
+ で AWS SDK for Python (Boto3)、 [ListRecipes](API_ListRecipes.md) API を呼び出します。
+ で AWS CLI、次のコマンドを使用します。

  ```
  aws personalize list-recipes
  ```

SDK for Python (Boto3) を使用したレシピに関する情報を取得するには、[DescribeRecipe](API_DescribeRecipe.md) API を呼び出します。を使用してレシピに関する情報を取得するには AWS CLI、次のコマンドを使用します。

```
aws personalize describe-recipe --recipe-arn recipe_arn
```

# User-Personalization-v2 レシピ
<a name="native-recipe-user-personalization-v2"></a>

User-Personalization-v2 (aws-user-personalization-v2) レシピは、ユーザーが好みに基づいて操作するアイテムを推奨します。例えば、User-Personalization-v2 を使用して、ストリーミングアプリのパーソナライズされた映画レコメンデーションを生成したり、小売アプリのパーソナライズされた製品レコメンデーションを生成したりできます。その他のユースケースには、ニュースサイトのリアルタイムレコメンデーションの生成や、パーソナライズされたマーケティングキャンペーンのバッチレコメンデーションなどがあります。

 User-Personalization-v2 は、アイテムインタラクションとアイテムデータセットから最大 500 万のアイテムでトレーニングできます。また、[User-Personalization](native-recipe-new-item-USER_PERSONALIZATION.md) よりも低レイテンシーで、より関連性の高いレコメンデーションを生成します。

 User-Personalization-v2 は、データに基づいて最も関連性の高いアイテムをユーザーに推奨するため、インタラクションデータを含む既存のアイテムをより頻繁に推奨します。レコメンデーションに新しいアイテムが含まれていることを確認するには、作成タイムスタンプに基づくアイテムを含むプロモーションを使用できます。プロモーションについての情報は、「[リアルタイムレコメンデーション内のアイテムのプロモーション](promoting-items.md)」を参照してください。

 このレシピは、トランスフォーマーベースのアーキテクチャを使用して、コンテキストを学習し、データ内の関係とパターンを追跡するモデルをトレーニングします。*トランスフォーマー*は、入力シーケンスを出力シーケンスに変換または変更するニューラルネットワークアーキテクチャの一種です。Amazon Personalize の場合、入力シーケンスはデータ内のユーザーのアイテムインタラクション履歴です。出力シーケンスは、パーソナライズされたレコメンデーションです。トランスフォーマーの詳細については、「AWS クラウドコンピューティングコンセプトのハブ」の「[人工知能におけるトランスフォーマーとは何ですか?](https://aws.amazon.com/what-is/transformers-in-artificial-intelligence/)」を参照してください。

User-Personalization-v2 は、他のレシピとは異なる料金モデルを使用します。料金の詳細については、「[Amazon Personalize の料金表](https://aws.amazon.com/personalize/pricing/)」を参照してください。

**Topics**
+ [

## レシピ機能
](#user-personalization-v2-features)
+ [

## 必須およびオプションのデータセット
](#user-personalization-v2-datasets)
+ [

## プロパティおよびハイパーパラメータ
](#user-personalization-v2-hyperparameters)

## レシピ機能
<a name="user-personalization-v2-features"></a>

User-Personalization-v2 は、アイテムレコメンデーションを生成するときに次の Amazon Personalize レシピ機能を使用します。
+ リアルタイムのパーソナライゼーション — Amazon Personalize はリアルタイムのパーソナライゼーションを使用して、ユーザーの関心の高まりに応じてアイテムのレコメンデーションを更新および調整します。詳細については、「[リアルタイムパーソナライゼーション](use-case-recipe-features.md#about-real-time-personalization)」を参照してください。
+ 探索 — 探索では、レコメンデーションに、インタラクションデータまたはユーザーとの関連性が少ないアイテムが含まれます。User-Personalization-v2 では、Amazon Personalize が探索設定を処理します。レコメンデーションに新しいアイテムが含まれていることを確認するには、プロモーションを使用して、作成タイムスタンプに基づいて新しいアイテムを含めることができます。プロモーションについての情報は、「[リアルタイムレコメンデーション内のアイテムのプロモーション](promoting-items.md)」を参照してください。
+ 自動更新 — Amazon Personalize は自動更新を使用して、2 時間ごとに最新モデル (ソリューションバージョン) を自動的に更新し、探索を介し新しいアイテムをレコメンデーションの対象として考慮します。詳細については、「[自動更新](use-case-recipe-features.md#automatic-updates)」を参照してください。
+  レコメンデーションを含むメタデータ — User-Personalization-v2 レシピでは、メタデータの列が 1 つ以上のアイテムデータセットがある場合、キャンペーンにはレコメンデーション結果にアイテムメタデータを含めるオプションが自動的にあるようになります。キャンペーンのメタデータを手動で有効にすることはできません。メタデータを使用して、映画のジャンルをカルーセルに追加するなど、ユーザーインターフェイスのレコメンデーションを充実させることができます。詳細については、「[レコメンデーションのアイテムメタデータ](campaigns.md#create-campaign-return-metadata)」を参照してください。

## 必須およびオプションのデータセット
<a name="user-personalization-v2-datasets"></a>

User-Personalization-v2 を使用するには、アイテムインタラクションデータセットを作成し、少なくとも 1,000 個のアイテムインタラクションをインポートする必要があります。Amazon Personalize は、主にアイテムインタラクションデータに基づいてレコメンデーションを生成します。詳細については、「[アイテムインタラクションデータ](interactions-datasets.md)」を参照してください。User-Personalization-v2 は、アイテムインタラクションとアイテムデータセット全体で最大 500 万のアイテムでトレーニングできます。

User-Personalization-v2 を使用すると、Amazon Personalize は以下を含むアイテムインタラクションデータを使用できます。
+ イベントタイプとイベント値データ — Amazon Personalize は、クリックや視聴イベントタイプなどのイベントタイプデータを使用して、ユーザーの行動のあらゆるパターンを通じてユーザーの意図と関心を識別します。また、イベントタイプとイベント値データを使用して、トレーニング前にレコードをフィルタリングすることもできます。詳細については、「[イベントタイプとイベント値のデータ](interactions-datasets.md#event-type-and-event-value-data)」を参照してください。
**注記**  
User-Personalization-v2 では、トレーニングコストは、イベントタイプまたは値でフィルタリングする前のインタラクションデータに基づいています。料金の詳細については、「[Amazon Personalize の料金表](https://aws.amazon.com/personalize/pricing/)」を参照してください。
+ コンテキストメタデータ — コンテキストメタデータは、場所やデバイスのタイプなど、イベント時にユーザーの環境で収集するインタラクションデータです。詳細については、「[コンテキストメタデータ](interactions-datasets.md#interactions-contextual-metadata)」を参照してください。

 次のデータセットはオプションであり、レコメンデーションを改善できます。
+ Users データセット — Amazon Personalize は、ユーザーとその関心についてよりよく理解するために、Users データセット内のデータを使用できます。Users データセットのデータを使用して、レコメンデーションをフィルタリングすることもできます。インポートできるユーザーデータについては、「[ユーザーメタデータ](users-datasets.md)」を参照してください。
+ Items データセット — Amazon Personalize は、Items データセット内のデータを使用して、アイテムの動作の関連性とパターンを識別します。これにより、Amazon Personalize はユーザーとその関心について理解しやすくなります。Items データセットのデータを使用して、アクションのレコメンデーションをフィルタリングすることもできます。インポートできるアイテムデータについては、「[アイテムメタデータ](items-datasets.md)」を参照してください。

## プロパティおよびハイパーパラメータ
<a name="user-personalization-v2-hyperparameters"></a>

User-Personalization-v2 レシピには、次のプロパティがあります。
+  **名前** – `aws-user-personalization-v2`
+  **レシピ Amazon リソースネーム (ARN)** – `arn:aws:personalize:::recipe/aws-user-personalization-v2`
+  **アルゴリズム ARN** – `arn:aws:personalize:::algorithm/aws-user-personalization-v2`

詳細については、「[レシピの選択](working-with-predefined-recipes.md)」を参照してください。

以下の表では、User-Personalization-v2 レシピのハイパーパラメータを示しています。*ハイパーパラメータは*、モデルパフォーマンスを向上させるために調整できるアルゴリズムパラメータです。アルゴリズムのハイパーパラメータは、モデルの実行方法を制御します。ハイパーパラメータに最適な値を選択するプロセスは、ハイパーパラメータの最適化 (HPO) と呼ばれます。User-Personalization-v2 では、自動トレーニングを有効にすると、Amazon Personalize は 90 日ごとに自動的に HPO を実行します。自動トレーニングなしでは、HPO は発生しません。

このテーブルには、各ハイパーパラメータに関する以下の情報が含まれています。
+ **範囲**: [下限、上限]
+ **値のタイプ**: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)


| 名前 | 説明 | 
| --- | --- | 
| アルゴリズムのハイパーパラメータ | 
| apply\$1recency\$1bias |  モデルがアイテムインタラクションデータセット内の最新のアイテムインタラクションデータにより多くの重みを与えるかどうかを決定します。最新のインタラクションデータには、インタラクションイベントの基盤となるパターンの突然の変化が含まれる場合があります。  最近のイベントにより多くの重みを置くモデルをトレーニングするには、`apply_recency_bias` を `true` に設定します。過去のすべてのインタラクションを均等に重み付けするモデルをトレーニングするには、`apply_recency_bias` を `false` に設定します。 デフォルト値: `true` 範囲: `true` または `false` 値の型: ブール値 HPO 調整可能: いいえ  | 

# User-Personalization レシピ
<a name="native-recipe-new-item-USER_PERSONALIZATION"></a>

**重要**  
[User-Personalization-v2](native-recipe-user-personalization-v2.md) レシピを使用することをお勧めします。トレーニングを高速化して最大 500 万アイテムを検討し、レイテンシーを低くしてより関連性の高いレコメンデーションを生成できます。

User-Personalization (aws-user-personalization) レシピは、すべてのパーソナライズされたレコメンデーションシナリオ向けに最適化されています。ユーザーが操作する可能性が最も高いアイテムを予測します。User-Personalization を使用して、ストリーミングアプリケーションのパーソナライズされた映画レコメンデーションを生成したり、小売アプリケーションのパーソナライズされた製品レコメンデーションを生成したりできます。

User-Personalization を使用すると、Amazon Personalize は主にアイテムインタラクションデータセット内のユーザーアイテムインタラクションデータに基づいてレコメンデーションを生成します。また、Items データセットおよび Users データセット内の任意のアイテムとユーザーメタデータを使用することもできます。使用するデータの詳細については、「[必須およびオプションのデータセット](#user-personalization-datasets)」を参照してください。

**Topics**
+ [

## レシピ機能
](#user-personalization-features)
+ [

## 必須およびオプションのデータセット
](#user-personalization-datasets)
+ [

## プロパティおよびハイパーパラメータ
](#bandit-hyperparameters)
+ [

## User-Personalization レシピを使用したトレーニング (コンソール)
](#training-user-personalization-recipe-console)
+ [

## User-Personalization レシピを使用したトレーニング (Python SDK)
](#training-user-personalization-recipe)
+ [

## レコメンデーションの取得とインプレッションの記録 (SDK for Python (Boto3))
](#user-personalization-get-recommendations-recording-impressions)
+ [

## サンプル Jupyter ノートブック
](#bandits-sample-notebooks)

## レシピ機能
<a name="user-personalization-features"></a>

User-Personalization は、アイテムのレコメンデーションを生成するときに次の Amazon Personalize レシピ機能を使用します。
+ リアルタイムのパーソナライゼーション — Amazon Personalize はリアルタイムのパーソナライゼーションを使用して、ユーザーの関心の高まりに応じてアイテムのレコメンデーションを更新および調整します。詳細については、「[リアルタイムパーソナライゼーション](use-case-recipe-features.md#about-real-time-personalization)」を参照してください。
+ 探索 — 探索では、レコメンデーションには新しいアイテムやインタラクションデータの少ないアイテムが含まれます。これにより、カタログの内容の変更が早い場合、またはニュース記事やプロモーションなどの新しいアイテムとユーザーとの関連性が高い場合、それらのアイテムの鮮度が高い状態であるときに、アイテムの検出とエンゲージメントが向上します。探索の詳細については、「[探査](use-case-recipe-features.md#about-exploration)」を参照してください。
+ 自動更新 — Amazon Personalize は自動更新を使用して、2 時間ごとに最新モデル (ソリューションバージョン) を自動的に更新し、探索を介し新しいアイテムをレコメンデーションの対象として考慮します。詳細については、「[自動更新](use-case-recipe-features.md#automatic-updates)」を参照してください。

## 必須およびオプションのデータセット
<a name="user-personalization-datasets"></a>

User-Personalization を使用するには、[アイテムインタラクションデータセット](interactions-datasets.md)を作成し、少なくとも 1,000 個のアイテムインタラクションをインポートする必要があります。Amazon Personalize は、主にアイテムインタラクションデータに基づいてレコメンデーションを生成します。

User-Personalization を使用する場合、Amazon Personalize は以下を含むアイテムインタラクションデータを使用できます。
+ イベントタイプとイベント値データ — Amazon Personalize は、クリックや視聴イベントタイプなどのイベントタイプデータを使用して、ユーザーの行動のあらゆるパターンを通じてユーザーの意図と関心を識別します。また、イベントタイプとイベント値データを使用して、トレーニング前にレコードをフィルタリングすることもできます。詳細については、「[イベントタイプとイベント値のデータ](interactions-datasets.md#event-type-and-event-value-data)」を参照してください。
+ コンテキストメタデータ — コンテキストメタデータは、場所やデバイスのタイプなど、イベント時にユーザーの環境で収集するインタラクションデータです。詳細については、「[コンテキストメタデータ](interactions-datasets.md#interactions-contextual-metadata)」を参照してください。
+ インプレッションデータ — インプレッションは、ユーザーが特定のアイテムを操作 (クリック、視聴、購入など) したときに表示されたアイテムのリストです。詳細については、「[インプレッションデータ](interactions-datasets.md#interactions-impressions-data)」を参照してください。

 次のデータセットはオプションであり、レコメンデーションを改善できます。
+ Users データセット — Amazon Personalize は、ユーザーとその関心についてよりよく理解するために、Users データセット内のデータを使用できます。Users データセットのデータを使用して、レコメンデーションをフィルタリングすることもできます。インポートできるユーザーデータについては、「[ユーザーメタデータ](users-datasets.md)」を参照してください。
+ Items データセット — Amazon Personalize は、Items データセット内のデータを使用して、アイテムの動作の関連性とパターンを識別します。これにより、Amazon Personalize はユーザーとその関心について理解しやすくなります。Items データセットのデータを使用して、アクションのレコメンデーションをフィルタリングすることもできます。インポートできるアイテムデータについては、「[アイテムメタデータ](items-datasets.md)」を参照してください。

## プロパティおよびハイパーパラメータ
<a name="bandit-hyperparameters"></a>

User-Personalization レシピには、次のプロパティがあります。
+  **名前** – `aws-user-personalization`
+  **レシピ Amazon リソースネーム (ARN)** – `arn:aws:personalize:::recipe/aws-user-personalization`
+  **アルゴリズム ARN** – `arn:aws:personalize:::algorithm/aws-user-personalization`

詳細については、「[レシピの選択](working-with-predefined-recipes.md)」を参照してください。

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

このテーブルには、各ハイパーパラメータに関する以下の情報が含まれています。
+ **範囲**: [下限、上限]
+ **値のタイプ**: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)
+ **HPO 調整可能**: パラメータが HPO に参加できますか?


| 名前 | 説明 | 
| --- | --- | 
| アルゴリズムのハイパーパラメータ | 
| hidden\$1dimension |  モデルで使用される非表示変数の数。*非表示の変数*は、ユーザーの購入履歴と商品統計を再作成して、ランキングスコアを生成します。アイテムインタラクションデータセットにより複雑なパターンが含まれている場合は、より多くの非表示ディメンションを指定します。使用する非表示のディメンションが多くなると、データセットが大きくなり、処理時間が長くなります。最適な値を決定するには、HPO を使用します。HPO を使用するには、[CreateSolution](API_CreateSolution.md) オペレーション [CreateSolutionVersion](API_CreateSolutionVersion.md) とオペレーションを呼び出すときに `performHPO` を `true` に設定します。 デフォルト値: 149 範囲: [32, 256] 値の型: 整数 HPO 調整可能: はい  | 
| bptt |  通し時間のバックプロパゲーションの手法を使用するかどうかを決定します。*通し時間のバックプロパゲーション*は、再帰的なニューラルネットワークベースのアルゴリズムの重みを更新する手法です。遅延報酬を早期イベントに接続するには、長期クレジットに `bptt` を使用します。例えば、遅延報酬には、数回のクリック後に行われる購入を指定できます。早期イベントは、最初のクリックにすることができます。クリックなどの同じイベントタイプ内であっても、長期的な効果を考慮し、合計報酬を最大化することをお勧めします。長期的な効果を考慮するには、より大きい `bptt` 値を使用します。大きな `bptt` 値を使用するには、より大きいデータセットと長い処理時間が必要です。 デフォルト値: 32 範囲: [2, 32] 値の型: 整数 HPO 調整可能: はい  | 
| recency\$1mask |  モデルがアイテムインタラクションデータセットの最新の人気傾向を考慮する必要があるかどうかを決定します。最新の人気トレンドには、インタラクションイベントの基盤となるパターンの突然の変化が含まれる可能性があります。最近のイベントにより多くの重みを置くモデルをトレーニングするには、`recency_mask` を `true` に設定します。過去のすべてのインタラクションを均等に重み付けするモデルをトレーニングするには、`recency_mask` を `false` に設定します。同じ重みを使用して適切なレコメンデーションを取得するには、より大きなトレーニングデータセットが必要になる場合があります。 デフォルト値: `True` 範囲: `True` または `False` 値の型: ブール値 HPO 調整可能: はい  | 
| 特徴化のハイパーパラメータ | 
| min\$1user\$1history\$1length\$1percentile |  モデルのトレーニングに含めるユーザー履歴の長さの最小パーセンタイル。*履歴の長さ* は、ユーザーに関するデータの合計量です。履歴の長さが短いある割合のユーザーを除外するには、`min_user_history_length_percentile` を使用します。履歴が短いユーザーは、多くの場合、ユーザーの個人的なニーズや希望ではなく、アイテムの人気に基づくパターンを表示します。それらを削除すると、データの基盤となるパターンに重点を置いてモデルをトレーニングできます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のユーザーを保持し、エッジケースを削除する値を設定することをお勧めします。  例えば、`min_user_history_length_percentile to 0.05` と `max_user_history_length_percentile to 0.95` を設定すると、履歴の長さが下位または上位 5% であるユーザーを除くすべてのユーザーが含まれます。 デフォルト値: 0.0 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: いいえ  | 
| max\$1user\$1history\$1length\$1percentile |  モデルのトレーニングに含めるユーザー履歴の長さの最大パーセンタイル。*履歴の長さ* は、ユーザーに関するデータの合計量です。`max_user_history_length_percentile` を使用して、ある割合の履歴の長さが長いユーザーを除外します。これらのユーザーのデータにはノイズが含まれる傾向があるためです。例えば、ロボットに自動化されたインタラクションの長いリストがあるとします。これらのユーザーを削除することで、トレーニングのノイズが制限されます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のユーザーを保持し、エッジケースを削除する値を設定することをお勧めします。 例えば、`min_user_history_length_percentile to 0.05` と `max_user_history_length_percentile to 0.95` を設定すると、履歴の長さが下位または上位 5% であるユーザーを除くすべてのユーザーが含まれます。 デフォルト値: 0.99 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: いいえ  | 
| アイテム探索キャンペーン設定ハイパーパラメータ | 
| exploration\$1weight |  アイテムインタラクションデータまたは関連性が少ないアイテムをレコメンデーションに含める頻度を決定します。値が 1.0 に近くなるほど、探索が多くなります。ゼロでは、探索は行われず、レコメンデーションは現在のデータに基づきます (関連性)。詳細については、「[CampaignConfig](API_CampaignConfig.md)」を参照してください。 デフォルト値: 0.3 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: いいえ  | 
| exploration\$1item\$1age\$1cut\$1off |  アイテムインタラクションデータセット内のすべてのアイテムについて、最新のインタラクションからの日数で、アイテムが存在するようになってからの最長期間を指定します。これにより、アイテムの経過時間に基づいてアイテム探索の範囲が定義されます。Amazon Personalize は、作成タイムスタンプ、または作成タイムスタンプデータがない場合はアイテムインタラクションデータに基づいてアイテムの年齢を決定します。Amazon Personalize が商品の年齢を決定する方法の詳細については、「[作成のタイムスタンプデータ](items-datasets.md#creation-timestamp-data)」を参照してください。 Amazon Personalize が探索中に考慮するアイテムの数を増やすには、より大きな値を入力します。デフォルトは 30 日 で、最短は 1 日 です。レコメンデーションには、指定したアイテムの期間制限より古いアイテムが含まれる場合があります。これは、これらのアイテムがユーザーに関連しており、それらを特定するために探索が必要ではなかったことによります。 デフォルト値: 30.0 範囲: 正の浮動小数点 値の型: 浮動小数点 HPO 調整可能: いいえ  | 

## User-Personalization レシピを使用したトレーニング (コンソール)
<a name="training-user-personalization-recipe-console"></a>

User-Personalization レシピを使用してコンソールでレコメンデーションを生成するには、最初にレシピを使用して新しいソリューションバージョンをトレーニングします。その後、ソリューションバージョンを使用してキャンペーンをデプロイし、キャンペーンを使用してレコメンデーションを取得します。

**User-Personalization レシピを使用した新しいソリューションバージョンのトレーニング (コンソール)**

1. [https://console.aws.amazon.com/personalize/home](https://console.aws.amazon.com/personalize/home) で Amazon Personalize コンソールを開き、アカウントにサインインします。

1. 新しいスキーマを使用してカスタムデータセットグループを作成し、インプレッションデータを含むデータセットをアップロードします。オプションで、[CREATION\$1TIMESTAMP]() と [非構造化テキストメタデータ](items-datasets.md#text-data) データを Items データセットに含めて、Amazon Personalize がアイテムが存在するようになってからの期間をより正確に計算し、コールドアイテムを識別できるようにします。

   データのインポートの詳細については、「[Amazon Personalize データセットへのトレーニングデータのインポート](import-data.md)」を参照してください。

1. **[Dataset groups]** (データセット) グループページで、インプレッションデータを含む 1 つまたは複数のデータセットを含む新しいデータセットグループを選択します。

1. ナビゲーションペインで、**[Solutions and recipes]** (ソリューションとレシピ)、**[Create solution]** (ソリューションを作成) の順に選択します。

1. **[Create solution]** (ソリューションを作成) のページの **[Solution name]** (ソリューション名) で、新しいソリューションの名前を入力します。

1. **[Solution type]** (ソリューションタイプ) で、**[Item recommendation]** (アイテムのレコメンデーション) を選択して、ユーザーのアイテムのレコメンデーションを取得します。

1. **[Recipe]** (レシピ) で、**aws-user-personalization** を選択します。**[Solution configuration]** (ソリューション設定) のセクションが表示され、いくつかの設定オプションが提供されます。

1. **[イベント設定]** で、アイテムインタラクションデータセットに EVENT\$1TYPE 列または EVENT\$1TYPE 列と EVENT\$1VALUE 列の両方がある場合は、オプションで **[イベントタイプ]** と **[イベント値のしきい値]** のフィールドを使用して、モデルのトレーニング時に Amazon Personalize が使用するアイテムインタラクションデータを選択します。詳細については、「[トレーニングに使用するアイテムインタラクションデータの選択](event-values-types.md)」を参照してください。

    複数のイベントタイプがあり、User-Personalization-v2 レシピまたは Personalized-Ranking-v2 レシピを使用する場合は、タイプごとに異なる重みを指定することもできます。例えば、click イベントよりも purchase イベントに重みを付けるようにソリューションを設定できます。詳細については、「[イベント設定によるソリューションの最適化](optimizing-solution-events-config.md)」を参照してください。

1. オプションで、ソリューションのハイパーパラメータを設定します。User-Personalization レシピのプロパティとハイパーパラメータのリストについては、「[プロパティおよびハイパーパラメータ](#bandit-hyperparameters)」を参照してください。

1. **[Create and train solution]** (ソリューションを作成およびトレーニング) を選択して、トレーニングを開始します。**[Dashboard]** (ダッシュボード) のページが表示されます。

   ソリューションの詳細のページに移動して、**[Solution versions]** (ソリューションバージョン) のセクションでトレーニングの進捗状況を追跡できます。トレーニングが完了すると、ステータスは **[Active]** (アクティブ) となります。

**キャンペーンの作成とレコメンデーションの取得 (コンソール)**

 ソリューションバージョンのステータスが **[Active]** (アクティブ) になると、次のように、キャンペーンを作成してレコメンデーションを取得する準備が完了します。

1. ソリューションの詳細のページまたは **[Campaigns]** (キャンペーン) のページで、**[Create new campaign]** (新しいキャンペーンを作成) を選択します。

1.  **[Create new campaign]** (新しいキャンペーンを作成) ページの **[Campaign details]** (キャンペーンの詳細) で、次の情報を入力します。
   + **Campaign name** (キャンペーン名): キャンペーンの名前を入力します。ここで入力したテキストは、[Campaign] (キャンペーン) ダッシュボードと詳細のページに表示されます。
   + **Solution** (ソリューション): 先ほど作成したソリューションを選択します。
   + **Solution version ID** (ソリューションバージョン ID): 作成したソリューションバージョンの ID を選択します。
   + **Minimum provisioned transactions per second** (1 秒あたりの最小プロビジョンドトランザクション): Amazon Personalize がサポートしている 1 秒あたりの最小プロビジョンドトランザクションを設定します。詳細については、[CreateCampaign](API_CreateCampaign.md) オペレーションを参照してください。

1. **[Campaign configuration]** (キャンペーン設定) で、次の情報を入力してください。
   + **Exploration weight:** (探索の重み): 探索する量を設定します。指定する探索が多いほど、レコメンデーションには、アイテムインタラクションデータや関連性が少ないアイテムがより頻繁に含まれます。値が 1 に近くなるほど、探索が多くなります。ゼロでは、探索は行われず、レコメンデーションは現在のデータに基づきます (関連性)。
   + **Exploration item age cut off** (探索アイテムが存在するようになってからの期間のカットオフ): アイテム探索の範囲を定義するために、最新のインタラクションからの日数で、アイテムが存在するようになってからの最長期間を入力します。Amazon Personalize が探索中に考慮するアイテムの数を増やすには、より大きな値を入力します。

      例えば、10 と入力すると、データセット内の最新のインタラクションから 10 日間のアイテムインタラクションデータを含むアイテムのみが探索時に考慮されます。
**注記**  
レコメンデーションには、この時間枠外のアイテムインタラクションデータのないアイテムが含まれる場合があります。これは、これらのアイテムがユーザーの興味に関連しており、それらを特定するために探索が必要ではなかったことによります。

1. **[キャンペーンの作成]** を選択します。

1. キャンペーンの詳細のページで、キャンペーンのステータスが **[Active]** (アクティブ) の場合、キャンペーンを使用してレコメンデーションを取得し、インプレッションを記録できます。詳細については、「開始方法」の「[ステップ 5: レコメンデーションを取得する](getting-started-console.md#getting-started-console-get-recommendations)」を参照してください。

    Amazon Personalize は、2 時間ごとに最新のソリューションバージョンを自動的に更新して、新しいデータを含めます。キャンペーンでは、更新されたソリューションバージョンが自動的に使用されます。詳細については、「[自動更新](use-case-recipe-features.md#automatic-updates)」を参照してください。

   キャンペーンを手動で更新するには、最初に、`trainingMode` を `update` に設定した状態で、コンソールまたは [CreateSolutionVersion](API_CreateSolutionVersion.md) 操作を使用して、新しいソリューションバージョンを作成およびトレーニングします。その後、コンソールの **[Campaign]** (キャンペーン) ページで、または [UpdateCampaign](API_UpdateCampaign.md) 操作を使用して、キャンペーンを手動で更新します。
**注記**  
 Amazon Personalize は、2020 年 11 月 17 日より前に作成したソリューションバージョンを自動的に更新しません。

## User-Personalization レシピを使用したトレーニング (Python SDK)
<a name="training-user-personalization-recipe"></a>

データセットグループを作成し、インプレッションデータを含むデータセットをアップロードしたら、User-Personalization レシピを使用してソリューションをトレーニングできます。オプションで、[CREATION\$1TIMESTAMP]() と [非構造化テキストメタデータ](items-datasets.md#text-data) データを Items データセットに含めて、Amazon Personalize がアイテムが存在するようになってからの期間をより正確に計算し、コールドアイテムを識別できるようにします。データセットグループの作成とトレーニングデータのアップロードの詳細については、「[Amazon Personalize スキーマのスキーマ JSON ファイルの作成](how-it-works-dataset-schema.md)」を参照してください。

**AWS SDK を使用して User-Personalization レシピでソリューションをトレーニングするには**

1. `create_solution` メソッドを使用して新しいソリューションを作成します。

   `solution name` をソリューション名に置き換えます。また、`dataset group arn` をデータセットグループの Amazon リソースネーム (ARN) に置き換えます。

   ```
   import boto3
   
   personalize = boto3.client('personalize')
   
   print('Creating solution')
   create_solution_response = personalize.create_solution(name = 'solution name', 
                               recipeArn = 'arn:aws:personalize:::recipe/aws-user-personalization', 
                               datasetGroupArn = 'dataset group arn',
                               )
   solution_arn = create_solution_response['solutionArn']
   print('solution_arn: ', solution_arn)
   ```

   aws-user-personalization レシピのプロパティとハイパーパラメータのリストについては、「[プロパティおよびハイパーパラメータ](#bandit-hyperparameters)」を参照してください。

1. 更新されたトレーニングデータを使用して新しい *solution version* (ソリューションバージョン) を作成し、次のコードスニペットを使用して `trainingMode` を `FULL` に設定します。`solution arn` をソリューションの ARN に置き換えます。

   ```
   import boto3
           
   personalize = boto3.client('personalize')
           
   create_solution_version_response = personalize.create_solution_version(solutionArn = 'solution arn', 
                                                                  trainingMode='FULL')
   
   new_solution_version_arn = create_solution_version_response['solutionVersionArn']
   print('solution_version_arn:', new_solution_version_arn)
   ```

1. Amazon Personalize がソリューションバージョンの作成を終了したら、次のパラメータを使用してキャンペーンを作成します。
   + 新しい `campaign name` と、ステップ 2 で生成された `solution version arn` を入力します。
   + `explorationWeight` アイテム探索設定ハイパーパラメータを変更して、探索する量を設定します。アイテムインタラクションデータまたは関連性が少ないアイテムは、値が 1.0 に近いほど頻繁に推奨されます。デフォルト値は 0.3 です。
   + `explorationItemAgeCutOff` アイテム探索設定ハイパーパラメータパラメータを変更して、アイテム探索の対象期間とする、最新のインタラクションとの関係においての最長期間 (日) を指定します。値が大きいほど、探索中に考慮されるアイテムが多くなります。

   次の Python スニペットを使用して、30 日で探索をカットオフする探索に重点を置いた新しいキャンペーンを作成します。キャンペーンの作成には通常数分かかります。ただし、1 時間以上かかる場合もあります。

   ```
   import boto3
           
   personalize = boto3.client('personalize')
   
   create_campaign_response = personalize.create_campaign(
       name = 'campaign name',
       solutionVersionArn = 'solution version arn',
       minProvisionedTPS = 1,
       campaignConfig = {"itemExplorationConfig": {"explorationWeight": "0.3", "explorationItemAgeCutOff": "30"}}
   )
   
   campaign_arn = create_campaign_response['campaignArn']
   print('campaign_arn:', campaign_arn)
   ```

    User-Personalization を使用すると、Amazon Personalize は、2 時間ごとにソリューションバージョンを自動的に更新して、新しいデータを含めます。キャンペーンでは、更新されたソリューションバージョンが自動的に使用されます。詳細については、「[自動更新](use-case-recipe-features.md#automatic-updates)」を参照してください。

   キャンペーンを手動で更新するには、最初に、`trainingMode` を `update` に設定した状態で、コンソールまたは [CreateSolutionVersion](API_CreateSolutionVersion.md) 操作を使用して、新しいソリューションバージョンを作成およびトレーニングします。その後、コンソールの **[Campaign]** (キャンペーン) ページで、または [UpdateCampaign](API_UpdateCampaign.md) 操作を使用して、キャンペーンを手動で更新します。
**注記**  
 Amazon Personalize は、2020 年 11 月 17 日より前に作成したソリューションバージョンを自動的に更新しません。

## レコメンデーションの取得とインプレッションの記録 (SDK for Python (Boto3))
<a name="user-personalization-get-recommendations-recording-impressions"></a>

キャンペーンが作成されると、それを使用してユーザーのレコメンデーションを取得し、インプレッションを記録できます。 AWS SDKs「」を参照してください[バッチ推論ジョブ (AWS SDKsの作成](creating-batch-inference-job.md#batch-sdk)。



**レコメンデーションを取得してインプレッションを記録するには**

1. `get_recommendations` メソッドを呼び出します。`campaign arn` を新しいキャンペーンの ARN に変更します。また、`user id` をユーザーの userId に変更します。

   ```
   import boto3
               
   rec_response = personalize_runtime.get_recommendations(campaignArn = 'campaign arn', userId = 'user id')
   print(rec_response['recommendationId'])
   ```

1. PutEvents リクエストを送信するための新しいイベントトラッカーを作成します。`event tracker name` をイベントトラッカーの名前に置き換えます。また、`dataset group arn` をデータセットグループの ARN に置き換えます。

   ```
   import boto3
           
   personalize = boto3.client('personalize')
   
   event_tracker_response = personalize.create_event_tracker( 
       name = 'event tracker name',
       datasetGroupArn = 'dataset group arn'
   )
   event_tracker_arn = event_tracker_response['eventTrackerArn']
   event_tracking_id = event_tracker_response['trackingId']
   print('eventTrackerArn:{},\n eventTrackingId:{}'.format(event_tracker_arn, event_tracking_id))
   ```

1.  ステップ 1 の `recommendationId` とステップ 2 の `event tracking id` を使用して、新しい `PutEvents` リクエストを作成します。このリクエストは、ユーザーのセッションからの新しいインプレッションデータをログに記録します。`user id` をユーザーの ID に変更します。

   ```
   import boto3
               
   personalize_events.put_events(
        trackingId = 'event tracking id',
        userId= 'user id',
        sessionId = '1',
        eventList = [{
        'sentAt': datetime.now().timestamp(),
        'eventType' : 'click',
        'itemId' : rec_response['itemList'][0]['itemId'],        
        'recommendationId': rec_response['recommendationId'],
        'impression': [item['itemId'] for item in rec_response['itemList']],
        }]
   )
   ```

## サンプル Jupyter ノートブック
<a name="bandits-sample-notebooks"></a>

User-Personalization レシピの使用方法を示すサンプル Jupyter ノートブックについては、「[探索での User Personalization](https://github.com/aws-samples/amazon-personalize-samples/blob/master/next_steps/core_use_cases/user_personalization/user-personalization-with-exploration.ipynb)」を参照してください。

# Trending-Now レシピ
<a name="native-recipe-trending-now"></a>

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

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

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

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

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

**Topics**
+ [

## プロパティおよびハイパーパラメータ
](#trending-now-hyperparameters)
+ [

## ソリューションの作成 (SDK for Python (Boto3))
](#trending-now-python)
+ [

## サンプル Jupyter ノートブック
](#trending-now-sample-notebooks)

## プロパティおよびハイパーパラメータ
<a name="trending-now-hyperparameters"></a>

Trending-Now レシピには以下のプロパティがあります。
+  **名前** – `aws-trending-now`
+  **レシピ Amazon リソースネーム (ARN)** – `arn:aws:personalize:::recipe/aws-trending-now`
+  **アルゴリズム ARN** – `arn:aws:personalize:::algorithm/aws-trending-now-custom`

詳細については、「[レシピの選択](working-with-predefined-recipes.md)」を参照してください。

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

このテーブルには、各ハイパーパラメータに関する以下の情報も含まれています。
+ **範囲**: [下限、上限]
+ **値のタイプ**: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)
+ **HPO 調整可能**: パラメータが HPO に参加できますか?


| 名前 | 説明 | 
| --- | --- | 
| 特徴変換ハイパーパラメーター | 
| Trend discovery frequency |  Amazon Personalize がインタラクションデータを評価し、トレンドアイテムを特定する頻度を指定してください。例えば、`Trend discovery frequency`を`30 minutes` に指定すると、30 分ごとに指定すると、Amazon Personalize は 30 分間隔でのインタラクションの増加率が最も高いアイテムを特定します。 使用可能な頻度は、30 分、1 時間、2 時間、3 時間、および 1 日です。インタラクションデータの分布に合った頻度を選択してください。選択した間隔でデータが欠落していると、レコメンデーションの精度が低下する可能性があります。CreateSolution API オペレーションを使用し、値を指定しない場合、デフォルトは 2 時間ごとです。  2 時間を超えるパラメータ値の場合、Amazon Personalize は新しいインタラクションと新しいアイテムを考慮して、トレンドアイテムのレコメンデーションを 2 時間ごとに自動的に更新します。  デフォルト値: 2 時間 指定できる値: 30 分、1 時間、2 時間、3 時間、および 1 日。 値の型: 文字列 HPO 調整可能: いいえ  | 

## ソリューションの作成 (SDK for Python (Boto3))
<a name="trending-now-python"></a>

次のコードは、SDK for Python (Boto3) を使用して Trending-Now レシピでソリューションを作成する方法を示しています。`trend_discovery_frequency` の可能な値は `30 minutes`、`1 hour`、`3 hours`、`1 day` です。コンソールを使用して手動でテーブルを作成する方法については、「[ソリューションの作成 (コンソール)](create-solution.md#configure-solution-console)」を参照してください。

```
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'])
```

## サンプル Jupyter ノートブック
<a name="trending-now-sample-notebooks"></a>

Trending-Now レシピの使用方法を示すサンプル Jupyter ノートブックについては、Amazon Personalize のサンプル GitHub リポジトリの「[trending\$1now\$1example.ipynb](https://github.com/aws-samples/amazon-personalize-samples/blob/master/next_steps/core_use_cases/trending_now/trending_now_example.ipynb)」を参照してください。

# Popularity-Count レシピ
<a name="native-recipe-popularity"></a>

Popularity-Count は、インタラクションデータに基づいて、最も人気のあるアイテムをレコメンドします。最も人気のあるアイテムは、ユニークなユーザーからのインタラクションデータが最も多いアイテムです。このレシピは、すべてのユーザーに対して同じ人気度のアイテムを返します。Popularity-Count は、ソリューションバージョンを作成するときに Amazon Personalize が生成する評価メトリクスを使用して他のレシピと比較するための優れたベースラインです。詳細については、「[メトリクスを使用して Amazon Personalize ソリューションバージョンを評価する](working-with-training-metrics.md)」を参照してください。

 ソリューションバージョンを作成した後は、必ずソリューションバージョンとデータを最新の状態に保ってください。Popularity-Count では、Amazon Personalize の新しいソリューションバージョンを手動で作成 (モデルを再トレーニング) して、新しいアイテムをレコメンデーションの対象として考慮し、ユーザーの最新の行動でモデルを更新する必要があります。次に、ソリューションバージョンを使用してキャンペーンを更新する必要があります。詳細については、「[レコメンデーションの関連性の維持](maintaining-relevance.md)」を参照してください。

この事前定義済みレシピには以下のプロパティがあります。
+  **名前** – `aws-popularity-count`
+  **レシピ ARN** – `arn:aws:personalize:::recipe/aws-popularity-count`
+  **アルゴリズム ARN** – `arn:aws:personalize:::algorithm/aws-popularity-count`
+  **機能変換 ARN** – `arn:aws:personalize:::feature-transformation/sims`
+  **レシピタイプ** – `USER_PERSONALIZATION`

Popularity-Count には公開されているハイパーパラメータがありません。

# Personalized-Ranking-v2 レシピ
<a name="native-recipe-personalized-ranking-v2"></a>

Personalized-Ranking-v2 レシピは、アイテムのパーソナライズされたランキングを生成します。*パーソナライズされたランキング*は、特定のユーザー向けに関連性によって再ランク付けされた推奨アイテムのリストです。これは、検索結果、プロモーション、厳選されたリストなど、順序付けされたアイテムのコレクションがあり、ユーザーごとにパーソナライズされた再ランク付けを提供する場合に有益です。

 Personalized-Ranking-v2 は、アイテムインタラクションとアイテムデータセットから最大 500 万のアイテムでトレーニングできます。また、[Personalized-Ranking](native-recipe-search.md) よりもレイテンシーが低く、より正確なランキングを生成します。

 Personalized-Ranking-v2 を使用する場合は、[GetPersonalizedRanking](API_RS_GetPersonalizedRanking.md) API オペレーションでランク付けするアイテムを指定します。インタラクションデータを含まないアイテムを指定した場合、Amazon Personalize は、GetPersonalizedRanking API レスポンスでレコメンデーションスコアなしでこれらのアイテムを返します。

 このレシピは、トランスフォーマーベースのアーキテクチャを使用して、コンテキストを学習し、データ内の関係とパターンを追跡するモデルをトレーニングします。*トランスフォーマー*は、入力シーケンスを出力シーケンスに変換または変更するニューラルネットワークアーキテクチャの一種です。Amazon Personalize の場合、入力シーケンスはデータ内のユーザーのアイテムインタラクション履歴です。出力シーケンスは、パーソナライズされたレコメンデーションです。トランスフォーマーの詳細については、「AWS クラウドコンピューティングコンセプトのハブ」の「[人工知能におけるトランスフォーマーとは何ですか?](https://aws.amazon.com/what-is/transformers-in-artificial-intelligence/)」を参照してください。

Personalized-Ranking-v2 は、他のレシピとは異なる料金モデルを使用します。料金の詳細については、「[Amazon Personalize の料金表](https://aws.amazon.com/personalize/pricing/)」を参照してください。

**Topics**
+ [

## レシピ機能
](#personalized-ranking-v2-features)
+ [

## 必須およびオプションのデータセット
](#personalized-ranking-v2-datasets)
+ [

## プロパティおよびハイパーパラメータ
](#personalized-ranking-v2-hyperparameters)

## レシピ機能
<a name="personalized-ranking-v2-features"></a>

Personalized-Ranking-v2 は、アイテムをランク付けするときに次の Amazon Personalize レシピ機能を使用します。
+ リアルタイムのパーソナライゼーション — Amazon Personalize はリアルタイムのパーソナライゼーションを使用して、ユーザーの関心の高まりに応じてアイテムのレコメンデーションを更新および調整します。詳細については、「[リアルタイムパーソナライゼーション](use-case-recipe-features.md#about-real-time-personalization)」を参照してください。
+  レコメンデーションを含むメタデータ — Personalized-Ranking-v2 レシピでは、メタデータの列が 1 つ以上のアイテムデータセットがある場合、キャンペーンにはレコメンデーション結果にアイテムメタデータを含めるオプションが自動的にあるようになります。キャンペーンのメタデータを手動で有効にすることはできません。メタデータを使用して、映画のジャンルをカルーセルに追加するなど、ユーザーインターフェイスのレコメンデーションを充実させることができます。詳細については、「[レコメンデーションのアイテムメタデータ](campaigns.md#create-campaign-return-metadata)」を参照してください。

## 必須およびオプションのデータセット
<a name="personalized-ranking-v2-datasets"></a>

Personalized-Ranking-v2 を使用するには、アイテムインタラクションデータセットを作成し、少なくとも 1,000 個のアイテムインタラクションをインポートする必要があります。Amazon Personalize は、主にアイテムインタラクションデータに基づいてランキングを生成します。詳細については、「[アイテムインタラクションデータ](interactions-datasets.md)」を参照してください。Personalized-Ranking-v2 は、アイテムインタラクションとアイテムデータセット全体で最大 500 万のアイテムでトレーニングできます。

Personalized-Ranking-v2 を使用すると、Amazon Personalize は以下を含むアイテムインタラクションデータを使用できます。
+ イベントタイプとイベント値データ — Amazon Personalize は、クリックや視聴イベントタイプなどのイベントタイプデータを使用して、ユーザーの行動のあらゆるパターンを通じてユーザーの意図と関心を識別します。また、イベントタイプとイベント値データを使用して、トレーニング前にレコードをフィルタリングすることもできます。詳細については、「[イベントタイプとイベント値のデータ](interactions-datasets.md#event-type-and-event-value-data)」を参照してください。
**注記**  
Personalized-Ranking-v2 では、トレーニングコストは、イベントタイプまたは値でフィルタリングする前のインタラクションデータに基づいています。料金の詳細については、「[Amazon Personalize の料金表](https://aws.amazon.com/personalize/pricing/)」を参照してください。
+ コンテキストメタデータ — コンテキストメタデータは、場所やデバイスのタイプなど、イベント時にユーザーの環境で収集するインタラクションデータです。詳細については、「[コンテキストメタデータ](interactions-datasets.md#interactions-contextual-metadata)」を参照してください。

 次のデータセットはオプションであり、レコメンデーションを改善できます。
+ Users データセット — Amazon Personalize は、ユーザーとその関心についてよりよく理解するために、Users データセット内のデータを使用できます。Users データセットのデータを使用して、レコメンデーションをフィルタリングすることもできます。インポートできるユーザーデータについては、「[ユーザーメタデータ](users-datasets.md)」を参照してください。
+ Items データセット — Amazon Personalize は、Items データセット内のデータを使用して、アイテムの動作の関連性とパターンを識別します。これにより、Amazon Personalize はユーザーとその関心について理解しやすくなります。Items データセットのデータを使用して、アクションのレコメンデーションをフィルタリングすることもできます。インポートできるアイテムデータについては、「[アイテムメタデータ](items-datasets.md)」を参照してください。

## プロパティおよびハイパーパラメータ
<a name="personalized-ranking-v2-hyperparameters"></a>

Personalized-Ranking-v2 レシピには、次のプロパティがあります。
+  **名前** – `aws-personalized-ranking-v2`
+  **レシピ Amazon リソースネーム (ARN)** – `arn:aws:personalize:::recipe/aws-personalized-ranking-v2`
+  **アルゴリズム ARN** – `arn:aws:personalize:::algorithm/aws-personalized-ranking-v2`

詳細については、「[レシピの選択](working-with-predefined-recipes.md)」を参照してください。

以下の表では、Personalized-Ranking-v2 レシピのハイパーパラメータについて説明します。*ハイパーパラメータは*、モデルパフォーマンスを向上させるために調整できるアルゴリズムパラメータです。アルゴリズムのハイパーパラメータは、モデルの実行方法を制御します。ハイパーパラメータに最適な値を選択するプロセスは、ハイパーパラメータの最適化 (HPO) と呼ばれます。Personalized-Ranking-v2 では、自動トレーニングを有効にすると、Amazon Personalize は 90 日ごとに自動的に HPO を実行します。自動トレーニングなしでは、HPO は発生しません。

このテーブルには、各ハイパーパラメータに関する以下の情報が含まれています。
+ **範囲**: [下限、上限]
+ **値のタイプ**: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)


| 名前 | 説明 | 
| --- | --- | 
| アルゴリズムのハイパーパラメータ | 
| apply\$1recency\$1bias |  モデルがアイテムインタラクションデータセット内の最新のアイテムインタラクションデータにより多くの重みを与えるかどうかを決定します。最新のインタラクションデータには、インタラクションイベントの基盤となるパターンの突然の変化が含まれる場合があります。  最近のイベントにより多くの重みを置くモデルをトレーニングするには、`apply_recency_bias` を `true` に設定します。過去のすべてのインタラクションを均等に重み付けするモデルをトレーニングするには、`apply_recency_bias` を `false` に設定します。 デフォルト値: `true` 範囲: `true` または `false` 値の型: ブール値 HPO 調整可能: いいえ  | 

# Personalized-Ranking レシピ
<a name="native-recipe-search"></a>

**重要**  
[Personalized-Ranking-v2](native-recipe-personalized-ranking-v2.md) レシピを使用することをお勧めします。トレーニングを高速化して最大 500 万アイテムを検討し、レイテンシーを低くしてより正確なランキングを生成できます。

Personalized-Ranking レシピは、アイテムのパーソナライズされたランキングを生成します。*パーソナライズされたランキング*は、特定のユーザー向けに再ランク付けされた推奨アイテムのリストです。これは、検索結果、プロモーション、厳選されたリストなど、順序付けされたアイテムのコレクションがあり、ユーザーごとにパーソナライズされた再ランク付けを提供する場合に有益です。例えば、Amazon Personalize は [OpenSearch](personalize-opensearch.md) で生成した検索結果をパーソナライズランキングで再ランク付けできます。

モデルをトレーニングするために、Personalized-Ranking レシピは、アイテムインタラクションデータセットのデータを使用し、ユーザーがそれらを作成した場合は、データセットグループのアイテムデータセットと Users データセットを使用します (これらのデータセットはオプションです)。Personalized-Ranking を使用すると、Items データセットに [非構造化テキストメタデータ](items-datasets.md#text-data) を含めることができ、アイテムインタラクションデータセットに [コンテキストメタデータ](interactions-datasets.md#interactions-contextual-metadata) を含めることができます。パーソナライズされたランキングを取得するには、[GetPersonalizedRanking](API_RS_GetPersonalizedRanking.md) API を使用します。

 ソリューションバージョンを作成した後は、必ずソリューションバージョンとデータを最新の状態に保ってください。Personalized-Ranking では、Amazon Personalize の新しいソリューションバージョンを手動で作成 (モデルを再トレーニング) して、新しいアイテムをレコメンデーションの対象として考慮し、ユーザーの最新の行動でモデルを更新する必要があります。次に、ソリューションバージョンを使用してキャンペーンを更新する必要があります。詳細については、「[レコメンデーションの関連性の維持](maintaining-relevance.md)」を参照してください。

**注記**  
 ランキングのためにインタラクションデータを含まないアイテムを指定した場合、Amazon Personalize は、GetPersonalizedRanking API レスポンスでレコメンデーションスコアなしでこれらのアイテムを返します。

このレシピには以下のプロパティがあります。
+  **名前** – `aws-personalized-ranking`
+  **レシピ Amazon リソースネーム (ARN)** – `arn:aws:personalize:::recipe/aws-personalized-ranking`
+  **アルゴリズム ARN** – `arn:aws:personalize:::algorithm/aws-personalized-ranking`
+  **機能変換 ARN** – `arn:aws:personalize:::feature-transformation/JSON-percentile-filtering`
+  **レシピタイプ** – `PERSONALIZED_RANKING`

## ハイパーパラメータ
<a name="personalized-ranking-hyperparameters"></a>

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

このテーブルには、各ハイパーパラメータに関する以下の情報も含まれています。
+ **範囲**: [下限、上限]
+ **値のタイプ**: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)
+ **HPO 調整可能**: パラメータがハイパーパラメータ最適化 (HPO) に参加できますか?


| 名前 | 説明 | 
| --- | --- | 
| アルゴリズムのハイパーパラメータ | 
| hidden\$1dimension |  モデルで使用される非表示変数の数。*非表示の変数*は、ユーザーの購入履歴と商品統計を再作成して、ランキングスコアを生成します。アイテムインタラクションデータセットにより複雑なパターンが含まれている場合は、より多くの非表示ディメンションを指定します。使用する非表示のディメンションが多くなると、データセットが大きくなり、処理時間が長くなります。最適な値を決定するには、HPO を使用します。HPO を使用するには、`performHPO` オペレーション `true` とオペレーションを呼び出すときに [CreateSolution](API_CreateSolution.md) を [CreateSolutionVersion](API_CreateSolutionVersion.md) に設定します。 デフォルト値: 149 範囲: [32, 256] 値の型: 整数 HPO 調整可能: はい  | 
| bptt |  通し時間のバックプロパゲーションの手法を使用するかどうかを決定します。*通し時間のバックプロパゲーション*は、再帰的なニューラルネットワークベースのアルゴリズムの重みを更新する手法です。遅延報酬を早期イベントに接続するには、長期クレジットに `bptt` を使用します。例えば、遅延報酬には、数回のクリック後に行われる購入を指定できます。早期イベントは、最初のクリックにすることができます。クリックなどの同じイベントタイプ内であっても、長期的な効果を考慮し、合計報酬を最大化することをお勧めします。長期的な効果を考慮するには、より大きい `bptt` 値を使用します。大きな `bptt` 値を使用するには、より大きいデータセットと長い処理時間が必要です。 デフォルト値: 32 範囲: [2, 32] 値の型: 整数 HPO 調整可能: はい  | 
| recency\$1mask |  モデルがアイテムインタラクションデータセットの最新の人気傾向を考慮する必要があるかどうかを決定します。最新の人気トレンドには、インタラクションイベントの基盤となるパターンの突然の変化が含まれる可能性があります。最近のイベントにより多くの重みを置くモデルをトレーニングするには、`recency_mask` を `true` に設定します。過去のすべてのインタラクションを均等に重み付けするモデルをトレーニングするには、`recency_mask` を `false` に設定します。同じ重みを使用して適切なレコメンデーションを取得するには、より大きなトレーニングデータセットが必要になる場合があります。 デフォルト値: `True` 範囲: `True` または `False` 値の型: ブール値 HPO 調整可能: はい  | 
| 特徴化のハイパーパラメータ | 
| min\$1user\$1history\$1length\$1percentile |  モデルのトレーニングに含めるユーザー履歴の長さの最小パーセンタイル。*履歴の長さ* は、ユーザーに関するデータの合計量です。履歴の長さが短いある割合のユーザーを除外するには、`min_user_history_length_percentile` を使用します。履歴が短いユーザーは、多くの場合、ユーザーの個人的なニーズや希望ではなく、アイテムの人気に基づくパターンを表示します。それらを削除すると、データの基盤となるパターンに重点を置いてモデルをトレーニングできます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のユーザーを保持し、エッジケースを削除する値を設定することをお勧めします。  例えば、`min__user_history_length_percentile to 0.05` と `max_user_history_length_percentile to 0.95` を設定すると、履歴の長さが下位または上位 5% であるユーザーを除くすべてのユーザーが含まれます。 デフォルト値: 0.0 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: いいえ  | 
| max\$1user\$1history\$1length\$1percentile |  モデルのトレーニングに含めるユーザー履歴の長さの最大パーセンタイル。*履歴の長さ* は、ユーザーに関するデータの合計量です。`max_user_history_length_percentile` を使用して、ある割合の履歴の長さが長いユーザーを除外します。これらのユーザーのデータにはノイズが含まれる傾向があるためです。例えば、ロボットに自動化されたインタラクションの長いリストがあるとします。これらのユーザーを削除することで、トレーニングのノイズが制限されます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のユーザーを保持し、エッジケースを削除する値を設定することをお勧めします。 例えば、`min__user_history_length_percentile to 0.05` と `max_user_history_length_percentile to 0.95` を設定すると、履歴の長さが下位または上位 5% であるユーザーを除くすべてのユーザーが含まれます。 デフォルト値: 0.99 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: いいえ  | 

## Personalized-Ranking サンプルノートブック
<a name="personalized-ranking-sample-notebook"></a>

 Personalized-Ranking レシピの使用方法を示すサンプル Jupyter ノートブックについては、「[パーソナライズされたランキングの例](https://github.com/aws-samples/amazon-personalize-samples/blob/master/next_steps/core_use_cases/personalized_ranking/personalize_ranking_example.ipynb)」を参照してください。

# セマンティック類似レシピ
<a name="native-recipe-semantic-similarity"></a>

Semantic-Similarity レシピ (aws-semantic-similarity) は、テキストコンテンツに基づいて、特定のアイテムと意味的に類似したアイテムのレコメンデーションを生成します。ユーザーとアイテムのインタラクションに依存する従来の類似度レシピとは異なり、このレシピはアイテムのテキストの説明と属性を分析して埋め込みを生成し、意味的に類似したアイテムを識別します。

このレシピは、類似するテーマの本、関連トピックの記事、または類似する説明の製品のレコメンデーションなど、コンテンツの類似性に基づいてアイテムをレコメンデーションするシナリオに最適です。インタラクション履歴が限られている新しいアイテム (コールドスタートシナリオ) や、セマンティック関係が同時実行パターンよりも重要であるカタログに適しています。

Semantic-Similarity では、[GetRecommendations](https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html) オペレーション (または Amazon Personalize コンソール) で項目 ID を指定すると、Amazon Personalize は類似項目のリストを返します。または、バッチワークフローを使用して、インベントリ内のすべての項目の類似項目を取得することもできます ([「バッチ項目のレコメンデーションの取得](https://docs.aws.amazon.com/personalize/latest/dg/getting-batch-recommendations.html)」を参照）。

**Topics**
+ [

## レシピ機能
](#semantic-similarity-features)
+ [

## 必須およびオプションのデータセット
](#semantic-similarity-datasets)
+ [

## プロパティおよびハイパーパラメータ
](#semantic-similarity-hyperparameters)

## レシピ機能
<a name="semantic-similarity-features"></a>

Semantic-Similarity は、アイテムレコメンデーションを生成するときに次の Amazon Personalize レシピ機能を使用します。
+ リアルタイムのパーソナライゼーション – Semantic-Similarity レシピを使用すると、Amazon Personalize はアイテムカタログを自動的に最新の状態に保ちます。Items データセットに新しい項目を追加したり、既存の項目メタデータを更新したりすると、これらの変更は増分トレーニングを使用するときに約 30 分以内にレコメンデーションに反映されます。これにより、顧客は手動での介入や完全な再トレーニングサイクルを待つことなく、カタログで利用可能な最新のアイテムを常に確認できます。これは、ニュース記事、ブログ記事、季節性商品など、頻繁に変化するカタログに特に役立ちます。増分更新を有効にするには、お客様は以下を行う必要があります。
  + API `performIncrementalUpdate` のソリューション`true`の を に設定します。
  + UI の Training メソッドで「Full and Incremental training」または「Incremental training」オプションを選択します。

  増分更新を有効にすると、更新が実行されるたびに追加コストが発生することに注意してください。
+  レコメンデーションを含むメタデータ – Semantic-Similarity レシピを使用すると、キャンペーンにはレコメンデーション結果にアイテムメタデータを含めるオプションが自動的にあります。キャンペーンのメタデータを手動で有効にすることはできません。メタデータを使用して、映画のジャンルをカルーセルに追加するなど、ユーザーインターフェイスのレコメンデーションを充実させることができます。詳細については、「レ[コメンデーションのアイテムメタデータ](https://docs.aws.amazon.com/personalize/latest/dg/campaigns.html#create-campaign-return-metadata)」を参照してください。

## 必須およびオプションのデータセット
<a name="semantic-similarity-datasets"></a>

Semantic-Similarity レシピを使用するには、Items データセットを作成する必要があります。Amazon Personalize は、アイテムメタデータの意味論的意味に基づいてレコメンデーションを生成します。詳細については、[「アイテムメタデータ](https://docs.aws.amazon.com/personalize/latest/dg/items-datasets.html)」を参照してください。セマンティック類似度は、Items データセット内の最大 1,000 万個の項目でトレーニングできます。

セマンティック類似度では、Amazon Personalize には以下を含むアイテムデータが必要です。
+ itemName フィールド – を `itemName`に設定して 1 つの文字列フィールド`true`。このフィールドには、項目のタイトルまたは名前を含める必要があります。
+ テキスト説明フィールド – 項目の説明を含む としてマーク`textual`された文字列フィールドが少なくとも 1 つあります。これは、項目を最もよく説明および表すフィールドである必要があります。

Amazon Personalize は、このフィールドを使用して、アイテムの意味と内容をキャプチャするセマンティック埋め込みを生成します。

さらに、鮮度ベースのランキングを使用する場合は、予約済み CREATION\$1TIMESTAMP フィールドを設定する必要があります。詳細については、「[プロパティおよびハイパーパラメータ](#semantic-similarity-hyperparameters)」を参照してください。

 次のデータセットはオプションであり、レコメンデーションを改善できます。
+ インタラクションデータセット – Amazon Personalize は、インタラクションデータセット内のデータを使用して、アイテムに対するユーザーエンゲージメントに基づいて人気スコアを計算できます。人気スコアを使用して、類似アイテムがユーザー間でどの程度人気があるかをランク付けできます。人気ベースのランキングを使用する場合は、Interactions データセットを指定する必要があります。Interactions データセットのデータを使用してレコメンデーションをフィルタリングすることもできます。インポートできるインタラクションデータの詳細については、[「アイテムインタラクションデータ](https://docs.aws.amazon.com/personalize/latest/dg/interactions-datasets.html)」を参照してください。

## プロパティおよびハイパーパラメータ
<a name="semantic-similarity-hyperparameters"></a>

Semantic-Similarity レシピには、次のプロパティがあります。
+  **名前** – `aws-semantic-similarity`
+  **レシピ Amazon リソースネーム (ARN)** – `arn:aws:personalize:::recipe/aws-semantic-similarity`
+  **アルゴリズム ARN** – `arn:aws:personalize:::algorithm/aws-semantic-similarity`
+ **機能変換 ARN** – `arn:aws:personalize:::feature-transformation/aws-semantic-similarity`
+ **レシピタイプ** – `RELATED_ITEMS`

詳細については、「[レシピの選択](working-with-predefined-recipes.md)」を参照してください。

Semantic-Similarity レシピには公開されたハイパーパラメータはありませんが、類似アイテムのランキングに影響を与えるキャンペーンを作成するときに、人気と鮮度の要素を設定できます。

この表は、要素ごとに次の情報を提供します。
+ **範囲**: [下限、上限]
+ **値のタイプ**: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)


| 名前 | 説明 | 
| --- | --- | 
| Freshness |  鮮度係数は、アイテムの最新の状態を表します。鮮度は、CREATION\$1TIMESTAMP に基づいて項目の経過時間を正規化することで計算されます。鮮度係数を使用するには、アイテムデータセットスキーマに CREATION\$1TIMESTAMP フィールドを含める必要があります。鮮度係数の値が大きいほど、意味的に類似したレコメンデーションの中で新しいアイテムが優先されます。 デフォルト値: `0.0` 範囲: ` [0.0, 1.0]` 値タイプ: Double  | 
| 人気 |  人気要因は、ユーザーのインタラクションに基づくアイテムの人気度を表します。人気は、各項目が受信したインタラクションの数を正規化することによって計算されます。人気要素を使用するには、データセットグループを作成するときに Interactions データセットを含める必要があります。人気要因の値が高いほど、意味的に類似したレコメンデーション間で顧客とのやりとりが多いアイテムが優先されます。 デフォルト値: `0.0` 範囲: ` [0.0, 1.0]` 値タイプ: Double  | 

鮮度スコアと人気スコアはトレーニング時に計算され、増分更新では人気スコアと鮮度スコアは更新されないことに注意してください。推奨されるアイテムのランキングに影響を与える最新の人気要因と鮮度要因については、自動再トレーニングを使用するか、ソリューションを手動で再トレーニングして、新しいソリューションバージョンでキャンペーンを更新します。

# Similar-Items レシピ
<a name="native-recipe-similar-items"></a>

**注記**  
 RELATED\$1ITEMS レシピはすべてインタラクションデータを使用します。商品のメタデータもあり、Amazon Personalize で類似商品を検索できるようにしたい場合は、[Similar-Items ] を選択してください。または、モデルにさらにハイパーパラメータを設定したい場合は [SIMS の recipe](native-recipe-sims.md) を選択してください。

 Similar-Items (aws-similar-items) レシピは、指定したアイテムに類似するアイテムのレコメンデーションを生成します。Similar-Items を使用すると、顧客が以前の行動や商品メタデータに基づいてカタログ内の新しい商品を見つけやすくなります。類似アイテムを推奨することで、アプリケーションのユーザーエンゲージメント、クリックスルー率、およびコンバージョン率を高めることができます。

Similar-Items は、インタラクションデータとユーザーが提供するアイテムメタデータに基づいて類似度を計算します。インタラクションデータセットのユーザー履歴でアイテムの共起と、アイテムメタデータの類似性が考慮されます。例えば、Similar-Items を使用すると、Amazon Personalize は、顧客が類似のスタイル ([カテゴリ別メタデータ](items-datasets.md#item-categorical-data)) で頻繁に併せて購入するアイテムや、別のユーザーも視聴し、かつ、説明が類似する映画をレコメンドできます。

Similar-Items を使用して、[GetRecommendations](API_RS_GetRecommendations.md) 操作 (または Amazon Personalize コンソール) でアイテム ID を指定すると、Amazon Personalize は類似アイテムのリストを返します。または、バッチワークフローを使用して、在庫内のすべてのアイテムについて類似アイテムを取得できます (「[バッチアイテムのレコメンデーションの取得](getting-batch-recommendations.md)」を参照)。類似のアイテムが見つかったら、リクエストで指定したアイテムの属性に基づいてアイテムをフィルタリングできます。そのためには、`CurrentItem`.`attribute` 要素をフィルターに追加します。例については、[item data filter examples](item-recommendation-filter-examples.md#item-examples)を参照してください。

 Similar-Items を使用するには、少なくとも 1000 の一意の履歴インタラクションとイベントインタラクション (組み合わせ) を含むアイテムインタラクションデータセットを作成する必要があります。より正確な予測を行うには、アイテムデータセットを作成し、カタログ内のアイテムに関するメタデータをインポートすることもお勧めします。Similar-Items は、レコメンデーションを生成する際にユーザーデータセットのデータを使用しません。ユーザーデータセットのデータに基づいてレコメンデーションをフィルタリングすることはできます。詳細については、「[レコメンデーションとユーザーセグメントのフィルタリング](filter.md)」を参照してください。

 テキストデータとアイテムタイトルデータを含むアイテムデータセットがある場合は、関連するアイテムのテーマをバッチレコメンデーションで生成できます。詳細については、[Content Generator のテーマ付きバッチレコメンデーション](themed-batch-recommendations.md)を参照してください。

 コールドアイテム (インタラクションが 5 個未満のアイテム) に類似したアイテムについてのレコメンデーションを取得できます。Amazon Personalize がレコメンデーションリクエストまたはバッチ入力ファイルで指定したアイテム ID を見つけられない場合、レシピは人気のあるアイテムをレコメンデーションとして返します。

 ソリューションバージョンを作成した後は、必ずソリューションバージョンとデータを最新の状態に保ってください。Similar-Items では、Amazon Personalize の新しいソリューションバージョンを手動で作成 (モデルを再トレーニング) して、新しいアイテムをレコメンデーションの対象として考慮し、ユーザーの最新の行動でモデルを更新する必要があります。次に、ソリューションバージョンを使用してキャンペーンを更新する必要があります。詳細については、「[レコメンデーションの関連性の維持](maintaining-relevance.md)」を参照してください。

## プロパティおよびハイパーパラメータ
<a name="similar-items-hyperparameters"></a>

Similar-Items レシピには、次のプロパティがあります。
+  **名前** – `aws-similar-items`
+  **レシピ Amazon リソースネーム (ARN)** – `arn:aws:personalize:::recipe/aws-similar-items`
+  **アルゴリズム ARN** – `arn:aws:personalize:::algorithm/aws-similar-items`

詳細については、「[レシピの選択](working-with-predefined-recipes.md)」を参照してください。

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

このテーブルには、各ハイパーパラメータに関する以下の情報も含まれています。
+ **範囲**: [下限、上限]
+ **値のタイプ**: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)
+ **HPO 調整可能**: パラメータが HPO に参加できますか?


| 名前 | 説明 | 
| --- | --- | 
| アルゴリズムのハイパーパラメータ | 
| popularity\$1discount\$1factor |   人気がレコメンデーションにどのように影響するかを設定します。人気の高い商品を多く含めるには、0 に近い値を指定します。1 に近い値を指定すると、人気度があまり重視されなくなります。 デフォルト値: 0.0 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: いいえ  | 
| item\$1id\$1hidden\$1dim |  インタラクションデータに基づいてアイテム ID の埋め込みをモデル化するために Amazon Personalize が使用する隠れた変数の数。*非表示の変数*は、ユーザーの購入履歴と商品統計を再作成して、ランキングスコアを生成します。`item_id_hidden_dim` を使用するには、HPO を使用し、最小範囲と最大範囲の値を指定する必要があります。Amazon Personalize は、HPO を使用して、指定した範囲内で最適な値を見つけます。アイテムインタラクションデータセットが大きい場合は、より大きな最大値を指定します。最大値を大きくすると、処理に時間がかかります。  HPO を使用するには、[CreateSolution](API_CreateSolution.md) 操作を呼び出すときにに `performHPO` および `true` を設定します。 デフォルト値: 100 範囲: [30, 200] 値の型: 整数 HPO 調整可能: はい  | 
| item\$1metadata\$1hidden\$1dim |  Amazon Personalize がアイテムメタデータをモデル化するために使用する隠れた変数の数。`item_metadata_hidden_dim` を使用するには、HPO を使用し、最小範囲と最大範囲の値を指定する必要があります。Amazon Personalize は、HPO を使用して、指定した範囲内で最適な値を見つけます。アイテムインタラクションデータセットが大きい場合は、より大きな最大値を指定します。最大値を大きくすると、処理に時間がかかります。  HPO を使用するには、[CreateSolution](API_CreateSolution.md) 操作を呼び出すときにに `performHPO` および `true` を設定します。 デフォルト値: 100 範囲: [30, 200] 値の型: 整数 HPO 調整可能: はい  | 

# SIMS の recipe
<a name="native-recipe-sims"></a>

**注記**  
 RELATED\$1ITEMS レシピはすべてインタラクションデータを使用します。モデルにさらに多くのハイパーパラメータを設定したい場合は、SIMS を選択してください。商品のメタデータがあり、Amazon Personalize に類似商品の検索に使用させたい場合は、を選択してください。[Similar-Items レシピ](native-recipe-similar-items.md)

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

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

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

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

SIMS レシピには以下のプロパティがあります。
+  **名前** – `aws-sims`
+  **レシピ Amazon リソースネーム (ARN)** – `arn:aws:personalize:::recipe/aws-sims`
+  **アルゴリズム ARN** – `arn:aws:personalize:::algorithm/aws-sims`
+  **機能変換 ARN** – `arn:aws:personalize:::feature-transformation/sims`
+  **レシピタイプ** – `RELATED_ITEMS`

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

このテーブルには、各ハイパーパラメータに関する以下の情報も含まれています。
+ **範囲**: [下限、上限]
+ **値のタイプ**: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)
+ **HPO 調整可能**: パラメータがハイパーパラメータ最適化 (HPO) に参加できますか?


| 名前 | 説明 | 
| --- | --- | 
| アルゴリズムのハイパーパラメータ | 
| popularity\$1discount\$1factor |   人気がレコメンデーションにどのように影響するかを設定します。人気の高い商品を多く含めるには、0 に近い値を指定します。1 に近い値を指定すると、人気度があまり重視されなくなります。 デフォルト値: 0.5 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: はい  | 
| min\$1cointeraction\$1count |  アイテムのペア間の類似度を計算するために必要な同時インタラクションの最小数。例えば、値が `3` の場合、アルゴリズムで類似度を計算するためには、両方のアイテムとインタラクションを行った 3 人以上のユーザーが必要であることを意味します。 デフォルト値： 3 範囲: [0, 10] 値の型: 整数 HPO 調整可能: はい  | 
| 特徴化のハイパーパラメータ | 
| min\$1user\$1history\$1length\$1percentile |  モデルのトレーニングに含めるユーザー履歴の長さの最小パーセンタイル。*履歴の長さ*は、ユーザーに関して利用可能なデータの合計量です。履歴の長さが短いある割合のユーザーを除外するには、`min_user_history_length_percentile` を使用します。履歴が短いユーザーは、多くの場合、ユーザーの個人的なニーズや希望ではなく、アイテムの人気に基づくパターンを表示します。それらを削除すると、データの基盤となるパターンに重点を置いてモデルをトレーニングできます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のユーザーを保持し、エッジケースを削除する値を設定することをお勧めします。 デフォルト値: 0.005 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: いいえ  | 
| max\$1user\$1history\$1length\$1percentile |  モデルのトレーニングに含めるユーザー履歴の長さの最大パーセンタイル。履歴の長さは、ユーザーに関して利用可能なデータの合計量です。履歴の長さが長いある割合のユーザーを除外するには、`max_user_history_length_percentile` を使用します。長い歴史を持つユーザーは、ノイズを含む傾向があります。例えば、ロボットに自動化されたインタラクションの長いリストがあるとします。これらのユーザーを削除することで、トレーニングのノイズが制限されます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のユーザーを保持し、エッジケースを削除する値を設定することをお勧めします。 例えば、`min_hist_length_percentile = 0.05` と `max_hist_length_percentile = 0.95` には、履歴の長さが下位または上位 5% であるユーザーを除くすべてのユーザーが含まれます。 デフォルト値: 0.995 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: いいえ  | 
| min\$1item\$1interaction\$1count\$1percentile |  モデルのトレーニングに含めるアイテムのやり取りの最小パーセンタイル数。インタラクション履歴が短いアイテムの割合を除外するには、`min_item_interaction_count_percentile` を使用します。履歴が短いアイテムは、多くの場合、新しいアイテムです。それらを削除すると、既知の履歴を持つアイテムに重点を置いてモデルをトレーニングできます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のアイテムを保持し、エッジケースを削除する値を設定することをお勧めします。 デフォルト値: 0.01 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: いいえ  | 
| max\$1item\$1interaction\$1count\$1percentile |  モデルのトレーニングに含めるアイテムのやり取りの最大パーセンタイル数。インタラクション履歴が長いアイテムの割合を除外するには、`max_item_interaction_count_percentile` を使用します。履歴が長いアイテムは古い傾向があり、最新のものではなくなっている可能性があります。例えば、絶版になっている映画のリリースがあります。これらのアイテムを削除すると、より関連性の高いアイテムに重点を置くことができます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のアイテムを保持し、エッジケースを削除する値を設定することをお勧めします。 例えば、`min_item_interaction_count_percentile = 0.05` と `max_item_interaction_count_percentile = 0.95` には、インタラクションカウントが下位または上位 5% であるアイテムを除くすべてのアイテムが含まれます。 デフォルト値: 0.9 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: いいえ  | 

## SIMS サンプルノートブック
<a name="native-recipe-sims-more-info"></a>

SIMS レシピの使用方法を示す Jupyter ノートブックのサンプルについては、「[Finding similar items \$1 HPO](https://github.com/aws-samples/amazon-personalize-samples/blob/master/next_steps/core_use_cases/related_items/personalize_sims_example.ipynb)」を参照してください。

# Next-Best-Action レシピ
<a name="native-recipe-next-best-action"></a>

Next-Best-Action (aws-next-best-action) レシピは、ユーザーにとって次善のアクションのリアルタイムのレコメンデーションを生成します。ユーザーにとって次善のアクションは、ユーザーが実行する可能性が最も高いアクションです。例えば、ロイヤルティプログラムへの登録、アプリのダウンロード、クレジットカードの申請などです。

 Next-Best-Action を使用すると、ユーザーがアプリケーションを使用する際に、パーソナライズされたアクションのレコメンデーションを提供できます。ユーザーに適切なアクションを提案することにより、より多くのユーザーがアクションを実行できるようになります。推奨するアクションによっては、顧客のロイヤルティを高め、収益を増やし、アプリケーションのユーザーエクスペリエンスを向上させることができます。パーソナライズしたアクションのレコメンデーションが e コマースアプリケーションでどのように役立つかを説明するユースケース例については、「[ユースケースの例](#nba-use-case-example)」を参照してください。

 Amazon Personalize は、Actions データセットにインポートしたアクションから次善のアクションを予測します。アクションやアイテムとのやり取りに基づいて、ユーザーが実行する可能性が最も高いアクションを特定します。アクションデータにアクションの値が含まれている場合、Amazon Personalize はアクションの値を説明します。ユーザーが 2 つの異なるアクションを実行する可能性が同程度である場合、Amazon Personalize は値の大きい方のアクションを高くランク付けします。

ユーザーに対するリアルタイムのアクションレコメンデーションを取得すると、Amazon Personalize は、設定可能な期間 (`action optimization period`) 内にユーザーが実行する可能性が最も高いアクションのリストを返します。例えば、今後 14 日間にユーザーが実行する可能性が最も高いアクションなどです。リストは傾向スコアの降順でソートされます。このスコアは、ユーザーがアクションを実行する可能性を表します。

 アクションインタラクションデータをインポートするまで、Amazon Personalize はパーソナライズなしのアクションを推奨し、傾向スコアは 0.0 となります。アクションに次のものがあると、アクションにはスコアが表示されます。
+  TAKEN イベントタイプと少なくとも 50 回のアクションインタラクション。
+  NOT\$1TAKEN または VIEWED イベントタイプと少なくとも 50 回のアクションインタラクション。

これらのアクションインタラクションは、最新のソリューションバージョントレーニングに存在し、アクションインタラクションデータセットの最新のインタラクションタイムスタンプから 6 週間以内に発生する必要があります。

Next-Best-Action レシピが使用するデータの詳細については、「[必須およびオプションのデータセット](#nba-datasets)」を参照してください。

Next-Best-Action レシピを使用してソリューションを作成する場合、`action optimization period` 特微量化ハイパーパラメータを使用して Amazon Personalize がアクションを予測するときに使用する時間枠を設定できます。詳細については、「[プロパティおよびハイパーパラメータ](#nba-hyperparameters)」を参照してください。

**Topics**
+ [

## ユースケースの例
](#nba-use-case-example)
+ [

## レシピ機能
](#nba-recipe-features)
+ [

## 必須およびオプションのデータセット
](#nba-datasets)
+ [

## プロパティおよびハイパーパラメータ
](#nba-hyperparameters)

## ユースケースの例
<a name="nba-use-case-example"></a>

ユーザーに適切なアクションを提案することにより、より多くのユーザーがアクションを実行できるようになります。推奨するアクションによっては、顧客のロイヤルティを高め、収益を増やし、アプリケーションのユーザーエクスペリエンスを向上させることができる可能性があります。

例えば、次のさまざまなアクションを提案する e コマースアプリケーションがあるとします。
+ ロイヤルティプログラムのサブスクライブ
+ モバイルアプリのダウンロード
+ ジュエリーカテゴリで購入** 
+ ビューティーおよびグルーミングカテゴリで購入**

あなたのサイトで頻繁に買い物していて、ジュエリー、ビューティーおよびグルーミングの購入アクションを繰り返し行っているユーザーがいるかもしれません。****このユーザーの場合、Amazon Personalize のアクションのレコメンデーションとそのスコアには以下が含まれる可能性があります。
+ ロイヤルティプログラムのサブスクライブ

  傾向スコア - 1.00
+ ジュエリーカテゴリで購入**

  傾向スコア - 0.86
+ ビューティーおよびグルーミングカテゴリで購入**

  傾向スコア - 0.85

これらのアクションのレコメンデーションがあれば、ロイヤルティプログラムの登録をユーザーに促すことができます。このアクションは傾向スコアが最も高く、ユーザーが実行する可能性が最も高いアクションです。これは、ユーザーが頻繁にあなたの店舗で買い物し、ロイヤルティプログラムの特典を利用する可能性が高いためです。

## レシピ機能
<a name="nba-recipe-features"></a>

 Next-Best-Action レシピでは、アクションレコメンデーションを生成する際に以下の Amazon Personalize レシピ機能を使用します。
+ リアルタイムのパーソナライゼーション: Amazon Personalize はリアルタイムのパーソナライゼーションを使用して、ユーザーの関心の高まりに応じてアクションのレコメンデーションを更新および調整します。詳細については、「[リアルタイムパーソナライゼーション](use-case-recipe-features.md#about-real-time-personalization)」を参照してください。
+ 探索: 探索では、レコメンデーションには新しいアクションやインタラクションデータの少ないアクションが含まれます。探索の詳細については、「[探査](use-case-recipe-features.md#about-exploration)」を参照してください。
+ 自動更新: Amazon Personalize は自動更新を使用して、2 時間ごとに最新モデル (ソリューションバージョン) を自動的に更新し、探索を介し新しいアクションをレコメンデーションに含めます。詳細については、「[自動更新](use-case-recipe-features.md#automatic-updates)」を参照してください。

## 必須およびオプションのデータセット
<a name="nba-datasets"></a>

Next-Best-Action レシピを使用するには、以下のデータセットを作成する必要があります。
+ Actions: アクションに関するデータ (値など) を Amazon Personalize Actions データセットにインポートします。

   アクションデータでは、アクションごとに EXPIRATION\$1TIMESTAMP を指定できます。アクションの有効期限が切れている場合、Amazon Personalize はそのアクションをレコメンデーションに含めません。アクションごとに REPEAT\$1FREQUENCY を指定することもできます。これは、ユーザーがアクションを操作した後、Amazon Personalize がアクションを再度推奨するまでの待ち時間を示しています。Actions データセットに保存できるデータについては、「[アクションメタデータ](actions-datasets.md)」を参照してください。
+ アイテムインタラクション:アイテムインタラクションデータセットには、少なくとも 1000 件のアイテムインタラクションが必要です。Amazon Personalize はアイテムインタラクションを使用して、ユーザーの現在の状態と関心を把握します。アイテムインタラクションデータの詳細については、「[アイテムインタラクションデータ](interactions-datasets.md)」を参照してください。

 以下のデータセットはオプションです。
+ アクションインタラクションデータセット: アクションインタラクションは Actions データセット内のユーザーとアクションが関与するインタラクションです。**実行済み、未実行、表示済みのアクションインタラクションをインポートできます。このデータはオプションですが、高品質のレコメンデーションをするためにアクションインタラクションデータをインポートすることをお勧めします。アクションインタラクションデータがない場合は、[PutActionInteractions](API_UBS_PutActionInteractions.md) API オペレーションを使用して空のアクションインタラクションデータセットを作成し、顧客のアクションとのインタラクションを記録できます。

   アクションインタラクションデータをインポートするまで、Amazon Personalize はパーソナライズなしのアクションを推奨し、傾向スコアは 0.0 となります。アクションに次のものがあると、アクションにはスコアが表示されます。
  +  TAKEN イベントタイプと少なくとも 50 回のアクションインタラクション。
  +  NOT\$1TAKEN または VIEWED イベントタイプと少なくとも 50 回のアクションインタラクション。

  これらのアクションインタラクションは、最新のソリューションバージョントレーニングに存在し、アクションインタラクションデータセットの最新のインタラクションタイムスタンプから 6 週間以内に発生する必要があります。

   インポートできるアクションインタラクションデータについては、「[アクションインタラクションデータ](action-interactions-datasets.md)」を参照してください。アクションインタラクションイベントの記録については、「[リアルタイムのアクションインタラクションイベントの記録アクションインタラクションイベントの記録](recording-action-interaction-events.md)」を参照してください。
**注記**  
 Next-Best-Action では、Amazon Personalize は Action インタラクションデータセットのインプレッションデータやコンテキストメタデータを使用しません。
+ Users: Amazon Personalize は、ユーザーとその関心についてよりよく理解するために、Users データセット内のあらゆるデータを使用します。Users データセットのデータを使用して、アクションのレコメンデーションをフィルタリングすることもできます。インポートできるユーザーデータについては、「[ユーザーメタデータ](users-datasets.md)」を参照してください。
+ Items: Amazon Personalize は、アイテムデータセット内のデータをアイテムインタラクションデータセットと共に使用して、アイテムの動作の関連性とパターンを識別します。これにより、Amazon Personalize はユーザーとその関心について理解しやすくなります。インポートできるアイテムデータについては、「[アイテムメタデータ](items-datasets.md)」を参照してください。

## プロパティおよびハイパーパラメータ
<a name="nba-hyperparameters"></a>

Next-Best-Action レシピはハイパーパラメータ最適化をサポートしていません。Next-Best-Action レシピには、次のプロパティがあります。
+  **名前** – `aws-next-best-action`
+  **レシピ Amazon リソースネーム (ARN)** – `arn:aws:personalize:::recipe/aws-next-best-action`
+  **アルゴリズム ARN** – `arn:aws:personalize:::algorithm/aws-next-best-action`

次の表は、aws-next-best-action レシピの特微量化ハイパーパラメータを示しています。*ハイパーパラメータは*、モデルパフォーマンスを向上させるために調整できるアルゴリズムパラメータです。特徴化のハイパーパラメータは、トレーニングで使用するデータのフィルタリング方法を制御します。

このテーブルには、各ハイパーパラメータに関する以下の情報も含まれています。
+ **範囲**: [下限、上限]
+ **値のタイプ**: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)
+ **HPO 調整可能**: パラメータが HPO に参加できるかどうか


| 名前 | 説明 | 
| --- | --- | 
| 特徴化のハイパーパラメータ | 
| action\$1optimization\$1period |  Amazon Personalize がユーザーの次善のアクションを予測する際に使用する時間帯。例えば、今後 14 日間にユーザーが実行する可能性が最も高いアクションなどです。 アクションインタラクションデータがあまりない場合は、大きい値を指定します。どの値を指定すればよいかわからない場合は、デフォルトを使用してください。 デフォルト値: 14 範囲: [7, 28] 値の型: 整数 HPO 調整可能: いいえ  | 

# Item-Affinity レシピ
<a name="item-affinity-recipe"></a>

Item-Affinity (aws-item-affinity) レシピは、指定したアイテムごとにユーザーセグメント (ユーザーのグループ) を作成する USER\$1SEGMENTATION レシピです。これらは、Amazon Personalize が各アイテムとやり取りする可能性が最も高いと予測しているユーザーです。Item-Affinity を使用して、ユーザーの詳細を確認し、それぞれのユーザーセグメントに基づいてアクションを実行します。

例えば、カタログ内のアイテムに関するユーザーの嗜好に基づいて、小売アプリケーションのマーケティングキャンペーンを作成したい場合があります。Item-Affinity は、Interactions と Items のデータセットのデータに基づいて、各アイテムについてユーザーセグメントを作成します。これを使用して、アクション (アイテムのクリックやアイテムの購入など) を実行する可能性に基づいて、さまざまなアイテムをさまざまなユーザーセグメントにプロモーションできます。さまざまなユーザーの組み合わせに対する製品のクロスセリングや、採用可能性のある求人応募者の特定なども、他の用途の例として挙げることができます。

 アイテムに基づいてユーザーセグメントを取得するには、Item-Affinity レシピを使用してソリューションとソリューションバージョンを作成し、JSON 形式のアイテムのリストを Amazon S3 バケットに追加して、[バッチセグメントジョブ](creating-batch-seg-job.md)を作成します。Amazon Personalize は、各アイテムのユーザーセグメントを Amazon S3 の出力場所に出力します。入力データに対して、ユーザーセグメントを取得する最大 500 アイテムを設定できます。バッチセグメントジョブの入力データの準備については、「[バッチレコメンデーション用の入力データを準備します。](batch-data-upload.md)」を参照してください。

Item-Affinity を使用するには、アイテムインタラクションデータセットが必要です。アイテムデータセットとユーザーデータセットはオプションです。バッチセグメントジョブでユーザーセグメントを取得できます。詳細については、「[バッチユーザーセグメントの取得](getting-user-segments.md)」を参照してください。

ソリューションバージョンを作成した後は、必ずソリューションバージョンとデータを最新の状態に保ってください。Item-Affinity では、Amazon Personalize の新しいソリューションバージョンを作成して、ユーザーセグメントの新しいユーザーを考慮し、ユーザーの最新の行動でモデルを更新する必要があります。アイテムのユーザーセグメントを取得するには、ソリューションバージョンを作成したときにそのアイテムが存在している必要があります。

Item-Affinity レシピには、次のプロパティがあります。
+  **名前** – `aws-item-affinity`
+  **レシピ Amazon リソースネーム (ARN)** – `arn:aws:personalize:::recipe/aws-item-affinity`
+  **アルゴリズム ARN** – `arn:aws:personalize:::algorithm/aws-item-affinity`
+  **機能変換 ARN** – `arn:aws:personalize:::feature-transformation/item-affinity`
+  **レシピタイプ** – `USER_SEGMENTATION`

以下の表では、Item-Affinity レシピのハイパーパラメータを示しています。*ハイパーパラメータ*は、モデルパフォーマンスを向上させるために調整するアルゴリズムパラメータです。アルゴリズムのハイパーパラメータは、モデルの実行方法を制御します。Item-Affinity レシピでハイパーパラメータ最適化 (HPO) を使用することはできません。

このテーブルには、各ハイパーパラメータに関する以下の情報も含まれています。
+ **範囲**: [下限、上限]
+ **値のタイプ**: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)


| 名前 | 説明 | 
| --- | --- | 
| アルゴリズムのハイパーパラメータ | 
| hidden\$1dimension |  モデルで使用される非表示変数の数。*非表示の変数*は、ユーザーの購入履歴と商品統計を再作成して、ランキングスコアを生成します。インタラクションデータセットにより複雑なパターンが含まれている場合は、より多くの非表示ディメンションを指定します。使用する非表示のディメンションが多くなると、データセットが大きくなり、処理時間が長くなります。 デフォルト値: 149 範囲: [32, 256] 値の型: 整数  | 

# Item-Attribute-Affinity レシピ
<a name="item-attribute-affinity-recipe"></a>

Item-Attribute-Affinity (aws-item-attribute-affinity) レシピは、指定した各アイテム属性のユーザーセグメント (ユーザーのグループ) を作成する USER\$1SEGMENTATION レシピです。これらは、Amazon Personalize が特定の属性を持つ商品を操作する可能性が最も高いと予測しているユーザーです。Item-Attribute-Affinity を使用して、ユーザーの詳細を確認し、それぞれのユーザーセグメントに基づいてアクションを実行します。

例えば、カタログ内の靴の種類に関するユーザーの嗜好に基づいて、小売アプリケーションのマーケティングキャンペーンを作成したい場合があります。Item-Attribute-Affinity は、Interactions と Items のデータセットに含まれる靴の種類に基づく各データについてユーザーセグメントを作成します。これを使用して、アクション (靴のクリックや靴の購入など) を実行する可能性に基づいて、さまざまな靴をさまざまなユーザーセグメントにプロモーションできます。他の用途には、さまざまな映画ジャンルをさまざまなユーザーに宣伝したり、職種に基づいて採用可能性のある求人応募者を特定することなども、他の用途の例として挙げることができます。

 アイテム属性に基づいてユーザーセグメントを取得するには、Item-Attribute-Affinity レシピを使用してソリューションとソリューションバージョンを作成し、JSON 形式のアイテム属性のリストを Amazon S3 バケットに追加して、[バッチセグメントジョブ](creating-batch-seg-job.md)を作成します。Amazon Personalize は、各アイテムのユーザーセグメントを Amazon S3 の出力場所に出力します。入力データには最大 10 個のクエリを含めることができ、各クエリは 1 つ以上のアイテム属性です。バッチセグメントジョブの入力データの準備については、「[バッチレコメンデーション用の入力データを準備します。](batch-data-upload.md)」を参照してください。

Item-Attribute-Affinity を使用するには、アイテムインタラクションデータセットとアイテムデータセットが必要です。Items データセットには、テキストではなく、かつ、予約されていないメタデータ列である列が少なくとも 1 つ必要です。バッチセグメントジョブでユーザーセグメントを取得できます。詳細については、「[カスタムリソースを使用したバッチユーザーセグメントの取得](getting-user-segments.md)」を参照してください。

ソリューションバージョンを作成した後は、必ずソリューションバージョンとデータを最新の状態に保ってください。Item-Attribute-Affinity では、Amazon Personalize の新しいソリューションバージョンを作成して、ユーザーセグメントの新しいユーザーを考慮し、ユーザーの最新の行動でモデルを更新する必要があります。アイテム属性のユーザーセグメントを取得するには、ソリューションバージョンを作成したときにアイテム属性が存在している必要があります。

Item-Attribute-Affinity レシピには、次のプロパティがあります。
+  **名前** – `aws-item-attribute-affinity`
+  **レシピ Amazon リソースネーム (ARN)** – `arn:aws:personalize:::recipe/aws-item-attribute-affinity`
+  **アルゴリズム ARN** – `arn:aws:personalize:::algorithm/aws-item-attribute-affinity`
+  **機能変換 ARN** – `arn:aws:personalize:::feature-transformation/item-attribute-affinity`
+  **レシピタイプ** – `USER_SEGMENTATION`

次の表で、Item-Attribute-Affinity レシピのハイパーパラメータを示します。*ハイパーパラメータは*、モデルパフォーマンスを向上させるために調整できるアルゴリズムパラメータです。アルゴリズムのハイパーパラメータは、モデルの実行方法を制御します。Item-Attribute-Affinity レシピでハイパーパラメータ最適化 (HPO) を使用することはできません。

このテーブルには、各ハイパーパラメータに関する以下の情報も含まれています。
+ **範囲**: [下限、上限]
+ **値のタイプ**: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)


| 名前 | 説明 | 
| --- | --- | 
| アルゴリズムのハイパーパラメータ | 
| hidden\$1dimension |  モデルで使用される非表示変数の数。*非表示の変数*は、ユーザーの購入履歴と商品統計を再作成して、ランキングスコアを生成します。インタラクションデータセットにより複雑なパターンが含まれている場合は、より多くの非表示ディメンションを指定します。使用する非表示のディメンションが多くなると、データセットが大きくなり、処理時間が長くなります。 デフォルト値: 149 範囲: [32, 256] 値の型: 整数  | 

# レガシー HRNN レシピ
<a name="legacy-user-personalization-recipes"></a>

レガシー HRNN レシピは利用できなくなりました。このドキュメントは参照用です。

 レガシー HRNN レシピではなく、aws-user-personalizaton (User-Personalization) レシピを使用することをお勧めします。User-Personalization では、HRNN レシピによって提供される機能が改善および統合されています。詳細については、「[User-Personalization レシピ](native-recipe-new-item-USER_PERSONALIZATION.md)」を参照してください。

Amazon Personalize では、入力データの分析に基づいて、最適な階層的再帰型ニューラルネットワーク (HRNN) レシピが自動的に選択されるようにすることが可能です。このオプションは AutoML と呼ばれます。詳細については、「[AutoML を使用した HRNN レシピの選択 (API のみ)](training-solution-auto-ml.md)」を参照してください。

**Topics**
+ [

# AutoML を使用した HRNN レシピの選択 (API のみ)
](training-solution-auto-ml.md)
+ [

# HRNN レシピ (レガシー)
](native-recipe-hrnn.md)
+ [

# HRNN-Metadata レシピ (レガシー)
](native-recipe-hrnn-metadata.md)
+ [

# HRNN-Coldstart レシピ (レガシー)
](native-recipe-hrnn-coldstart.md)

# AutoML を使用した HRNN レシピの選択 (API のみ)
<a name="training-solution-auto-ml"></a>

Amazon Personalize では、入力データの分析に基づいて、最適な階層的再帰型ニューラルネットワーク (HRNN) レシピが自動的に選択されるようにすることが可能です。このオプションは AutoML と呼ばれます。AutoML を実行するには、[CreateSolution](API_CreateSolution.md) API を呼び出すときに `performAutoML` パラメータを `true` に設定します。

指定したメトリクスに基づいて最適なレシピを決定するために、Amazon Personalize で検討するレシピのリストを指定することもできます。この場合は、`CreateSolution` 操作を呼び出し、`performAutoML` パラメータに `true` を指定します。`recipeArn` パラメータは省略します。`solutionConfig` パラメータを含め、`autoMLConfig` オブジェクトの一部として `metricName` と `recipeList` を指定します。

次の表に、レシピの選択方法を示します。`performAutoML` または `recipeArn` のどちらかを指定する必要があります。両方を指定することはできません。AutoML は HRNN レシピを使用時のみに実行されます。


| performAutoML | recipeArn | solutionConfig | 結果 | 
| --- | --- | --- | --- | 
| true | 省略 | 省略 | Amazon Personalize がレシピを選択します | 
| true | 省略 | autoMLConfig: metricName および recipeList を指定 | Amazon Personalize は、メトリクスを最適化するレシピをリストから選択します | 
| 省略 | 指定 | 省略 | 自分でレシピを選択する | 
| 省略 | 指定 | 指定 | 自分でレシピを指定して、デフォルトのトレーニングプロパティを上書きする | 

**注記**  
`performAutoML` が `true` の場合、`solutionConfig` オブジェクトのパラメータはすべて無視されます (`autoMLConfig` を除く)。

# HRNN レシピ (レガシー)
<a name="native-recipe-hrnn"></a>

**注記**  
レガシー HRNN レシピは利用できなくなりました。このドキュメントは参照用です。  
 レガシー HRNN レシピではなく、aws-user-personalizaton (User-Personalization) レシピを使用することをお勧めします。User-Personalization では、HRNN レシピによって提供される機能が改善および統合されています。詳細については、「[User-Personalization レシピ](native-recipe-new-item-USER_PERSONALIZATION.md)」を参照してください。

Amazon Personalize 階層的再帰型ニューラルネットワーク (HRNN) レシピでは、セッション中にレコメンデーションを提供するために、ユーザーの行動の変化をモデル化します。セッションとは、例えば、必要を満たすために特定のアイテムを見つけることを目的とする、特定の期間内の一連のユーザーインタラクションです。ユーザーの最近のインタラクションの重み付けを高くすることで、セッション中により関連性の高いレコメンデーションを提供できます。

HRNN は、時間の経過とともに変化する可能性がある、ユーザーのインテントや関心に対応します。また、順序付けられたユーザー履歴を取得し、自動的に重み付けして推論を改善します。HRNN は、ゲート機構を使用して減損の重みをアイテムとタイムスタンプの学習可能な関数としてモデル化します。

Amazon Personalize は、データセットから各ユーザーの特徴を派生させます。リアルタイムのデータ統合を完了している場合、これらの特徴はユーザーアクティビティに応じてリアルタイムで更新されます。レコメンデーションを取得するには、`USER_ID` のみを指定します 。`ITEM_ID` も指定すると、Amazon Personalize はそれを無視します。

HRNN レシピには以下のプロパティがあります。
+  **名前** – `aws-hrnn`
+  **レシピ Amazon リソースネーム (ARN)** – `arn:aws:personalize:::recipe/aws-hrnn`
+  **アルゴリズム ARN** – `arn:aws:personalize:::algorithm/aws-hrnn`
+  **機能変換 ARN** – `arn:aws:personalize:::feature-transformation/JSON-percentile-filtering`
+  **レシピタイプ** – `USER_PERSONALIZATION`

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

このテーブルには、各ハイパーパラメータに関する以下の情報も含まれています。
+ **範囲**: [下限、上限]
+ **値のタイプ**: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)
+ **HPO 調整可能**: パラメータが HPO に参加できますか?


| 名前 | 説明 | 
| --- | --- | 
| アルゴリズムのハイパーパラメータ | 
| hidden\$1dimension |  モデルで使用される非表示変数の数。*非表示の変数*は、ユーザーの購入履歴と商品統計を再作成して、ランキングスコアを生成します。アイテムインタラクションデータセットにより複雑なパターンが含まれている場合は、より多くの非表示ディメンションを指定します。使用する非表示のディメンションが多くなると、データセットが大きくなり、処理時間が長くなります。最適な値を決定するには、HPO を使用します。HPO を使用するには、`performHPO` オペレーション `true` とオペレーションを呼び出すときに [CreateSolution](API_CreateSolution.md) を [CreateSolutionVersion](API_CreateSolutionVersion.md) に設定します。 デフォルト値: 43 範囲: [32, 256] 値の型: 整数 HPO 調整可能: はい  | 
| bptt |  通し時間のバックプロパゲーションの手法を使用するかどうかを決定します。*通し時間のバックプロパゲーション*は、再帰的なニューラルネットワークベースのアルゴリズムの重みを更新する手法です。遅延報酬を早期イベントに接続するには、長期クレジットに `bptt` を使用します。例えば、遅延報酬には、数回のクリック後に行われる購入を指定できます。早期イベントは、最初のクリックにすることができます。クリックなどの同じイベントタイプ内であっても、長期的な効果を考慮し、合計報酬を最大化することをお勧めします。長期的な効果を考慮するには、より大きい `bptt` 値を使用します。大きな `bptt` 値を使用するには、より大きいデータセットと長い処理時間が必要です。 デフォルト値: 32 範囲: [2, 32] 値の型: 整数 HPO 調整可能: はい  | 
| recency\$1mask |  モデルがアイテムインタラクションデータセットの最新の人気傾向を考慮する必要があるかどうかを決定します。最新の人気トレンドには、インタラクションイベントの基盤となるパターンの突然の変化が含まれる可能性があります。最近のイベントにより多くの重みを置くモデルをトレーニングするには、`recency_mask` を `true` に設定します。過去のすべてのインタラクションを均等に重み付けするモデルをトレーニングするには、`recency_mask` を `false` に設定します。同じ重みを使用して適切なレコメンデーションを取得するには、より大きなトレーニングデータセットが必要になる場合があります。 デフォルト値: `True` 範囲: `True` または `False` 値の型: ブール値 HPO 調整可能: はい  | 
| 特徴化のハイパーパラメータ | 
| min\$1user\$1history\$1length\$1percentile |  モデルのトレーニングに含めるユーザー履歴の長さの最小パーセンタイル。*履歴の長さ* は、ユーザーに関するデータの合計量です。履歴の長さが短いある割合のユーザーを除外するには、`min_user_history_length_percentile` を使用します。履歴が短いユーザーは、多くの場合、ユーザーの個人的なニーズや希望ではなく、アイテムの人気に基づくパターンを表示します。それらを削除すると、データの基盤となるパターンに重点を置いてモデルをトレーニングできます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のユーザーを保持し、エッジケースを削除する値を設定することをお勧めします。  例えば、`min__user_history_length_percentile to 0.05` と `max_user_history_length_percentile to 0.95` を設定すると、履歴の長さが下位または上位 5% であるユーザーを除くすべてのユーザーが含まれます。 デフォルト値: 0.0 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: いいえ  | 
| max\$1user\$1history\$1length\$1percentile |  モデルのトレーニングに含めるユーザー履歴の長さの最大パーセンタイル。*履歴の長さ* は、ユーザーに関するデータの合計量です。`max_user_history_length_percentile` を使用して、ある割合の履歴の長さが長いユーザーを除外します。これらのユーザーのデータにはノイズが含まれる傾向があるためです。例えば、ロボットに自動化されたインタラクションの長いリストがあるとします。これらのユーザーを削除することで、トレーニングのノイズが制限されます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のユーザーを保持し、エッジケースを削除する値を設定することをお勧めします。 例えば、`min__user_history_length_percentile to 0.05` と `max_user_history_length_percentile to 0.95` を設定すると、履歴の長さが下位または上位 5% であるユーザーを除くすべてのユーザーが含まれます。 デフォルト値: 0.99 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: いいえ  | 

# HRNN-Metadata レシピ (レガシー)
<a name="native-recipe-hrnn-metadata"></a>

**注記**  
レガシー HRNN レシピは利用できなくなりました。このドキュメントは参照用です。  
 レガシー HRNN レシピではなく、aws-user-personalizaton (User-Personalization) レシピを使用することをお勧めします。User-Personalization では、HRNN レシピによって提供される機能が改善および統合されています。詳細については、「[User-Personalization レシピ](native-recipe-new-item-USER_PERSONALIZATION.md)」を参照してください。

HRNN- メタデータレシピは、ユーザーがやり取りするアイテムを予測します。[HRNN](native-recipe-hrnn.md) レシピに類似していますが、コンテキスト、ユーザー、アイテムのメタデータ (それぞれソースは、インタラクション、ユーザー、アイテムのデータセット) から派生した追加の特徴を含みます。高品質なメタデータを使用できる場合、HRNN-Metadata は非メタデータモデルよりも結果が正確になります。このレシピを使用するには、より長いトレーニング時間が必要になる場合があります。

HRNN-Metadata レシピには以下のプロパティがあります。
+  **名前** – `aws-hrnn-metadata`
+  **レシピ Amazon リソースネーム (ARN)** – `arn:aws:personalize:::recipe/aws-hrnn-metadata`
+  **アルゴリズム ARN** – `arn:aws:personalize:::algorithm/aws-hrnn-metadata`
+  **機能変換 ARN** – `arn:aws:personalize:::feature-transformation/featurize_metadata`
+  **レシピタイプ** – `USER_PERSONALIZATION`

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

このテーブルには、各ハイパーパラメータに関する以下の情報も含まれています。
+ **範囲**: [下限、上限]
+ **値のタイプ**: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)
+ **HPO 調整可能**: パラメータがハイパーパラメータ最適化 (HPO) に参加できますか?


| 名前 | 説明 | 
| --- | --- | 
| アルゴリズムのハイパーパラメータ | 
| hidden\$1dimension |  モデルで使用される非表示変数の数。*非表示の変数*は、ユーザーの購入履歴と商品統計を再作成して、ランキングスコアを生成します。アイテムインタラクションデータセットにより複雑なパターンが含まれている場合は、より多くの非表示ディメンションを指定します。使用する非表示のディメンションが多くなると、データセットが大きくなり、処理時間が長くなります。最適な値を決定するには、HPO を使用します。HPO を使用するには、`performHPO` オペレーション `true` とオペレーションを呼び出すときに [CreateSolution](API_CreateSolution.md) を [CreateSolutionVersion](API_CreateSolutionVersion.md) に設定します。 デフォルト値: 43 範囲: [32, 256] 値の型: 整数 HPO 調整可能: はい  | 
| bptt |  通し時間のバックプロパゲーションの手法を使用するかどうかを決定します。*通し時間のバックプロパゲーション*は、再帰的なニューラルネットワークベースのアルゴリズムの重みを更新する手法です。遅延報酬を早期イベントに接続するには、長期クレジットに `bptt` を使用します。例えば、遅延報酬には、数回のクリック後に行われる購入を指定できます。早期イベントは、最初のクリックにすることができます。クリックなどの同じイベントタイプ内であっても、長期的な効果を考慮し、合計報酬を最大化することをお勧めします。長期的な効果を考慮するには、より大きい `bptt` 値を使用します。大きな `bptt` 値を使用するには、より大きいデータセットと長い処理時間が必要です。 デフォルト値: 32 範囲: [2, 32] 値の型: 整数 HPO 調整可能: はい  | 
| recency\$1mask |  モデルがアイテムインタラクションデータセットの最新の人気傾向を考慮する必要があるかどうかを決定します。最新の人気トレンドには、インタラクションイベントの基盤となるパターンの突然の変化が含まれる可能性があります。最近のイベントにより多くの重みを置くモデルをトレーニングするには、`recency_mask` を `true` に設定します。過去のすべてのインタラクションを均等に重み付けするモデルをトレーニングするには、`recency_mask` を `false` に設定します。同じ重みを使用して適切なレコメンデーションを取得するには、より大きなトレーニングデータセットが必要になる場合があります。 デフォルト値: `True` 範囲: `True` または `False` 値の型: ブール値 HPO 調整可能: はい  | 
| 特徴化のハイパーパラメータ | 
| min\$1user\$1history\$1length\$1percentile |  モデルのトレーニングに含めるユーザー履歴の長さの最小パーセンタイル。*履歴の長さ* は、ユーザーに関するデータの合計量です。履歴の長さが短いある割合のユーザーを除外するには、`min_user_history_length_percentile` を使用します。履歴が短いユーザーは、多くの場合、ユーザーの個人的なニーズや希望ではなく、アイテムの人気に基づくパターンを表示します。それらを削除すると、データの基盤となるパターンに重点を置いてモデルをトレーニングできます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のユーザーを保持し、エッジケースを削除する値を設定することをお勧めします。  例えば、`min__user_history_length_percentile to 0.05` と `max_user_history_length_percentile to 0.95` を設定すると、履歴の長さが下位または上位 5% であるユーザーを除くすべてのユーザーが含まれます。 デフォルト値: 0.0 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: いいえ  | 
| max\$1user\$1history\$1length\$1percentile |  モデルのトレーニングに含めるユーザー履歴の長さの最大パーセンタイル。*履歴の長さ* は、ユーザーに関するデータの合計量です。`max_user_history_length_percentile` を使用して、ある割合の履歴の長さが長いユーザーを除外します。これらのユーザーのデータにはノイズが含まれる傾向があるためです。例えば、ロボットに自動化されたインタラクションの長いリストがあるとします。これらのユーザーを削除することで、トレーニングのノイズが制限されます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のユーザーを保持し、エッジケースを削除する値を設定することをお勧めします。 例えば、`min__user_history_length_percentile to 0.05` と `max_user_history_length_percentile to 0.95` を設定すると、履歴の長さが下位または上位 5% であるユーザーを除くすべてのユーザーが含まれます。 デフォルト値: 0.99 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: いいえ  | 

# HRNN-Coldstart レシピ (レガシー)
<a name="native-recipe-hrnn-coldstart"></a>

**注記**  
レガシー HRNN レシピは利用できなくなりました。このドキュメントは参照用です。  
 レガシー HRNN レシピではなく、aws-user-personalizaton (User-Personalization) レシピを使用することをお勧めします。User-Personalization では、HRNN レシピによって提供される機能が改善および統合されています。詳細については、「[User-Personalization レシピ](native-recipe-new-item-USER_PERSONALIZATION.md)」を参照してください。

HRNN-Coldstart レシピを使用して、ユーザーがやり取りするアイテムを予測するのは、新しいアイテムとインタラクションを頻繁に追加し、それらのアイテムのレコメンデーションをすぐに取得する必要がある場合です。HRNN-Coldstart レシピは [HRNN-Metadata](native-recipe-hrnn-metadata.md) レシピに似ていますが、新しいアイテムのレコメンデーションを取得できます。

さらに、最近の人気傾向のためや、インタラクションが非常にまれでトレーニングのノイズである可能性があるために、インタラクションのリストが長くなっているアイテムをトレーニングアイテムから除外する場合にも、HRNN-Coldstart レシピを使用できます。HRNN-Coldstart を使用すると、関連性の低いアイテムを除外して、トレーニング用のサブセットを作成できます。このようなアイテムのサブセットはコールドアイテムと呼ばれ、関連するインタラクションイベントがアイテムインタラクションデータセットに含まれています。**以下の条件に該当する場合、そのアイテムはコールドアイテムとみなされます。
+ 指定された最大インタラクション数よりインタラクションが少ない。この値は、レシピの `cold_start_max_interactions` ハイパーパラメータで指定します。
+ 最大期間よりも短い相対期間。この値は、レシピの `cold_start_max_duration` ハイパーパラメータで指定します。

コールドアイテムの数を減らすには、[`cold_start_max_interactions`] または [`cold_start_max_duration`] に低い値を設定します。コールドアイテムの数を増やすには、[`cold_start_max_interactions`] または [`cold_start_max_duration`] に大きな値を設定します。



HRNN-Coldstart には以下のコールドアイテムの制限があります。
+ `Maximum cold start items`: 80,000
+ `Minimum cold start items`: 100

コールドアイテムの数がこの範囲外の場合、ソリューション作成の試みは失敗します。

HRNN-Coldstart レシピには以下のプロパティがあります。
+  **名前** – `aws-hrnn-coldstart`
+  **レシピ Amazon リソースネーム (ARN)** – `arn:aws:personalize:::recipe/aws-hrnn-coldstart`
+  **アルゴリズム ARN** – `arn:aws:personalize:::algorithm/aws-hrnn-coldstart`
+  **機能変換 ARN** – `arn:aws:personalize:::feature-transformation/featurize_coldstart`
+  **レシピタイプ** – `USER_PERSONALIZATION`

詳細については、「[レシピの選択](working-with-predefined-recipes.md)」を参照してください。

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

このテーブルには、各ハイパーパラメータに関する以下の情報も含まれています。
+ **範囲**: [下限、上限]
+ **値のタイプ**: 整数、連続 (浮動小数点)、カテゴリ別 (ブール値、リスト、文字列)
+ **HPO 調整可能**: パラメータが HPO に参加できますか?


| 名前 | 説明 | 
| --- | --- | 
| アルゴリズムのハイパーパラメータ | 
| hidden\$1dimension | モデルで使用される非表示変数の数。*非表示の変数*は、ユーザーの購入履歴と商品統計を再作成して、ランキングスコアを生成します。アイテムインタラクションデータセットにより複雑なパターンが含まれている場合は、より多くの非表示ディメンションを指定します。使用する非表示のディメンションが多くなると、データセットが大きくなり、処理時間が長くなります。最適な値を決定するには、HPO を使用します。HPO を使用するには、`performHPO` オペレーション `true` とオペレーションを呼び出すときに [CreateSolution](API_CreateSolution.md) を [CreateSolutionVersion](API_CreateSolutionVersion.md) に設定します。 デフォルト値: 149 範囲: [32, 256] 値の型: 整数 HPO 調整可能: はい  | 
| bptt | 通し時間のバックプロパゲーションの手法を使用するかどうかを決定します。*通し時間のバックプロパゲーション*は、再帰的なニューラルネットワークベースのアルゴリズムの重みを更新する手法です。遅延報酬を早期イベントに接続するには、長期クレジットに `bptt` を使用します。例えば、遅延報酬には、数回のクリック後に行われる購入を指定できます。早期イベントは、最初のクリックにすることができます。クリックなどの同じイベントタイプ内であっても、長期的な効果を考慮し、合計報酬を最大化することをお勧めします。長期的な効果を考慮するには、より大きい `bptt` 値を使用します。大きな `bptt` 値を使用するには、より大きいデータセットと長い処理時間が必要です。 デフォルト値: 32 範囲: [2, 32] 値の型: 整数 HPO 調整可能: はい  | 
| recency\$1mask |  モデルがアイテムインタラクションデータセットの最新の人気傾向を考慮する必要があるかどうかを決定します。最新の人気トレンドには、インタラクションイベントの基盤となるパターンの突然の変化が含まれる可能性があります。最近のイベントにより多くの重みを置くモデルをトレーニングするには、`recency_mask` を `true` に設定します。過去のすべてのインタラクションを均等に重み付けするモデルをトレーニングするには、`recency_mask` を `false` に設定します。同じ重みを使用して適切なレコメンデーションを取得するには、より大きなトレーニングデータセットが必要になる場合があります。 デフォルト値: `True` 範囲: `True` または `False` 値の型: ブール値 HPO 調整可能: はい  | 
| 特徴化のハイパーパラメータ | 
| cold\$1start\$1max\$1interactions |  アイテムをコールドアイテムとみなすことができるユーザーアイテムインタラクションの最大数。 デフォルト値: 15 範囲: 正の整数 値の型: 整数 HPO 調整可能: いいえ  | 
| cold\$1start\$1max\$1duration | コールドスタートアイテムとみなされるユーザーアイテムインタラクションの開始点からの最大日数。ユーザーアイテムインタラクションの開始点を設定するには、[`cold_start_relative_from`] ハイパーパラメータを設定します。 デフォルト値: 5.0 範囲: 正の浮動小数点 値の型: 浮動小数点 HPO 調整可能: いいえ  | 
| cold\$1start\$1relative\$1from |  HRNN-Coldstart レシピによる `cold_start_max_duration` の計算開始点を決定します。現在の時刻から計算するには、`currentTime` を選択します。 アイテムインタラクションデータセットの最新のアイテムのタイムスタンプから `cold_start_max_duration` を計算するには、`latestItem` を選択します。この設定は、新しいアイテムを頻繁に追加する場合に便利です。 デフォルト値: `latestItem` 範囲: `currentTime`、`latestItem` 値の型: 文字列 HPO 調整可能: いいえ  | 
| min\$1user\$1history\$1length\$1percentile |  モデルのトレーニングに含めるユーザー履歴の長さの最小パーセンタイル。*履歴の長さ* は、ユーザーに関するデータの合計量です。履歴の長さが短いある割合のユーザーを除外するには、`min_user_history_length_percentile` を使用します。履歴が短いユーザーは、多くの場合、ユーザーの個人的なニーズや希望ではなく、アイテムの人気に基づくパターンを表示します。それらを削除すると、データの基盤となるパターンに重点を置いてモデルをトレーニングできます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のユーザーを保持し、エッジケースを削除する値を設定することをお勧めします。  例えば、`min__user_history_length_percentile to 0.05` と `max_user_history_length_percentile to 0.95` を設定すると、履歴の長さが下位または上位 5% であるユーザーを除くすべてのユーザーが含まれます。 デフォルト値: 0.0 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: いいえ  | 
| max\$1user\$1history\$1length\$1percentile |  モデルのトレーニングに含めるユーザー履歴の長さの最大パーセンタイル。*履歴の長さ* は、ユーザーに関するデータの合計量です。`max_user_history_length_percentile` を使用して、ある割合の履歴の長さが長いユーザーを除外します。これらのユーザーのデータにはノイズが含まれる傾向があるためです。例えば、ロボットに自動化されたインタラクションの長いリストがあるとします。これらのユーザーを削除することで、トレーニングのノイズが制限されます。ヒストグラムまたは同様のツールを使用して、ユーザー履歴の長さを確認した後で適切な値を選択します。大部分のユーザーを保持し、エッジケースを削除する値を設定することをお勧めします。 例えば、`min__user_history_length_percentile to 0.05` と `max_user_history_length_percentile to 0.95` を設定すると、履歴の長さが下位または上位 5% であるユーザーを除くすべてのユーザーが含まれます。 デフォルト値: 0.99 範囲: [0.0, 1.0] 値の型: 浮動小数点 HPO 調整可能: いいえ  | 