Creare consigli personalizzati per i film

In questo tutorial, utilizzeremo il set di dati Movielens per scoprire come caricare il tuo catalogo di prodotti e gli eventi utente in AI Commerce Search e addestrare un modello personalizzato che suggerisce prodotti. Il set di dati Movielens contiene un catalogo di film (prodotti) e le valutazioni dei film da parte degli utenti (eventi utente).

Considereremo ogni valutazione positiva di un film (valutazione >= 4) come evento di visualizzazione di pagina di prodotto. Addestreremo un modello di suggerimenti di tipo Altri film che potrebbero piacerti che consiglierà i film in base a un utente o a un film di riferimento nel nostro set di dati.

Tempo stimato:

  • Primi passaggi per iniziare l'addestramento del modello: circa 1,5 ore.
  • Attesa dell'addestramento del modello: circa 2 giorni.
  • Valutazione delle previsioni del modello e pulizia: circa 30 minuti.

Obiettivi

  • Scopri come importare i prodotti e i dati di eventi utente da BigQuery in AI Commerce Search.
  • Addestra e valuta i modelli di suggerimenti.

Costi

Questo tutorial utilizza componenti fatturabili di Google Cloud, tra cui:

  • Cloud Storage
  • BigQuery
  • AI Commerce Search

Per maggiori informazioni sui costi di Cloud Storage, consulta la pagina Prezzi di Cloud Storage.

Per ulteriori informazioni sui costi di BigQuery, consulta la pagina Prezzi di BigQuery.

Per saperne di più sui costi della ricerca AI Commerce, consulta la pagina Prezzi della ricerca AI Commerce.

Prima di iniziare

  1. Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

Prepara il set di dati

Apri la consoleGoogle Cloud , seleziona il tuo progetto Google Cloud . Prendi nota dell'ID progetto nella scheda Informazioni sul progetto nella pagina della dashboard. Avrai bisogno dell'ID progetto per i passaggi successivi. Poi, fai clic sul pulsante Attiva Cloud Shell nella parte superiore della console.

Cloud Shell

All'interno di un nuovo frame nella parte inferiore della console Google Cloud si apre una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando.

Importa il set di dati

  1. Utilizzando Cloud Shell, scarica e decomprimi il set di dati di origine:

    wget https://files.grouplens.org/datasets/movielens/ml-latest.zip
    unzip ml-latest.zip
    
  2. Crea un bucket Cloud Storage e carica i dati al suo interno:

    gcloud storage buckets create gs://PROJECT_ID-movielens-data
    gcloud storage cp ml-latest/movies.csv ml-latest/ratings.csv \
      gs://PROJECT_ID-movielens-data
    
  3. Crea un set di dati BigQuery:

    bq mk movielens
    
  4. Carica movies.csv in una nuova tabella BigQuery dei film:

    bq load --skip_leading_rows=1 movielens.movies \
      gs://PROJECT_ID-movielens-data/movies.csv \
      movieId:integer,title,genres
    
  5. Carica ratings.csv in una nuova tabella BigQuery delle valutazioni:

    bq load --skip_leading_rows=1 movielens.ratings \
      gs://PROJECT_ID-movielens-data/ratings.csv \
      userId:integer,movieId:integer,rating:float,time:timestamp
    

Crea le viste BigQuery

  1. Crea una vista che converta la tabella dei film nello schema del catalogo dei prodotti retail:

    bq mk --project_id=PROJECT_ID \
     --use_legacy_sql=false \
     --view '
     SELECT
       CAST(movieId AS string) AS id,
       SUBSTR(title, 0, 128) AS title,
       SPLIT(genres, "|") AS categories
     FROM `PROJECT_ID.movielens.movies`' \
    movielens.products
    

    Ora la nuova vista ha lo schema previsto da AI Commerce Search. Poi, nella barra laterale sinistra, scegli BIG DATA -> BigQuery. Quindi, dalla barra di Explorer a sinistra, espandi il nome del progetto e seleziona movielens -> products per aprire la pagina di query per questa vista.

    Visualizzazione Prodotti

  2. Ora converti le valutazioni dei film in eventi utente. Saremo felici di:

    • Ignora le valutazioni negative dei film (<4)
    • Considera ogni valutazione positiva come un evento di visualizzazione di pagina di prodotto (detail-page-view)
    • Ridimensiona la cronologia di Movielens negli ultimi 90 giorni. Lo facciamo per due motivi:
      • La ricerca AI Commerce richiede che gli eventi utente non siano precedenti al 2015. Le valutazioni di Movielens risalgono al 1995.
      • AI Commerce Search utilizza gli eventi utente degli ultimi 90 giorni quando gestisce le richieste di previsione per un utente. Ogni utente sembrerà avere eventi recenti quando in un secondo momento faremo previsioni per qualsiasi utente.

    Crea una vista BigQuery. Il seguente comando utilizza una query SQL che soddisfa i requisiti di conversione elencati in precedenza.

    bq mk --project_id=PROJECT_ID \
     --use_legacy_sql=false \
     --view '
     WITH t AS (
       SELECT
         MIN(UNIX_SECONDS(time)) AS old_start,
         MAX(UNIX_SECONDS(time)) AS old_end,
         UNIX_SECONDS(TIMESTAMP_SUB(
           CURRENT_TIMESTAMP(), INTERVAL 90 DAY)) AS new_start,
         UNIX_SECONDS(CURRENT_TIMESTAMP()) AS new_end
       FROM `PROJECT_ID.movielens.ratings`)
     SELECT
       CAST(userId AS STRING) AS visitorId,
       "detail-page-view" AS eventType,
       FORMAT_TIMESTAMP(
         "%Y-%m-%dT%X%Ez",
         TIMESTAMP_SECONDS(CAST(
           (t.new_start + (UNIX_SECONDS(time) - t.old_start) *
             (t.new_end - t.new_start) / (t.old_end - t.old_start))
         AS int64))) AS eventTime,
       [STRUCT(STRUCT(movieId AS id) AS product)] AS productDetails,
     FROM `PROJECT_ID.movielens.ratings`, t
     WHERE rating >= 4' \
    movielens.user_events
    

