Nesta página, explicamos como mudar a posição de classificação das recomendações de mídia retornadas pelo modelo usando os controles de exibição de aumento/ocultação.
Um controle de aumento/ocultação muda a ordem das recomendações depois que elas são retornadas pelo modelo. Você aplica uma expressão de filtro aos resultados para identificar quais recomendações quer otimizar ou ocultar e, em seguida, aplica um valor de otimização entre -1 e +1. Um valor de aumento de +1 oferece o maior aumento a uma recomendação, colocando-a no topo das recomendações retornadas. Um valor de -1 esconde a recomendação na parte de baixo da lista de recomendações retornadas.
Otimização/ocultação é um controle pós-modelo. Primeiro, o modelo de recomendações retorna uma lista de recomendações. Usando uma configuração de exibição, o controle de aumento/ocultação é aplicado a essa lista para ajustar a classificação das recomendações. O controle de boost/bury não adiciona nem exclui recomendações, mas controla a ordem em que elas são apresentadas ao usuário.
Otimização/ocultação e recomendações de filtragem
O boost/bury é um filtro suave. Já o filtro normal para recomendações, descrito em Filtrar recomendações, é um filtro rígido.
Se você aplicar um filtro rígido às recomendações, nunca vai encontrar os documentos filtrados. No entanto, com um filtro flexível, você não remove documentos da lista de recomendações. Em vez disso, o filtro é usado para determinar quais documentos precisam estar mais altos ou mais baixos na lista de recomendações retornadas.
Evite sobrecarregar seu modelo de recomendações
Ao aplicar um filtro de otimização ou ocultação, valores pequenos próximos a zero são recomendados. Valores próximos a +1 ou -1 provavelmente vão sobrecarregar o modelo de recomendações, de modo que a classificação de recomendações aplicada pelo modelo não seja refletida na ordem em que o usuário vê as recomendações.
Por exemplo, se você aumentar os filmes animados com +1, os usuários só vão ver filmes animados na parte de cima da lista de recomendações. Isso empurra os filmes não animados que foram altamente recomendados pelo modelo para a parte de baixo da lista, onde o usuário pode não encontrá-los.
Rebaixamento x arquivamento
A despromoção e a ocultação movem as recomendações para posições mais baixas na lista de recomendações retornadas que seriam exibidas de outra forma.
No entanto, a rebaixa é baseada na idade do conteúdo ou se o usuário já assistiu parte dele. Para mais informações sobre a redução, consulte Rebaixar recomendações de mídia.
O ocultamento se aplica ao conteúdo identificado por um filtro. O filtro pode ser qualquer campo de dados marcado como filtrável no esquema. Para informações gerais sobre filtros de recomendação, incluindo como marcar um campo como filtrável, consulte Filtros de recomendação.
Sobre os controles de otimização/ocultação e as configurações de exibição
Cada controle de veiculação de aumento/ocultação é composto por um filtro e um valor de aumento. Por
exemplo, um controle de aumento aumenta os filmes com "Christmas" no título com um
valor de 0.1
, e outro enterra filmes de terror com um valor de -0.2
.
Depois de criar um ou mais controles de otimização/inserção, adicione os controles a uma configuração de exibição. Quando qualquer app de pesquisa da Vertex AI é criado, uma configuração de exibição padrão também é criada automaticamente. A configuração de exibição é referenciada no momento da exibição para determinar quais resultados o app gera. Além dos controles de aumento/ocultação, a configuração de exibição pode conter outros tipos de controles, como diversificação e redução.
A configuração de veiculação pode ser aplicada quando você chama o método de recomendação. Todos os controles na configuração de veiculação são aplicados às recomendações retornadas pela chamada de método.
Além disso, é possível ter várias configurações de exibição associadas ao app. Isso permite aplicar diferentes conjuntos de controles em diferentes circunstâncias. Por exemplo, se a solicitação de recomendação vier de uma conta de criança, aumente os filmes em categorias adequadas para crianças e oculte os inadequados. Da mesma forma, se a solicitação vier de uma conta marcada como adulta, aumente os títulos ou as categorias que são populares entre adultos. Como alternativa, você pode escolher ter configurações de veiculação diferentes para locais geográficos diferentes e aumentar/esconder o conteúdo de acordo com o que é popular na região. Para mais informações sobre configurações de exibição, consulte Criar e gerenciar configurações de exibição de mídia.
Os valores de otimização são aditivos
Se você tiver associado vários controles de exibição a uma configuração de exibição, os aumentos e os ocultamentos vão se tornar aditivos.
Por exemplo, se você aumentar os filmes infantis animados em 0,3 e os filmes de aventura animados em 0,4, um filme que é categorizado como aventura infantil animada será aumentado em 0,7.
Da mesma forma, se um filme de terror for aumentado em 0,2 por um controle e reduzido em -0,3 por outro controle na mesma configuração de veiculação, o resultado líquido será reduzir o filme em -0,1.
A soma dos boosts pode ser maior que +1. Por exemplo, se os controles aumentassem os filmes de animação infantil em 0,6 e os filmes de aventura animados em 0,5, um filme de aventura animado infantil seria aumentado em +1,1.
Exemplos de filtros
Confira a seguir alguns exemplos de filtros que podem aumentar ou ocultar as recomendações de mídia:
Dê destaque a filmes com "Natal" no título.
filter: "title: ANY(\"Christmas\")"
Otimize filmes de animação para crianças:
filter: "categories: ANY(\"animation\") AND categories: ANY(\"children\")"
Bury scary movies:
filter: "categories: ANY(\"horror\", \"thriller\", \"crime\")
Elas precisam ser correspondências exatas. Por exemplo, um filme com "Natal" no título não seria promovido.
Limitações nos campos que aceitam filtros
As limitações a seguir se aplicam aos controles de exibição de aumento/ocultação:
Somente campos de propriedade dos tipos string e booleano podem ser usados em expressões de filtro para aumentar/esconder.
Não é possível filtrar campos aninhados em mais de um nível. Por exemplo, é possível filtrar em
persons.name
, mas não em um campopersons.name.stage
(se ele existir).
Antes de começar
Verifique se você criou um app de recomendações de mídia e um repositório de dados. Para mais informações, consulte Criar um app de recomendações de mídia e um repositório de dados.
Opcional: se você não quiser usar a configuração de veiculação padrão, crie uma nova seguindo as etapas 1 a 5 e 7 em Criar uma configuração de veiculação. Se o app estiver em produção, o Google recomenda que você crie uma configuração de veiculação separada para testar o boost/bury antes de aplicar os controles de veiculação à configuração de veiculação de produção.
Verifique se os campos que você quer usar no controle de aumento/ocultamento estão marcados como Filtráveis no esquema. Para mais informações, consulte Configurar as configurações de campo. Consulte também Limites de filtragem.
Otimize ou oculte recomendações
Este procedimento descreve como criar controles de exibição de aumento/ocultação e associar os controles a uma configuração de exibição.
Depois que os controles forem adicionados à configuração de veiculação, será possível especificar a
configuração de veiculação ao chamar o método
servingConfigs.recommend
, e o controle de aumento/ocultação
será usado para influenciar a ordem das recomendações retornadas.
REST
Para criar controles de exibição de otimização/inserção e adicioná-los a uma configuração de exibição, siga estas etapas:
Encontre o ID do app. Se você já tiver o ID do app, pule para a próxima etapa.
No Console do Google Cloud, acesse a página Criador de agentes.
Na página Apps, encontre o nome do app e confira o ID dele na coluna ID.
Encontre o ID do repositório de dados. Se você já tiver o ID do repositório de dados, pule para a próxima etapa.
No console do Google Cloud, acesse a página Criador de agentes e, no menu de navegação, clique em Repositórios de dados.
Clique no nome do seu repositório de dados.
Na página Dados do seu repositório de dados, encontre o ID do repositório.
Criar um controle de aumento:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \ -d '{ "displayName": "CONTROL_DISPLAY_NAME", "solutionType": "SOLUTION_TYPE_RECOMMENDATION", "boostAction": { "dataStore": "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID", "boost" : BOOST_VALUE, "filter": "FILTER" } }'
PROJECT_ID
: o ID do seu projeto do Google Cloud.CONTROL_DISPLAY_NAME
: um nome legível para identificar o controle. Precisa ser uma string UTF-8 com um comprimento máximo de 128 caracteres.CONTROL_ID
: um identificador exclusivo (em um repositório de dados) para o controle. O ID pode conter letras minúsculas, dígitos, hífens e sublinhados.APP_ID
: o ID do app da Vertex AI para Pesquisa.DATA_STORE_ID
: o ID do repositório de dados da Vertex AI para Pesquisa.BOOST_VALUE
: um número de ponto flutuante entre -1 e 1. Quando o valor é negativo, as recomendações são rebaixadas (elas aparecem mais abaixo nos resultados). Quando o valor é positivo, as recomendações são promovidas (elas aparecem mais acima nos resultados).FILTER
: a expressão de filtro que descreve quais documentos serão impulsionados ou ocultados. Para informações detalhadas sobre como formular a expressão de filtro, consulte Expressões de filtro.
Repita a etapa 3 para cada controle de aumento/ocultação que você quer aplicar às suas recomendações. Por exemplo, você pode querer um controle de aumento que aumente filmes infantis,
boost-kids
, e um segundo controle que oculte filmes de terror,bury-horror
.Encontre o ID da configuração de veiculação. Se você já tiver o ID de configuração de veiculação, pule para a próxima etapa.
No Console do Google Cloud, acesse a página Criador de agentes.
Na página Apps, clique no nome do app.
Acesse a página Configurações e clique na guia Exibição.
Extraia o ID da configuração de exibição da coluna ID.
Adicione o novo controle de exibição do aumento à configuração de exibição com uma solicitação de atualização:
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/servingConfigs/CONFIG_ID?update_mask=boost_control_ids"}}" \ -d '{ "boostControlIds": ["CONTROL_ID"] }'
CONFIG_ID
: o ID da configuração de veiculação em que você quer adicionar os controles de aumento/ocultação. Consulte a etapa anterior.
Aguarde cinco minutos para que os resultados entrem em vigor.
Visualize os efeitos do controle de otimização/ocultação. Consulte Receber recomendações de mídia.