Promuovere gli articoli con consigli in tempo reale - 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à.

Promuovere gli articoli con consigli in tempo reale

Con tutti i casi d'uso del dominio e alcune ricette personalizzate, puoi specificare una promozione quando ricevi consigli in tempo reale.

Una promozione definisce regole aziendali aggiuntive che si applicano a un sottoinsieme configurabile di articoli consigliati. Ad esempio, potresti avere un'app di streaming e voler promuovere le tue serie e i tuoi film, ma anche consigliare titoli pertinenti. Puoi utilizzare una promozione per specificare che una certa percentuale di articoli consigliati deve provenire dalla categoria interna. I restanti articoli consigliati continueranno a essere consigli pertinenti in base alla ricetta e agli eventuali filtri di richiesta.

Per applicare una promozione, specifichi quanto segue nella richiesta di raccomandazione:

  • La percentuale di articoli consigliati a cui applicare il filtro promozionale.

  • Un filtro che specifica i criteri di promozione. Per ulteriori informazioni, consulta Filtri promozionali.

Nella risposta alla raccomandazione, gli articoli promossi vengono posizionati in modo casuale rispetto agli altri articoli consigliati, ma in ordine rispetto agli altri articoli promossi. A seconda della ricetta, gli articoli consigliati che non fanno parte di una promozione vengono ordinati in base alla rilevanza per l'utente, alla popolarità o alla somiglianza. Se non ci sono abbastanza articoli che soddisfano i criteri di promozione, il risultato conterrà il maggior numero possibile di articoli promossi.

Puoi applicare una promozione ai consigli con la console Amazon Personalize, AWS Command Line Interface (AWS CLI), oppure. AWS SDKs

Casi d'uso e ricette che supportano le promozioni

Tutti i casi d'uso supportano le promozioni. Le seguenti ricette personalizzate supportano le promozioni:

Filtri promozionali

Quando applichi una promozione a una richiesta di raccomandazione, scegli un filtro che specifica i criteri di promozione. Puoi utilizzare un filtro esistente o crearne uno nuovo. Puoi creare e gestire i filtri per le promozioni come faresti con gli altri filtri in Amazon Personalize. Per informazioni sulla creazione e la gestione dei filtri, consultaFiltrare i risultati.

L'unica differenza tra un filtro di promozione e un filtro che scegli al di fuori della promozione (il filtro di richiesta) è il modo in cui Amazon Personalize li applica. Un filtro promozionale si applica solo agli articoli in promozione, mentre un filtro di richiesta si applica solo agli articoli consigliati rimanenti. Se specifichi un filtro di richiesta e un filtro di promozione e desideri applicare entrambi i filtri agli articoli promossi, l'espressione del filtro di promozione deve includere entrambe le espressioni. Il modo in cui combini due espressioni dipende dai set di dati utilizzati. Per ulteriori informazioni sulle espressioni di filtro, sulle relative regole e su come crearle, consultaEspressioni filtro.

Esempi di espressioni di filtro

L'espressione seguente include solo gli articoli della categoria «in-house». Puoi usare questa espressione se desideri promuovere i tuoi contenuti nei tuoi consigli.

INCLUDE ItemID WHERE Items.OWNER IN ("in-house")

L'espressione seguente include solo gli elementi creati più di recente rispetto al timestamp specificato. È possibile utilizzare questa espressione per promuovere nuovi elementi nei consigli.

INCLUDE ItemID WHERE Items.CREATION_TIMESTAMP > $DATE

L'espressione seguente mostra come applicare un filtro di richiesta agli articoli promossi. Include solo gli articoli di abbigliamento disponibili come articoli in promozione. In questo scenario, Items.AVAILABLE IN ("True") verrebbe utilizzato anche nell'espressione del filtro della richiesta, in modo che tutti i consigli si riferiscano agli articoli disponibili.

INCLUDE ItemID WHERE Items.CATEGORY IN ("clothing") AND Items.AVAILABLE IN ("True")

Per un elenco più completo di esempi di filtri, vedereEsempi di espressioni di filtro.

Promuovere nuovi articoli

Se utilizzi ilRicetta User-Personalization-v2, Amazon Personalize consiglia gli articoli più pertinenti agli utenti e più frequentemente consiglia gli articoli esistenti con dati sulle interazioni. Per assicurarti che i consigli includano alcuni nuovi articoli, puoi applicare una promozione alle richieste di raccomandazione che includa articoli in base alla data di creazione.

