Pontuações de recompensa indicam o sucesso da personalização

Importante

A partir de 20 de setembro de 2023, não será mais possível criar novos recursos do Personalizador. O serviço Personalizador está sendo desativado no dia 1º de outubro de 2026.

A pontuação da recompensa indica como foi o resultado da escolha de personalização, RewardActionID, 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 personalizador treina seus modelos de machine learning avaliando as recompensas.

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

Usar a API de Recompensa para enviar pontuação de recompensa ao Personalizador

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

As recompensas são enviadas depois que o comportamento do usuário ocorre, o que pode ser dias mais tarde. O tempo máximo que o Personalizador aguardará até que um evento seja considerado para receber nenhuma recompensa ou uma recompensa padrão está configurado no Tempo de espera de recompensa no portal do Azure.

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

Comportamentos e dados a serem considerados para recompensas

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

  • Entrada direta do usuário para sugestões quando há opções ("Você quis dizer X?").
  • Duração da sessão.
  • Tempo entre sessões.
  • Análise de sentimento das interações do usuário.
  • Dúvidas diretas e pequenas pesquisas em que o bot pede ao usuário para enviar comentários sobre a utilidade e a precisão.
  • Resposta a alertas ou atraso na resposta aos alertas.

Como elaborar as 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 (por exemplo, 0,8) e uma pontuação adicional enviada mais tarde (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.

Como criar remunerações com vários fatores

Para uma personalização efetiva, é possível criar 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 usuário Valor parcial da pontuação
O usuário clicou no item principal. Recompensa de +0,5
O usuário abriu o conteúdo real desse item. Recompensa de +0,3
O usuário assistiu 5 minutos de conteúdo ou 30%, o que for maior. Recompensa de +0,2

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

Como chamar a API de Recompensa várias vezes

Também é possível chamar a API de Recompensa usando a mesma ID de evento, enviando diferentes pontuações de recompensa. Quando obtém essas recompensas, o Personalizador determina a recompensa final para o evento agregando-as conforme especificado nas configurações do Personalizador.

Valores de agregação:

  • Primeira: usa a primeira pontuação de recompensa recebida para o evento e descarta o restante.
  • Soma: usa todas as pontuações de recompensa coletadas para a ID do evento e as soma.

Todas as recompensas para um evento recebidas após o Tempo de espera de recompensa são descartadas e não afetam o treinamento de modelos.

Ao somar as pontuações de recompensa, a recompensa final poderá ficar fora do intervalo de pontuação esperado. Isso não causa falha no serviço.

Melhores práticas para calcular a pontuação de recompensa

  • Considerar verdadeiros indicadores da personalização bem-sucedida: é fácil pensar em termos de cliques, mas uma boa recompensa baseia-se naquilo que você deseja que os usuários alcancem, em vez do que você quer que as pessoas façam. Por exemplo, a recompensa por cliques pode levar à seleção de conteúdo sujeito a clickbait.

  • Usar uma pontuação de recompensa com relação ao bom funcionamento da personalização: a personalização de uma sugestão de filme deveria fazer com que o usuário assistisse ao filme e desse a ele uma classificação alta. Como a classificação do filme provavelmente depende de muitos fatores (qualidade de atuação, humor do usuário), não é um bom sinal de recompensa para o desempenho da personalização. O usuário assistir aos primeiros minutos do filme, no entanto, pode ser um sinal melhor da eficácia da personalização, e enviar uma recompensa de 1 após 5 minutos será um sinal melhor.

  • As recompensas se aplicam somente a RewardActionID: o Personalizador aplica as recompensas para entender a eficácia da ação especificada em RewardActionID. Se você optar por mostrar outras ações e o usuário clicar nelas, a recompensa deverá ser zero.

  • Considerar consequências indesejadas: crie funções de recompensa que levem a resultados responsáveis, com ética e uso responsável.

  • Usar recompensas incrementais: a adição de recompensas parciais para comportamentos menores do usuário ajuda o Personalizador a alcançar melhores recompensas. Essa recompensa incremental permite que o algoritmo saiba que está ficando mais perto de envolver o usuário no comportamento final desejado.

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

Tempo de espera de recompensa

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

Se o Tempo de espera de recompensa expirar e não houver nenhuma informação de recompensa, uma recompensa padrão será aplicado 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 caso exigir tempos de espera de recompensa maiores (como para campanhas de email de marketing), oferecemos uma versão prévia privada com tempos de espera mais longos. Para entrar em contato com a equipe, abra um tíquete de suporte no portal do Azure. Depois, veja se você se qualifica para usar a versão prévia.

Melhores práticas para o tempo de espera da recompensa

Siga estas recomendações para obter melhores resultados.

  • Defina o menor tempo de espera de recompensa possível, deixando tempo suficiente para obter comentários dos usuários.

  • Não escolha uma duração menor do que o tempo necessário para receber comentários. Por exemplo, se alguma das suas recompensas ocorrer depois que um usuário tiver assistido a um minuto de um vídeo, a duração do experimento deverá ter pelo menos o dobro disso.

Próximas etapas