Questa è la documentazione di Recommendations AI, Retail Search e la nuova console di Retail.

Creare consigli personalizzati relativi ai film

In questo tutorial, utilizzeremo il set di dati Movielens per mostrare come caricare il catalogo dei prodotti e gli eventi utente nell'API Retail e addestrare un modello di suggerimenti personalizzato sul prodotto. Il set di dati Movielens contiene un catalogo di film (prodotti) e le valutazioni dei film degli utenti (eventi degli utenti).

Tratteremo ogni valutazione positiva dei film (classificazione >= 4) come un evento di visualizzazione di pagina del prodotto. Addestreremo un modello di suggerimento di tipo "Altri che ti potrebbero piacere" che fornirà consigli sui film in base a qualsiasi utente o film originale nel nostro set di dati.

Tempo stimato:

  • Passaggi iniziali per iniziare ad addestrare il modello: ~1,5 ore.
  • In attesa dell'addestramento del modello: circa 2 giorni.
  • Valutazione delle previsioni dei modelli e pulizia: circa 30 minuti.

Obiettivi

  • Scopri come importare dati su prodotti ed eventi utente da BigQuery nell'API Retail.
  • Addestra e valuta i modelli di suggerimenti.

Costi

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

  • Cloud Storage
  • BigQuery
  • Vendita al dettaglio

Per ulteriori informazioni sui costi di Cloud Storage, consulta la pagina dei prezzi di Cloud Storage.

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

Per ulteriori informazioni sui costi relativi al retail, consulta la pagina Prezzi al dettaglio.

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 gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.

  4. Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  5. Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.

Prepara il set di dati

Apri Google Cloud Console e seleziona il tuo progetto Google Cloud. Prendi nota dell'ID progetto nella scheda Informazioni sul progetto della pagina della dashboard. Per i seguenti passaggi avrai bisogno dell'ID progetto. Quindi, fai clic sul pulsante Attiva Cloud Shell nella parte superiore della console.

Cloud Shell

Una sessione di Cloud Shell si apre all'interno di un nuovo frame nella parte inferiore di Google Cloud Console e mostra 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:

    gsutil mb gs://PROJECT_ID-movielens-data
    gsutil 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 di 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 viste BigQuery

  1. Crea una visualizzazione che converta la tabella dei film nello schema del catalogo dei prodotti di vendita al dettaglio:

    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 visualizzazione prevede lo schema che prevede l'API Retail. Nella barra laterale a sinistra, scegli BIG DATA -> BigQuery. Nella barra di esplorazione a sinistra, espandi il nome del progetto e seleziona movielens -> products per aprire la pagina della query relativa a questa visualizzazione.

    Visualizzazione prodotti

  2. Adesso convertiamo le valutazioni dei film in eventi utente. Ecco cosa faremo:

    • Ignora le valutazioni negative dei film (<4)
    • Tratta ogni valutazione positiva come un evento di visualizzazione di pagina del prodotto (detail-page-view)
    • Ridimensionare la sequenza temporale di Movielens negli ultimi 90 giorni. Lo facciamo per due motivi:
      • L'API Retail richiede che gli eventi utente non siano precedenti al 2015. Le valutazioni di Movielens risalgono al 1995.
      • Retail API utilizza gli eventi utente ultimi 90 giorni per gestire le richieste di previsione per un utente. Tutti gli utenti sembreranno avere eventi recenti quando fatturiamo previsioni per qualsiasi utente in seguito.

    Creare una vista BigQuery. Il seguente comando utilizza una query SQL che soddisfa i requisiti di conversione dell'API Retail elencati sopra.

    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
    

Importare il catalogo dei prodotti e gli eventi utente nell'API Retail

Ora è tutto pronto per importare il catalogo dei prodotti e i dati sugli eventi utente nell'API Retail.

  1. Attiva l'API Retail per il tuo progetto Google Cloud.

    ABILITA L'API RETAIL

  2. Fai clic su Inizia.

  3. Vai alla pagina Dati di vendita al dettaglio in Google Cloud Console.

    Vai alla pagina Dati

  4. Fai clic su Import (Importa).

Importa catalogo dei prodotti

  1. Compila il modulo per importare i prodotti dalla vista di BigQuery creata in precedenza:

    • Seleziona il tipo di importazione: Catalogo dei prodotti.
    • Seleziona il nome del ramo predefinito.
    • Seleziona l'origine dei dati: BigQuery.
    • Seleziona lo schema di dati: Schema del prodotto retail.
    • Inserisci il nome dei prodotti BigQuery che hai creato sopra (<var label="project ID">PROJECT_ID</var>'.movielens.products).

  2. Fai clic su Import (Importa).

  3. Attendi che vengano importati tutti i prodotti (l'operazione dovrebbe richiedere 5-10 minuti).

    Puoi controllare lo stato dell'operazione di importazione. Al termine dell'importazione, lo stato dell'operazione di importazione diventa Riuscito.

    Attività di importazione dei prodotti

Importare gli eventi utente

  1. Importa la visualizzazione BigQuery user_events:

    • Seleziona il tipo di importazione: Eventi utente.
    • Seleziona l'origine dei dati: BigQuery.
    • Schema dei dati selezionato: schema degli eventi utente per la vendita al dettaglio.
    • Inserisci il nome della vista BigQuery user_events che hai creato in precedenza.
  2. Fai clic su Import (Importa).

  3. Prima di procedere al passaggio successivo, è necessario importare almeno un milione di eventi per soddisfare i requisiti dei dati per l'addestramento di un nuovo modello.

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

    Attività di importazione degli eventi

Addestrare e valutare modelli di suggerimenti

Creare un modello di suggerimenti

  1. Vai alla pagina Modelli di vendita al dettaglio in Google Cloud Console.

    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

    Inizia l'addestramento del nuovo modello.

    Modello creato

Crea una configurazione di pubblicazione

  1. Vai alla pagina Configurazioni di vendita al dettaglio in Google Cloud Console.

    Vai alla pagina Configurazioni di pubblicazione

  2. Fai clic su Crea configurazione di pubblicazione:

    • Seleziona Consiglio.
    • Specifica un nome per la configurazione di pubblicazione.
    • Seleziona il modello che hai creato.
  3. Fai clic su Crea.

Attendi che il modello sia "Ready to query"

Sono necessari circa due giorni prima che il modello venga addestrato e pronto a eseguire query.

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

Il campo Modello pronto per la query indica al termine della procedura.

Visualizza l'anteprima dei consigli

Quando il modello è pronto per l'esecuzione di query:

  1. Vai alla pagina Configurazioni di vendita al dettaglio in Google Cloud Console.

    Vai alla pagina Configurazioni di pubblicazione
  2. Fai clic sul nome della configurazione di pubblicazione per andare alla relativa pagina dei dettagli.
  3. Fai clic sulla scheda *Valuta.
  4. Inserisci un ID film originale, come 4993 per "The Lord of the Rings: The Fellowship of the Ring (2001)".

    Inserisci l&#39;ID

  5. Fai clic su Anteprima previsione per visualizzare l'elenco di elementi consigliati a 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. In Cloud Console, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona il progetto da 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:

    gsutil rm gs://PROJECT_ID-movielens-data/movies.csv
    gsutil rm gs://PROJECT_ID-movielens-data/ratings.csv
    gsutil rb gs://PROJECT_ID-movielens-data/
    

Passaggi successivi