Se non utilizzi già una promozione, l'espressione di filtro può promuovere gli articoli creati dopo una certa data:

INCLUDE ItemID WHERE Items.CREATION_TIMESTAMP > $DATE

Se utilizzi già una promozione, crei un'espressione che concatenerà sia la promozione che le condizioni del nuovo articolo:

INCLUDE ItemID WHERE Items.CATEGORY IN ("clothing") OR Items.CREATION_TIMESTAMP > $DATE

Promuovere articoli (console)

Per promuovere determinati articoli nei consigli con la console Amazon Personalize, crea un filtro, quindi fornisci i dettagli della promozione nella richiesta di raccomandazione. Per informazioni su altri campi, consultaOttenere consigli sugli articoli (console).

Per promuovere gli elementi contenuti nei consigli
  1. Apri la console Amazon Personalize a https://console.aws.amazon.com/personalize/casa e accedi al tuo account.

  2. Scegli il gruppo di set di dati che contiene la campagna o il programma di raccomandazione che stai utilizzando.

  3. Se non l'hai già fatto, crea un filtro che specifichi i criteri di promozione. Crei filtri per le promozioni nello stesso modo in cui crei i filtri di richiesta. Per informazioni sulla creazione e la gestione dei filtri, consultaFiltrare i risultati.

  4. Nel riquadro di navigazione, scegli Consigliatori o Campagne.

  5. Scegli la campagna o il programma di raccomandazione target.

  6. Per le campagne, nella sezione Test campaign results, inserisci i dettagli della tua richiesta di raccomandazione in base alla ricetta che hai utilizzato. Per i consiglieri, scegli Test recommendender e inserisci i dettagli della tua richiesta di raccomandazione.

  7. Facoltativamente, scegli un filtro per la richiesta. Questo filtro si applica solo agli articoli non promossi. Per informazioni sulla creazione e la gestione dei filtri, consultaFiltrare i risultati.

  8. Se utilizzi metadati contestuali, fornisci i dati per ogni contesto. Per ogni contesto, per la Chiave inserisci il campo dei metadati. Per il Valore, inserisci i dati di contesto. Per ulteriori informazioni, consulta Aumentare la pertinenza delle raccomandazioni con i metadati contestuali.

  9. Per Promozione, specificare quanto segue:

    • Percentuale di articoli promossi: inserisci la percentuale di articoli consigliati a cui applicare la promozione.

    • Filtro: scegli un filtro che specifichi i criteri di promozione. Questo filtro si applica agli articoli promossi anziché a qualsiasi filtro di richiesta che potresti aver specificato nel passaggio 7.

    • Parametro di filtro: se la promozione utilizza un filtro con parametri segnaposto, per ogni parametro inserisci il valore per impostare i criteri di filtro. Per utilizzare più valori per un parametro, separa ogni valore con una virgola.

  10. Scegliere Get recommendations (Ottieni le raccomandazioni). Viene visualizzata una tabella contenente i 25 elementi principali consigliati dall'utente. La colonna Articolo promosso indica se l'articolo è stato incluso a causa della promozione. Gli articoli promossi sono posizionati in modo casuale rispetto agli altri articoli consigliati, ma in ordine rispetto agli altri articoli promossi. A seconda del caso d'uso o della ricetta, gli articoli consigliati che non fanno parte di una promozione vengono ordinati in base alla rilevanza per l'utente, alla popolarità o alla somiglianza. Se non ci sono abbastanza articoli che soddisfano i criteri di promozione, il risultato conterrà il maggior numero possibile di articoli promossi.

Articoli promozionali (AWS CLI)

Il codice seguente mostra come promuovere gli articoli nei consigli con AWS CLI e una campagna personalizzata. Per promuovere articoli con un consulente, sostituisci il campaign-arn parametro con a recommender-arn e specifica l'Amazon Resource Name (ARN) per il consulente. Per i campi di promozione, specifica quanto segue:

  • nome: assegna un nome alla promozione. La risposta alla raccomandazione utilizza il nome per identificare gli articoli promossi.

  • percent-promoted-items: la percentuale di articoli consigliati a cui applicare la promozione. In questo esempio, il 50% degli articoli sarà costituito da articoli promossi.

  • filterArn: specifica l'Amazon Resource Name (ARN) del filtro che definisce i criteri di promozione. Per ulteriori informazioni, consulta Filtri promozionali.

  • nomi e valori dei parametri: se l'espressione del filtro contiene dei parametri, fornisci i nomi dei parametri (con distinzione tra maiuscole e minuscole) e i valori. Ad esempio, se l'espressione del filtro ha un $GENRE parametro, fornisci GENRE come chiave e uno o più generi, come Comedy, come valore. Separa più valori con una virgola. Quando si utilizza il AWS CLI, per ogni valore è necessario utilizzare il / carattere per evitare sia le virgolette che il / carattere. Il seguente esempio di codice mostra come formattare i valori.

