Começar a usar as recomendações de mídia

Crie rapidamente um app de recomendações de mídia de última geração. As recomendações de mídia permitem que seu público descubra um conteúdo mais personalizado, como o que assistir ou ler em seguida, com resultados com qualidade do Google e personalizados por objetivos de otimização.

Para informações gerais sobre a Vertex AI para Pesquisa em mídia, consulte Introdução à pesquisa e recomendações de mídia.

Neste tutorial para começar, você vai usar o conjunto de dados Movielens para demonstrar como fazer upload do seu catálogo de conteúdo de mídia e eventos do usuário para a Vertex AI para Pesquisa, além de treinar um modelo personalizado de recomendação de filme. O conjunto de dados Movielens contém um catálogo de filmes (documentos) e classificações de filmes do usuário (eventos do usuário).

Neste tutorial, você vai treinar um modelo de recomendação do tipo "Outras categorias que você pode gostar" otimizado para taxa de cliques (CTR, na sigla em inglês). Após o treinamento, o modelo pode recomendar filmes com base em um ID de usuário e em um filme semente.

Para atender aos requisitos mínimos de dados do modelo, cada classificação positiva de filmes (4 ou mais) é tratada como um evento de item de visualização.

Tempo estimado para concluir este tutorial:

  • Etapas iniciais para iniciar o treinamento do modelo: aproximadamente 1,5 hora.
  • Aguardando o treinamento do modelo: aproximadamente 24 horas. Treinar o modelo
  • Avaliação das previsões do modelo e limpeza: aproximadamente 30 minutos. (Recomendações de visualização)

Se você concluiu o tutorial Introdução à pesquisa de mídia e ainda tiver o repositório de dados (nome sugerido quickstart-media-data-store), será possível usar esse repositório em vez de criar outro. Nesse caso, inicie o tutorial em Criar um app para recomendações de mídia.

Objetivos

  • Saiba como importar documentos de mídia e dados de eventos do usuário do BigQuery para a Vertex AI para Pesquisa.
  • Treine e avalie modelos de recomendação.

Antes de seguir este tutorial, siga as etapas descritas em Antes de começar.


Para seguir as instruções passo a passo desta tarefa diretamente no console do Google Cloud, clique em Orientação:

Orientações


Antes de começar

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI Agent Builder, Cloud Storage, BigQuery APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI Agent Builder, Cloud Storage, BigQuery APIs.

    Enable the APIs

Preparar o conjunto de dados

Você usará o Cloud Shell para importar o conjunto de dados Movielens e reestruturar o conjunto de dados da Vertex AI para Pesquisa para mídia.

Abrir o Cloud Shell

  1. Abra o console do Google Cloud.
  2. Selecione seu projeto do Google Cloud.
  3. Anote o ID do projeto no card Informações do projeto na página do painel. Você vai precisar do ID do projeto para os procedimentos a seguir.
  4. Clique no botão Ativar o Cloud Shell na parte superior do console. Uma sessão do Cloud Shell é aberta dentro de um novo frame na parte inferior do console do Google Cloud e exibe um prompt de linha de comando.

    Cloud Shell

Importar o conjunto de dados

O conjunto de dados do Movielens está disponível em um bucket público do Cloud Storage para facilitar a importação.

  1. Execute o comando a seguir usando o ID do projeto para definir o projeto padrão para a linha de comando.

    gcloud config set project PROJECT_ID
    
  2. Crie um conjunto de dados do BigQuery:

    bq mk movielens
    
  3. Carregue movies.csv em uma nova tabela movies do BigQuery:

    bq load --skip_leading_rows=1 movielens.movies \
      gs://cloud-samples-data/gen-app-builder/media-recommendations/movies.csv \
      movieId:integer,title,genres
    
  4. Carregue ratings.csv em uma nova tabela ratings do BigQuery:

    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
    

Criar visualizações do BigQuery

Nesta etapa, você reestruturará o conjunto de dados do Movielens para que siga o formato esperado para recomendações de mídia. As recomendações de mídia exigem dados de eventos do usuário para criar um modelo. Neste guia, você vai criar eventos view-item falsos nos últimos 90 dias com base em classificações positivas (< 4).

  1. Crie uma visualização que converta a tabela de filmes na imagem definida pelo Google no Esquema Document:

    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 visualização tem o esquema esperado pela API Vertex AI Agent Builder.

  2. Acesse a página do BigQuery no console do Google Cloud.

    Acessar o BigQuery

  3. No painel Explorer, expanda o nome do seu projeto, o conjunto de dados movielens e clique em movies_view para abrir a página de consulta para essa visualização.

    Visualização de produtos

  4. Acesse a guia Explorador de tabelas.

  5. No painel Consulta gerada, clique no botão Copiar para consulta. O editor de consultas é aberto.

  6. Clique em Executar para ver os dados do filme na visualização que você criou.

  7. Crie eventos de usuário 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
    

Ativar o Vertex AI Agent Builder

  1. No Console do Google Cloud, acesse a página Criador de agentes.

    Criador de agentes

  2. Leia e aceite os Termos de Serviço e clique em Continuar e ativar a API.

Criar um app para recomendações de mídia

