Questa pagina spiega come modificare la posizione del ranking dei consigli sui contenuti multimediali retitrati dal modello utilizzando i controlli di pubblicazione con boost (chiamati anche controlli).
Un controllo dell'incremento modifica l'ordine dei consigli dopo che questi sono stati restituiti dal modello. Applica un'espressione di filtro ai risultati per identificare i consigli che vuoi mettere in evidenza o nascondere, quindi applica un valore di boost compreso tra -1 e +1. Un valore di boost pari a +1 offre il boost maggiore a un consiglio, posizionandolo in cima ai consigli restituito. Un valore pari a -1 nasconde il consiglio nella parte inferiore dell'elenco dei consigli restituiti.
Il boost è un controllo del momento di pubblicazione. Innanzitutto, il modello di consigli restituisce un elenco di consigli. Utilizzando una configurazione di pubblicazione, il controllo dell'incremento viene poi applicato all'elenco per modificare il ranking dei consigli. Il controllo dell'incremento non aggiunge né elimina i consigli, ma controlla l'ordine in cui vengono presentati all'utente.
Consigli per l'aumento rispetto ai consigli per i filtri
Il filtro Boost è sfumato. Invece, il filtro regolare per i consigli, описанном в разделе Filtrare i consigli, è un filtro rigoroso.
Se applichi un filtro rigido ai consigli, non vedrai mai i documenti esclusi. Tuttavia, con un filtro flessibile, i documenti non vengono rimossi dall'elenco dei consigli. Il filtro viene invece utilizzato per determinare quali documenti devono essere più in alto o più in basso nell'elenco dei consigli restituiti.
Evitare di sovraccaricare il modello di consigli
Quando applichi un filtro di boost o di occultamento, sono consigliati valori piccoli vicini a zero. I valori vicini a +1 o -1 potrebbero sopraffare il modello di consigli, in modo che il ranking dei consigli applicato dal modello non sia riportato nell'ordine in cui l'utente visualizza i consigli.
Ad esempio, se dai un boost ai film d'animazione con +1, gli utenti vedranno solo i film d'animazione nella parte superiore dell'elenco dei consigli. I film non animati vivamente consigliati dal modello verranno spostati in fondo all'elenco, dove l'utente potrebbe non vederli.
Retrocessione e occultamento
La retrocessione e l'archiviazione spostano entrambi i consigli in posizioni inferiori nell'elenco dei consigli restituiti rispetto a quelle in cui apparirebbero altrimenti.
Tuttavia, la rimozione si basa sull'età dei contenuti o sul fatto che l'utente abbia già guardato alcuni di questi contenuti. Per ulteriori informazioni sulla retrocessione, consulta Retrocedere i suggerimenti per i contenuti multimediali.
Il seppellimento si applica ai contenuti identificati da un filtro. Il filtro può essere qualsiasi campo di dati contrassegnato come filtrabile nello schema. Per informazioni generali sui filtri dei consigli, incluso come contrassegnare un campo come filtrabile, consulta Consigli per i filtri.
Informazioni sui controlli dell'incremento e sulle configurazioni di pubblicazione
Ogni controllo di pubblicazione dell'incremento è costituito da un filtro e da un valore di incremento. Ad esempio, un controllo dell'incremento aumenta i film con il termine Natale nel titolo con un valore di 0.1
e un altro nasconde i film horror con un valore di -0.2
.
Dopo aver creato uno o più controlli di boost, devi collegarli a una configurazione di pubblicazione. Quando viene creata un'app Vertex AI Search, viene creata automaticamente anche una configurazione di pubblicazione predefinita. Al momento della pubblicazione viene fatto riferimento alla configurazione di pubblicazione per determinare i risultati generati dall'app. Oltre ai controlli di potenziamento, la configurazione di pubblicazione può contenere altri tipi di controlli, come quelli di diversificazione e retrocessione.
La configurazione di pubblicazione può essere applicata quando chiami il metodo recommend. Tutti i controlli nella configurazione di pubblicazione vengono poi applicati ai consigli restituiti dalla chiamata al metodo.
Inoltre, puoi avere più configurazioni di pubblicazione associate alla tua app. In questo modo puoi applicare diversi insiemi di controlli in circostanze diverse. Ad esempio, se la richiesta di consigli proviene dall'account di un bambino, promuovi i film nelle categorie adatte ai bambini e rimuovi quelli non adatti. Analogamente, se la richiesta proviene da un account contrassegnato come per adulti, promuovi titoli o categorie apprezzati dagli adulti. In alternativa, puoi scegliere di avere configurazioni di pubblicazione diverse per località geografiche diverse e promuovere i contenuti in base a ciò che è popolare a livello regionale. Per ulteriori informazioni sulle configurazioni di pubblicazione, consulta Creare e gestire le configurazioni di pubblicazione dei contenuti multimediali.
I valori di boost sono cumulativi
Se hai collegato più controlli di pubblicazione a una configurazione di pubblicazione, i potenziamenti e i seppellimenti diventano additivi.
Ad esempio, se aumenti i film d'animazione per bambini di 0,3 punti e i film d'animazione avventurosi di 0,4 punti, un film classificato come film d'animazione avventuroso per bambini viene aumentato di 0,7 punti.
Analogamente, se un film horror è stato migliorato di 0,2 da un gruppo di controllo e peggiorato di 0,3 da un altro gruppo di controllo nella stessa configurazione di pubblicazione, il risultato netto sarebbe un peggioramento del film di 0,1.
La somma dei potenziamenti può superare +1. Ad esempio, se i controlli hanno incrementato i film d'animazione per bambini di 0,6 e i film d'avventura di animazione di 0,5, un film d'avventura di animazione per bambini verrà incrementato di 1,1.
Esempi di filtri
Di seguito sono riportati alcuni esempi di filtri per i consigli sui contenuti multimediali.
Filtri per proprietà chiave comuni
Esempi di filtri per le proprietà delle stringhe chiave comuni (category
,
image_name
, image_uri
, language
, title
e uri
).
Animazioni per bambini:
"filter": "categories: ANY(\"animation\") AND categories: ANY(\"children\")"
Contenuti multimediali spaventosi:
"filter": "categories: ANY(\"horror\", \"thriller\", \"crime\")
Contenuti multimediali il cui titolo è "Natale":
"filter": "title: ANY(\"Christmas\")"
Contenuti multimediali in cui il primo elemento dell'array
images
ha il valorename
"palla da spiaggia":
"filter": "images[0].name: ANY(\"beach ball\")"
Filtri per le proprietà delle chiavi multimediali
Esempi di filtri per le proprietà delle chiavi multimediali. Le proprietà delle chiavi multimediali iniziano con media_
e, nella sintassi del filtro, il nome del campo è preceduto da media_key_properties.
. Per un elenco delle proprietà delle chiavi multimediali, vedi Schema predefinito di Google rispetto a quello personalizzato.
Contenuti multimediali di tipo
audio
:
"filter": "media_key_properties.media_type: ANY(\"audio\")"
Contenuti multimediali in cui l'array hash_tags contiene una stringa
#winter
:
"filter": "media_key_properties.hash_tags: ANY(\"#winter\")"
Contenuti multimediali in cui il primo elemento dell'array hash_tags è la stringa
#winter
:
"filter": "media_key_properties.hash_tags[0]: ANY(\"#winter\")"
Campi personalizzati
Esempi di filtri per i campi personalizzati. Per gli attributi personalizzati, anteponi il nome del campo con attributes.
.
Nel tuo schema è presente un campo di stringhe personalizzato,
festival
, per rappresentare il festival cinematografico in cui è stato presentato in anteprima un film. Per filtrare i risultati in base ai film che hanno avuto la prima a Cannes:
"filter": "attributes.festival: ANY(\"Cannes\")
Hai un campo booleano personalizzato,
audio_desc
, che è true quando i contenuti multimediali includono una descrizione audio per gli spettatori con disabilità visive. Per filtrare i contenuti multimediali con una descrizione audio:
"filter": "attributes.audio_desc: ANY(true)"
Limitazioni dei campi filtrabili
Ai controlli di pubblicazione avanzata si applicano le seguenti limitazioni:
Nelle espressioni di filtro per l'incremento possono essere utilizzati solo i campi delle proprietà di tipo stringa e booleano.
Non puoi filtrare in base a campi nidificati su più livelli. Ad esempio, puoi filtrare in base a
persons.name
, ma non puoi filtrare in base a un campopersons.name.stage
(anche se esistesse un campo di questo tipo).I filtri devono essere corrispondenze esatte. Ciò significa che negli esempi, un film chiamato "
Christmas Story
" o "CHRISTMAS
" non verrebbe migliorato.
Prima di iniziare
Assicurati di aver creato un'app di suggerimenti sui contenuti multimediali e un datastore. Per ulteriori informazioni, consulta Creare un'app di suggerimenti per i contenuti multimediali e un datastore.
(Facoltativo) Se non vuoi utilizzare la configurazione di pubblicazione predefinita, crea una nuova configurazione di pubblicazione seguendo i passaggi 1-5 e 7 dell'articolo Creare una configurazione di pubblicazione. Se la tua app è in produzione, Google consiglia di creare una configurazione di pubblicazione separata per testare i controlli di miglioramento prima di applicarli alla configurazione di pubblicazione di produzione.
Assicurati che tutti i campi che vuoi utilizzare nel controllo dell'incremento siano contrassegnati come Filtrabili nello schema. Per ulteriori informazioni, vedi Configurare le impostazioni dei campi. Consulta anche i limiti dell'applicazione di filtri.
Metti in evidenza o nascondi i consigli
Questa procedura descrive come creare controlli di boost e collegarli a una configurazione di pubblicazione.
Dopo aver collegato i controlli alla configurazione di pubblicazione, puoi specificare la configurazione di pubblicazione quando chiami il metodo servingConfigs.recommend
e il controllo dell'incremento verrà utilizzato per influenzare l'ordine dei consigli restituiti.
REST
Per creare controlli di miglioramento della pubblicazione e collegarli a una configurazione di pubblicazione, segui questi passaggi:
Trova l'ID app. Se hai già l'ID app, vai al passaggio successivo.
Nella console Google Cloud, vai alla pagina Agent Builder.
Nella pagina App, trova il nome della tua app e recupera l'ID dall'app la colonna ID.
Trova l'ID del tuo datastore. Se hai già l'ID del tuo datastore, vai al passaggio successivo.
Nella console Google Cloud, vai alla pagina Agent Builder e nel menu di navigazione fai clic su Data Store.
Fai clic sul nome del tuo datastore.
Nella pagina Dati del tuo datastore, ottieni l'ID datastore.
Crea un controllo dell'aumento:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Goog-User-Project: PROJECT_NUMBER" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \ -d '{ "displayName": "CONTROL_DISPLAY_NAME", "solutionType": "SOLUTION_TYPE_RECOMMENDATION", "boostAction": { "dataStore": "projects/PROJECT_NUMBER/locations/global/collections/default_collection/dataStores/DATA_STORE_ID", "boost" : BOOST_VALUE, "filter": "FILTER" } }'
PROJECT_NUMBER
: il numero del tuo progetto Google Cloud.CONTROL_DISPLAY_NAME
: un nome leggibile per identificare il controllo. Deve essere una stringa UTF-8 con una lunghezza massima di 128 caratteri.CONTROL_ID
: un identificatore univoco (all'interno di un data store) per il controllo. L'ID può contenere lettere minuscole, cifre, trattini e trattini bassi.APP_ID
: l'ID dell'app Vertex AI Search.DATA_STORE_ID
: l'ID dello datastore di Vertex AI Search.BOOST_VALUE
: un numero a virgola mobile nell'intervallo [-1,1]. Quando il valore è negativo, i consigli vengono visualizzati più in basso nei risultati. Quando il valore è positivo, i consigli vengono promossi (vengono visualizzati più in alto nei risultati).FILTER
: l'espressione del filtro che descrive i documenti da mettere in evidenza o nascondere. Per informazioni dettagliate su come formulare l'espressione di filtro, consulta Espressioni di filtro.
Ripeti il passaggio 3 per ogni controllo dell'incremento che vuoi applicare ai consigli. Ad esempio, potresti volere un controllo di boost che metta in evidenza i film per bambini
boost-kids
e un secondo controllo che metta in ombra i film horrorbury-horror
.Trova l'ID della configurazione di pubblicazione. Se hai già l'ID configurazione di pubblicazione, vai al passaggio successivo.
Nella console Google Cloud, vai alla pagina Agent Builder.
Nella pagina App, fai clic sul nome dell'app.
Vai alla pagina Configurazioni e fai clic sulla scheda Pubblicazione.
Recupera l'ID configurazione di pubblicazione dalla colonna ID.
Collega il nuovo controllo di pubblicazione con boost alla configurazione di pubblicazione con una richiesta di aggiornamento utilizzando il metodo
engines.servingConfigs.patch
.curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/CONFIG_ID?update_mask=boost_control_ids" \ -d '{ "boostControlIds": ["CONTROL_ID"] }'
Sostituisci quanto segue:
CONFIG_ID
: l'ID della configurazione di pubblicazione a cui vuoi collegare i controlli di potenziamento, ad esempiomy_app-1234567_id
. Torna al passaggio precedente.CONTROL_ID
: contiene gli ID di uno o più controlli di pubblicazione con incremento che vuoi associare alla configurazione di pubblicazione, ad esempio"boost-kids", "bury-horror"
. Si tratta di un array di stringhe. Se hai più di un ID, non dimenticare di utilizzare virgole e virgolette per separarli.
Attendi qualche minuto affinché i risultati diventino effettivi.
Visualizza l'anteprima degli effetti del controllo dell'aumento. Consulta Ricevere consigli su contenuti media.
Aggiorna il controllo dell'aumento
Questa procedura descrive come aggiornare un controllo dell'incremento esistente per modificare il valore dell'incremento o del filtro.
Dopo aver testato il controllo dell'aumento, potresti scoprire che vuoi intensificarlo o ridurlo. In alternativa, ti consigliamo di modificare la stringa del filtro.
Quando aggiorni un valore o un filtro di boost, chiami il metodo
engines.controls.patch
.
Il metodo patch sostituisce i valori di boost
e filter
con i nuovi valori
forniti. Questa procedura mostra come modificare separatamente il valore boost
(passaggio 3)
e il valore filter
(passaggio 4). Tuttavia, se vuoi modificarli entrambi, puoi farlo con un singolo comando curl.
REST
Per modificare il valore dell'incremento per il filtro di un controllo esistente:
Trova l'ID app. Se hai già l'ID app, vai al passaggio successivo.
Nella console Google Cloud, vai alla pagina Agent Builder.
Nella pagina App, trova il nome della tua app e recupera l'ID dall'app la colonna ID.
Trova l'ID del controllo dell'incremento che vuoi aggiornare utilizzando il metodo
engines.servingConfigs.get
. Se hai già l'ID, vai al passaggio successivo.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls"
PROJECT_ID
: l'ID del tuo progetto Google Cloud.APP_ID
: l'ID dell'app Vertex AI Search.
Modifica il valore dell'incremento per il controllo:
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls/CONTROL_ID?update_mask=boost_action.boost" \ -d '{ "name": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls/CONTROL_ID", "boostAction": { "boost": BOOST_VALUE } }'
PROJECT_ID
: l'ID del tuo progetto Google Cloud.APP_ID
: l'ID dell'app Vertex AI Search.CONTROL_ID
: l'identificatore univoco per il controllo dell'aumento che vuoi modificare, la parte finale del camponame
visualizzato dal comandoGET
nel passaggio 2. Ad esempio,boost-kids
.BOOST_VALUE
: un numero a virgola mobile nell'intervallo [-1,1]. Quando il valore è negativo, i consigli vengono visualizzati più in basso nei risultati. Quando il valore è positivo, i consigli vengono promossi (vengono visualizzati più in alto nei risultati).
Modifica il filtro per il controllo dell'aumento:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls/CONTROL_ID?update_mask=boost_action.filter" \ -d '{ "name": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls/CONTROL_ID", "boostAction": { "filter": "FILTER" } }'
PROJECT_ID
: l'ID del tuo progetto Google Cloud.APP_ID
: l'ID dell'app Vertex AI Search.CONTROL_ID
: l'identificatore univoco per il controllo dell'aumento che vuoi modificare, la parte finale del camponame
visualizzato dal comandoGET
nel passaggio 2.FILTER
: l'espressione del filtro che descrive i documenti da mettere in evidenza o nascondere. Per informazioni dettagliate su come formulare l'espressione di filtro, consulta Espressioni di filtro.
Eliminare un controllo dell'aumento
Questa procedura descrive come eliminare un controllo dell'aumento. Se non utilizzi un controllo di boost, è buona norma eliminarlo per non raggiungere o superare la quota per il numero di controlli consentiti.
Quando elimini un controllo dell'aumento, chiami il metodo
engines.controls.delete
.
I controlli di Boost collegati a una configurazione di pubblicazione non possono essere eliminati. Se provi a eliminare un controllo del boosting, viene visualizzato un messaggio di errore che indica il nome della configurazione di pubblicazione. Devi quindi eliminare la configurazione di pubblicazione o scollegare il controllo dalla configurazione di pubblicazione.
REST
Per eliminare un controllo dell'aumento:
Trova l'ID app. Se hai già l'ID app, vai al passaggio successivo.
Nella console Google Cloud, vai alla pagina Agent Builder.
Nella pagina App, trova il nome della tua app e recupera l'ID dall'app la colonna ID.
Trova l'ID del controllo dell'aumento che vuoi eliminare utilizzando il metodo
engines.servingConfigs.get
. Se hai già l'ID, vai al passaggio successivo.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls"
PROJECT_ID
: l'ID del tuo progetto Google Cloud.APP_ID
: l'ID dell'app Vertex AI Search.
Rivedi l'output. Se il controllo dell'incremento è associato a una configurazione di pubblicazione, aggiornata la configurazione di pubblicazione per rimuovere il controllo che vuoi eliminare. Consulta l'articolo Aggiornare una configurazione di pubblicazione per rimuovere un controllo dell'incremento.
Esegui il seguente comando curl per eliminare un controllo dell'aumento:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls/CONTROL_ID"
PROJECT_ID
: l'ID del tuo progetto Google Cloud.APP_ID
: l'ID dell'app Vertex AI Search.CONTROL_ID
: l'identificatore univoco per il controllo dell'aumento che vuoi eliminare, la parte finale del camponame
visualizzato dal comandoGET
nel passaggio 2.
Se ricevi un messaggio di errore che indica che il controllo è fatto riferimento attivamente da almeno una configurazione di pubblicazione, consulta Aggiornare una configurazione di pubblicazione per rimuovere un controllo di miglioramento.
Aggiornare una configurazione di pubblicazione per rimuovere un controllo dell'incremento
Prima di poter eliminare un controllo dell'incremento, devi scollegarlo da tutti i controlli della pubblicazione. A tal fine, applica una patch ai controlli di pubblicazione per rimuovere l'ID del controllo del boost.
Per scollegare i controlli di boost da una configurazione di pubblicazione:
Scopri quali controlli di boost sono collegati alla configurazione di pubblicazione inviando una richiesta
engines.servingConfigs.get
e controllando il campoboostControlIds
nella risposta.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/CONFIG_ID"
PROJECT_ID
: l'ID del tuo progetto Google Cloud.APP_ID
: l'ID dell'app Vertex AI Search.CONFIG_ID
: l'ID della configurazione di pubblicazione su cui vuoi saperne di più.
Per aggiornare la configurazione di pubblicazione in modo da rimuovere un controllo dell'incremento, utilizza il metodo
engines.servingConfigs.patch
.curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/CONFIG_ID?update_mask=boost_control_ids" \ -d '{ "boostControlIds": ["CONTROL_ID"] }'
CONFIG_ID
: l'ID della configurazione di pubblicazione a cui vuoi collegare i controlli di potenziamento, ad esempiomy_app-1234567_id
. Torna al passaggio precedente.CONTROL_ID
: contiene gli ID di uno o più controlli di potenziamento che vuoi che la configurazione di pubblicazione abbia. Assicurati di ommettere i controlli di aumento che vuoi eliminare. Si tratta di un array di stringhe. Se hai più di un ID, non dimenticare di utilizzare virgolette e virgole per separarli, ad esempioboost-1", "boost-2
.