

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

# Suggerimenti di filtraggio e segmenti di utenti
<a name="filter"></a>

Quando ricevi consigli con un programma di raccomandazione di dominio o una campagna personalizzata, puoi filtrare i risultati in base a criteri personalizzati. Ad esempio, potresti non voler consigliare prodotti che un utente ha già acquistato o consigliare solo articoli per una particolare fascia di età. 

Allo stesso modo, con le ricette USER\$1SEGMENTATION, potresti non voler includere determinati tipi di utenti nei segmenti di utenti. Filtrando i risultati, puoi controllare gli elementi che verranno consigliati agli utenti o gli utenti che verranno inclusi nei segmenti di utenti. 

Puoi creare, modificare, eliminare e applicare filtri utilizzando la console Amazon Personalize, il AWS Command Line Interface (AWS CLI) e il. AWS SDKs
+ Per ottenere suggerimenti in tempo reale, applichi un filtro e specifichi i valori dei parametri di filtro quando chiami GetPersonalizedRanking le operazioni GetRecommendations GetActionRecommendations, o. Puoi anche applicare un filtro quando ricevi consigli da una campagna o da un consulente nella console. 

   Quando ricevi consigli in tempo reale sugli articoli con ricette o casi d'uso relativi a articoli personalizzati o correlati, puoi specificare una promozione nella tua 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 articoli con consigli in tempo reale](promoting-items.md). 
+ Per i flussi di lavoro in batch, includi tutti i valori dei parametri di filtro nel codice JSON di input. Quindi specifichi l'Amazon Resource Name (ARN) del filtro quando crei un processo di inferenza in batch o un processo di segmento batch. Per ulteriori informazioni, consulta [Filtraggio dei consigli sui batch e dei segmenti di utenti (risorse personalizzate)](filter-batch.md).

**Filtra gli aggiornamenti per nuovi record**

 Per i dati importati con le PutActionInteractions operazioni PutEvents or, Amazon Personalize aggiorna tutti i filtri nel gruppo di set di dati con i nuovi dati entro pochi secondi dall'importazione. Ad esempio, se il filtro rimuove gli articoli acquistati dai consigli e registri un evento di acquisto per un utente con l' PutEvents operazione, questo articolo verrà rimosso dai consigli futuri per l'utente entro pochi secondi dalla registrazione dell'evento. 

 Per tutti gli altri dati importati in blocco o singolarmente, Amazon Personalize aggiorna tutti i filtri nel gruppo di set di dati con i nuovi dati entro 20 minuti dall'ultima importazione. 

**Topics**
+ [Espressioni filtro](filter-expressions.md)
+ [Filtraggio dei consigli in tempo reale](filter-real-time.md)
+ [Filtraggio dei consigli sui batch e dei segmenti di utenti (risorse personalizzate)](filter-batch.md)

# Espressioni filtro
<a name="filter-expressions"></a>

Per configurare i filtri, è necessario utilizzare un'espressione di *filtro* formattata correttamente. Le espressioni di filtro sono composte da set di dati e identificatori di campo in. `dataset` `field`formato, insieme a operatori logici, parole chiave e valori. Per quanto riguarda i valori, puoi specificare valori fissi o aggiungere parametri segnaposto, impostare i criteri di filtro quando ricevi consigli.

