Nous traiterons chaque note positive de film (note supérieure ou égale à 4) comme un événement de vue de la page produit. Nous allons entraîner un modèle de recommandation de type "Autres articles susceptibles de vous intéresser" qui formulera des recommandations de films en se basant sur un utilisateur ou sur un film source de notre ensemble de données.
Durée estimée :
- Étapes initiales pour commencer à entraîner le modèle : environ 1 heure et 30 minutes.
- Durée d'entraînement du modèle : environ 2 jours.
- Évaluation des prédictions du modèle et nettoyage : environ 30 minutes.
Objectifs
- Découvrez comment importer des données relatives aux produits et aux événements utilisateur depuis BigQuery vers Vertex AI Search pour le commerce.
- Entraîner et évaluer des modèles de recommandation
Coûts
Ce tutoriel utilise des composants facturables de Google Cloud, y compris :- Cloud Storage
- BigQuery
- Vertex AI Search pour le commerce
Pour en savoir plus sur le coût de Cloud Storage, consultez la page Tarifs de Cloud Storage.
Pour plus d'informations sur les coûts de BigQuery, consultez la page Tarifs de BigQuery.
Pour en savoir plus sur les coûts de Vertex AI Search pour le commerce, consultez la page Tarifs de Vertex AI Search pour le commerce.
Avant de commencer
- 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.
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify 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.
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Préparer l'ensemble de données
Ouvrez la consoleGoogle Cloud , puis sélectionnez votre projet Google Cloud . Notez l'ID du projet dans la fiche Informations sur le projet de la page du tableau de bord. Vous aurez besoin de l'ID du projet pour les étapes suivantes. Cliquez ensuite sur le bouton Activer Cloud Shell en haut de la console.
Une session Cloud Shell s'ouvre dans un nouveau cadre en bas de la console Google Cloud et affiche une invite de ligne de commande.
Importer l'ensemble de données
À l'aide de Cloud Shell, téléchargez et décompressez l'ensemble de données source :
wget https://files.grouplens.org/datasets/movielens/ml-latest.zip unzip ml-latest.zip
Créez un bucket Cloud Storage et importez-y les données :
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
Créez un ensemble de données BigQuery :
bq mk movielens
Chargez
movies.csv
dans une nouvelle table BigQuery "movies" (films) :bq load --skip_leading_rows=1 movielens.movies \ gs://PROJECT_ID-movielens-data/movies.csv \ movieId:integer,title,genres
Chargez
ratings.csv
dans une nouvelle table BigQuery "ratings" (notes) :bq load --skip_leading_rows=1 movielens.ratings \ gs://PROJECT_ID-movielens-data/ratings.csv \ userId:integer,movieId:integer,rating:float,time:timestamp
Créer des vues BigQuery
Créez une vue qui convertit la table "movies" en utilisant le schéma de catalogue de produits 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
La nouvelle vue comporte maintenant le schéma attendu par Vertex AI Search pour le commerce. Dans la barre latérale de gauche, choisissez
BIG DATA -> BigQuery
. Dans la barre de l'explorateur sur la gauche, développez le nom de votre projet et sélectionnezmovielens -> products
pour ouvrir la page de requête de cette vue.Convertissez maintenant les notes de films en événements utilisateur. Lors de cet événement, nous allons :
- Ignorer les notes négatives (<4).
- Traiter chaque note positive comme un événement de vue de page produit (
detail-page-view
). - Limiter aux 90 derniers jours la portion utilisée de l'ensemble de données MovieLens. Nous procédons ainsi pour deux raisons :
- Vertex AI Search pour le commerce nécessite que les événements utilisateur ne soient pas antérieurs à 2015. Les évaluations MovieLens remontent jusqu'à 1995.
- Vertex AI Search pour le commerce utilise les 90 derniers jours d'événements utilisateur lors de la diffusion de requêtes de prédiction pour un utilisateur. Ainsi, lorsque nous effectuons des prédictions pour un utilisateur quelconque, chaque utilisateur apparaît comme ayant des événements récents.
Créez une vue BigQuery. La commande suivante utilise une requête SQL qui répond aux exigences de conversion mentionnées précédemment.
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
Importer un catalogue de produits et des événements utilisateur
Nous sommes maintenant prêts à importer le catalogue de produits et les données d'événement utilisateur dans Vertex AI Search pour le commerce.
Activez l'API Vertex AI Search pour le commerce pour votre projet Google Cloud .
Cliquez sur Commencer.
Accédez à la page Données dans la console Search for Commerce.
Accéder à la page "Données"Cliquez sur Import (Importer).
Importer un catalogue de produits
Remplissez le formulaire pour importer des produits à partir de la vue BigQuery que vous avez créée précédemment :
- Sélectionnez le type d'importation : Catalogue de produits.
- Sélectionnez le nom de la branche par défaut.
- Sélectionnez la source de données : BigQuery.
- Sélectionnez un schéma de données : Schéma de produit Retail.
Saisissez le nom de la vue BigQuery sur les produits que vous avez créée précédemment (
PROJECT_ID.movielens.products
).
Cliquez sur Importer.
Attendez que tous les produits aient été importés, ce qui prend entre 5 et 10 minutes.
Vous pouvez vérifier l'état de l'opération d'importation si vous le souhaitez. Une fois l'importation terminée, l'état de l'opération d'importation devient Réussie.
Importer des événements utilisateur
Importez la vue BigQuery "user_events" :
- Sélectionnez le type d'importation : Événements utilisateur.
- Sélectionnez la source de données : BigQuery.
- Sélectionnez un schéma de données : Schéma d'événement utilisateur Retail.
- Saisissez le nom de la vue BigQuery
user_events
que vous avez créée précédemment.
Cliquez sur Importer.
Attendez qu'au moins un million d'événements aient été importés avant de passer à l'étape suivante, afin de satisfaire les exigences relatives aux données d'entraînement d'un nouveau modèle.
Vous pouvez vérifier l'état de l'activité d'importation si vous le souhaitez. Le processus prend environ une heure.
Entraîner et évaluer des modèles de recommandation
Suivez ces instructions pour entraîner et évaluer des modèles de recommandation.
Créer un modèle de recommandation
Accédez à la page Modèles dans la console Search for Commerce.
Accéder à la page "Modèles"Cliquez sur Créer un modèle :
- Attribuez un nom au modèle.
- Sélectionnez le type de modèle Autres articles susceptibles de vous intéresser.
- Sélectionnez Taux de clics (CTR) comme objectif commercial.
Cliquez sur Create (Créer).
L'entraînement de votre modèle commence.
Créer une configuration de diffusion
Accédez à la page Configurations de diffusion dans la console Search for Commerce.
Accéder à la page "Configurations de diffusion"Cliquez sur Créer une configuration de diffusion :
- Sélectionnez Recommandation.
- Donnez un nom à la configuration de diffusion.
- Sélectionnez le modèle que vous avez créé.
Cliquez sur Create (Créer).
Attendez que le modèle soit "Prêt à interroger"
L'entraînement et la mise à disposition du modèle pour interrogation prennent environ deux jours.
Pour afficher l'état, cliquez sur la configuration de diffusion créée sur la page Configurations de diffusion.
Le champ Modèle prêt à interroger indique Oui lorsque le processus est terminé.
Prévisualiser les recommandations
Une fois le modèle prêt à être interrogé :
-
Accédez à la page Configurations de diffusion dans la console Search for Commerce.
Accéder à la page "Configurations de diffusion" - Cliquez sur le nom de la configuration de diffusion pour accéder à sa page d'informations.
- Cliquez sur l'onglet Évaluation*.
Saisissez un ID de film source, par exemple
4993
pour "The Lord of the Rings: The Fellowship of the Ring (2001)".Cliquez sur Aperçu de la prédiction pour afficher la liste des éléments recommandés à droite de la page.
Effectuer un nettoyage
Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.
Supprimer le projet
- 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.
Supprimer des ressources individuelles
Accédez à la page Configurations de diffusion, puis supprimez la configuration de diffusion que vous avez créée.
Accédez à la page Modèles et supprimez le modèle.
Supprimez l'ensemble de données BigQuery dans Cloud Shell :
bq rm --recursive --dataset movielens
Supprimez le bucket Cloud Storage et son contenu :
gcloud storage rm gs://PROJECT_ID-movielens-data --recursive