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.