Partilhar via


Personalização de várias ranhuras (Pré-visualização)

Importante

A partir de 20 de setembro de 2023, você não poderá criar novos recursos do Personalizador. O serviço de Personalizador será aposentado no dia 1º de outubro de 2026.

A personalização de vários slots (Visualização) permite segmentar conteúdo em layouts da Web, carrosséis e listas onde mais de uma ação (como um produto ou parte do conteúdo) é mostrada aos usuários. Com as APIs de vários slots do Personalizer, você pode fazer com que os modelos de IA no Personalizer aprendam quais contextos de usuário e produtos impulsionam determinados comportamentos, considerando e aprendendo com o posicionamento em sua interface de usuário. Por exemplo, o Personalizador pode aprender que determinados produtos ou conteúdo geram mais cliques como barra lateral ou rodapé do que como destaque principal em uma página.

Neste artigo, você aprenderá por que a personalização de vários slots melhora os resultados, como habilitá-la e quando usá-la. Este artigo pressupõe que você esteja familiarizado com as APIs do Personalizador como Rank e Reward, e tenha uma compreensão conceitual de como usá-lo em seu aplicativo. Se você não estiver familiarizado com o Personalizador e como ele funciona, analise o seguinte antes de continuar:

Importante

A personalização de vários slots está em Visualização pública. Os recursos, abordagens e processos serão alterados com base no feedback dos usuários. Ativar a visualização de vários slots desativará outras funcionalidades do Personalizer em seu loop permanentemente. A personalização de vários slots não pode ser desativada depois de habilitada para um loop do Personalizador. Leia este documento e considere o impacto antes de configurar um loop do Personalizer para personalização de vários slots.

Quando usar a personalização Multi-Slot

Sempre que apresentar produtos e/ou conteúdo aos utilizadores, poderá querer mostrar mais do que um item aos seus clientes. Por exemplo:

  • Layouts de sites para home pages: muitos blocos e áreas de página são dedicados a destacar conteúdo em caixas, banners e barras laterais de diferentes formas e tamanhos. A personalização de vários slots aprenderá como as características desse layout afetam as escolhas e ações dos clientes.
  • Carrossels: Carrosséis de conteúdo que muda dinamicamente precisam de um punhado de itens para circular. A personalização de vários slots pode aprender como a sequência e até mesmo a duração da exibição afetam os cliques e o engajamento.
  • Produtos/conteúdos relacionados e referências incorporadas: é comum envolver os utilizadores incorporando ou intercalando referências a conteúdos e produtos adicionais em banners, barras laterais, vinhetas e caixas de rodapé. A personalização de vários slots pode ajudá-lo a alocar suas referências onde elas têm maior probabilidade de gerar mais uso.
  • Resultados da pesquisa ou listas: Se a funcionalidade de pesquisa do seu aplicativo, em que você fornece resultados como listas ou blocos, você pode usar a personalização de vários slots para escolher quais itens destacar na parte superior, considerando mais metadados do que os classificadores tradicionais.
  • Canais dinâmicos e listas de reprodução: a personalização de vários slots pode ajudar a determinar uma sequência curta para uma lista de vídeos ou músicas a serem reproduzidos em seguida em um canal dinâmico.

A personalização de vários slots permite que você declare os "slots" na interface do usuário para os quais as ações precisam ser escolhidas. Ele também permite que você forneça mais informações sobre os slots para que o Personalizador possa usar para melhorar o posicionamento do produto - como é uma caixa grande ou uma caixa pequena? Ele exibe uma legenda ou apenas um recurso? Está num rodapé ou numa barra lateral?

Como usar a personalização de vários slots

  1. Habilite a personalização de vários slots
  2. Criar objeto JSON para solicitação Rank
  3. Chamar a API de classificação definindo slots e ações de linha de base
  4. Chame as APIs do Rewards

Habilite a personalização de vários slots

Consulte Diferenças entre personalização de slot único e personalização de vários slots abaixo para entender e decidir se a personalização de vários slots é útil para você. A personalização de vários slots é um recurso de visualização: recomendamos que você crie um novo loop do Personalizer se quiser testar APIs de personalização de vários slots, pois habilitá-lo não é reversível e terá efeitos em um loop do Personalizer em execução na produção.

Depois de decidir converter um loop para personalização de vários slots, você deve seguir estas etapas uma vez para este loop do Personalizador:

Atualizar instância do Personalizer para Multi-Slot

Nota

A personalização de vários slots (Visualização) afeta outras funcionalidades do serviço Personalizador. Esta alteração não pode ser desfeita. Antes de ativar a personalização de vários slots, consulte Personalização de vários slots (Pré-visualização).

  1. Desativar a Otimização Automática No portal do Azure, no recurso Personalizador, em Gestão de Recursos, na página Modelo e definições de aprendizagem, desative a Otimização Automática e guarde.

