Criar seu Assistente Digital

Aqui estão algumas práticas recomendadas de alto nível para a criação de assistentes digitais.

Um assistente digital usa machine learning para rotear mensagens do usuário para uma habilidade configurada que melhor se adapte ao conteúdo da mensagem. Para isso, todas as declarações definidas em uma habilidade são usadas para treinar um classificador para essa habilidade. Portanto, antes de testar habilidades em um assistente digital, certifique-se de que ele tenha um modelo bem treinado para todas as suas intenções e que você tenha testado a habilidade completamente.


Veja a seguir a descrição da ilustração build-digital-assistant.png

Sobre o treinamento de unresolvedIntent em suas habilidades

É possível criar uma intenção "unresolvedIntent" definida pelo usuário para uma habilidade e treiná-la com declarações definidas pelo usuário. Essa opção foi difundida antes da introdução dos assistentes digitais. Com assistentes digitais, essa opção de desenvolvimento perdeu sua relevância e pode não ser mais necessária. No entanto, para que você entenda, vamos explicar o que é e como e por que funcionou.

A intenção não resolvida em uma habilidade trata mensagens fora do domínio que uma habilidade foi projetada para processar. Para isso, você geralmente mapeia um estado de fluxo de caixas de diálogo para a transição de ação "unresolvedIntent" para informar ao usuário que a habilidade não pôde tratar a solicitação.

Por exemplo, uma habilidade que lida com pedidos de pizza e entregas não se destina a lidar com transações financeiras. Portanto, quando um usuário envia uma mensagem para verificar o saldo de uma conta, a intenção não resolvida tratará a solicitação.

Suponhamos agora que um assistente digital tenha duas habilidades definidas: uma habilidade para tratar pedidos e entregas de pizza e outra para tratar casos de uso financeiro. Se um usuário enviar uma mensagem que contenha uma solicitação para verificar o saldo de uma conta, o assistente digital não o encaminhará para a habilidade de pizza, mas para a habilidade financeira. Isso significa que a intenção não resolvida na habilidade de pizza não é mais usada para tratar mensagens financeiras.

Suponhamos ainda que, para o mesmo assistente digital, um usuário solicite informações sobre o clima atual, que, é claro, não correspondem à pizza nem à habilidade financeira. Nesse caso, qual intenção não resolvida da habilidade você acha que tratará essa solicitação? Você acertou quando gritou: "a intenção não resolvida do assistente digital".

Adicionando habilidades a um assistente digital e treinando o assistente digital, o assistente digital aprende sobre o tipo de mensagens que cada uma das habilidades configuradas deseja tratar. Se o assistente digital não puder informar para qual habilidade rotear uma mensagem, ele exibirá a resposta com a qual está configurado para tratar intenções não resolvidas.

O que isso significa para adicionar e treinar uma intenção "unresolvedIntent" personalizada em suas habilidades? Isso significa que um modelo bem treinado não requer uma intenção "unresolvedIntent" personalizada para ser definida em cada habilidade. E, como lembrete, ter modelos bem treinados em todas as suas habilidades é o que a pessoa que usa o chapéu "AI model designer" deve estar se esforçando.

Na rara ocasião em que uma habilidade em um assistente digital responde incorretamente a uma mensagem que ela não deve tratar, você pode adicionar uma intenção "unresolvedIntent" personalizada para treinar a habilidade para não responder mais a ela, de modo que a mensagem de intenção não resolvida do assistente digital seja exibida ou uma intenção em uma das outras habilidades trate a solicitação.

Recomendamos criar intenções não resolvidas personalizadas em uma habilidade apenas como último recurso (ou seja, se o teste revelar um problema que você não pode resolver treinando novamente o modelo de intenção afetado).

O Assistente Digital é a Casa da sua Persona

Um assistente digital fornece uma experiência de chatbot unificada aos usuários e, portanto, requer a personalidade definida para estar consistentemente presente em todas as conversas.

Pacotes de Recursos