Il codice mostra come utilizzare sia un filtro di richiesta che un filtro di promozione. Un filtro promozionale si applica solo agli articoli in promozione, mentre un filtro di richiesta si applica solo agli articoli consigliati rimanenti. Per ulteriori informazioni, consulta Filtri promozionali.

Per informazioni sui campi aggiuntivi, consulta Ottenere consigli sugli articoli (AWS SDKs) eOttenere una classifica personalizzata utilizzando metadati contestuali.

aws personalize-runtime get-recommendations \ --campaign-arn CampaignArn \ --user-id 1 \ --num-results 10 \ --filter-arn RequestFilterArn \ --filter-values '{ "RequestFilterParameterName": "\"value\"", "RequestFilterParameterName": "\"value1\",\"value2\",\"value3\"" }' \ --promotions "[{ \"name\": \"promotionName\", \"percentPromotedItems\": 50, \"filterArn\": \"PromotionFilterARN\", \"filterValues\": {\"PromotionParameterName\":\"\\\"value1, value2\\\"\"} }]"

Viene visualizzato un elenco di elementi consigliati. Gli articoli promossi vengono posizionati in modo casuale rispetto agli altri articoli consigliati, ma in ordine rispetto agli altri articoli promossi. A seconda della ricetta, gli articoli consigliati che non fanno parte di una promozione vengono ordinati in base alla rilevanza per l'utente, alla popolarità o alla somiglianza. Se non ci sono abbastanza articoli che soddisfano i criteri di promozione, il risultato conterrà il maggior numero possibile di articoli promossi.

