Migliorare e nascondere i consigli sui contenuti multimediali

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 valore name "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 campo persons.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

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:

  1. Trova l'ID app. Se hai già l'ID app, vai al passaggio successivo.

    1. Nella console Google Cloud, vai alla pagina Agent Builder.

      Vai ad App

    2. Nella pagina App, trova il nome della tua app e recupera l'ID dall'app la colonna ID.

  2. Trova l'ID del tuo datastore. Se hai già l'ID del tuo datastore, vai al passaggio successivo.

    1. Nella console Google Cloud, vai alla pagina Agent Builder e nel menu di navigazione fai clic su Data Store.

      Vai alla pagina Datastore

    2. Fai clic sul nome del tuo datastore.

    3. Nella pagina Dati del tuo datastore, ottieni l'ID datastore.

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

  4. 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 horror bury-horror.

  5. Trova l'ID della configurazione di pubblicazione. Se hai già l'ID configurazione di pubblicazione, vai al passaggio successivo.

    1. Nella console Google Cloud, vai alla pagina Agent Builder.

      Vai ad App

    2. Nella pagina App, fai clic sul nome dell'app.

    3. Vai alla pagina Configurazioni e fai clic sulla scheda Pubblicazione.

    4. Recupera l'ID configurazione di pubblicazione dalla colonna ID.

  6. 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 esempio my_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.

  7. Attendi qualche minuto affinché i risultati diventino effettivi.

  8. 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:

  1. Trova l'ID app. Se hai già l'ID app, vai al passaggio successivo.

    1. Nella console Google Cloud, vai alla pagina Agent Builder.

      Vai ad App

    2. Nella pagina App, trova il nome della tua app e recupera l'ID dall'app la colonna ID.

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

  3. 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 campo name visualizzato dal comando GET 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).

  4. 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 campo name visualizzato dal comando GET 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:

  1. Trova l'ID app. Se hai già l'ID app, vai al passaggio successivo.

    1. Nella console Google Cloud, vai alla pagina Agent Builder.

      Vai ad App

    2. Nella pagina App, trova il nome della tua app e recupera l'ID dall'app la colonna ID.

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

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

  4. 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 campo name visualizzato dal comando GET 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:

  1. Scopri quali controlli di boost sono collegati alla configurazione di pubblicazione inviando una richiesta engines.servingConfigs.get e controllando il campo boostControlIds 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ù.

  2. 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 esempio my_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 esempio boost-1", "boost-2.