As pontuações de recompensa indicam o sucesso da personalizaçã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 pontuação de recompensa indica o quão bem a escolha de personalização, RewardActionID, resultou para o usuário. O valor da pontuação de recompensa é determinado pela sua lógica de negócios, com base em observações do comportamento do usuário.

O Personalizer treina seus modelos de aprendizado de máquina avaliando as recompensas.

Saiba como configurar a pontuação de recompensa padrão no portal do Azure para seu recurso do Personalizador.

Use a API de recompensa para enviar a pontuação de recompensa para o Personalizador

As recompensas são enviadas ao Personalizador pela API de recompensas. Normalmente, uma recompensa é um número de 0 a 1. Uma recompensa negativa, com o valor de -1, é possível em determinados cenários e só deve ser usada se tiver experiência com aprendizagem por reforço (RL). O personalizador treina o modelo para alcançar a maior soma possível de recompensas ao longo do tempo.

As recompensas são enviadas após o comportamento do usuário ter acontecido, o que pode ser dias depois. A quantidade máxima de tempo que o Personalizador aguardará até que um evento seja considerado sem recompensa ou uma recompensa padrão seja configurada com o Tempo de Espera de Recompensa no portal do Azure.

Se a pontuação de recompensa de um evento não tiver sido recebida dentro do Tempo de Espera de Recompensa, a Recompensa Padrão será aplicada. Normalmente, a recompensa padrão é configurada para ser zero.

Comportamentos e dados a considerar para recompensas

Considere estes sinais e comportamentos para o contexto da pontuação de recompensa:

  • Entrada direta do usuário para sugestões quando as opções estão envolvidas ("Você quer dizer X?").
  • Duração da sessão.
  • Tempo entre sessões.
  • Análise de sentimento das interações do usuário.
  • Perguntas diretas e mini pesquisas onde o bot pede feedback ao usuário sobre utilidade, precisão.
  • Resposta a alertas ou atraso na resposta a alertas.

Compor pontuações de recompensa

Uma pontuação de recompensa deve ser calculada em sua lógica de negócios. A pontuação pode ser representada como:

  • Um único número enviado uma vez
  • Uma pontuação enviada imediatamente (como 0,8) e uma pontuação adicional enviada posteriormente (normalmente 0,2).

Recompensas padrão

Se nenhuma recompensa for recebida dentro do Tempo de Espera de Recompensa, a duração desde a chamada de Classificação, o Personalizador aplicará implicitamente a Recompensa Padrão a esse evento de Classificação.

Construindo recompensas com vários fatores

Para uma personalização eficaz, você pode construir a pontuação de recompensa com base em vários fatores.

Por exemplo, você pode aplicar estas regras para personalizar uma lista de conteúdo de vídeo:

Comportamento do utilizador Valor da pontuação parcial
O usuário clicou no item superior. +0.5 Recompensa
O usuário abriu o conteúdo real desse item. +0.3 Recompensa
O usuário assistiu 5 minutos do conteúdo ou 30%, o que for mais longo. +0.2 recompensa

Em seguida, você pode enviar a recompensa total para a API.

Chamando a API de recompensa várias vezes

Você também pode ligar para a API de recompensa usando o mesmo ID de evento, enviando pontuações de recompensa diferentes. Quando o Personalizer recebe essas recompensas, ele determina a recompensa final para esse evento, agregando-as conforme especificado na configuração do Personalizador.

Valores de agregação:

  • Primeiro: Tira a primeira pontuação de recompensa recebida pelo evento e descarta o restante.
  • Soma: Obtém todas as pontuações de recompensa coletadas para o eventId e as adiciona.

Todas as recompensas de um evento, que são recebidas após o Tempo de Espera de Recompensa, são descartadas e não afetam o treinamento dos modelos.

Ao somar pontuações de recompensa, sua recompensa final pode estar fora da faixa de pontuação esperada. Isso não fará com que o serviço falhe.

Práticas recomendadas para calcular a pontuação de recompensa

  • Considere verdadeiros indicadores de personalização bem-sucedida: é fácil pensar em termos de cliques, mas uma boa recompensa é baseada no que você quer que seus usuários alcancem em vez do que você quer que as pessoas façam. Por exemplo, recompensar em cliques pode levar à seleção de conteúdo propenso a clickbaits.

  • Use uma pontuação de recompensa para o quão boa a personalização funcionou: Personalizar uma sugestão de filme resultaria em que o usuário assistisse ao filme e lhe desse uma classificação alta. Como a classificação do filme provavelmente depende de muitas coisas (a qualidade da atuação, o humor do usuário), não é um bom sinal de recompensa para o quão bem a personalização funcionou. O usuário assistindo os primeiros minutos do filme, no entanto, pode ser um sinal melhor de eficácia de personalização e enviar uma recompensa de 1 após 5 minutos será um sinal melhor.

  • As recompensas aplicam-se apenas ao RewardActionID: o Personalizer aplica as recompensas para compreender a eficácia da ação especificada no RewardActionID. Se você optar por exibir outras ações e o usuário selecioná-las, a recompensa deve ser zero.

  • Considere consequências não intencionais: crie funções de recompensa que levem a resultados responsáveis com ética e uso responsável.

  • Use recompensas incrementais: adicionar recompensas parciais para comportamentos menores do usuário ajuda o Personalizer a alcançar recompensas melhores. Essa recompensa incremental permite que o algoritmo saiba que está cada vez mais perto de envolver o usuário no comportamento final desejado.

    • Se você estiver mostrando uma lista de filmes, se o usuário passar o mouse sobre o primeiro por um tempo para ver mais informações, você pode determinar que algum envolvimento do usuário aconteceu. O comportamento pode contar com uma pontuação de recompensa de 0,1.
    • Se o usuário abriu a página e saiu, a pontuação de recompensa pode ser de 0,2.

Tempo de espera de recompensa

O Personalizador irá correlacionar as informações de uma chamada de Rank com as recompensas enviadas em chamadas de Recompensa para treinar o modelo, que podem vir em momentos diferentes. O Personalizador aguarda a pontuação de recompensa por um tempo limitado definido, começando quando a chamada de Rank correspondente ocorreu. Isso é feito mesmo que a chamada Rank tenha sido feita usando ativação diferida](concept-active-inactive-events.md).

Se o Tempo de Espera de Recompensa expirar e não houver informações de recompensa, uma recompensa padrão será aplicada a esse evento para treinamento. Você pode selecionar um tempo de espera de recompensa de 10 minutos, 4 horas, 12 horas ou 24 horas. Se o seu cenário exigir tempos de espera de recompensa mais longos (por exemplo, para campanhas de e-mail de marketing), estamos oferecendo uma visualização privada de tempos de espera mais longos. Abra um tíquete de suporte no portal do Azure para entrar em contato com a equipe e ver se você se qualifica e ele pode ser oferecido a você.

Melhores práticas para o tempo de espera de recompensa

Siga estas recomendações para obter melhores resultados.

  • Torne o Tempo de Espera de Recompensa o mais curto possível, deixando tempo suficiente para receber o feedback dos utilizadores.

  • Não escolha uma duração menor do que o tempo necessário para obter feedback. Por exemplo, se algumas de suas recompensas chegarem depois que um usuário assistiu a 1 minuto de um vídeo, a duração do experimento deve ser pelo menos o dobro disso.

Próximos passos