Onde e como usar o Personalizador

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.

Use o Personalizador em qualquer situação em que o seu aplicativo precisar selecionar a ação correta (conteúdo) a ser exibida, visando aprimorar a experiência ou a produtividade ou obter melhores resultados de negócios.

O Personalizador usa o aprendizado por reforço para selecionar qual ação (conteúdo) será mostrada ao usuário. A seleção pode variar drasticamente, dependendo da quantidade, da qualidade e da distribuição dos dados enviados ao serviço.

Casos de uso de exemplo do Personalizador

  • Esclarecimento de intenção e desambiguidade: ajude seus usuários a terem uma melhor experiência quando a intenção deles não estiver clara fornecendo uma opção personalizada.
  • Sugestões padrão para menus e opções: faça o bot sugerir o item mais provável de maneira personalizada como uma primeira etapa, em vez de apresentar um menu impessoal ou uma lista de alternativas.
  • Características e tom do bot: para os bots que podem variar o tom, o nível de detalhes e o estilo de escrita, considere a variação dessas características.
  • Conteúdo de notificação e alerta: decida que texto usar para alertas a fim de envolver mais os usuários.
  • Tempo de alerta e notificação: tenha um aprendizado personalizado de quando enviar notificações para os usuários para envolvê-los mais.

Expectativas necessárias para uso do Personalizador

Você pode aplicar o Personalizador em situações em que você atenda às diretrizes a seguir ou possa implementá-las.

Diretriz Explicação
Meta de negócios Você tem uma meta de negócios ou de usabilidade para seu aplicativo.
Conteúdo Você tem um lugar em seu aplicativo, em que a tomada de uma decisão contextual do que mostrar aos usuários melhorará essa meta.
Quantidade de conteúdo Você tem menos de 50 ações a serem classificadas por chamada.
Agregação de dados A melhor opção pode e deve ser aprendida com o comportamento coletivo dos usuários e a pontuação total das recompensas.
Uso ético O uso do aprendizado de máquina para personalização segue diretrizes de uso responsável e as opções escolhidas por você.
Melhor opção única A decisão contextual pode ser expressa como a classificação da melhor opção (ação) de um conjunto limitado de opções.
Resultado da pontuação Saber se a opção classificada funcionou bem para seu aplicativo pode ser determinado com a avaliação de alguns aspectos do comportamento do usuário e a enunciado disso em uma pontuação de recompensa .
Tempo relevante A pontuação de recompensa não traz muitos fatores de confusão ou externos. A duração do teste é curta o suficiente para que a pontuação de recompensa possa ser computada enquanto ela ainda é relevante.
Recursos de contexto suficientes Você pode expressar o contexto da classificação como uma lista de, pelo menos, cinco recursos que acredita que ajudariam a fazer a escolha certa e que não incluam informações específicas do usuário.
Recursos de ação suficientes Você tem informações sobre cada opção de conteúdo, ação, como uma lista de, pelo menos, 5 recursos que achar que ajudarão o Personalizador a fazer a escolha certa.
Dados diários Não há eventos suficientes para permanecer acima da personalização ideal se o problema se desloca com o tempo (por exemplo, preferências de notícias ou moda). O Personalizador se adaptará a alterações contínuas no mundo real, mas os resultados não serão ideais se não houver eventos e dados suficientes para aprendizado, a fim de descobrir e estabelecer novos padrões. Você deve escolher um caso de uso que ocorre com uma frequência suficiente. Considere buscar casos de uso que ocorram, pelo menos, 500 vezes por dia.
Dados do histórico Seu aplicativo pode reter dados por tempo suficiente para acumular um histórico de, pelo menos, 100.000 interações. Com isso, o Personalizador pode coletar dados suficientes para realizar avaliações offline e a otimização de política.

Não use o Personalizador quando o comportamento personalizado não for algo que possa ser descoberto por todos os usuários. Por exemplo, usar o Personalizador para sugerir um primeiro pedido de pizza de uma lista de 20 itens de menu possíveis é útil, mas para qual contato ligar da lista de contatos dos usuários para pedir ajuda ao cuidar de crianças (como “Vovó”) não é algo personalizável em sua base de usuários.

Como usar o Personalizador em um aplicativo Web

A adição de um loop de aprendizado a um aplicativo Web inclui:

  • Determine qual experiência personalizar, quais ações e recursos você tem, quais recursos de contexto usar e qual recompensa você definirá.
  • Adicionar uma referência ao SDK de Personalização em seu aplicativo.
  • Chame a API de Classificação quando estiver pronto para personalizar.
  • Armazene a eventId. Envie uma recompensa com a API de Recompensa posteriormente.
  1. Chame Ativar para o evento depois de ter certeza de que o usuário viu sua página personalizada.
  2. Espere o usuário selecionar o conteúdo classificado.
  3. Chame a API de Recompensa para especificar como foi o desempenho da saída da API de Classificação.

Como usar o Personalizador com um chatbot

