Filtraggio dei 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à.

Filtraggio dei consigli in tempo reale

Puoi filtrare i consigli in tempo reale con la console Amazon Personalize, AWS Command Line Interface (AWS CLI) o gli AWS SDK.

Quando ricevi consigli su articoli personalizzati o articoli simili, puoi specificare una promozione nella richiesta. Una promozione utilizza un filtro per definire regole aziendali aggiuntive da applicare a un sottoinsieme configurabile di articoli consigliati. Per ulteriori informazioni, consulta Promuovere gli elementi nei consigli.

Filtraggio dei consigli in tempo reale (console)

Per filtrare i consigli in tempo reale utilizzando la console, crea un filtro e applicalo a una richiesta di raccomandazione.

Nota

Per filtrare i consigli utilizzando un filtro con parametri e una campagna distribuita prima del 10 novembre 2020, devi ridistribuire la campagna utilizzando l'UpdateCampaignoperazione o creare una nuova campagna.

Creazione di un filtro (console)

Per creare un filtro nella console, scegli il gruppo di set di dati che contiene la campagna o il programma di raccomandazione che desideri utilizzare per ottenere consigli filtrati. Fornisci quindi un nome di filtro e un'espressione di filtro.

Per creare un filtro (console)
  1. Apri la console Amazon Personalize all'indirizzo https://console.aws.amazon.com/personalize/home e accedi al tuo account.

  2. Scegli il gruppo di set di dati che contiene la campagna o il programma di raccomandazione che desideri utilizzare per ottenere consigli filtrati.

  3. Nel riquadro di navigazione, scegli Filtri, quindi scegli Crea nuovo filtro. Viene visualizzata la pagina Crea filtro.

    Rappresenta la pagina di creazione del filtro con il nome del filtro e i campi di espressione.
  4. Per Nome filtro, inserisci un nome per il filtro. Sceglierai il filtro con questo nome quando lo applichi a una richiesta di raccomandazione.

  5. Per Espressione, scegli Crea espressione o Aggiungi espressione manualmente e crea o inserisci l'espressione:

    • Per utilizzare il generatore di espressioni, scegli Crea espressione. Il generatore di espressioni fornisce struttura, campi e linee guida per la creazione di espressioni di filtro formattate correttamente. Per ulteriori informazioni, consulta Utilizzo del generatore di espressioni di filtro.

    • Per inserire la tua espressione, scegli Aggiungi espressione manualmente. Per ulteriori informazioni, consulta Filtrare gli elementi di espressione.

  6. Scegli Fine. La pagina di panoramica del filtro mostra l'Amazon Resource Name (ARN), lo stato e l'espressione completa del filtro. Per eliminare il filtro, scegli Elimina. Per informazioni su come trovare ed eliminare i filtri dopo aver lasciato la pagina di panoramica, consultaEliminazione di un filtro (console).

    Rappresenta la pagina dei dettagli del filtro con l'ARN e l'espressione del filtro.

Applicazione di un filtro (console)

Per applicare un filtro, in Test recommended (per consigliatori) o Test campaign results (per campagne personalizzate), scegli il filtro e inserisci i valori dei parametri di filtro. Quindi ottieni consigli per un utente.

Importante

Per le espressioni di filtro che utilizzano un INCLUDE elemento, è necessario fornire valori per tutti i parametri definiti nell'espressione. Per i filtri con espressioni che utilizzano un EXCLUDE elemento, è possibile omettere ilfilter-values. In questo caso, Amazon Personalize non utilizza quella parte dell'espressione per filtrare i consigli.

Per applicare un filtro (console)
  1. Apri la console Amazon Personalize all'indirizzo https://console.aws.amazon.com/personalize/home e accedi al tuo account.

  2. Scegli il gruppo di set di dati che contiene la campagna o il programma di raccomandazione che desideri utilizzare per ottenere consigli filtrati.

  3. A seconda del tipo di gruppo di set di dati o del tipo di risorsa, esegui una delle seguenti operazioni:

    1. Per un gruppo di set di dati di dominio, nel riquadro di navigazione scegli Consigliatori.

    2. Per un gruppo di set di dati personalizzato o risorse personalizzate, nel riquadro di navigazione scegli Risorse personalizzate, quindi Campagne.

  4. Nella pagina Consiglieri o Campagne, scegli il programma di raccomandazione o la campagna di destinazione.

  5. Per fare un confronto, inizia a ricevere consigli senza applicare un filtro. In Test recommendender/Test campaign results, inserisci l'ID di un utente per il quale desideri ricevere consigli o l'ID dell'elemento per gli articoli correlati e scegli Ottieni consigli. Viene visualizzata una tabella contenente i consigli principali.

    Illustra i risultati dei consigli senza applicare un filtro.
  6. Dal menu Nome filtro, scegli il filtro che hai creato. Se il filtro ha dei parametri segnaposto, vengono visualizzati i campi associati a ciascun parametro.

  7. Se utilizzi 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.

  8. Utilizzando lo Item ID stesso User ID metodo o quello del passaggio precedente, scegli Ottieni consigli. Viene visualizzata la tabella delle raccomandazioni.

    Mostra i risultati dei consigli con un filtro applicato.

    Ad esempio, se l'utente ha già acquistato un articolo consigliato, il filtro lo rimuove dall'elenco dei consigli. In questo esempio, gli articoli 2657, 2985 sono stati sostituiti dagli articoli più adatti che l'utente non ha acquistato (articoli 2641 e 1573).