Puoi utilizzare le espressioni di filtro per filtrare elementi, utenti o azioni dai consigli basati sui dati dei seguenti set di dati:
+  **Interazioni tra elementi**: puoi utilizzare le espressioni di filtro per includere o escludere elementi o utenti in base ai dati delle interazioni. Ad esempio, puoi escludere gli elementi su cui un utente ha già fatto clic (per i consigli sugli articoli) o includere solo gli utenti che hanno ottenuto una valutazione (per la ricetta Item-Affinity). Per tutti i tipi di ricette, puoi filtrare solo in base al tipo di evento. Non puoi filtrare in base ad altri metadati di interazione, come i metadati contestuali. Non puoi utilizzare i filtri di interazione tra elementi con. [Item-Attribute-Affinity ricetta](item-attribute-affinity-recipe.md) 

  Amazon Personalize considera fino a 100 delle interazioni più recenti per utente per tipo di evento. Si tratta di una quota regolabile. Puoi richiedere un aumento della quota utilizzando la console [Service Quotas](https://console.aws.amazon.com/servicequotas/). Se non importi le interazioni tra elementi per un utente per tre mesi, i tuoi filtri non considerano più i dati storici dell'utente. Per prendere in considerazione questi dati, devi importare nuovamente l'intera cronologia degli eventi dell'utente. 
+  **Interazioni di azione**: utilizzate le espressioni di filtro per includere o escludere le azioni con cui un utente ha interagito in base al tipo di evento. Ad esempio, è possibile escludere le azioni che un utente ha già intrapreso. Non puoi filtrare in base ad altri metadati di interazione delle azioni. 

  Amazon Personalize considera fino a 300 delle interazioni di azione più recenti per utente per tipo di evento. Si tratta di una quota regolabile. Puoi richiedere un aumento della quota utilizzando la console [Service Quotas](https://console.aws.amazon.com/servicequotas/). 
+  **Articoli**: utilizza le espressioni di filtro per includere o escludere gli articoli in base a condizioni specifiche degli articoli. Non puoi utilizzare filtri per includere o escludere articoli in base a metadati testuali non strutturati degli elementi, come le descrizioni dei prodotti. Se il tuo caso d'uso del dominio o la ricetta personalizzata generano consigli sugli articoli correlati, come la ricetta Similar-Items o il caso d'uso del dominio *More Like X*, puoi utilizzare le espressioni di filtro per includere o escludere elementi in base alle proprietà dell'elemento specificato nella richiesta di raccomandazione. 
+  **Utenti**: per i consigli *su articoli* e *azioni*, se disponi di un set di dati Users, puoi escludere o includere elementi o azioni basati su un. `CurrentUser` Per consigli personalizzati, articoli popolari e consigli sulle azioni, questo è l'utente per cui stai ricevendo i consigli. Per gli elementi correlati, si tratta di un utente facoltativo che puoi specificare nella richiesta di raccomandazione. 

  Per *i segmenti di utenti*, puoi utilizzare le espressioni di filtro per includere o escludere utenti dai segmenti di utenti in base ad attributi, ad esempio. `Users.MEMBERSHIP_STATUS` 
+  **Azioni**: utilizza le espressioni di filtro per includere o escludere azioni basate su condizioni di azione specifiche. Amazon Personalize esclude automaticamente le azioni basate su `Action expiration timestamp` dati e. `Repeat frequency` Non puoi creare filtri personalizzati aggiuntivi che filtrino in base a questi dati. 

Per un elenco completo degli elementi delle espressioni di filtro, vedere[Filtrare gli elementi di espressione](creating-filter-expressions.md#filter-expression-elements). Per esempi di espressioni di filtro, vedere[Esempi di espressioni di filtro](filter-expression-examples.md). 

**Topics**
+ [Linee guida e requisiti](filter-expression-guidelines-requirements.md)
+ [Filtra, struttura ed elementi delle espressioni.](creating-filter-expressions.md)
+ [Esempi di espressioni di filtro](filter-expression-examples.md)

# Linee guida e requisiti
<a name="filter-expression-guidelines-requirements"></a>

 Quando crei un'espressione di filtro, tieni presente le seguenti linee guida e requisiti: 
+ Non puoi utilizzare filtri per includere o escludere articoli in base a metadati testuali non strutturati, come le descrizioni dei prodotti.
+ Se stai filtrando in base ai dati delle interazioni tra elementi o azioni, puoi filtrare solo in base al tipo di evento. Non puoi filtrare in base ad altri metadati di interazione, come i metadati contestuali.
+ Amazon Personalize ignora le maiuscole e minuscole solo quando corrisponde ai tipi di eventi.
+ Non puoi utilizzare Item Interaction e i set di dati Item in un'unica espressione. Per creare un filtro che filtri per Interazione e quindi per set di dati Item (o viceversa), è necessario concatenare due o più espressioni. Per ulteriori informazioni, consulta [Combinazione di più espressioni](multiple-expression-example.md). 
+ Non è possibile utilizzare i set di dati Item Interaction e Action in un'unica espressione. Per creare un filtro che filtri in base all'interazione tra gli elementi e quindi ai set di dati Action (o viceversa), è necessario concatenare due o più espressioni. Per ulteriori informazioni, consulta [Combinazione di più espressioni](multiple-expression-example.md). 
+ Non puoi utilizzare i filtri di interazione tra elementi con. [Item-Attribute-Affinity ricetta](item-attribute-affinity-recipe.md) 
+  Non è possibile creare espressioni di filtro che filtrano utilizzando valori di tipo booleano nello schema. Per filtrare in base ai valori booleani, utilizza uno schema con un campo di tipo *String* e utilizza i valori `"True"` e `"False"` nei dati. Oppure puoi usare type *int* o *long* e valori `0` e. `1` 
+  **Il numero massimo di campi del set di dati distinti per un filtro, in un'espressione o tra più espressioni concatenate tra loro, è 10.** **Il numero massimo di campi distinti del set di dati in tutti i filtri di un gruppo di set di dati è 20.** 
+  Puoi applicare un filtro all' CurrentItem elemento solo se il caso d'uso del dominio o la ricetta personalizzata genera consigli sugli articoli correlati, come la ricetta Similar-Items o il caso d'uso del dominio *More Like X.* 
+ Non è possibile utilizzare parametri segnaposto in un'espressione di filtro che utilizza l'operatore NOT\$1IN. Utilizzate invece l'operatore IN e utilizzate l'azione opposta. Ad esempio, utilizzate Include anziché Exclude (o viceversa).
+ Non puoi creare filtri che filtrano in base a `Repeat frequency` dati `Action expiration timestamp` e. Amazon Personalize filtra automaticamente le azioni consigliate in base a questi dati.

# Filtra, struttura ed elementi delle espressioni.
<a name="creating-filter-expressions"></a>

Questa sezione include informazioni sulla struttura delle espressioni di filtro e dei relativi elementi.

**Topics**
+ [Struttura delle espressioni di filtro](#filter-expression-structure)
+ [Filtrare gli elementi di espressione](#filter-expression-elements)

## Struttura delle espressioni di filtro
<a name="filter-expression-structure"></a>

La struttura generale di un'espressione di filtro è la seguente: 

```
EXCLUDE/INCLUDE ItemID/ActionID/UserID WHERE dataset type.field IN/NOT IN (value/parameter)
```

È possibile creare manualmente espressioni di filtro o ottenere assistenza sulla sintassi e sulla struttura delle espressioni utilizzando il [generatore di espressioni](filter-real-time.md#using-filter-expression-builder) nella console. 

## Filtrare gli elementi di espressione
<a name="filter-expression-elements"></a>

Utilizzate i seguenti elementi per creare espressioni di filtro:

**INCLUDE o ESCLUDE**  
`INCLUDE`Utilizzalo per limitare i consigli ai soli elementi che soddisfano i criteri di filtro *OPPURE* `EXCLUDE` per rimuovere tutti gli elementi che soddisfano i criteri di filtro.

**ItemID/ActionID/UserID**  
Utilizzate uno di questi elementi dopo l'`EXCLUDE`elemento `INCLUDE` or. L'elemento utilizzato dipende dal fatto che stiate filtrando gli elementi (per i consigli sugli articoli), le azioni (per i consigli sulle azioni) o gli utenti (per i segmenti di utenti). 

**WHERE**  
`WHERE`Da utilizzare per verificare le condizioni relative a elementi, azioni o utenti. È necessario utilizzare l'`WHERE`elemento dopo `ItemID``ActionID`, o`UserID`. 

**E/O**  
Per concatenare più condizioni all'interno della stessa espressione di filtro, usa `AND` o`OR`. Condizioni concatenate utilizzando `AND` o `OR` possono influire solo sui campi del set di dati utilizzato nella prima condizione.

**Dataset.field**  
Fornisci il set di dati e il campo di metadati in base ai quali desideri filtrare i consigli. `dataset` `field`formato. Ad esempio, per filtrare i consigli sugli articoli in base al campo genres nel set di dati Items, dovresti utilizzare items.genres nell'espressione di filtro. 

**Condizione IF**  
Usa una `IF` condizione *solo* per controllare le condizioni per `CurrentUser` e solo *una volta* alla fine di un'espressione. Tuttavia, è possibile estendere una `IF` condizione utilizzando`AND`. 

**CurrentUser.attributo**  
 Per filtrare i consigli sugli articoli in base all'utente per cui li ricevi, utilizza `CurrentUser` e fornisci il campo utente *solo* in una condizione IF. Ad esempio, `CurrentUser.AGE`. 

**CurrentItem.attributo**  
 Solo per articoli correlati, ricette e casi d'uso, usa`CurrentItem`. `attribute`per filtrare gli articoli in base a un attributo dell'articolo specificato nella richiesta di consigli sugli articoli correlati. Ad esempio `CurrentItem.GENRE` o `CurrentItem.PRICE`.   
 Puoi applicare un filtro con l' CurrentItem elemento solo se il caso d'uso del dominio o la ricetta personalizzata genera consigli sugli articoli correlati, come la ricetta Similar-Items o il caso d'uso del dominio *More Like X.* La prima volta che crei un filtro con un `CurrentItem` elemento, la creazione del filtro può richiedere alcuni minuti. Se si utilizza AWS KMS per la crittografia, la creazione del filtro può richiedere fino a 15 minuti. 

**ENTRATA/NON DENTRO**  
Usa `IN` or `NOT IN` come operatori di confronto per filtrare in base alla corrispondenza (o alla mancata corrispondenza) di uno o più valori di stringa. Amazon Personalize filtra solo su stringhe esatte.

**Operatori di confronto**  
Usa =, <, <=, >, >= e\$1 = operatori per verificare l'uguaglianza dei dati numerici, inclusi i dati passati in un parametro segnaposto.

**Carattere asterisco (\$1)**  
`*`Da utilizzare per includere o escludere interazioni di tutti i tipi. Utilizzare `*` *solo* per le espressioni di filtro che utilizzano il `EVENT_TYPE` campo di un `Interactions` set di dati.

**Separatore di tubi**  
Utilizzate il pipe separator (`|`) per concatenare più espressioni. Per ulteriori informazioni, consulta [Combinazione di più espressioni](multiple-expression-example.md).

**Parameters**  
Per le espressioni che utilizzano operatori di confronto o l'`IN`operatore, utilizzate il simbolo del dollaro (\$1) e il nome di un parametro per aggiungere un parametro segnaposto come valore. Ad esempio, `$GENRES`. In questo esempio, quando ricevi consigli, fornisci il genere o i generi in base ai quali filtrare.  
Il nome di un parametro viene definito quando lo si aggiunge a un'espressione. Il nome del parametro non deve necessariamente corrispondere al nome del campo. Si consiglia di utilizzare un nome di parametro simile al nome del campo e facile da ricordare. Si utilizza il nome del parametro (con distinzione tra maiuscole e minuscole) quando si applica il filtro alle richieste di consigli. Per un esempio che mostra come applicare un filtro con parametri segnaposto quando si utilizza l' AWS SDKS, consulta. [Applicare un filtro (AWS SDKs)](filter-real-time.md#applying-filter-sdk)

# Esempi di espressioni di filtro
<a name="filter-expression-examples"></a>

 Utilizzate le espressioni di filtro nelle sezioni seguenti per imparare a creare espressioni di filtro personalizzate. 

**Topics**
+ [Esempi di espressioni di filtro per i consigli sugli articoli](item-recommendation-filter-examples.md)
+ [Espressioni di filtro dei segmenti utente](user-segment-filter-examples.md)
+ [Esempi di espressioni di filtro relative ad azioni e raccomandazioni](action-recommendation-filter-examples.md)
+ [Combinazione di più espressioni](multiple-expression-example.md)

# Esempi di espressioni di filtro per i consigli sugli articoli
<a name="item-recommendation-filter-examples"></a>

Le seguenti espressioni di filtro mostrano come filtrare i consigli sugli articoli in base alle interazioni tra gli elementi, ai metadati degli elementi e ai metadati degli utenti. Sono organizzati per tipo di dati.

**Topics**
+ [Dati di interazione tra gli elementi](#item-interaction-filter-examples)
+ [Dati dell'articolo](#item-filter-examples)
+ [Dati utente](#user-filter-examples)

## Dati di interazione tra gli elementi
<a name="item-interaction-filter-examples"></a>

L'espressione seguente esclude gli elementi in base a un tipo di evento (ad esempio un clic) o ai tipi di evento specificati quando si ricevono consigli utilizzando il `$EVENT_TYPE` parametro.

```
EXCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ($EVENT_TYPE)
```

 L'espressione seguente esclude gli elementi su cui un utente ha fatto clic o che ha trasmesso in streaming.

```
EXCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ("click", "stream")
```

L'espressione seguente include solo gli elementi su cui l'utente ha fatto clic.

```
INCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ("click")
```

## Dati dell'articolo
<a name="item-filter-examples"></a>

L'espressione seguente esclude gli elementi in base a una o più categorie specificate quando si ricevono consigli utilizzando il `$CATEGORY` parametro.

```
EXCLUDE ItemID WHERE Items.CATEGORY IN ($CATEGORY)
```

L'espressione seguente include solo gli articoli più economici dell'elemento corrente (l'elemento specificato nella richiesta di consigli sugli articoli correlati) e creati dallo stesso studio dell'elemento corrente. Puoi applicare un filtro all' CurrentItem elemento solo se il caso d'uso del dominio o la ricetta personalizzata generano consigli sugli articoli correlati.

```
INCLUDE ItemID WHERE Items.PRICE < CurrentItem.PRICE AND Items.GENRE IN CurrentItem.GENRE
```

 L'espressione seguente esclude gli elementi in base a più livelli di campi categoriali. Esclude gli elementi con un valore CATEGORY\$1L1 `shoe` che *non* hanno un valore CATEGORY\$1L2 di. `boot` 

```
EXCLUDE ItemID WHERE Items.CATEGORY_L1 IN ("shoe") AND Items.CATEGORY_L2 NOT IN ("boot")
```

L'espressione seguente include solo gli articoli con un prezzo inferiore o uguale al prezzo specificato quando si ricevono consigli utilizzando il parametro. `$PRICE`

```
INCLUDE ItemID WHERE Items.PRICE <= $PRICE
```

L'espressione seguente include solo gli elementi che sono stati creati prima del timestamp (in Unix Epoch Time) specificato quando si ricevono consigli.

```
INCLUDE ItemID WHERE Items.CREATION_TIMESTAMP < $DATE
```

L'espressione seguente include solo gli elementi con uno o più generi specificati quando si ottengono consigli utilizzando il parametro. `$GENRE`

```
INCLUDE ItemID WHERE Items.GENRE IN ($GENRE)
```

L'espressione seguente include solo gli elementi più costosi dell'elemento corrente *e* creati più recentemente di un timestamp (nel periodo Unix) specificato. È possibile utilizzare questo filtro se si ricevono consigli sugli articoli correlati e si desidera applicare alcune regole aziendali specifiche basate sul prezzo e su una data di creazione variabile.

```
INCLUDE ItemID WHERE Items.PRICE < CurrentItem.PRICE AND Items.CREATION_TIMESTAMP > $DATE
```

## Dati utente
<a name="user-filter-examples"></a>

L'espressione seguente esclude gli elementi con uno o più generi specificati quando ricevi consigli utilizzando il `$GENRE` parametro, ma solo se l'età dell'utente corrente è uguale al valore specificato quando ricevi consigli utilizzando il parametro. `$AGE` 

```
EXCLUDE ItemID WHERE Items.GENRE IN ($GENRE) IF CurrentUser.AGE = $AGE
```

L'espressione seguente include solo gli elementi con `watch` per CATEGORY\$1L1 e `luxury` per CATEGORY\$1L2, se l'età dell'utente corrente è superiore. `18`

```
INCLUDE ItemID WHERE Items.CATEGORY_L1 IN ("watch") AND Items.CATEGORY_L2 IN ("luxury") IF CurrentUser.AGE > 18
```

# Espressioni di filtro dei segmenti utente
<a name="user-segment-filter-examples"></a>

Le seguenti espressioni di filtro mostrano come filtrare i segmenti di utenti in base ai dati delle interazioni tra gli elementi e ai metadati degli utenti. Sono organizzati per tipo di dati.

 **Dati utente** 

La seguente espressione di filtro include solo gli utenti con uno stato di iscrizione uguale al valore specificato quando si ottengono i segmenti di utenti.

```
INCLUDE UserID WHERE Users.MEMBERSHIP_STATUS IN ($MEMBERSHIP)
```

La seguente espressione di filtro esclude gli utenti con un valore `AGE` inferiore a quello specificato quando si ottengono i segmenti di utenti.

```
EXCLUDE UserID WHERE Users.AGE < $AGE
```

 **Dati di interazione tra gli elementi** 

La seguente espressione di filtro include solo gli utenti che hanno fatto clic o valutato gli elementi.

```
INCLUDE UserID WHERE Interactions.EVENT_TYPE IN ("click", "rating")
```

La seguente espressione di filtro esclude gli utenti dai segmenti di utenti che hanno interazioni tra elementi con un tipo di evento specificato dall'utente quando si ottengono segmenti di utenti.

```
EXCLUDE UserID WHERE Interactions.EVENT_TYPE IN ($EVENT_TYPE)
```

# Esempi di espressioni di filtro relative ad azioni e raccomandazioni
<a name="action-recommendation-filter-examples"></a>

I seguenti esempi di espressioni di filtro mostrano come filtrare le azioni in base ai dati delle interazioni di azione, ai dati delle azioni e ai dati degli utenti. Sono organizzati per tipo di dati.

**Topics**
+ [Dati di interazione tra azioni](#action-interaction-filter-examples)
+ [Dati sulle azioni](#action-filter-examples)
+ [Dati utente](#user-action-filter-examples)

## Dati di interazione tra azioni
<a name="action-interaction-filter-examples"></a>

La seguente espressione di filtro include solo le azioni nei consigli con cui l'utente ha interagito, quando tali interazioni hanno un tipo di evento specificato quando si ricevono i consigli. 

```
INCLUDE ActionID WHERE Action_Interactions.EVENT_TYPE IN ($EVENT_TYPE)
```

La seguente espressione di filtro esclude le azioni che l'utente non ha intrapreso in base al tipo di evento.

```
EXCLUDE ActionID WHERE Action_Interactions.EVENT_TYPE IN ("NOT_TAKEN")
```

## Dati sulle azioni
<a name="action-filter-examples"></a>

L'espressione seguente esclude le azioni basate su una o più categorie specificate quando si ottengono consigli utilizzando il `$CATEGORY` parametro.

```
EXCLUDE ActionID WHERE Actions.CATEGORY IN ($CATEGORY)
```

L'espressione seguente include solo le azioni con un valore maggiore di quello specificato quando si ricevono consigli.

```
INCLUDE ActionID WHERE Actions.VALUE > ($VALUE)
```

## Dati utente
<a name="user-action-filter-examples"></a>

L'espressione seguente include solo le azioni per i membri premium se l'utente corrente ha un abbonamento premium. 

```
INCLUDE ActionID WHERE Action.MEMBERSHIP_LEVEL IN ("Premium") IF CurrentUser.MEMBERSHIP = $PREMIUM
```

L'espressione seguente esclude le azioni con un valore `VALUE` inferiore a quello specificato quando si ricevono consigli se l'utente corrente è un membro premium.

```
EXCLUDE ActionID WHERE Actions.VALUE < ($VALUE) IF CurrentUser.MEMBERSHIP = $PREMIUM
```

# Combinazione di più espressioni
<a name="multiple-expression-example"></a>

Per combinare più espressioni insieme, si utilizza un separatore di tubazioni (`|`). Utilizza una combinazione di espressioni quando desideri utilizzare un unico filtro e filtrare i set di dati relativi agli elementi e alle interazioni tra elementi o i set di dati sulle interazioni Azione e azione. Ogni espressione viene prima valutata in modo indipendente e il risultato è l'unione o l'intersezione dei due risultati. Gli esempi seguenti mostrano come creare espressioni per i set di dati Items e Item Interactions, ma le stesse regole si applicano quando si lavora con le interazioni Actions e Action. 

**Esempio di espressioni corrispondenti**

 Se entrambe le espressioni utilizzano `EXCLUDE` o entrambe le espressioni utilizzano`INCLUDE`, il risultato è l'unione dei due risultati come segue (A e B sono espressioni diverse): 
+ `Exclude A | Exclude B`è uguale a `Exclude result from A or result from B`
+ `Include A | Include B`è uguale a `Include result from A or result from B`

L'esempio seguente mostra come combinare due espressioni che utilizzano`INCLUDE`. La prima espressione include solo gli elementi con una o più categorie specificate quando si ottengono consigli utilizzando il `$CATEGORY` parametro. La seconda espressione include gli elementi che l'utente ha contrassegnato come`favorite`. I consigli includeranno solo gli elementi della categoria specificata insieme agli elementi che l'utente ha contrassegnato come preferiti.

```
INCLUDE ItemID WHERE Items.CATEGORY IN ($CATEGORY) | INCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ("favorite")
```

**Esempio INCLUDE ed EXCLUDE**

 Se una o più espressioni utilizzano `INCLUDE` e un'altra espressione utilizza`EXCLUDE`, il risultato è la sottrazione del risultato dell'`EXCLUDE`espressione dal risultato dell'`INCLUDE`espressione nel modo seguente (A, B, C e D sono espressioni diverse).
+ `Include A | Exclude B`è uguale a `Include result from A - result from B`
+  `Include A | Include B | Exclude C | Exclude D`è uguale a `Include (A or B) - (C or D)` 

L'ordine delle espressioni non ha importanza: se l'espressione EXCLUDE precede l'espressione INCLUDE, il risultato è lo stesso.

L'esempio seguente mostra come combinare un'`INCLUDE`espressione e un'`EXCLUDE`espressione. La prima espressione include solo gli elementi con uno o più generi specificati quando si ricevono consigli utilizzando il `$GENRE` parametro. La seconda espressione esclude gli elementi su cui l'utente ha fatto clic o che ha trasmesso in streaming. I consigli includeranno solo gli elementi del genere specificato dall'utente che non sono stati cliccati o trasmessi in streaming.

```
INCLUDE ItemID WHERE Items.GENRE IN ($GENRE) | EXCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ("click", "stream")
```

# Filtraggio dei consigli in tempo reale
<a name="filter-real-time"></a>

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

 Quando ricevi consigli personalizzati su articoli o articoli simili, puoi specificare una promozione nella tua 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 articoli con consigli in tempo reale](promoting-items.md). 

**Topics**
+ [Filtraggio dei consigli in tempo reale (console)](#filter-rt-console)
+ [Filtraggio dei consigli in tempo reale ()AWS CLI](#filter-rt-cli)
+ [Filtraggio dei consigli in tempo reale ()AWS SDKs](#filter-rt-sdk)

## Filtraggio dei consigli in tempo reale (console)
<a name="filter-rt-console"></a>

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'[UpdateCampaign](API_UpdateCampaign.md)operazione o creare una nuova campagna.

### Creazione di un filtro (console)
<a name="creating-filter-console"></a>

 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 da [https://console.aws.amazon.com/personalize/casa](https://console.aws.amazon.com/personalize/home) e accedi al tuo account. 

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

1. 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.\]](http://docs.aws.amazon.com/it_it/personalize/latest/dg/images/create-filter-page.png)

1. Per **Nome filtro**, inserisci un nome per il filtro. Sceglierai il filtro con questo nome quando lo applichi a una richiesta di raccomandazione.

1. 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](#using-filter-expression-builder).
   +  Per inserire la tua espressione, scegli **Aggiungi espressione manualmente**. Per ulteriori informazioni, consulta [Filtrare gli elementi di espressione](creating-filter-expressions.md#filter-expression-elements). 

1. 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, consulta[Eliminazione di un filtro (console)](#delete-filter-console).  
![\[Rappresenta la pagina dei dettagli del filtro con l'ARN e l'espressione del filtro.\]](http://docs.aws.amazon.com/it_it/personalize/latest/dg/images/filter-details-page.png)

### Applicazione di un filtro (console)
<a name="apply-filter-console"></a>

 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 il`filter-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 da [https://console.aws.amazon.com/personalize/casa](https://console.aws.amazon.com/personalize/home) e accedi al tuo account. 

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

1. 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.**

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

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

1. Per fare un confronto, inizia a ricevere consigli senza applicare un filtro. In **Test recommended/****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.  
![\[Mostra i risultati dei consigli senza applicare un filtro.\]](http://docs.aws.amazon.com/it_it/personalize/latest/dg/images/Recommendations_no-filter.PNG)

1. 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.

1. 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.

1. 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.\]](http://docs.aws.amazon.com/it_it/personalize/latest/dg/images/Recommendations_filter.png)

   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
<a name="using-filter-expression-builder"></a>

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.\]](http://docs.aws.amazon.com/it_it/personalize/latest/dg/images/expression-builder-empty.png)


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 *\$1* \$1 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 **\$1** e **X** per aggiungere o eliminare una riga dall'espressione. Non puoi eliminare la prima riga. 
+  Per le nuove righe, utilizzate gli `AND` `OR` operatori`IF`, 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
<a name="expression-builder-example"></a>

L'esempio seguente mostra come creare un filtro che escluda gli elementi con un genere specificato quando ricevi consigli (nota il parametro placeholder \$1GENRES). Il filtro esclude anche gli elementi con un maggiore `DOWNLOAD_COUNT` di`200`, 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.\]](http://docs.aws.amazon.com/it_it/personalize/latest/dg/images/create-filter-expression-builder.png)


### Eliminazione di un filtro (console)
<a name="delete-filter-console"></a>

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 da [https://console.aws.amazon.com/personalize/casa](https://console.aws.amazon.com/personalize/home) e accedi al tuo account. 

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

1. **Nel riquadro di navigazione, scegli Filtri.**

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

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

## Filtraggio dei consigli in tempo reale ()AWS CLI
<a name="filter-rt-cli"></a>

Per filtrare i consigli utilizzando il AWS CLI, è necessario creare un filtro e quindi applicarlo specificando l'ARN del filtro in [GetRecommendations](API_RS_GetRecommendations.md) una [GetPersonalizedRanking](API_RS_GetPersonalizedRanking.md) 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](API_UpdateCampaign.md) chiamata o creare una nuova campagna.

### Creazione di un filtro ()AWS CLI
<a name="creating-filter-cli"></a>

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'[DescribeFilter](API_DescribeFilter.md)operazione prima di utilizzare il filtro. 

 Per ulteriori informazioni sull'API, consulta [CreateFilter](API_CreateFilter.md). Per ulteriori informazioni sulle espressioni di filtro, inclusi esempi, vedere[Filtra, struttura ed elementi delle espressioni.](creating-filter-expressions.md). 

### Applicare un filtro (AWS CLI)
<a name="applying-filter-cli"></a>

Quando si utilizzano le `get-personalized-ranking` operazioni `get-action-recommendations` o`get-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-recommendations`operazione. 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 il`filter-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
<a name="delete-filter-cli"></a>

 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 ()AWS SDKs
<a name="filter-rt-sdk"></a>

Per filtrare i consigli utilizzando il AWS SDKs, è necessario creare un filtro e quindi applicarlo specificando l'ARN del filtro in [GetRecommendations](API_RS_GetRecommendations.md) una [GetPersonalizedRanking](API_RS_GetPersonalizedRanking.md) 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](API_UpdateCampaign.md) chiamata o creare una nuova campagna.

### Creazione di un filtro ()AWS SDKs
<a name="creating-filter-sdk"></a>

 Crea un nuovo filtro con l'[CreateFilter](API_CreateFilter.md)operazione. 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'[DescribeFilter](API_DescribeFilter.md)operazione prima di utilizzare il filtro. Per ulteriori informazioni sull'API, consulta [CreateFilter](API_CreateFilter.md). Per ulteriori informazioni sulle espressioni di filtro, inclusi esempi, vedere[Filtra, struttura ed elementi delle espressioni.](creating-filter-expressions.md).

### Applicare un filtro (AWS SDKs)
<a name="applying-filter-sdk"></a>

Quando utilizzate le GetPersonalizedRanking operazioni GetRecommendations, o GetActionRecommendations, applicate 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 consulente anziché da una campagna, utilizza `recommenderArn` invece di `campaignArn` e fornisci l'ARN per il segnalatore. 

Infatti`filterValues`, 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 il`filter-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)
<a name="delete-filter-sdk"></a>

 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"
)
```

# Filtraggio dei consigli sui batch e dei segmenti di utenti (risorse personalizzate)
<a name="filter-batch"></a>

Il filtraggio dei consigli in batch e dei segmenti di utenti funziona quasi come filtrare i consigli in tempo reale. Segue lo stesso flusso di lavoro descritto in o. [Ottenere consigli sugli articoli in batch](getting-batch-recommendations.md) [Ottenere segmenti di utenti in batch](getting-user-segments.md) Per filtrare i consigli in batch o i segmenti di utenti, procedi come segue: 

1.  Crea un filtro proprio come faresti per i consigli in tempo reale. Per ulteriori informazioni, consulta [Filtraggio dei consigli in tempo reale](filter-real-time.md). 

1. Prepara i dati di input e caricali su Amazon S3 come descritto in [Preparazione dei dati di input per i consigli sui batch](batch-data-upload.md) o. [Preparazione dei dati di input per i segmenti di utenti](prepare-input-data-user-segment.md) Se il filtro utilizza parametri segnaposto, è necessario aggiungere un oggetto aggiuntivo. `filterValues` Per ulteriori informazioni, consulta [Fornire valori di filtro nel codice JSON di input](#providing-filter-values). Se il filtro non utilizza parametri segnaposto, i dati di input possono seguire gli esempi in [Esempi JSON di input e output di job di inferenza in batch](batch-data-upload.md#batch-inference-job-json-examples) [Esempi JSON di input e output di processi di segmentazione in batch](prepare-input-data-user-segment.md#batch-segment-job-json-examples) 

1.  Crea una posizione separata per i dati di output, una cartella o un altro bucket Amazon S3. 

1.  Crea un [processo di inferenza in batch o un processo di segmentazione](creating-batch-inference-job.md) [in batch](creating-batch-seg-job.md). Quando crei il lavoro, specifica l'Amazon Resource Name (ARN) del filtro.

1.  Quando il processo di inferenza in batch o di segmento in batch è completo, recupera i consigli o i segmenti di utenti dalla tua posizione di output in Amazon S3. 

**Topics**
+ [Fornire valori di filtro nel codice JSON di input](#providing-filter-values)
+ [Filtraggio dei flussi di lavoro in batch (console)](#filter-batch-recommendations-console)
+ [Filtraggio dei flussi di lavoro in batch ()AWS SDKs](#filter-batch-recommendations-sdk)

## Fornire valori di filtro nel codice JSON di input
<a name="providing-filter-values"></a>

Per i filtri con parametri segnaposto, ad esempio`$GENRE`, è necessario fornire i valori per i parametri di un `filterValues` oggetto nel codice JSON di input. Per un `filterValues` oggetto, ogni chiave è un nome di parametro. Ogni valore è il criterio che state passando come parametro. Racchiude ogni valore tra virgolette sfuggite:. `"filterValues":{"GENRES":"\"drama\""}` Per valori multipli, separa ogni valore con una virgola: `"filterValues":{"GENRES":"\"horror\",\"comedy\",\"drama\""}` 

**Esempio JSON di input del processo di inferenza in batch**

Di seguito è riportato un esempio delle prime righe di un file di input JSON per un *processo di inferenza in batch*. L'esempio include l'oggetto. `filterValues` La `GENRES` chiave corrisponde a un `$GENRES` segnaposto nell'espressione del filtro. Il job in questo esempio utilizza la ricetta User-Personalization. Per le ricette RELATED\$1ITEMS, fornisci un ItemID anziché UserID. Per le ricette PERSONALIZED\$1RANKING, fornisci l'ID utente e un ItemList. 

```
{"userId": "5","filterValues":{"GENRES":"\"horror\",\"comedy\",\"drama\""}}
{"userId": "3","filterValues":{"GENRES":"\"horror\",\"comedy\""}}
{"userId": "34","filterValues":{"GENRES":"\"drama\""}}
```

Per ulteriori esempi di dati di input del processo di inferenza in batch per ricetta, vedere. [Esempi JSON di input e output di job di inferenza in batch](batch-data-upload.md#batch-inference-job-json-examples) È possibile utilizzare questi esempi come punto di partenza e aggiungere l'`filterValues`oggetto dell'esempio precedente.

**Esempio JSON di input di job segmentati in batch**

Di seguito è riportato un esempio delle prime righe di un file di input JSON con valori di filtro per un *processo di segmentazione in batch*. La `GENRES` chiave corrisponde a un `$GENRES` segnaposto nell'espressione del filtro.

```
{"itemAttributes": "ITEMS.genres = \"Comedy\" AND ITEMS.genres = \"Action\"","filterValues":{"COUNTRY":"\"Japan\""}}
{"itemAttributes": "ITEMS.genres = \"Horror\"","filterValues":{"COUNTRY":"\"United States\"\""}}
{"itemAttributes": "ITEMS.genres = \"Action\" AND ITEMS.genres = \"Adventure\"","filterValues":{"COUNTRY":"\"England\""}}
```

Per ulteriori esempi di dati di input del processo di inferenza in batch per ricetta, vedere. [Esempi JSON di input e output di processi di segmentazione in batch](prepare-input-data-user-segment.md#batch-segment-job-json-examples) È possibile utilizzare questi esempi come punto di partenza e aggiungere l'`filterValues`oggetto dell'esempio precedente.

## Filtraggio dei flussi di lavoro in batch (console)
<a name="filter-batch-recommendations-console"></a>

Per filtrare i flussi di lavoro in batch con la console Amazon Personalize, devi creare un filtro, quindi creare un processo di inferenza in batch o un processo di segmento in batch e scegliere il filtro. Per istruzioni dettagliate complete, consulta e. [Creazione di un processo di inferenza in batch (console)](creating-batch-inference-job.md#batch-console) [Creazione di un processo di segmentazione in batch (console)](creating-batch-seg-job.md#batch-segment-console) 

## Filtraggio dei flussi di lavoro in batch ()AWS SDKs
<a name="filter-batch-recommendations-sdk"></a>

Per filtrare i consigli sui batch con AWS SDKs, crea un filtro e includi il `FilterArn` parametro nella richiesta [CreateBatchInferenceJob](API_CreateBatchInferenceJob.md) or[CreateBatchSegmentJob](API_CreateBatchSegmentJob.md).

 Il codice seguente mostra come creare un processo di inferenza in batch con un filtro utilizzando il AWS SDK per Python (Boto3). Ti consigliamo di utilizzare una posizione diversa per i dati di output (una cartella o un altro bucket Amazon S3). Per una spiegazione completa di tutti i campi, consulta. [Creazione di un processo di inferenza in batch ()AWS SDKs](creating-batch-inference-job.md#batch-sdk) 

```
import boto3
     
personalize = boto3.client("personalize")
 
personalize_rec.create_batch_inference_job (
    solutionVersionArn = "Solution version ARN",
    jobName = "Batch job name",
    roleArn = "IAM role ARN",
    filterArn = "Filter ARN",
    jobInput = 
        {"s3DataSource": {"path": "S3 input path"}},
    jobOutput =
        {"S3DataDestination": {"path": "S3 output path"}}
)
```