Nota

A personalização de vários slots não funcionará a menos que você desative a Otimização automática. A otimização automática para personalização de vários slots será suportada no futuro.

  1. Atualizar o Personalizer para vários slots No portal do Azure, no recurso Personalizador, em Gerenciamento de Recursos, na página Configurações de modelo e aprendizagem , selecione Exportar configurações de aprendizagem. O campo de argumentos no arquivo json baixado começará com --cb_explore_adf. Altere para --ccb_explore_adf e salve o arquivo. CB (bandidos contextuais) e CCB (bandidos contextuais condicionais) são os algoritmos que o Personalizer usa para personalização de slot único e multislot, respectivamente. ADF (action dependent features) significa que as ações são expressas/identificadas com características.

Configurações de aprendizagem antes da alteração

Configurações de aprendizagem após a alteração

Na mesma guia no portal, em importar configurações de aprendizagem, procure para encontrar seu arquivo json modificado recentemente e carregue-o. Isso atualizará sua instância do Personalizer para ser um Personalizador "Multi Slot" e agora suportará chamadas de Rank e Reward com vários slots.

Criar objeto JSON para uma solicitação Rank

O uso da personalização de vários slots requer uma API ligeiramente diferente da API de personalização de slot único.

Você declara os slots disponíveis para atribuir ações em cada solicitação de chamada Rank, no objeto slots:

  • Matriz de slots: Você precisa declarar uma matriz de slots. Os slots são ordenados: a posição de cada slot na matriz é importante. Recomendamos vivamente que ordene as definições das suas faixas horárias com base no número de recompensas/cliques/conversões que cada slot tende a receber, começando pela que recebe mais. Por exemplo, você colocaria uma grande caixa de "herói" da página inicial de um site como slot 1, em vez de um rodapé pequeno. Sendo todas as outras coisas iguais, o Personalizer atribuirá ações com mais chances de obter recompensas no início da sequência.
  • ID do slot: Você precisa dar um slotId para cada slot - uma string exclusiva para todos os outros slots nesta chamada de classificação.
  • Recursos do slot: você deve fornecer metadados adicionais que o descrevam e o distingam ainda mais de outros slots. Estes são chamados recursos. Ao determinar os recursos do slot, você deve seguir as mesmas diretrizes recomendadas para os recursos de contexto e ações (Consulte: Recursos para contexto e ações). Os recursos típicos do slot ajudam a identificar o tamanho, a posição ou as características visuais de um elemento da interface do usuário. Por exemploposition: "top-left", , size: "big", sidebar: "true" animated: "no"ou sequence: "1".
  • Ações da linha de base: você precisa especificar o ID da ação da linha de base para cada slot. Ou seja, a ID da Ação que seria mostrada nesse slot se o Personalizador não existisse. Isso é necessário para treinar o Personalizador no Modo Aprendiz e ter um número significativo ao fazer Avaliações Offline.
  • Tenha ações suficientes: certifique-se de chamar Rank com mais Ações do que slots, para que o Personalizador possa atribuir pelo menos uma ação a cada slot. O personalizador não repetirá recomendações de ação entre slots: a resposta de classificação atribuirá cada ação, no máximo, a um slot.

Não há problema se você adicionar ou remover slots ao longo do tempo, adicionar e alterar seus recursos ou reordenar a matriz: o Personalizer se adaptará e manterá o treinamento com base nas novas informações.

Aqui está um objeto de exemplo slots com alguns recursos de exemplo. Embora a maioria do objeto seja estável (já que as interfaces do usuário tendem a mudar lentamente), a slots maioria não mudará com frequência: Mas você deve se certificar de atribuir as ids de linha de base apropriadas a cada chamada de classificação.

"slots": [ 
    { 
      "id": "BigHighlight", 
      "features": [ 
            { 
              "size": "Large", 
              "position": "Left-Middle" 
            }
        ],
        "baselineAction": "BlackBoot_4656" 
    }, 

    { 
      "id": "Sidebar1", 
      "features": [ 
            { 
              "size": "Small", 
              "position": "Right-Top" 
            } 
        ],
        "baselineAction": "TrekkingShoe_1122"  
    }  
  ]

Use a resposta da API de classificação

Uma resposta de classificação de vários slots da solicitação acima pode ter a seguinte aparência:

{ 
  "slots": [ 
        { 
          "id": "BigHighlight", 
          "rewardActionId": "WhiteSneaker_8181" 
        }, 
        { 
          "id": "SideBar1", 
          "rewardActionId": "BlackBoot_4656" 
        } 
    ], 
  "eventId": "123456D0-BFEE-4598-8196-C57383D38E10" 
} 