Utilizzo del generatore di espressioni di filtro

Il generatore di espressioni nella pagina Crea filtro fornisce struttura, campi e linee guida per la creazione di filtri formattati correttamente.

Descrive i campi del generatore di espressioni nella pagina di creazione del filtro.

Per creare un'espressione di filtro:

  • Usa i campi Tipo, Azione, Proprietà, Operatore e Valore per creare un'espressione.

    Per il Valore, inserisci un valore fisso oppure, per impostare i criteri di filtro quando ricevi consigli, inserisci $ + un nome di parametro. Ad esempio, $GENRES. Quando ricevi consigli, fornirai il valore o i valori in base ai quali filtrare. In questo esempio, devi fornire un genere o un elenco di generi quando ricevi consigli.

    Separa più valori non parametrici con una virgola. Non è possibile aggiungere parametri separati da virgole a un filtro.

    Nota

    Dopo aver scelto una proprietà (in dataset.field formato), il valore della proprietà per tutte le righe successive concatenate da AND o OR condizioni deve utilizzare lo stesso. dataset

  • Usa i pulsanti + e X per aggiungere o eliminare una riga dall'espressione. Non puoi eliminare la prima riga.

  • Per le nuove righe, utilizzate gli AND OR operatoriIF, o del menu AND per creare una catena di condizioni.

    Per IF le condizioni:

    • Ogni espressione può contenere solo un IF elemento. Se rimuovi una condizione IF, il generatore di espressioni rimuove tutte AND le condizioni successive.

    • È possibile utilizzare IF le condizioni solo per le espressioni che filtrano in base a. CurrentUser

  • Scegli il pulsante Aggiungi espressione per aggiungere un'espressione di filtro aggiuntiva per un filtraggio più preciso. Ogni espressione viene prima valutata indipendentemente e il risultato è un'unione dei due risultati.

    Nota

    Per creare un filtro che utilizzi sia i set di dati di interazione Item che Item o i set di dati di interazioni Action e Action, è necessario utilizzare più espressioni.

Esempio di generatore di espressioni

L'esempio seguente mostra come creare un filtro che escluda gli elementi con un genere specificato quando ricevi consigli (nota il parametro placeholder $GENRES). Il filtro esclude anche gli elementi con un maggiore DOWNLOAD_COUNT di200, ma solo se l'età dell'utente corrente è maggiore di. 17

Mostra come utilizzare il generatore di espressioni per creare un'espressione di filtro di esempio.

Eliminazione di un filtro (console)

L'eliminazione di un filtro rimuove il filtro dall'elenco dei filtri per un gruppo di set di dati.

Importante

Non è possibile eliminare un filtro mentre è in corso un processo di inferenza in batch.

Per eliminare un filtro (console)
  1. Apri la console Amazon Personalize all'indirizzo https://console.aws.amazon.com/personalize/home e accedi al tuo account.

  2. Dall'elenco dei gruppi di set di dati, scegli il gruppo di set di dati che contiene il filtro che desideri eliminare.

  3. Nel riquadro di navigazione, scegli Filtri.

  4. Dall'elenco dei filtri, scegli il filtro che desideri eliminare e scegli Visualizza dettagli. Viene visualizzata la pagina dei dettagli del filtro.

  5. Scegli Elimina e conferma l'eliminazione nella finestra di dialogo di conferma.

Filtraggio dei consigli in tempo reale ()AWS CLI

Per filtrare i consigli utilizzando il AWS CLI, è necessario creare un filtro e quindi applicarlo specificando l'ARN del filtro in GetRecommendations una GetPersonalizedRanking richiesta or.

Importante

Per filtrare i consigli utilizzando un filtro con parametri e una campagna distribuita prima del 10 novembre 2020, devi ridistribuire la campagna utilizzando la UpdateCampaign chiamata o creare una nuova campagna.