Os procedimentos nesta seção orientam você na criação e implantação de um app de recomendações de mídia.

  1. No Console do Google Cloud, acesse a página Criador de agentes.

    Criador de agentes

  2. Clique em Criar app.

  3. Na página Criar app, em Recomendações de mídia, clique em Criar.

  4. No campo Nome do app, insira um nome para seu app, como quickstart-media-recommendations. O ID do app aparece abaixo do nome dele.

  5. Em Tipo de recomendação, selecione Outras recomendações que você pode gostar.

  6. Em Objetivo de negócio, verifique se a opção Taxa de cliques (CTR) está selecionada.

  7. Clique em Continuar.

  8. Se você concluiu o tutorial Introdução à pesquisa de mídia e ainda tiver o repositório de dados (nome sugerido quickstart-media-data-store), selecione-o, clique em Criar e pule para Treinar o modelo de recomendação.

  9. Na página Repositórios de dados, clique em Criar repositório de dados.

  10. Insira um nome de exibição para seu repositório de dados, como quickstart-media-data-store, e clique em Criar.

  11. Selecione o repositório de dados que você acabou de criar e clique em Criar para criar seu app.

Importar dados

Em seguida, importe os filmes e os dados de eventos de usuário que foram formatados anteriormente.

Importar documentos

  1. Em Origens nativas na página Importar documentos, selecione o BigQuery.

  2. Insira o nome da visualização movies do BigQuery que você criou e clique em Importar.

    PROJECT_ID.movielens.movies_view
    
  3. Aguarde até que todos os documentos sejam importados, o que leva cerca de 15 minutos. Haverá 86537 documentos após a conclusão.

    Verifique o status da operação de importação na guia Atividade. Quando a importação for concluída, o status da operação de importação será alterado para Concluído.

Importar eventos de usuário

  1. Na guia Eventos, clique em Importar eventos.

  2. Em Origens nativas na página "Importar documentos", selecione o BigQuery.

  3. Insira o nome da visualização user_events do BigQuery que você criou e clique em Importar.

    PROJECT_ID.movielens.user_events
    
  4. 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.

    Verifique o status da operação na guia Atividade. O processo leva cerca de uma hora para ser concluído, porque você está importando milhões de linhas.

  5. Para saber se os requisitos foram atendidos, acesse a guia Qualidade de dados > Requisitos. Mesmo depois que os eventos do usuário forem importados, pode levar algum tempo para que a guia Requisitos atualize o status para Requisitos de dados atendidos.

Treinar o modelo de recomendação

  1. Acesse a página Configurações.

  2. Clique na guia Exibição. Uma configuração de exibição já foi criada.

    Se você quiser ajustar as configurações de Rebaixamento de recomendação ou Diversificação de resultados, faça isso nesta página.

  3. Clique na guia Treinamento.

    Depois que os requisitos de dados forem atendidos, o modelo começará o treinamento automaticamente. Confira o status de treinamento e ajuste nesta página.

    Pode levar alguns dias para o modelo ser treinado e ficar pronto para consulta. O campo Pronto para consulta indica Sim quando o processo é concluído. É necessário atualizar a página para ver a mudança de Não para Sim.

Recomendações de visualização

Quando o modelo estiver pronto para consulta:

  1. No menu de navegação, clique em Visualizar .

  2. Clique no campo ID do documento. Uma lista de IDs de documentos é exibida.

  3. Digite o código do documento de origem, como 4993, para "O Senhor dos Anéis" (2001).

    Inserir ID

  4. Selecione o nome da Configuração de exibição no menu suspenso.

  5. Clique em Receber recomendações. Uma lista de documentos recomendados será exibida.

Implantar o app para dados estruturados

Não há widget de recomendações para implantar o app. Para testar o app antes da implantação:

  1. Acesse a página Dados, a guia Documentos e copie o ID de um documento.

  2. Acesse a página Integração. Nesta página, incluímos um comando de amostra para o método servingConfigs.recommend na API REST.

  3. Cole o ID do documento copiado no campo ID do documento.

  4. Deixe o campo PseudoID do usuário como está.

  5. Copie o exemplo de solicitação e execute-o no Cloud Shell.

Se precisar de ajuda para integrar o app de recomendações ao seu app da Web, consulte os exemplos de código em Receber recomendações de mídia.

Limpar

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

É possível reutilizar o repositório de dados criado para pesquisa de mídia no tutorial Introdução à pesquisa de mídia. Siga o tutorial antes do procedimento de limpeza.

  1. Para evitar cobranças desnecessárias do Google Cloud, use o console do Google Cloud para excluir o projeto se ele não for necessário.
  2. Se você criou um novo projeto para saber mais sobre instâncias do Vertex AI Agent Builder e não precisa mais do projeto, exclua-o.
  3. Se você usou um projeto do Google Cloud, exclua os recursos criados para evitar cobranças na sua conta. Para mais informações, consulte Excluir um app.
  4. Siga as etapas em Desativar o Vertex AI Agent Builder.
  5. Se você criou um conjunto de dados do BigQuery, exclua-o no Cloud Shell:

    bq rm --recursive --dataset movielens
    

A seguir