Vamos tratar cada classificação positiva de um filme (classificação >= 4) como um evento de visualização da página do produto. Vamos preparar um modelo de recomendações do tipo Outros filmes de que pode gostar que vai fazer recomendações de filmes com base em qualquer utilizador ou filme inicial no nosso conjunto de dados.
Tempo previsto:
- Passos iniciais para começar a preparar o modelo: cerca de 1,5 horas.
- A aguardar a preparação do modelo: ~2 dias.
- Avaliar as previsões do modelo e fazer a limpeza: ~30 minutos.
Prepare o conjunto de dados
Abra a Google Cloud consola, selecione o seu Google Cloud projeto. Tome nota do ID do projeto no cartão Informações do projeto na página do painel de controlo. Vai precisar do ID do projeto para os passos seguintes. Em seguida, clique no botão Ativar Cloud Shell na parte superior da consola.
É aberta uma sessão do Cloud Shell num novo frame na parte inferior da Google Cloud consola e é apresentado um comando.
Importe o conjunto de dados
Usando o Cloud Shell, transfira e descompacte o conjunto de dados de origem:
wget https://files.grouplens.org/datasets/movielens/ml-latest.zip unzip ml-latest.zip
Crie um contentor do Cloud Storage e carregue os dados para o mesmo:
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
Crie um conjunto de dados do BigQuery:
bq mk movielens
Carregue
movies.csv
para 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
para 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
Crie visualizações do BigQuery
Crie uma vista que converta a tabela de filmes no esquema do catálogo de produtos de retalho:
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 vista tem o esquema que o Vertex AI Search for commerce espera. Em seguida, na barra lateral esquerda, escolha
BIG DATA -> BigQuery
. Em seguida, na barra do explorador do lado esquerdo, expanda o nome do projeto e selecionemovielens -> products
para abrir a página de consulta desta vista.Agora, converta as classificações de filmes em eventos do utilizador. Vamos:
- Ignorar classificações negativas de filmes (<4)
- Tratar cada classificação positiva como um evento de visualização da página do produto
(
detail-page-view
) - Redimensione a cronologia do Movielens para os últimos 90 dias. Fazemos isto por dois motivos:
- O Vertex AI Search para comércio requer que os eventos do utilizador não sejam anteriores a 2015. As classificações do MovieLens remontam a 1995.
- O Vertex AI Search for commerce usa os últimos 90 dias de eventos do utilizador quando processa pedidos de previsão para um utilizador. Todos os utilizadores vão parecer ter eventos recentes quando fazemos previsões para qualquer utilizador mais tarde.
Crie uma vista do BigQuery. O comando seguinte usa uma consulta SQL que cumpre os requisitos de conversão indicados 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
Importe o catálogo de produtos e os eventos do utilizador
Agora, estamos prontos para importar o catálogo de produtos e os dados de eventos do utilizador para o Vertex AI Search for commerce.
Ative a API Vertex AI Search para comércio para o seu Google Cloud projeto.
Clique em Começar.
Aceda à página Dados> na consola de pesquisa para comércio.
Aceda à página DadosClique em Importar.
Importe o catálogo de produtos
Preencha o formulário para importar produtos da vista do BigQuery que criou anteriormente:
- Selecione o tipo de importação: Catálogo de produtos.
- Selecione o nome do ramo predefinido.
- Selecione a origem dos dados: BigQuery.
- Selecione o esquema de dados: Esquema de produtos de retalho.
Introduza o nome da vista do BigQuery de produtos que criou anteriormente (
PROJECT_ID.movielens.products
).
Clique em Importar.
Aguarde até que todos os produtos sejam importados. Este processo deve demorar entre 5 e 10 minutos.
Pode verificar a atividade de importação para ver o estado da operação de importação. Quando a importação estiver concluída, o estado da operação de importação é alterado para Concluído com êxito.
Importe eventos do utilizador
Importe a visualização do BigQuery user_events:
- Selecione o tipo de importação: Eventos de utilizadores.
- Selecione a origem dos dados: BigQuery.
- Selecione o esquema de dados: Esquema de eventos do utilizador do setor de retalho.
- Introduza o nome da visualização do BigQuery
user_events
que criou anteriormente.
Clique em Importar.
Aguarde até que, pelo menos, um milhão de eventos tenham sido importados antes de avançar para o passo seguinte, de modo a cumprir os requisitos de dados para preparar um novo modelo.
Pode verificar a atividade de importação para ver o estado da operação. O processo demora cerca de uma hora a concluir.
Prepare e avalie modelos de recomendações
Siga estas instruções sobre a preparação e a avaliação de modelos de recomendações.
Crie um modelo de recomendações
Aceda à página Modelos na consola de pesquisa para comércio.
Aceda à página ModelosClique em Criar modelo:
- Atribua um nome ao modelo.
- Selecione Outros que podem gostar como o tipo de modelo.
- Escolha Taxa de cliques (CTR) como o objetivo da empresa.
Clique em Criar.
O seu novo modelo começa a ser preparado.
Crie uma configuração de publicação
Aceda à página Configurações de publicação na consola do Search for commerce.
Aceda à página Configurações de publicaçãoClique em Create serving config (Criar configuração de publicação):
- Selecione Recomendação.
- Atribua um nome à configuração de publicação.
- Selecione o modelo que criou.
Clique em Criar.
Aguarde até o modelo estar "Pronto para consulta"
O modelo demora cerca de dois dias a ser preparado e ficar pronto para consultas.
Para ver o estado, clique na configuração de publicação criada na página de configurações de publicação.
O campo Modelo pronto para consulta indica Sim quando o processo estiver concluído.
Pré-visualize recomendações
Quando o modelo estiver pronto para consulta:
-
Aceda à página Configurações de publicação na consola do Search for commerce.
Aceda à página Configurações de publicação - Clique no nome da configuração de publicação para aceder à respetiva página de detalhes.
- Clique no separador *Avaliar.
Introduza um ID de filme inicial, como
4993
para "O Senhor dos Anéis: A Irmandade do Anel (2001)".Clique em Pré-visualização da previsão para ver a lista de itens recomendados à direita da página.