Definir o contexto da intenção - Amazon Lex V1

Se você estiver usando o Amazon Lex V2, consulte o Guia do Amazon Lex V2.

 

Se você estiver usando o Amazon Lex V1, recomendamos atualizar seus bots para o Amazon Lex V2. Não estamos mais adicionando novos atributos à V1 e recomendamos o uso da V2 para todos os novos bots.

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

Definir o contexto da intenção

Você pode fazer com que o Amazon Lex acione intenções com base no contexto. Um contexto é uma variável de estado que pode ser associada a uma intenção quando você define um bot.

Você configura os contextos de uma intenção ao criar a intenção usando o console ou usando a operação PutIntent. Você só pode usar contextos na localidade em inglês (EUA) (en-US) e somente se definir o parâmetro enableModelImprovements para true quando criou o bot com a operação PutBot.

Existem dois tipos de relacionamentos para contextos: contextos de saída e contextos de entrada. Um contexto de saída se torna ativo quando uma intenção associada é cumprida. Um contexto de saída é retornado ao seu aplicativo na resposta da operação PostText ou PostContent, e é definido para a sessão atual. Depois que um contexto é ativado, ele permanece ativo pelo número de turnos ou limite de tempo configurado quando o contexto foi definido.

Um contexto de entrada especifica as condições sob as quais uma intenção pode ser reconhecida. Uma intenção só pode ser reconhecida durante uma conversa quando todos os contextos de entrada estão ativos. Uma intenção sem contextos de entrada é sempre elegível para reconhecimento.

O Amazon Lex gerencia automaticamente o ciclo de vida dos contextos que são ativados ao cumprir as intenções com contextos de saída. Você também pode definir contextos ativos em uma chamada para a operação PostContent ou PostText.

Também é possível definir o contexto de uma conversa usando a função do Lambda para a intenção. O contexto de saída do Amazon Lex é enviado para o evento de entrada da função do Lambda. A função do Lambda pode enviar contextos em sua resposta. Para obter mais informações, consulte Evento de entrada de função do Lambda e formato de resposta.

Por exemplo, suponha que você tenha a intenção de reservar um carro alugado configurado para retornar um contexto de saída chamado "book_car_filled". Quando a intenção é cumprida, o Amazon Lex define a variável de contexto de saída "book_car_filled". Como "book_car_filled" é um contexto ativo, uma intenção com o contexto "book_car_filled" definido como um contexto de entrada agora é considerada para reconhecimento, desde que a declaração do usuário seja reconhecida como uma tentativa de obter essa intenção. Você pode usar isso para intenções que só façam sentido depois de reservar um carro, como enviar um recibo por e-mail ou modificar uma reserva.

Contexto de saída

O Amazon Lex ativa os contextos de saída de uma intenção quando a intenção é cumprida. Você pode usar o contexto de saída para controlar as intenções elegíveis para acompanhar a intenção atual.

Cada contexto tem uma lista de parâmetros que são mantidos na sessão. Os parâmetros são os valores do slot para a intenção cumprida. Você pode usar esses parâmetros para preencher previamente os valores dos slots para outras finalidades. Para obter mais informações, consulte Usar valores de slot padrão.

Você configura o contexto de saída ao criar uma intenção com o console ou com a operação PutIntent. Você pode configurar uma intenção com mais de um contexto de saída. Quando a intenção é cumprida, todos os contextos de saída são ativados e retornados na resposta PostText ou PostContent.

Veja a seguir como atribuir um contexto de saída a uma intenção usando o console.

Etiqueta de saída rotulada order_complete com um tempo de vida de 5 voltas ou 90 segundos.

Ao definir um contexto de saída, você também define seu tempo de vida, a duração ou o número de turnos em que o contexto é incluído nas respostas do Amazon Lex. Um turno é uma solicitação do seu aplicativo para o Amazon Lex. Depois que o número de turnos ou o tempo expirar, o contexto não ficará mais ativo.

Seu aplicativo pode usar o contexto de saída conforme necessário. Por exemplo, seu aplicativo pode usar o contexto de saída para:

  • Altere o comportamento do aplicativo com base no contexto. Por exemplo, um aplicativo de viagens pode ter uma ação diferente para o contexto "book_car_filled" e "rental_hotel_filled".

  • Retorne o contexto de saída para o Amazon Lex como contexto de entrada para o próximo enunciado. Se o Amazon Lex reconhecer o enunciado como uma tentativa de extrair uma intenção, ele usa o contexto para limitar as intenções que podem ser retornadas àquelas com o contexto especificado.

Contexto de entrada

Você define um contexto de entrada para limitar os pontos da conversa em que a intenção é reconhecida. Intenções sem um contexto de entrada são sempre elegíveis para serem reconhecidas.

Você define os contextos de entrada aos quais uma intenção responde usando o console ou a operação PutIntent. Uma intenção pode ter mais de um contexto de entrada. Veja a seguir como atribuir um contexto de entrada a uma intenção usando o console.

Tag de entrada denominada order_complete.

Para uma intenção com mais de um contexto de entrada, todos os contextos devem estar ativos para acionar a intenção. Você pode definir um contexto de entrada ao chamar a operação PostText, PostContent ou PutSession.

Você pode configurar os slots em uma intenção para obter valores padrão do contexto ativo atual. Os valores padrão são usados quando o Amazon Lex reconhece uma nova intenção, mas não recebe um valor de slot. Você especifica o nome do contexto e o nome do slot no formulário #context-name.parameter-name ao definir o slot. Para obter mais informações, consulte Usar valores de slot padrão.