Ottenere una classifica personalizzata (AWS SDK) - Amazon Personalize

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ottenere una classifica personalizzata (AWS SDK)

I seguenti esempi di codice mostrano le diverse varianti di come ottenere un posizionamento personalizzato con gli AWS SDK.

Ottenere una classifica personalizzata

Il codice seguente mostra come ottenere una classifica personalizzata per un utente. Specificate l'ID dell'utente e un elenco di ID degli articoli da classificare per l'utente. Gli ID degli elementi devono essere inclusi nei dati utilizzati per addestrare la versione della soluzione. Viene restituito un elenco di consigli classificati. Amazon Personalize considera il primo elemento dell'elenco di maggiore interesse per l'utente.

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();

Inclusione dei metadati degli articoli in una classifica personalizzata

Se hai abilitato i metadati nei consigli per la tua campagna, puoi specificare le colonne di metadati del set di dati Items da includere nella risposta. Per informazioni sull'attivazione dei metadati, consulta. Metadati degli articoli nei consigli

Il seguente esempio di codice mostra come specificare le colonne di metadati come parte della richiesta di classificazione personalizzata.

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

Ottenere una classifica personalizzata utilizzando metadati contestuali

Utilizzare il codice seguente per ottenere una classifica personalizzata basata sui metadati contestuali. Infatticontext, per ogni coppia chiave-valore, fornisci il campo dei metadati come chiave e i dati contestuali come valore. Nel codice di esempio seguente, la chiave è DEVICE e il valore è. mobile phone Sostituisci questi valori e la Campaign ARN e User ID con i tuoi. Passa anche inputList a un elenco di ID degli elementi presenti nei dati utilizzati per addestrare la soluzione. Amazon Personalize considera il primo elemento dell'elenco di maggiore interesse per l'utente.

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