Usar pontuações de confiança de intenção - Guia do desenvolvedor

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usar pontuações de confiança de intenção

Quando um usuário faz um enunciado, o Amazon Lex V2 usa a compreensão de linguagem natural (NLU) para entender a solicitação do usuário e retornar a intenção correta. Por padrão, o Amazon Lex V2 retorna a intenção mais provável definida pelo bot.

Em alguns casos, pode ser difícil para o Amazon Lex V2 determinar a intenção mais provável. Por exemplo, o usuário pode fazer um enunciado ambíguo ou pode haver duas intenções semelhantes. Para ajudar a determinar a intenção correta, você pode combinar seu conhecimento de domínio com as pontuações de confiança da NLU em uma lista de interpretações. Uma pontuação de confiança é uma classificação fornecida pelo Amazon Lex V2 que mostra o nível de confiança na correta identificação da intenção.

Para determinar a diferença entre duas intenções em uma interpretação, você pode comparar suas pontuações de confiança. Por exemplo, se uma intenção tem uma pontuação de confiança de 0,95 e outra tem uma pontuação de 0,65, é provável que a primeira intenção esteja correta. No entanto, se uma intenção tiver uma pontuação de 0,75 e outra tiver uma pontuação de 0,72, haverá ambiguidade entre as duas intenções que você poderá discriminar usando o conhecimento do domínio na aplicação.

Você também pode usar as pontuações de confiança para criar aplicações de teste que determinem se as mudanças nos enunciados de uma intenção fazem diferença no comportamento do bot. Por exemplo, é possível obter as pontuações de confiança das intenções de um bot usando um conjunto de enunciados e, em seguida, atualizar as intenções com novos enunciados. Você pode verificar as pontuações de confiança para ver se houve alguma melhora.

As pontuações de confiança que o Amazon Lex V2 retorna são valores comparativos. Não confie nelas como uma pontuação absoluta. Os valores podem mudar com base em melhorias no Amazon Lex V2.

O Amazon Lex V2 retorna a intenção mais provável e até quatro intenções alternativas com suas pontuações associadas na estrutura interpretations em cada resposta. O código JSON a seguir mostra a estrutura interpretations na resposta da operação RecognizeText:

"interpretations": [ { "intent": { "confirmationState": "string", "name": "string", "slots": { "string" : { "value": { "interpretedValue": "string", "originalValue": "string", "resolvedValues": [ "string" ] } } }, "state": "string" }, "nluConfidence": number } ]

AMAZON.FallbackIntent

O Amazon Lex V2 retorna AMAZON.FallbackIntent como a principal intenção em duas situações:

  1. Se as pontuações de confiança de todas as possíveis intenções forem menores que o limite de confiança. Você pode usar o limite padrão ou definir seu próprio limite. Se você tiver o AMAZON.KendraSearchIntent configurado, o Amazon Lex V2 também o retornará nessa situação.

  2. Se a confiança na interpretação do AMAZON.FallbackIntent for maior do que a confiança na interpretação de todas as outras intenções.

Observe que o Amazon Lex V2 não exibe uma pontuação de confiança para AMAZON.FallbackIntent.

Definir e alterar o limite de confiança

O limite de confiança deve ser um número entre 0,00 e 1,00. Você pode definir o limite para cada idioma do bot das seguintes maneiras:

Usar o console do Amazon Lex V2

  • Para definir o limite ao adicionar um idioma ao bot com Adicionar idioma, você pode inserir o valor desejado no painel Limite de pontuação de confiança.

  • Para atualizar o limite, você pode selecionar Editar no painel Detalhes do idioma em um idioma para o bot. Insira o valor desejado no painel Limite da pontuação de confiança.

Usar operações de API

  • Para definir o limite, defina o parâmetro nluIntentConfidenceThreshold da operação CreateBotLocale.

  • Para atualizar o limite de confiança, defina o parâmetro nluIntentConfidenceThreshold da operação UpdateBotLocale.

Gerenciamento de sessões

Para alterar a intenção que o Amazon Lex V2 usa em uma conversa com o usuário, você pode usar a resposta da função do Lambda do hook de código de diálogo ou usar as APIs de gerenciamento de sessão na aplicação personalizada.

Usar uma função do Lambda

Quando você usa uma função do Lambda, o Amazon Lex V2 a chama com uma estrutura JSON que contém a entrada para a função. A estrutura JSON contém um campo chamado currentIntent que contém a intenção que o Amazon Lex V2 identificou como a intenção mais provável para a expressão do usuário. A estrutura JSON também inclui um campo alternativeIntents que contém até quatro intenções adicionais que podem satisfazer a intenção do usuário. Cada intenção inclui um campo chamado nluIntentConfidenceScore que contém a pontuação de confiança que o Amazon Lex V2 atribuiu à intenção.

Para usar uma intenção alternativa, especifique-a na ação ConfirmIntent ou na caixa de diálogo ElicitSlot na função do Lambda.

Para mais informações, consulte Habilitando a lógica personalizada com as funções do AWS Lambda.

Usar a API de gerenciamento de sessões

Para usar uma intenção diferente da intenção atual, use a operação PutSession. Por exemplo, se você decidir que a primeira alternativa é preferível à intenção escolhida pelo Amazon Lex V2, use a operação PutSession para alterar as intenções de forma que a próxima intenção com a qual o usuário vai interagir seja aquela que você selecionou.

Para mais informações, consulte Gerenciamento de sessões com a API Amazon Lex V2.