Trataremos cada classificação positiva de filme (classificação >= 4) como um evento de visualização da página do produto. Vamos treinar um modelo de recomendação do tipo "Outros que talvez você goste". Ele fará recomendações de filmes com base em qualquer usuário ou filme original no nosso conjunto de dados.
Tempo estimado:
- Etapas iniciais para iniciar o treinamento do modelo: aproximadamente 1,5 hora.
- Aguardando o treinamento do modelo: aproximadamente 2 dias.
- Avaliação das previsões do modelo e limpeza: aproximadamente 30 minutos.
Objetivos
- Saiba como importar produtos e dados de eventos do usuário do BigQuery para a Vertex AI para Pesquisa para varejo.
- Treine e avalie modelos de recomendação.
Custos
Neste tutorial, há componentes faturáveis do Google Cloud, entre eles:- Cloud Storage
- BigQuery
- Vertex AI para Pesquisa para varejo
Para mais informações sobre os custos do Cloud Storage, consulte a página Preços do Cloud Storage.
Para mais informações sobre os custos do BigQuery, consulte a página de preços.
Para mais informações sobre os custos de varejo da Vertex AI para Pesquisa, consulte a página Vertex AI para Pesquisa para preços de varejo.
Antes de começar
- Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
Preparar o conjunto de dados
Abra o console do Google Cloud e selecione seu projeto do Google Cloud. Anote o ID do projeto no card Informações do projeto na página do painel. Você precisará do ID do projeto para as etapas a seguir. Em seguida, clique no botão Ativar o Cloud Shell na parte superior do Console.
Uma sessão do Cloud Shell é aberta em um novo frame na parte inferior do console do Google Cloud, e um prompt de linha de comando é exibido.
Importar o conjunto de dados
Use o Cloud Shell para fazer o download do conjunto de dados de origem e descompactá-lo:
wget https://files.grouplens.org/datasets/movielens/ml-latest.zip unzip ml-latest.zip
Crie um bucket do Cloud Storage e faça o upload dos dados para ele:
gsutil mb gs://PROJECT_ID-movielens-data gsutil cp ml-latest/movies.csv ml-latest/ratings.csv \ gs://PROJECT_ID-movielens-data
Crie um conjunto de dados do BigQuery:
bq mk movielens
Carregue
movies.csv
em uma nova tabela de filmes do BigQuery:bq load --skip_leading_rows=1 movielens.movies \ gs://PROJECT_ID-movielens-data/movies.csv \ movieId:integer,title,genres
Carregue
ratings.csv
em uma nova tabela de classificações do BigQuery:bq load --skip_leading_rows=1 movielens.ratings \ gs://PROJECT_ID-movielens-data/ratings.csv \ userId:integer,movieId:integer,rating:float,time:timestamp
Criar visualizações do BigQuery
Crie uma visualização que converta a tabela "filmes" no esquema do catálogo de produtos de varejo:
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
Agora a nova visualização tem o esquema que a Vertex AI para Pesquisa para varejo espera. Em seguida, na barra lateral esquerda, escolha
BIG DATA -> BigQuery
. Em seguida, na barra do explorador à esquerda, expanda o nome do seu projeto e selecionemovielens -> products
para abrir a página de consulta para essa visualização.Agora, vamos converter as classificações de filmes em eventos de usuário. Também vamos:
- Ignorar classificações negativas de filmes (<4>)
- Trate todas as classificações positivas como um evento de visualização da página do produto
(
detail-page-view
). - Redimensione a linha do tempo Movielens para os últimos 90 dias. Fazemos isso por dois
motivos:
- A Vertex AI para Pesquisa para varejo exige que os eventos do usuário tenham no máximo 2015. As classificações do Movielens remontam a 1995.
- A Vertex AI para Pesquisa para varejo usa os últimos 90 dias de eventos do usuário ao exibir solicitações de previsão para um usuário. Parece que cada usuário tem eventos recentes quando fazemos previsões para qualquer usuário posteriormente.
Crie uma visualização do BigQuery. O comando a seguir usa uma consulta SQL que atende aos requisitos de conversão listados acima.
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
Importar catálogo de produtos e eventos do usuário
Agora estamos prontos para importar o catálogo de produtos e os dados de eventos do usuário para a Vertex AI para Pesquisa para varejo.
Ativar a API Vertex AI para Pesquisa para varejo no projeto do Google Cloud.
Clique em Começar.
Acesse a página Dados> no console da Pesquisa for Retail.
Acessar a página "Dados"Clique em Importar.
Importar catálogo de produtos
Preencha o formulário para importar produtos da visualização do BigQuery que você criou acima:
- Selecione o tipo de importação: Product Catalog.
- Selecione o nome da ramificação padrão.
- Selecione a fonte dos dados: BigQuery.
- Selecione o esquema dos dados: Esquema de produto de varejo.
Digite o nome dos produtos da visualização do BigQuery que você criou acima (
PROJECT_ID.movielens.products
).
Clique em Importar.
Aguarde até que todos os produtos sejam importados, o que deve levar de 5 a 10 minutos.
É possível verificar a atividade de importação para o status da operação. Quando a importação for concluída, o status da operação de importação será alterado para Concluído.
Importar eventos do usuário
Importe a visualização user_events do BigQuery:
- Selecione o tipo de importação: Eventos do usuário.
- Selecione a fonte dos dados: BigQuery.
- Selecione o esquema dos dados: Esquema de eventos do usuário de varejo.
- Insira o nome da visualização
user_events
do BigQuery criada acima.
Clique em Importar.
Aguarde até que pelo menos um milhão de eventos tenham sido importados antes de prosseguir para a próxima etapa, a fim de atender aos requisitos de dados para treinar um novo modelo.
É possível verificar a atividade de importação do status da operação. O processo leva cerca de uma hora para ser concluído.
Treine e avalie modelos de recomendação
Criar um modelo de recomendação
Acesse a página Modelos no console da Pesquisa for Retail.
Acessar a página "Modelos"Clique em Criar modelo.
- Dê um nome ao modelo.
- Selecione Outros itens que você pode gostar como o tipo de modelo.
- Escolha Taxa de cliques (CTR) como o objetivo de negócio.
Clique em Criar.
Seu novo modelo começa o treinamento.
Criar uma configuração de veiculação
Acesse a página Configurações de veiculação no console da Pesquisa for Retail.
Acessar a página "Configurações de exibição"Clique em Criar configuração de veiculação:
- Selecione Recomendação.
- Dê um nome à configuração de veiculação.
- Selecione o modelo que você criou.
Clique em Criar.
Aguarde até que o modelo esteja "Pronto para consulta"
Leva cerca de dois dias para que o modelo seja treinado e esteja pronto para consulta.
Para ver o status, clique na configuração de exibição criada na página Configurações de exibição.
O campo Modelo pronto para consulta indica Sim quando o processo é concluído.
Recomendações de visualização
Quando o modelo estiver pronto para consulta:
-
Acesse a página Configurações de veiculação no console da Pesquisa for Retail.
Acessar a página "Configurações de exibição" - Clique no nome da configuração de veiculação para acessar a página de detalhes.
- Clique na guia *Avaliar.
Digite o código do filme, como
4993
, para "O Senhor dos Anéis" (2001).Clique em Prediction preview para ver a lista de itens recomendados à direita da página.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Exclua o projeto
- No Console do Google Cloud, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.
Excluir recursos individuais
Acesse a página Configurações de veiculação e exclua a configuração que você criou.
Acesse a página Modelos e exclua o modelo.
Exclua o conjunto de dados do BigQuery no Cloud Shell:
bq rm --recursive --dataset movielens
Exclua o bucket do 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/