

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

# コンテキストメタデータを使用したレコメンデーションの関連性の向上
<a name="contextual-metadata"></a>

レコメンデーションの関連性を高めるには、アイテムレコメンデーションを取得したり、パーソナライズされたランキングを取得したりするときに、デバイスの種類や時刻など、ユーザーのコンテキストメタデータを含めます。

コンテキストメタデータを使用するには、アイテムインタラクションデータセットのスキーマにコンテキストデータのメタデータフィールドが必要です。例えば、DEVICE フィールド (「[Amazon Personalize スキーマのスキーマ JSON ファイルの作成](how-it-works-dataset-schema.md)」を参照)。コンテキストメタデータに使用するフィールドを検討するときは、アイテムインタラクションデータセットの履歴データに値を利用できるフィールドを選択し、アイテムのレコメンデーションを取得したり、アイテムのパーソナライズされたランキングを取得したりできます。

ドメインデータセットグループでは、以下のレコメンダーユースケースでコンテキストメタデータを使用できます。
+ [おすすめ](ECOMMERCE-use-cases.md#recommended-for-you-use-case) (eコマースドメイン)
+ [上位のおすすめ](VIDEO_ON_DEMAND-use-cases.md#top-picks-use-case) (VIDEO\_ON\_DEMAND ドメイン)

 カスタムリソースについては、コンテキストメタデータを使用するレシピには次のものが含まれます。
+  [User-Personalization-v2](native-recipe-user-personalization-v2.md) および [User-Personalization](native-recipe-new-item-USER_PERSONALIZATION.md) 
+  [Personalized-Ranking-v2](native-recipe-personalized-ranking-v2.md) および [Personalized-Ranking](native-recipe-search.md)

 コンテキスト情報の詳細については、AWSMachine Learning ブログ記事[「コンテキスト情報を活用して Amazon Personalize レコメンデーションの関連性を高める](https://aws.amazon.com/blogs/machine-learning/increasing-the-relevance-of-your-amazon-personalize-recommendations-by-leveraging-contextual-information/)」を参照してください。

Amazon Personalize コンソール、AWS Command Line Interface(AWS CLI)、または AWSSDKs を使用して、コンテキストメタデータを含むレコメンデーションを取得できます。

## コンテキストメタデータを使用したレコメンデーションの取得 (AWSPython SDK)
<a name="get-recommendations-metadata-sdk-example"></a>

レコメンデーションの関連性を高めるには、アイテムレコメンデーションを取得したり、パーソナライズされたランキングを取得したりするときに、デバイスの種類や時刻など、ユーザーのコンテキストメタデータを含めます。

次のコードを使用して、コンテキストメタデータに基づいてレコメンデーションを取得します。`context` については、キーバリューペアごとに、メタデータフィールドをキーとして指定し、コンテキストデータを値として指定します。次のサンプルコードでは、キーは `DEVICE` で、値は `mobile phone` です。これらの値と `Campaign ARN` および `User ID` を、独自の値に置き換えます。レコメンダーを作成した場合は、`campaignArn` を `recommenderArn` に置き換えます。ユーザーへの推奨アイテムのリストが表示されます。

```
import boto3

personalizeRt = boto3.client('personalize-runtime')

response = personalizeRt.get_recommendations(
    campaignArn = '{{Campaign ARN}}',
    userId = '{{User ID}}',
    context = {
      '{{DEVICE}}': '{{mobile phone}}'
    }
)

print("Recommended items")
for item in response['itemList']:
    print (item['itemId'])
```