Importa il catalogo dei prodotti e gli eventi utente

Ora siamo pronti per importare il catalogo dei prodotti e i dati sugli eventi utente nella ricerca AI Commerce.

  1. Abilita l'API AI Commerce Search per il tuo progetto Google Cloud .

    ABILITARE L'API

  2. Fai clic su Inizia.

  3. Vai alla pagina Dati nella console AI Commerce Search in Gemini Enterprise for Customer Experience.

    Vai alla pagina Dati

  4. Fai clic su Importa.

Importa catalogo dei prodotti

  1. Compila il modulo per importare i prodotti dalla vista BigQuery che hai creato in precedenza:

    • Seleziona il tipo di importazione: Catalogo dei prodotti.
    • Seleziona il nome del branch predefinito.
    • Seleziona l'origine dei dati: BigQuery.
    • Seleziona lo schema dei dati: Schema prodotto vendita al dettaglio.
    • Inserisci il nome della vista BigQuery dei prodotti che hai creato in precedenza (PROJECT_ID.movielens.products).

  2. Fai clic su Importa.

  3. Attendi che siano stati importati tutti i prodotti. L'operazione dovrebbe richiedere 5-10 minuti.

    Puoi controllare l'attività di importazione per lo stato dell'operazione di importazione. Quando l'importazione viene completata, lo stato dell'operazione diventa Riuscito.

    Attività di importazione dei prodotti

Importa gli eventi utente

  1. Importa la vista BigQuery user_events:

    • Seleziona il tipo di importazione: Eventi utente.
    • Seleziona l'origine dei dati: BigQuery.
    • Seleziona lo schema dei dati: Schema eventi utente retail.
    • Inserisci il nome della vista BigQuery user_events che hai creato in precedenza.
  2. Fai clic su Importa.

  3. Attendi che sia stato importato almeno un milione di eventi prima di andare al passaggio successivo, in modo da soddisfare i requisiti dei dati per l'addestramento di un nuovo modello.

    Puoi controllare l'attività di importazione per lo stato dell'operazione. Il completamento del processo richiede circa un'ora.

    Attività di importazione eventi

Addestra e valuta i modelli di suggerimenti

Segui queste istruzioni per addestrare e valutare i modelli di suggerimenti.

Crea un modello di suggerimenti

  1. Vai alla pagina Modelli nella console AI Commerce Search in Gemini Enterprise for Customer Experience.

    Vai alla pagina Modelli

  2. Fai clic su Crea modello:

    • Assegna un nome al modello.
    • Seleziona Altri che ti potrebbero piacere come tipo di modello.
    • Scegli Percentuale di clic (CTR) come obiettivo commerciale.
  3. Fai clic su Crea.

    Crea modello

    L'addestramento del nuovo modello inizia.

    Modello creato

Crea una configurazione di pubblicazione

  1. Vai alla pagina Serving Configs nella console AI Commerce Search in Gemini Enterprise for Customer Experience.

    Vai alla pagina Configurazioni di pubblicazione

  2. Fai clic su Crea configurazione di pubblicazione:

    • Seleziona Consiglio.
    • Assegna un nome alla configurazione di pubblicazione.
    • Seleziona il modello che hai creato.
  3. Fai clic su Crea.

Attendi che il modello sia "Pronto per le query"

Sono necessari circa due giorni prima che il modello venga addestrato e possa ricevere query.

Per visualizzare lo stato, fai clic sulla configurazione di pubblicazione creata nella pagina delle configurazioni di pubblicazione.

Il campo Modello pronto per ricevere query indica al termine del processo.

Visualizza un'anteprima dei suggerimenti

Quando il modello è pronto per ricevere query:

  1. Vai alla pagina Serving Configs nella console AI Commerce Search in Gemini Enterprise for Customer Experience.

    Vai alla pagina Configurazioni di pubblicazione
  2. Fai clic sul nome della configurazione di pubblicazione per passare alla relativa pagina dei dettagli.
  3. Fai clic sulla scheda *Valuta.
  4. Inserisci un ID film di riferimento, ad esempio 4993 per "Il Signore degli Anelli: La Compagnia dell'Anello (2001)".

    Inserisci l&#39;ID

  5. Fai clic su Anteprima della previsione per visualizzare l'elenco degli elementi consigliati sulla destra della pagina.

Esegui la pulizia

Per evitare che al tuo Account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.

Elimina il progetto

  1. Nella console Google Cloud , vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona quello che vuoi eliminare, quindi fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.

Elimina singole risorse

  1. Vai alla pagina Configurazioni di pubblicazione ed elimina la configurazione di pubblicazione che hai creato.

  2. Vai alla pagina Modelli ed elimina il modello.

  3. Elimina il set di dati BigQuery in Cloud Shell:

    bq rm --recursive --dataset movielens
    
  4. Elimina il bucket Cloud Storage e i relativi contenuti:

    gcloud storage rm gs://PROJECT_ID-movielens-data --recursive
    

Passaggi successivi