Neste exemplo, você verá como usar a Personalização para criar uma sugestão padrão em vez de enviar ao usuário uma série de menus ou opções de cada vez.

  • Obtenha o código deste exemplo.
  • Configure sua solução de bot. Publique seu aplicativo LUIS.
  • Gerencie as chamadas à API de Classificação e de Recompensa para o bot.
    • Adicione o código para gerenciar o processamento de intenção do LUIS. Se None for retornado como a intenção superior ou a pontuação da intenção superior estiver abaixo de seu limite de lógica de negócios, envie a lista de intenções para o Personalizador para classificar as intenções.
    • Mostre a lista de intenções para o usuário como links selecionáveis com a primeira intenção sendo a intenção principal da resposta da API de Classificação.
    • Capturar a seleção do usuário e enviar isso na chamada à API de Recompensa.
  • Faça chamadas à API de Classificação do Personalizador sempre que for necessária uma desambiguação, em vez de armazenar os resultados em cache para cada usuário. O resultado da intenção de desambiguação pode ser alterado com o tempo para uma pessoa e permitir que a API de Classificação explore variações acelerará a aprendizagem geral.
  • Escolha uma intenção comum com muitos usuários para que você tenha dados suficientes para personalizar. Por exemplo, perguntas introdutórias podem ser mais adequadas do que esclarecimentos menores no grafo de conversa que apenas alguns usuários podem acessar.
  • Use chamadas à API de Classificação para habilitar as conversas "a primeira sugestão está correta", em que o usuário recebe uma pergunta "Você deseja X?" ou "Você quer dizer X?" e o usuário pode apenas confirmar, em vez de dar opções ao usuário em que ele precisa escolher uma opção em um menu. Por exemplo, usuário: “Gostaria de pedir um café.”; bot: “Gostaria de um café duplo?”. Dessa forma, o sinal de recompensa também é forte, pois refere-se diretamente a essa sugestão.

Como usar o Personalizador com uma solução de recomendação

Muitas empresas usam mecanismos de recomendação, ferramentas de marketing e campanhas, segmentação e clustering de público-alvo, filtragem colaborativa e outros meios para recomendar produtos de um extenso catálogo aos clientes.

O repositório do GitHub de Sistemas de Recomendação da Microsoft fornece exemplos e melhores práticas para a criação de sistemas de recomendação, fornecidos como notebooks Jupyter. Ele fornece exemplos funcionais de preparação de dados, criação de modelos, avaliação, ajuste e operacionalização de mecanismos de recomendação para muitas abordagens comuns, incluindo xDeepFM, SAR, ALS, RBM e DKN.

O Personalizador pode funcionar com um mecanismo de recomendação quando ele está presente.

  • Os mecanismos de recomendação usam grandes quantidades de itens (por exemplo, 500.000) e recomendam um subconjunto (como os 20 principais) de centenas ou milhares de opções.
  • O Personalizador usa um pequeno número de ações com muitas informações sobre elas e classifica-as em tempo real para determinado contexto sofisticado, embora a maioria dos mecanismos de recomendação use apenas alguns atributos sobre usuários, produtos e suas interações.
  • O Personalizador foi projetado para explorar com autonomia as preferências do usuário o tempo todo, o que produzirá melhores resultados quando o conteúdo for alterado rapidamente, como notícias, eventos ao vivo, conteúdo ao vivo da comunidade, conteúdo com atualizações diárias ou conteúdo sazonal.

Um uso comum é selecionar a saída de um mecanismo de recomendação (por exemplo, os 20 principais produtos para determinado cliente) e usar isso como as ações de entrada para o Personalizador.

Adicionar garantias de conteúdo ao seu aplicativo

Se o aplicativo permitir grandes variações no conteúdo mostrado aos usuários e uma parte desse conteúdo talvez não for segura ou for inadequada para alguns usuários, você deverá planejar com antecedência para verificar se as garantias corretas estão em vigor para evitar que seus usuários vejam conteúdo inaceitável. O melhor padrão para implementar as proteções é: * Obter a lista de ações a serem classificadas. * Filtrar aquelas que não são viáveis para o público-alvo. * Classificar apenas essas ações viáveis. * Exibir a ação mais bem classificada para o usuário.

Em algumas arquiteturas, a sequência acima pode ser difícil de ser implementada. Nesse caso, há uma abordagem alternativa para implementar proteções após a classificação, mas um provisionamento precisa ser feito para que as ações que ficarem fora da proteção não sejam usadas para treinar o modelo do Personalizador.

  • Obtenha a lista de ações a ser classificada, com a aprendizagem desativada.
  • Classifique as ações.
  • Verifique se a ação superior é viável.
    • Se a ação superior for viável, ative a aprendizagem dessa classificação e, em seguida, mostre-a para o usuário.
    • Se a ação superior não for viável, não ative a aprendizagem dessa classificação e decida, por meio de sua própria lógica ou de abordagens alternativas, o que mostrar para o usuário. Mesmo se você usar a segunda melhor opção classificada, não ative a aprendizagem dessa classificação.

Próximas etapas

Ética e uso responsável.