Usando pontuações de confiança de intenção para melhorar a seleção de intenção com o Lex V2 - 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á.

Usando pontuações de confiança de intenção para melhorar a seleção de intenção com o Lex V2

Quando um usuário faz uma declaração, o Amazon Lex V2 usa a compreensão da 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 NLU confiança 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 em seu aplicativo.

Você também pode usar pontuações de confiança para criar aplicativos de teste que determinam se as mudanças nas declarações de uma intenção fazem diferença no comportamento do bot. Por exemplo, você pode obter as pontuações de confiança das intenções de um bot usando um conjunto de declarações e, em seguida, atualizar as intenções com novas declarações. 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 JSON código a seguir mostra a interpretations estrutura na resposta da RecognizeTextoperação:

"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.

Usando API operações

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

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

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 Lambda do gancho de código de diálogo ou usar o gerenciamento de sessões APIs em seu aplicativo personalizado.

Usando uma função Lambda com seu bot Lex V2

Quando você usa uma função Lambda, o Amazon Lex V2 a chama com uma JSON estrutura que contém a entrada para a função. A JSON estrutura 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 JSON estrutura também inclui um alternativeIntents campo 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 obter mais informações, consulte Integrando um AWS Lambda função em seu bot.

Usando o Gerenciamento de Sessões API com seu bot Lex V2

Para usar uma intenção diferente da intenção atual, use a PutSessionoperação. 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 obter mais informações, consulte Entendendo as sessões de bot do Amazon Lex V2.