Creazione di un filtro ()AWS CLI

Utilizzate la seguente create-filter operazione per creare un filtro e specificare l'espressione del filtro.

Sostituisci Filter name con il nome del filtro e poi Dataset group ARN con l'Amazon Resource Name (ARN) del gruppo di set di dati. Sostituisci l'esempio filter-expression con la tua espressione di filtro.

aws personalize create-filter \ --name Filter name \ --dataset-group-arn dataset group arn \ --filter-expression "EXCLUDE ItemID WHERE Items.CATEGORY IN (\"$CATEGORY\")"

In caso di successo, viene visualizzato il filtro ARN. Registralo per un uso successivo. Per verificare che il filtro sia attivo, utilizzare l'DescribeFilteroperazione prima di utilizzare il filtro.

Per ulteriori informazioni sull'API, consulta CreateFilter. Per ulteriori informazioni sulle espressioni di filtro, inclusi esempi, vedereFiltra la struttura e gli elementi delle espressioni.

Applicazione di un filtro (AWS CLI)

Quando si utilizzano le get-personalized-ranking operazioni get-action-recommendations oget-recommendations, si applica un filtro passando i valori del filtro filter-arn e gli eventuali valori del filtro come parametri.

Di seguito è riportato un esempio dell'get-recommendationsoperazione. Sostituiscilo Campaign ARN con l'Amazon Resource Name (ARN) della tua campagna User ID con l'ID dell'utente per cui ricevi consigli e Filter ARN con l'ARN del tuo filtro. Se ricevi consigli da un consulente anziché da una campagna, utilizza recommender-arn invece di --campaign-arn e fornisci l'ARN per il segnalatore.

Se l'espressione ha dei parametri, includi l'oggetto. filter-values Per ogni parametro dell'espressione di filtro, fornisci il nome del parametro (con distinzione tra maiuscole e minuscole) e i valori. Ad esempio, se l'espressione di filtro ha un $GENRE parametro, fornite «GENRE» come chiave e uno o più generi, ad esempio"Comedy", come valore. Separa più valori con una virgola. Ad esempio, "\"comedy\",\"drama\",\"horror"\".

Importante

Per le espressioni di filtro che utilizzano un INCLUDE elemento per includere elementi, è necessario fornire valori per tutti i parametri definiti nell'espressione. Per i filtri con espressioni che utilizzano un EXCLUDE elemento per escludere elementi, è possibile omettere ilfilter-values. In questo caso, Amazon Personalize non utilizza quella parte dell'espressione per filtrare i consigli.

aws personalize-runtime get-recommendations \ --campaign-arn Campaign ARN \ --user-id User ID \ --filter-arn Filter ARN \ --filter-values '{ "Parameter name": "\"value\"", "Parameter name": "\"value1\",\"value2\",\"value3\"" }'

Eliminazione di un filtro ()AWS CLI

Utilizzate la seguente delete-filter operazione per eliminare un filtro. Sostituire filter ARN con l'ARN del filtro.

aws personalize delete-filter --filter-arn Filter ARN

Filtraggio dei consigli in tempo reale (SDK)AWS

Per filtrare i consigli utilizzando AWS gli SDK, crei un filtro e poi lo applichi specificando l'ARN del filtro in una richiesta or. GetRecommendations GetPersonalizedRanking

Importante

Per filtrare i consigli utilizzando un filtro con parametri e una campagna distribuita prima del 10 novembre 2020, devi ridistribuire la campagna utilizzando la UpdateCampaign chiamata o creare una nuova campagna.

Creazione di un filtro (SDK)AWS