Assim como as habilidades, os assistentes digitais podem ser configurados para suportar vários idiomas. Os assistentes digitais exigem todas as habilidades configuradas para que suportem os idiomas suportados. Isso também inclui o tipo de suporte a idiomas, que pode ser baseado em NLU nativo ou usando serviços de tradução externos.

Todos os prompts e mensagens exibidos pelo assistente digital ao rotear mensagens do usuário para habilidades devem vir de pacotes de recursos. Ter essas mensagens em um único lugar facilita garantir a consistência, fazer edições e entregá-las a um tradutor para tradução.

Diálogos de Desambiguação e Interrupção

Embora um assistente digital seja composto de muitas habilidades diferentes, ele não deve revelar esses detalhes técnicos aos usuários. O Oracle Digital Assistant usa caixas de diálogo configuráveis que são exibidas ao usuário quando uma mensagem do usuário altera o contexto conversacional para outra habilidade ou intenção e quando o contexto é redefinido para a conversa original. Certifique-se de definir as mensagens de transição para serem menos robóticas.

Por exemplo, a mensagem que aparece durante o roteamento não sequitur é definida nas definições do assistente digital como "Switching to ${system.routingToIntent} in ${system.routingToSkill} now". Para navegar até uma intenção "criar despesa" em uma habilidade "despesas", a mensagem impressa seria "Switching to create expense in expenses skill", que não é como um ser humano diria isso.

Se você alterar o modelo de mensagem para "Sure, let's ${system.routingToIntent} for you", a mensagem do usuário poderá se tornar "Sure, Let's create a new expense for you" (em que a parte "criar uma nova despesa" da mensagem é o nome para exibição definido para a intenção na habilidade).

No entanto, isso significa que você precisa garantir que os nomes de exibição de todas as intenções sejam definidos de forma que as mensagens impressas no nível do assistente digital sempre sejam impressas semanticamente corretamente. Portanto, recomendamos que você revise todas as mensagens na guia Configurações do painel de definições do assistente digital e:

  • Altere os modelos existentes de acordo com suas necessidades.

  • Mova os modelos personalizados para pacotes de recursos. Adicione um espaço reservado posicional em que a expressão dinâmica deve ser adicionada à mensagem. Por exemplo, " Sure, let's {0} for you". A referência do pacote de recursos seria criada como ${rb('key_name', ${system.routingToIntent})}.

  • Revise os nomes de exibição definidos para as intenções nas habilidades e certifique-se de que eles se encaixem nos modelos de mensagem definidos nas configurações do assistente digital.

  • Revise os nomes de chamada de habilidade, que são definidos na página Definições da habilidade, para garantir que os nomes também se encaixem linguisticamente com seu uso nos modelos de mensagem.

  • Opcionalmente, altere definições como Limite de Confiança do Prompt de Interrupção para mostrar apenas o prompt quando a confiança estiver baixa ou para suprimi-lo completamente.

  • Nas definições de configuração, altere o limite de confiança, que determina quando uma habilidade é considerada uma habilidade candidata. Recomendamos definir esse limite para um valor menor que o padrão e, em seguida, aumentá-lo gradualmente ao longo do tempo. O que você quer encontrar é o ponto ideal que resolve todas as suas habilidades com confiança, sem roteamento ruim.

Lista de Verificação para Criar seu Assistente Digital

  • ☑ Certifique-se de que as habilidades adicionadas a um assistente digital tenham um modelo bem treinado e testado para todas as suas intenções.
  • ☑ Revise as definições de configuração do assistente digital para adaptar os modelos de mensagem para mensagens incorporadas às suas necessidades e à persona do seu bot.
  • ☑ Revise os nomes de exibição da intenção e os nomes de chamada da habilidade para garantir que sua redação se ajuste aos modelos do assistente digital que você definiu.
  • ☑ Ao testar as conversas do assistente digital, certifique-se de que a persona definida para seu bot esteja consistentemente presente.