Esta es la documentación de Recomendaciones IA, Retail Search y la nueva consola de venta minorista. Para usar Retail Search en la fase restringida de Google Analytics, comuníquese con el equipo de Ventas de Cloud.

Si solo usas Recomendaciones IA, permanece en la consola de Recomendaciones y consulta la documentación de Recomendaciones IA.

Crea recomendaciones personalizadas de películas

En este instructivo, usaremos el conjunto de datos Movielens para demostrar cómo subir tu catálogo de productos y eventos de usuarios a la API de venta minorista y entrenar un modelo de recomendación de productos personalizado. El conjunto de datos de Movielens contiene un catálogo de películas (productos) y calificaciones de películas de usuarios (eventos de usuario).

Trataremos cada calificación positiva de la película (calificaciones >= 4) como un evento de página vista del producto. Entrenaremos un modelo de recomendaciones de tipo “Otros elementos que podrían gustarte” que hará recomendaciones de películas en función de cualquier usuario o una película inicial en nuestro conjunto de datos.

Duración estimada:

  • Pasos iniciales para comenzar a entrenar el modelo: aproximadamente 1.5 horas.
  • Esperando a que el modelo se entrene: aproximadamente 2 días.
  • Evaluación de las predicciones del modelo y limpieza: ~30 minutos.

Objetivos

  • Obtén información sobre cómo importar datos de productos y eventos de usuarios de BigQuery a la API de venta minorista.
  • Entrena y evalúa los modelos de recomendación.

Costos

En este instructivo, se usan componentes facturables de Google Cloud, que incluyen lo siguiente:

  • Cloud Storage
  • BigQuery
  • Venta minorista

Para obtener más información sobre los costos de Cloud Storage, consulta la página de precios de Cloud Storage.

Para obtener más información sobre los costos de BigQuery, consulta la página de precios de BigQuery.

Para obtener más información sobre los costos de venta minorista, consulta la página Precios de venta minorista.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Descubre cómo confirmar que tienes habilitada la facturación en un proyecto.

  4. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  5. Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Descubre cómo confirmar que tienes habilitada la facturación en un proyecto.

Prepara el conjunto de datos

Abre Cloud Console, selecciona tu proyecto de Google Cloud y haz clic en el botón Activar Cloud Shell en la parte superior de Console.

Cloud Shell

Se abrirá una sesión de Cloud Shell en un marco nuevo en la parte inferior de Cloud Console, que mostrará una ventana de la línea de comandos.

Importa el conjunto de datos

  1. Con Cloud Shell, descarga y descomprime el conjunto de datos de origen:

    wget http://files.grouplens.org/datasets/movielens/ml-latest.zip
    unzip ml-latest.zip
    
  2. Crea un bucket de Cloud Storage y sube los datos en él:

    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 conjunto de datos de BigQuery:

    bq mk movielens
    
  4. Carga movies.csv en una tabla nueva de BigQuery de películas:

    bq load --skip_leading_rows=1 movielens.movies \
      gs://PROJECT_ID-movielens-data/movies.csv \
      movieId:integer,title,genres
    
  5. Carga ratings.csv en una tabla de BigQuery de calificaciones nueva:

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

Crea vistas de BigQuery

  1. Crea una vista que convierta la tabla de películas en el esquema de catálogo de productos de venta minorista:

    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
    

    Ahora, la vista nueva tiene el esquema que espera la API de venta minorista.

    Vista de productos

  2. Ahora convirtamos las calificaciones de películas en eventos de usuario. Haremos lo siguiente:

    • Ignorar calificaciones de películas negativas (<4)
    • Tratar cada calificación positiva como un evento de vista de la página del producto (detail-page-view)
    • Volver a escalar el cronograma de Movielens a los últimos 90 días. Lo hacemos por dos motivos:
      • La API de venta minorista requiere que los eventos de usuario no sean anteriores a 2015. Las calificaciones de Movielens se remiten a 1995.
      • La API de venta minorista usa los últimos 90 días de eventos del usuario cuando entrega solicitudes de predicción para un usuario. Cada usuario parecerá tener eventos recientes cuando hagamos predicciones para cualquier usuario más adelante.

    Crea una vista de BigQuery. En el siguiente comando, se usa una consulta de SQL que cumple con los requisitos de conversión de la API de venta minorista que se mencionaron antes.

    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 eventos de usuarios y catálogo de productos a la API de venta minorista