Crea un nuovo filtro con l'CreateFilteroperazione. Il codice seguente mostra come creare un filtro. Specificate il nome del filtro, Amazon Resource Name (ARN) del gruppo di set di dati, e fornite l'espressione del filtro.

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') response = personalize.create_filter( name = 'Filter Name', datasetGroupArn = 'Dataset Group ARN', filterExpression = 'EXCLUDE ItemID WHERE Items.CATEGORY IN ($CATEGORY)' ) filter_arn = response["filterArn"] print("Filter ARN: " + filter_arn)
SDK for Java 2.x
public static String createFilter(PersonalizeClient personalizeClient, String filterName, String datasetGroupArn, String filterExpression) { try { CreateFilterRequest request = CreateFilterRequest.builder() .name(filterName) .datasetGroupArn(datasetGroupArn) .filterExpression(filterExpression) .build(); return personalizeClient.createFilter(request).filterArn(); } catch(PersonalizeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { CreateFilterCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); // Set the filter's parameters. export const createFilterParam = { datasetGroupArn: 'DATASET_GROUP_ARN', /* required */ name: 'NAME', /* required */ filterExpression: 'FILTER_EXPRESSION' /*required */ } export const run = async () => { try { const response = await personalizeClient.send(new CreateFilterCommand(createFilterParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

Registra l'ARN del filtro per un uso successivo. Per verificare che il filtro sia attivo, utilizzare l'DescribeFilteroperazione prima di utilizzare il filtro. Per ulteriori informazioni sull'API, consulta CreateFilter. Per ulteriori informazioni sulle espressioni di filtro, inclusi esempi, vedereFiltra la struttura e gli elementi delle espressioni.

Applicazione di un filtro (AWS SDK)

Quando utilizzi le GetPersonalizedRanking operazioni GetRecommendations, o GetActionRecommendations, applica un filtro passando un valore del filtro filterArn e qualsiasi valore del filtro come parametri.

Il codice seguente mostra come ottenere consigli sugli articoli filtrati di Amazon Personalize per un utente. Specificate l'ID dell'utente per cui desiderate ricevere consigli, l'Amazon Resource Name (ARN) della campagna e l'ARN del filtro. Se ricevi consigli da un promotore anziché da una campagna, utilizza recommenderArn invece di campaignArn e fornisci l'ARN per il segnalatore.

InfattifilterValues, per ogni parametro opzionale nell'espressione del filtro, fornisci il nome del parametro (con distinzione tra maiuscole e minuscole) e il valore o i valori. Ad esempio, se l'espressione di filtro ha un $GENRES parametro, fornite «GENRES» come chiave e uno o più generi, ad esempio"\"Comedy"\", come valore. Per valori multipli, separa ogni valore con una virgola. Ad esempio, "\"comedy\",\"drama\",\"horror\"".

Importante

Per le espressioni di filtro che utilizzano un INCLUDE elemento per includere elementi, è necessario fornire valori per tutti i parametri definiti nell'espressione. Per i filtri con espressioni che utilizzano un EXCLUDE elemento per escludere elementi, è possibile omettere ilfilter-values. In questo caso, Amazon Personalize non utilizza quella parte dell'espressione per filtrare i consigli.

SDK for Python (Boto3)
import boto3 personalize_runtime = boto3.client("personalize-runtime") response = personalize_runtime.get_recommendations( campaignArn = "Campaign ARN", userId = "User ID", filterArn = "Filter ARN", filterValues = { "Parameter name": "\"value1\"", "Parameter name": "\"value1\",\"value2\",\"value3\"" .... } )
SDK for Java 2.x

L'esempio seguente utilizza due parametri, uno con due valori e uno con un valore. A seconda dell'espressione del filtro, modificate il codice per aggiungere o rimuovere i campi ParameterName e ParameterValue.

public static void getFilteredRecs(PersonalizeRuntimeClient personalizeRuntimeClient, String campaignArn, String userId, String filterArn, String parameter1Name, String parameter1Value1, String parameter1Value2, String parameter2Name, String parameter2Value){ try { Map<String, String> filterValues = new HashMap<>(); filterValues.put(parameter1Name, String.format("\"%1$s\",\"%2$s\"", parameter1Value1, parameter1Value2)); filterValues.put(parameter2Name, String.format("\"%1$s\"", parameter2Value)); GetRecommendationsRequest recommendationsRequest = GetRecommendationsRequest.builder() .campaignArn(campaignArn) .numResults(20) .userId(userId) .filterArn(filterArn) .filterValues(filterValues) .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()); } } catch (PersonalizeRuntimeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { GetRecommendationsCommand } from "@aws-sdk/client-personalize-runtime"; import { personalizeRuntimeClient } from "./libs/personalizeClients.js"; // Or, create the client here: // const personalizeRuntimeClient = new PersonalizeRuntimeClient({ region: "REGION"}); // Set recommendation request parameters. export const getRecommendationsParam = { campaignArn: 'CAMPAIGN_ARN', /* required */ userId: 'USER_ID', /* required */ numResults: 15, /* optional */ filterArn: 'FILTER_ARN', /* required to filter recommendations */ filterValues: { "PROPERTY": "\"VALUE\"" /* Only required if your filter has a placeholder parameter */ } } export const run = async () => { try { const response = await personalizeRuntimeClient.send(new GetRecommendationsCommand(getRecommendationsParam)); console.log("Success!", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

Eliminazione di un filtro (AWS Python SDK)

Utilizzate il seguente delete_filter metodo per eliminare un filtro. Sostituire filter ARN con l'ARN del filtro.

import boto3 personalize = boto3.client("personalize") response = personalize.delete_filter( filterArn = "filter ARN" )