Pegue o rewardActionId para cada slot e use-o para renderizar sua interface de usuário adequadamente.

Ligue para a API de recompensa

O personalizador aprende a escolher ações que maximizem a recompensa obtida. Seu aplicativo observará o comportamento do usuário e calculará uma "pontuação de recompensa" para o Personalizer com base na reação observada. Por exemplo, se o usuário clicou na ação no "slotId": "SideBar1",, você enviará um "1" para o Personalizador para fornecer reforço positivo para as escolhas de ação.

A API de recompensa especifica o eventId para a recompensa no URL:

https://{endpoint}/personalizer/v1.0/events/{eventId}/reward

Por exemplo, a recompensa pelo evento acima com ID: 123456D0-BFEE-4598-8196-C57383D38E10/reward será enviada para https://{endpoint}/personalizer/v1.0/events/123456D0-BFEE-4598-8196-C57383D38E10/reward/reward:

{ 
  "reward": [ 
    { 
      "slotId": "BigHighlight", 
      "value": 0.2 
    }, 
    { 
      "slotId": "SideBar1", 
     "value": 1.0 
    }, 
  ] 
} 

Você não precisa fornecer todas as pontuações de recompensa em apenas uma chamada da API de recompensa. Você pode chamar a API de recompensa várias vezes, cada uma com o eventId e slotIds apropriados. Se nenhuma pontuação de recompensa for recebida por um slot em um evento, o Personalizador atribuirá implicitamente a Recompensa Padrão configurada para o loop (normalmente 0).

Diferenças entre personalização de slot único e de vários slots

Há diferenças na forma como você usa as APIs de classificação e recompensa com personalização de slots únicos e múltiplos:

Description Personalização de slot único Personalização de vários slots
Classificar elementos de solicitação de chamada de API Você envia um objeto Context e uma lista de Actions Você envia Contexto, uma lista de Ações e uma lista ordenada de Slots
Solicitação de classificação especificando linha de base O Personalizer tomará a primeira Ação na lista de ações como a ação de linha de base (O item que seu aplicativo teria escolhido se o Personalizer não existisse). Você deve especificar o ActionID de linha de base que teria sido usado em cada Slot.
Classificar resposta de chamada da API Seu aplicativo destaca a ação indicada no campo rewardActionId A resposta inclui um rewardActionId diferente para cada Slot especificado na solicitação. Seu aplicativo mostrará essas ações rewardActionId em cada slot.
Chamada de API de recompensa Você chama a API de recompensa com uma pontuação de recompensa, que você calcula a partir de como os usuários interagiram com rewardActionId para esse eventId específico. Por exemplo, se o usuário clicou nele, você envia uma recompensa de 1. Você especifica a Recompensa para cada slot, dado o quão bem a ação com rewardActionId provocou o comportamento desejado do usuário. Isso pode ser enviado em uma ou várias chamadas de API de recompensa com o mesmo eventId.

Impacto da ativação de vários slots para um loop do Personalizer

Além disso, ao habilitar o multislot, considere o seguinte:

Description Personalização de slot único Personalização de vários slots
Eventos inativos e ativação Ao chamar a API de ativação, o Personalizador ativará o evento, esperando uma pontuação de Recompensa ou atribuindo a Recompensa Padrão configurada se o Tempo de Espera de Recompensa for excedido. O Personalizer ativa e espera recompensas para todas as slots especificadas no eventId
Modo Aprendiz A API de classificação do personalizador sempre retorna a ação da linha de base e treina modelos internos imitando a ação da linha de base. A API de classificação do personalizador retorna a ação da linha de base para cada slot especificado no campo baselineAction. Personalizador treinará modelos internos imitando o primeiro
Velocidade de aprendizagem Só aprende com a ação destacada Pode aprender com interações com qualquer slot. Isso normalmente significa mais comportamentos do usuário que podem render recompensas, o que resultaria em um aprendizado mais rápido para o Personalizador.
Avaliações offline Compara o desempenho do Personalizer com as configurações de aprendizagem otimizadas e de linha de base, com base nas quais a Ação teria sido escolhida. (Limitação de pré-visualização) Avalia apenas o desempenho do primeiro slot na matriz. Para avaliações mais precisas, recomendamos certificar-se de que o slot com mais recompensas é o primeiro da sua matriz.
Otimização Automática (Pré-visualização) Seu loop do Personalizador pode executar periodicamente avaliações offline em segundo plano e otimizar as configurações de aprendizagem sem intervenção administrativa (Limitação de pré-visualização) A Otimização Automática está desativada para loops do Personalizer que têm APIs de vários slots habilitadas.

Próximos passos