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 para importar datos de productos y eventos de usuarios de BigQuery a Vertex AI Search para 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
- Vertex AI Search para la 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 Vertex AI Search para venta minorista, consulta la página Precios de Vertex AI Search para venta minorista.
Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
Prepara el conjunto de datos
Abierta Consola de Google Cloud, selecciona tu proyecto de Google Cloud. Anota el ID del proyecto en la tarjeta Información del proyecto de la página del panel. Necesitarás el ID del proyecto para los siguientes pasos. Luego, haz clic en el botón Activar Cloud Shell en la parte superior de la consola.
Se abrirá una sesión de Cloud Shell en un marco nuevo en la parte inferior de la consola de Google Cloud, que mostrará una ventana de la línea de comandos.
Importa el conjunto de datos
Con Cloud Shell, descarga y descomprime el conjunto de datos de origen:
wget https://files.grouplens.org/datasets/movielens/ml-latest.zip unzip ml-latest.zip
Crea un bucket de Cloud Storage y sube los datos en él:
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
Crea un conjunto de datos de BigQuery:
bq mk movielens
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
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
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 Vertex AI Search para la venta minorista. Luego, en la barra lateral izquierda, elige
BIG DATA -> BigQuery
. Luego, en la barra del explorador de la izquierda, expande el nombre de tu proyecto y seleccionamovielens -> products
para abrir la página de consulta de esta vista.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:
- Vertex AI Search para la venta minorista requiere que los eventos de usuario no sean anteriores a 2015. Las calificaciones de Movielens se remiten a 1995.
- Vertex AI Search for Retail usa los últimos 90 días de eventos de usuario cuando entrega la 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. El siguiente comando usa una consulta en SQL que cumpla con los requisitos de conversión mencionados anteriormente.
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 un catálogo de productos y eventos de usuario
Ahora estamos listos para importar el catálogo de productos y los datos de eventos del usuario a Vertex AI Search para venta minorista.
Habilita la API de Vertex AI Search para la venta minorista en tu proyecto de Google Cloud.
Haz clic en Comenzar.
Ve a la página Datos> en la consola de Search for Retail.
Ir a la página DatosHaga clic en Import.
Importar catálogo de productos
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 los productos en la vista de BigQuery que creaste arriba (
PROJECT_ID.movielens.products
).
Haga clic en Import.
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.
Importa eventos de usuarios
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.
Haga clic en Import.
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.
Entrena y evalúa modelos de recomendación
Crea un modelo de recomendaciones
Ve a la página Modelos en la consola de Search for Retail.
Ir a la página ModelosHaz 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.
Haga clic en Crear.
Tu modelo nuevo comienza el entrenamiento.
Crea una configuración de entrega
Ve a la página Configuraciones de publicación en la consola de Search for Retail.
Ir a la página Configuración de entregaHaz clic en Crear configuración de entrega:
- Selecciona Recomendación.
- Asígnale un nombre a la configuración de entrega.
- Selecciona el modelo que creaste.
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 entrega.
En el campo Modelo listo para consultar, se indica Sí cuando se completa el proceso.
Obtener vista previa de las recomendaciones
Una vez que el modelo esté listo para realizar consultas, sucede lo siguiente:
-
Ve a la página Configuraciones de publicación en la consola de Search for Retail.
Ir a la página Configuración de entrega - Haz clic en el nombre de la configuración de entrega para ir a su página de detalles.
- Haz clic en la pestaña Evaluar.
Ingresa un ID de película de origen, como
4993
para “El Señor de los Anillos: La comunidad del anillo (2001)”.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
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Borra los recursos individuales
Ve a la página Configuración de entrega y borra la configuración de entrega que crear.
Ve a la página Modelos y borra el modelo.
Borra el conjunto de datos de BigQuery en Cloud Shell:
bq rm --recursive --dataset movielens
Borra el bucket de Cloud Storage y su contenido:
gcloud storage rm gs://PROJECT_ID-movielens-data --recursive