Obter uma classificação personalizada (AWS SDKs) - Amazon Personalize

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Obter uma classificação personalizada (AWS SDKs)

Os exemplos de código a seguir mostram as diferentes variações de como obter uma classificação personalizada com os AWS SDKs.

Obter uma classificação personalizada

Use o código a seguir para obter uma classificação personalizada para um usuário. Especifique o ID do usuário e uma lista de IDs de itens a serem classificados para o usuário. Os IDs de itens devem estar nos dados que você usou para treinar a versão da solução. É retornada uma lista de recomendações classificadas. O Amazon Personalize considera o primeiro item na lista de interesses para o usuário.

SDK for Python (Boto3)
import boto3 personalizeRt = boto3.client('personalize-runtime') response = personalizeRt.get_personalized_ranking( campaignArn = "Campaign arn", userId = "UserID", inputList = ['ItemID1','ItemID2'] ) print("Personalized Ranking") for item in response['personalizedRanking']: print (item['itemId'])
SDK for Java 2.x
public static List<PredictedItem> getRankedRecs(PersonalizeRuntimeClient personalizeRuntimeClient, String campaignArn, String userId, ArrayList<String> items) { try { GetPersonalizedRankingRequest rankingRecommendationsRequest = GetPersonalizedRankingRequest.builder() .campaignArn(campaignArn) .userId(userId) .inputList(items) .build(); GetPersonalizedRankingResponse recommendationsResponse = personalizeRuntimeClient.getPersonalizedRanking(rankingRecommendationsRequest); List<PredictedItem> rankedItems = recommendationsResponse.personalizedRanking(); int rank = 1; for (PredictedItem item : rankedItems) { System.out.println("Item ranked at position " + rank + " details"); System.out.println("Item Id is : " + item.itemId()); System.out.println("Item score is : " + item.score()); System.out.println("---------------------------------------------"); rank++; } return rankedItems; } catch (PersonalizeRuntimeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return null; }
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { GetPersonalizedRankingCommand } from "@aws-sdk/client-personalize-runtime"; import { personalizeRuntimeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeRuntimeClient = new PersonalizeRuntimeClient({ region: "REGION"}); // Set the ranking request parameters. export const getPersonalizedRankingParam = { campaignArn: "CAMPAIGN_ARN", /* required */ userId: 'USER_ID', /* required */ inputList: ["ITEM_ID_1", "ITEM_ID_2", "ITEM_ID_3", "ITEM_ID_4"] } export const run = async () => { try { const response = await personalizeRuntimeClient.send(new GetPersonalizedRankingCommand(getPersonalizedRankingParam)); console.log("Success!", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

Incluir metadados do item em uma classificação personalizada

Se você habilitou os metadados nas recomendações da campanha, é possível especificar as colunas de metadados do conjunto de dados de itens a serem incluídas na resposta. Para obter informações sobre como habilitar metadados, consulte Metadados do item nas recomendações.

O exemplo de código a seguir mostra como especificar as colunas de metadados como parte da solicitação de uma classificação personalizada.

import boto3 personalizeRt = boto3.client('personalize-runtime') response = personalizeRt.get_personalized_ranking( campaignArn = "Campaign arn", userId = "UserID", inputList = ['ItemID1','ItemID2'], metadataColumns = { "ITEMS": ['columnNameA','columnNameB'] } ) print("Personalized Ranking") for item in response['personalizedRanking']: print (item['itemId']) print (item['metadata'])

Obter uma classificação personalizada usando metadados contextuais

Use o código a seguir para obter uma classificação personalizada com base em metadados contextuais. Para context, em cada par de chave-valor, forneça o campo de metadados como chave e os dados contextuais como valor. No código de exemplo a seguir, a chave é DEVICE e o valor é mobile phone. Substitua esses valores e Campaign ARN e User ID por seus próprios valores. Além disso, mude inputList por uma lista de IDs de itens que estão nos dados usados para treinar a solução. O Amazon Personalize considera o primeiro item na lista de interesses para o usuário.

import boto3 personalizeRt = boto3.client('personalize-runtime') response = personalizeRt.get_personalized_ranking( campaignArn = "Campaign ARN", userId = "User ID", inputList = ['ItemID1', 'ItemID2'], context = { 'DEVICE': 'mobile phone' } ) print("Personalized Ranking") for item in response['personalizedRanking']: print(item['itemId'])