Comece a usar recomendações de multimédia
Pode criar rapidamente uma app de recomendações de multimédia de última geração. As recomendações de multimédia permitem que os seus públicos-alvo descubram conteúdo mais personalizado, como o que ver ou ler a seguir, com resultados de qualidade Google personalizados por objetivos de otimização.
Para obter informações gerais sobre o Vertex AI Search for media, consulte o artigo Introdução à pesquisa e às recomendações de conteúdo multimédia.Neste tutorial de introdução, vai usar o conjunto de dados Movielens para demonstrar como carregar o seu catálogo de conteúdo multimédia e eventos do utilizador para o Vertex AI Search e preparar um modelo de recomendação de filmes personalizado. O conjunto de dados MovieLens contém um catálogo de filmes (documentos) e classificações de filmes dos utilizadores (eventos do utilizador).
Neste tutorial, vai preparar um modelo de recomendação do tipo Outros utilizadores também gostaram, otimizado para a taxa de cliques (CTR). Após a preparação, o modelo pode recomendar filmes com base num ID do utilizador e num filme inicial.
Para cumprir os requisitos mínimos de dados do modelo, cada classificação positiva de um filme (4 ou superior) é tratada como um evento view_item.
Tempo estimado para concluir este tutorial:
- Passos iniciais para começar a preparar o modelo: cerca de 1,5 horas.
- A aguardar a preparação do modelo: ~24 horas. (Prepare o modelo)
- Avaliar as previsões do modelo e fazer a limpeza: ~30 minutos. (Pré-visualizar recomendações)
Se concluiu o tutorial Começar a usar a pesquisa de multimédia e ainda tem o arquivo de dados (nome sugerido: quickstart-media-data-store
), pode usar esse arquivo de dados em vez de criar outro. Neste caso, deve começar o tutorial em
Crie uma app para recomendações de conteúdo multimédia.
Objetivos
- Saiba como importar documentos multimédia e dados de eventos do utilizador do BigQuery para a Pesquisa da Vertex AI.
- Prepare e avalie modelos de recomendações.
Antes de seguir este tutorial, certifique-se de que concluiu os passos em Antes de começar.
Para seguir orientações passo a passo para esta tarefa diretamente na Google Cloud consola, clique em Orientar-me:
Antes de começar
- 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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the AI Applications, Cloud Storage, BigQuery APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the AI Applications, Cloud Storage, BigQuery APIs.
- Abra a Google Cloud consola.
- Selecione o seu projeto do Google Cloud .
- 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 procedimentos seguintes.
Clique no botão Ativar Cloud Shell na parte superior da consola. Uma sessão do Cloud Shell é aberta num novo frame na parte inferior daGoogle Cloud consola e apresenta um comando.
Execute o seguinte comando com o ID do seu projeto para definir o projeto predefinido para a linha de comandos.
gcloud config set project PROJECT_ID
Crie um conjunto de dados do BigQuery:
bq mk movielens
Carregue
movies.csv
para uma nova tabela do BigQuerymovies
:bq load --skip_leading_rows=1 movielens.movies \ gs://cloud-samples-data/gen-app-builder/media-recommendations/movies.csv \ movieId:integer,title,genres
Carregue
ratings.csv
para uma nova tabela do BigQueryratings
:bq load --skip_leading_rows=1 movielens.ratings \ gs://cloud-samples-data/gen-app-builder/media-recommendations/ratings.csv \ userId:integer,movieId:integer,rating:float,time:timestamp
Crie uma vista que converta a tabela de filmes no esquema
Document
definido pela Google:bq mk --project_id=PROJECT_ID \ --use_legacy_sql=false \ --view ' WITH t AS ( SELECT CAST(movieId AS string) AS id, SUBSTR(title, 0, 128) AS title, SPLIT(genres, "|") AS categories FROM `PROJECT_ID.movielens.movies`) SELECT id, "default_schema" as schemaId, null as parentDocumentId, TO_JSON_STRING(STRUCT(title as title, categories as categories, CONCAT("http://mytestdomain.movie/content/", id) as uri, "2023-01-01T00:00:00Z" as available_time, "2033-01-01T00:00:00Z" as expire_time, "movie" as media_type)) as jsonData FROM t;' \ movielens.movies_view
Agora, a nova vista tem o esquema que a API AI Applications espera.
Aceda à página BigQuery na Google Cloud consola.
No painel Explorador, expanda o nome do projeto, expanda o conjunto de dados
movielens
e clique emmovies_view
para abrir a página de consulta desta vista.Aceda ao separador Explorador de tabelas.
No painel Consulta gerada, clique no botão Copiar para consulta. O editor de consultas é aberto.
Clique em Executar para ver os dados de filmes na vista que criou.
Crie eventos de utilizador fictícios a partir de classificações de filmes executando o seguinte comando do Cloud Shell:
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 userPseudoId, "view-item" 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(movieId AS id, null AS name)] AS documents, FROM `PROJECT_ID.movielens.ratings`, t WHERE rating >= 4;' \ movielens.user_events
Na Google Cloud consola, aceda à página Aplicações de IA.
Opcional: clique em Permitir que a Google faça uma amostragem seletiva da entrada do modelo e das respostas.
Clique em Continuar e ativar a API.
Na Google Cloud consola, aceda à página Aplicações de IA.
Clique em
Criar app .Na página Criar app, em Recomendações de multimédia, clique em Criar.
No campo Nome da app, introduza um nome para a sua app, como
quickstart-media-recommendations
. O ID da app é apresentado por baixo do nome da app.Em Tipo de recomendações, certifique-se de que a opção Outras que podem interessar-lhe está selecionada.
Em Objetivo da empresa, certifique-se de que a opção Taxa de cliques (CTR) está selecionada.
Clique em Continuar.
Crie um arquivo de dados.
Na página Armazenamentos de dados, clique em Criar armazenamento de dados.
Introduza um nome a apresentar para o seu repositório de dados, como
quickstart-media-data-store
, e, de seguida, clique em Criar.
Selecione o arquivo de dados que acabou de criar e, de seguida, clique em Criar para criar a sua app.
Em Origens nativas na página Importar documentos, selecione BigQuery.
Introduza o nome da
movies
visualização do BigQuery que criou e clique em Importar.PROJECT_ID.movielens.movies_view
Aguarde até que todos os documentos sejam importados. Este processo deve demorar cerca de 15 minutos. Quando estiver concluída, devem existir 86537 documentos.
Pode verificar o estado da operação de importação no separador Atividade. Quando a importação estiver concluída, o estado da operação de importação é alterado para Concluído.
No separador Eventos, clique em Importar eventos.
Em Origens nativas na página Importar documentos, selecione BigQuery.
Introduza o nome da vista do
user_events
BigQuery que criou e clique em Importar.PROJECT_ID.movielens.user_events
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 o estado da operação no separador Atividade. O processo demora cerca de uma hora a concluir porque está a importar milhões de linhas.
Para ver se os requisitos foram cumpridos, aceda ao separador Qualidade dos dados > Requisitos. Mesmo depois de os eventos do utilizador terem sido importados, pode demorar algum tempo até que o separador Requisitos atualize o respetivo estado para Requisitos de dados cumpridos.
Aceda à página Configurações.
Clique no separador Publicação. Já foi criada uma configuração de publicação.
Se quiser ajustar as definições de rebaixamento de recomendações ou diversificação de resultados, pode fazê-lo nesta página.
Clique no separador Formação.
Depois de cumprir os requisitos de dados, o modelo começa a ser preparado automaticamente. Pode ver o estado da preparação e da otimização nesta página.
O modelo pode demorar alguns dias a ser treinado e ficar pronto para receber consultas. O campo Pronto para consultar indica Sim quando o processo estiver concluído. Tem de atualizar a página para ver a alteração de Não para Sim.
No menu de navegação, clique em
Pré-visualizar .Clique no campo ID do documento. É apresentada uma lista de IDs de documentos.
Introduza um ID de documento inicial (filme), como
4993
para "O Senhor dos Anéis: A Irmandade do Anel (2001)".Selecione o nome da configuração de publicação no menu pendente.
Clique em Receber recomendações. É apresentada uma lista de documentos recomendados.
Aceda à página Dados, separador Documentos e copie o ID de um documento.
Aceda à página Integração. Esta página inclui um comando de exemplo para o método
servingConfigs.recommend
na API REST.Cole o ID do documento que copiou anteriormente no campo ID do documento.
Deixe o campo User Pseudo ID tal como está.
Copie o pedido de exemplo e execute-o no Cloud Shell.
- Para evitar custos Google Cloud desnecessários, use o Google Cloud console para eliminar o seu projeto se não precisar dele.
- Se criou um novo projeto para saber mais sobre as aplicações de IA e já não precisar do projeto, elimine-o.
- Se usou um Google Cloud projeto existente, elimine os recursos que criou para evitar incorrer em cobranças na sua conta. Para mais informações, consulte o artigo Elimine uma app.
- Siga os passos em Desative a Pesquisa da Vertex AI.
Se criou um conjunto de dados do BigQuery, elimine-o no Cloud Shell:
bq rm --recursive --dataset movielens
Prepare o conjunto de dados
Usa o Cloud Shell para importar o conjunto de dados MovieLens e reestruturar o conjunto de dados para o Vertex AI Search for media.
Abra o Cloud Shell
Importe o conjunto de dados
O conjunto de dados MovieLens está disponível num contentor público do Cloud Storage para facilitar a importação.
Crie visualizações do BigQuery
Neste passo, vai reestruturar o conjunto de dados do MovieLens para que siga o formato esperado para recomendações de multimédia.
As recomendações de multimédia requerem dados de eventos do utilizador para criar um modelo.
Para este guia, vai criar eventos view-item
falsos durante os últimos 90 dias
a partir de classificações positivas (< 4
).
Ative as aplicações de IA
Crie uma app para recomendações de conteúdo multimédia
Os procedimentos nesta secção explicam como criar e implementar uma app de recomendações de multimédia.
Importar dados
Em seguida, importe os dados de filmes e eventos do utilizador que foram formatados anteriormente.
Importe documentos
Importe o documento movies_view
criado na secção
Crie vistas do BigQuery para o seu
repositório de dados quickstart-media-data-store
.
Importe eventos do utilizador
Importe os registos user_events
criados na secção Criar vistas do BigQuery para o seu repositório de dados.
Prepare o modelo de recomendações
Pré-visualize recomendações
Depois de o modelo estar pronto para consulta:
Implemente a sua app para dados estruturados
Não existe nenhum widget de recomendações para implementar a sua app. Para testar a app antes da implementação:
Para obter ajuda na integração da app de recomendações na sua app Web, consulte os exemplos de código em Receba recomendações de multimédia.
Limpar
Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.
Pode reutilizar o arquivo de dados que criou para a pesquisa de multimédia no tutorial Comece a usar a pesquisa de multimédia. Experimente esse tutorial antes de fazer este procedimento de limpeza.