Ahora estamos listos para importar el catálogo de productos y los datos de eventos del usuario a la API de venta minorista.

  1. Habilita la API de Venta minorista para tu proyecto de Google Cloud.

    HABILITAR LA API DE VENTA MINORISTA

  2. Haz clic en Comenzar.

  3. Ve a la página Datos de venta minorista en Google Cloud Console.

    Ir a la página Datos

  4. Haga clic en Import.

Importar catálogo de productos

  1. Completa el formulario para importar productos de la vista de BigQuery que creaste antes:

    • Selecciona el tipo de importación: Catálogo de productos.
    • Selecciona el nombre de la rama predeterminado.
    • Selecciona la fuente de datos: BigQuery.
    • Selecciona el esquema de datos: Esquema de productos de venta minorista.
    • Ingresa el nombre de la vista de productos de BigQuery que creaste antes.
  2. Haga clic en Import.

  3. Espera hasta que se hayan importado todos los productos, lo que debería tomar entre 5 y 10 minutos.

    Puedes verificar la actividad de importación para el estado de la operación de importación. Cuando se completa la importación, el estado de la operación de importación cambia a Completado.

    Actividad de importación de productos

Importa eventos de usuarios

  1. Importa la vista eventos de usuario de BigQuery:

    • Selecciona el tipo de importación: Eventos de usuario.
    • Selecciona la fuente de datos: BigQuery.
    • Selecciona el esquema de datos: Esquema de eventos de venta minorista del usuario.
    • Ingresa el nombre de la vista user_events de BigQuery que creaste antes.
  2. Haga clic en Import.

  3. Espera hasta que se haya importado al menos un evento antes de continuar con el siguiente paso, a fin de cumplir con los requisitos de datos para entrenar un modelo nuevo.

    Puedes verificar la actividad de importación para el estado de la operación. El proceso toma alrededor de una hora en completarse.

    Actividad de importación de eventos

Entrena y evalúa los modelos de recomendación

Crea un modelo de recomendaciones

  1. Ve a la página Modelos de venta minorista en Google Cloud Console.

    Ir a la página Modelos

  2. Haz clic en Crear modelo.

    • Asigna un nombre al modelo.
    • Selecciona Otros elementos que podrían gustarte como el tipo de modelo.
    • Elige Tasa de clics (CTR) como el objetivo comercial.
  3. Haga clic en Crear.

    Crear modelo

    Tu modelo nuevo comienza el entrenamiento.

    Fecha de creación del modelo

Crea una configuración de entrega

  1. Ve a la página Configuración de entrega minorista en Google Cloud Console.

    Ir a la página Configuración de entrega

  2. Haz clic en Crear configuración de entrega:

    • Selecciona Recomendación.
    • Asigna un nombre a la configuración de entrega.
    • Selecciona el modelo que creaste.
  3. Haz clic en Crear.

Espera a que el modelo esté “Listo para consultar”

El entrenamiento del modelo toma alrededor de dos días y está listo para la consulta.

Para ver el estado, haz clic en la configuración de entrega creada en la [página de configuración de entregas][https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs/].

En el campo Modelo listo para consultar, se indica cuando se completa el proceso.

Obtener vista previa de las recomendaciones

Una vez que el modelo esté listo para realizar consultas, sucede lo siguiente:

  1. Ve a la página Configuración de entrega minorista en Google Cloud Console.

    Ir a la página Configuración de entrega
  2. Haz clic en el nombre de la configuración de entrega para ir a su página de detalles.
  3. Haz clic en la pestaña Evaluar.
  4. Ingresa un ID de película de origen, como 4993 para “El Señor de los Anillos: La comunidad del anillo (2001)”.

    Ingresar ID

  5. Haz clic en Vista previa de predicción para ver la lista de elementos recomendados a la derecha de la página.

Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.

Borra el proyecto

  1. En Cloud Console, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
  3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

Borra los recursos individuales

  1. Ve a la página Configuraciones de entrega y borra la configuración de entrega que creaste.

  2. Ve a la página Modelos y borra el modelo.

  3. Borra el conjunto de datos de BigQuery en Cloud Shell:

    bq rm --recursive --dataset movielens
    
  4. Borra el bucket de 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/
    

¿Qué sigue?