

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 利用上下文元数据提高建议的相关性
<a name="contextual-metadata"></a>

要提高建议相关性，请在获得物品建议或获得个性化排名时添加用户的上下文元数据，例如他们的设备类型或一天中的时间。

要使用上下文元数据，项目交互数据集的架构必须具有上下文数据的元数据字段。例如，DEVICE 字段（请参阅[为 Amazon Personalize 架构创建架构 JSON 文件](how-it-works-dataset-schema.md)）。在考虑用于上下文元数据的字段时，请选择项目交互数据集中历史数据可用值的字段，以及何时获得项目推荐或获得个性化项目排名的字段。

对于域数据集组，以下推荐器使用案例可以使用上下文元数据：
+ [为您推荐](ECOMMERCE-use-cases.md#recommended-for-you-use-case)（ECOMMERCE 域）
+ [热门精选](VIDEO_ON_DEMAND-use-cases.md#top-picks-use-case)（VIDEO\$1ON\$1DEMAND 域）

 对于自定义资源，使用上下文元数据的食谱包括以下内容：
+  [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)

 有关情境信息的更多信息，请参阅以下 M AWS achine 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'])
```