{ "itemList": [ { "itemId1": "123", "score": .0117211, "promotionName": "promotionName" }, { "itemId2": "456", "score": .0077976 }, { "itemId3": "789", "score": .0067171 }, ..... ]

Articoli promozionali (AWS SDKs)

Il codice seguente mostra come promuovere gli elementi nei consigli con SDK for Python (Boto3) e SDK per Java 2.x e una campagna personalizzata. Per promuovere articoli con un consulente, sostituisci il campaignArn parametro con recommenderArn e specifica l'Amazon Resource Name (ARN) per il consulente. Per i campi di promozione, specifica quanto segue:

  • nome: Specificare il nome della promozione. La risposta alla raccomandazione include il nome per identificare gli articoli promossi.

  • percentPromotedItems: la percentuale di articoli consigliati a cui applicare la promozione.

  • promotionFilterARN: Amazon Resource Name (ARN) del filtro che definisce i criteri di promozione. Per ulteriori informazioni, consulta Filtri promozionali.

  • Qualsiasi nome e valore di parametro: se l'espressione del filtro ha dei parametri, per ogni parametro nell'espressione del filtro, fornisci il nome del parametro (con distinzione tra maiuscole e minuscole) e i valori. Ad esempio, se l'espressione del filtro ha un $GENRE parametro, fornisci "GENRE" come chiave e uno o più generi, come «\" Commedia "\», come valore. Separa più valori con una virgola. Ad esempio "\"comedy\",\"drama\",\"horror"\".

Il codice seguente mostra come utilizzare sia un filtro di richiesta che un filtro di promozione. Un filtro promozionale si applica solo agli articoli in promozione, mentre un filtro di richiesta si applica solo agli articoli consigliati rimanenti. Per ulteriori informazioni, consulta Filtri promozionali.

Per informazioni sui campi aggiuntivi, consulta Ottenere consigli sugli articoli (AWS SDKs) eOttenere una classifica personalizzata utilizzando metadati contestuali.

SDK for Python (Boto3)
import boto3 personalizeRt = boto3.client('personalize-runtime') response = personalizeRt.get_recommendations( campaignArn = "CampaignARN", userId = '1', numResults = 10, filterArn = 'RequestFilterARN', filterValues = { "RequestFilterParameterName": "\"value1\"", "RequestFilterParameterName": "\"value1\",\"value2\",\"value3\"" .... }, promotions = [{ "name" : "promotionName", "percentPromotedItems" : 50, "filterArn": "promotionFilterARN", "filterValues": { "PromotionParameterName": "\"Value1\",\"Value2\"" ... } }] ) print("Recommended items") for item in response['itemList']: print (item['itemId']) if ("promotionName" in item): print(item['promotionName'])
SDK for Java 2.x
public static void getRecommendationsWithPromotedItems(PersonalizeRuntimeClient personalizeRuntimeClient, String campaignArn, String userId, String requestFilterArn, String requestParameterName, String requestParameterValue1, String requestParameterValue2, String promotionName, int percentPromotedItems, String promotionFilterArn, String promotionParameterName, String promotionParameterValue1, String promotionParameterValue2) { try { Map<String, String> promotionFilterValues = new HashMap<>(); promotionFilterValues.put(promotionParameterName, String.format("\"%1$s\",\"%2$s\"", promotionParameterValue1, promotionParameterValue2)); Promotion newPromotion = Promotion.builder() .name(promotionName) .percentPromotedItems(percentPromotedItems) .filterArn(promotionFilterArn) .filterValues(promotionFilterValues) .build(); List<Promotion> promotionList = new List<>(); promotionList.add(newPromotion); Map<String, String> requestfilterValues = new HashMap<>(); requestfilterValues.put(requestParameterName, String.format("\"%1$s\",\"%2$s\"", requestParameterValue1, requestParameterValue2)); GetRecommendationsRequest recommendationsRequest = GetRecommendationsRequest.builder() .campaignArn(campaignArn) .numResults(20) .userId(userId) .filterArn(requestFilterArn) .fitlerValues(requestFilterValues) .promotions(promotionList) .build(); GetRecommendationsResponse recommendationsResponse = personalizeRuntimeClient.getRecommendations(recommendationsRequest); List<PredictedItem> items = recommendationsResponse.itemList(); for (PredictedItem item: items) { System.out.println("Item Id is : "+item.itemId()); System.out.println("Item score is : "+item.score()); System.out.println("Promotion name is : "+item.promotionName()); } } catch (PersonalizeRuntimeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
SDK for JavaScript v3
// Get service clients and commands using ES6 syntax. import { GetRecommendationsCommand, PersonalizeRuntimeClient } from "@aws-sdk/client-personalize-runtime"; // create personalizeRuntimeClient. const personalizeRuntimeClient = new PersonalizeRuntimeClient({ region: "REGION", }); // set recommendation request param export const getRecommendationsParam = { campaignArn: "CAMPAIGN_ARN", /* required */ userId: "USER_ID", /* required */ numResults: 25, /* optional */ filterArn: "FILTER_ARN", /* provide if you are applying a custom filter */ filterValues: { "PARAM_NAME": "\"PARAM_VALUE\"" /* provide if your filter has a placeholder parameter */ }, promotions: [ { name: "PROMOTION_NAME", /* specify the name of the promotion. The recommendation response includes the name to identify promoted items. */ percentPromotedItems: 50, /* the percentage of recommended items to apply the promotion to. */ filterArn: "PROMOTION_FILTER_ARN", /* the Amazon Resource Name (ARN) of the filter that defines the promotion criteria. */ filterValues: { "PARAM_NAME": "\"PARAM_VALUE\"" /* provide if your promotion filter has a placeholder parameter */ }, }, ], }; export const run = async () => { try { const response = await personalizeRuntimeClient.send(new GetRecommendationsCommand(getRecommendationsParam)); console.log("Success!", "\nItems are: "); response.itemList.forEach(element => console.log(element.itemId)) return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

Viene visualizzato un elenco di elementi consigliati. Gli articoli promossi vengono posizionati in modo casuale rispetto agli altri articoli consigliati, ma in ordine rispetto agli altri articoli promossi. A seconda della ricetta, gli articoli consigliati che non fanno parte di una promozione vengono ordinati in base alla rilevanza per l'utente, alla popolarità o alla somiglianza. Se non ci sono abbastanza articoli che soddisfano i criteri di promozione, il risultato conterrà il maggior numero possibile di articoli promossi.

{ "itemList": [ { "itemId1": "123", "score": .0117211, "promotionName": "promotionName" }, { "itemId2": "456", "score": .0077976 }, { "itemId3": "789", "score": .0067171 }, ..... ]