Melhorar o reconhecimento dos valores de slots com sugestões de runtime - 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á.

Melhorar o reconhecimento dos valores de slots com sugestões de runtime

Com as sugestões de runtime, é possível fornecer ao Amazon Lex V2 um conjunto de valores de slots com base no contexto para obter melhor reconhecimento em conversas de áudio e melhores resoluções de slots. Você pode usar as sugestões de runtime para fornecer uma lista de frases em runtime que se tornam candidatas à resolução de um valor de slot.

Por exemplo, se um usuário que interage com um bot de reserva de voos viaja com frequência para São Francisco, Jacarta, Seul e Moscou, é possível configurar sugestões de runtime com uma lista dessas quatro cidades ao solicitar o destino para melhorar o reconhecimento das cidades frequentemente visitadas.

As sugestões de runtime estão disponíveis somente nos idiomas inglês (EUA) e inglês (Reino Unido). Elas podem ser usadas com os seguintes tipos de slots:

  • Tipos de slot personalizados

  • AMAZON.City

  • AMAZON.Country

  • AMAZON.FirstName

  • AMAZON.LastName

  • AMAZON.State

  • AMAZON.StreetName

Conceitos básicos de sugestões de runtime

  • As sugestões de runtime são usadas somente ao solicitar um valor de slot de um usuário.

  • Quando você usa sugestões de runtime, os valores das sugestões têm preferência sobre valores semelhantes. Por exemplo, para um bot de pedidos de comida, é possível definir uma lista de itens do menu como sugestões de runtime ao solicitar opções de comida em um slot personalizado para dar preferência a “filé” em vez de palavras semelhantes como “fila”.

  • Se a entrada do usuário for diferente dos valores fornecidos nas sugestões de runtime, a entrada original do usuário será usada para o slot.

  • Para tipos de slots personalizados, os valores fornecidos como sugestões de runtime serão usados para a resolução do slot, mesmo que não façam parte do slot personalizado durante a criação do bot.

  • As sugestões de runtime são compatíveis somente com entradas de áudio de 8 kHz. Elas estão disponíveis com integrações de central de atendimento compatíveis com o Amazon Lex V2. Não são fornecidas sugestões de runtime para entrada de áudio da janela de teste no console do Amazon Lex V2, pois ela utiliza entrada de áudio de 16 kHz.

nota

Antes de usar sugestões de runtime com um bot existente, é necessário primeiro reconstruir o bot. As versões existentes do bot não são compatíveis com sugestões de runtime. É necessário criar uma nova versão do bot para usá-las.

Você pode enviar sugestões de runtime para o Amazon Lex V2 usando a operação PutSession, RecognizeText, RecognizeUtterance ou StartConversation. Você também pode adicionar sugestões de runtime usando uma função do Lambda.

Você pode enviar sugestões de runtime no início de uma conversa para configurar as sugestões para cada slot usado no bot ou pode enviar sugestões como parte do estado da sessão durante uma conversa. O atributo runtimeHints mapeia um slot para as sugestões desse slot.

Depois de enviar uma sugestão de runtime para o Amazon Lex V2, ela permanece presente em cada etapa da conversa até que a sessão termine. Se você enviar uma estrutura runtimeHints nula, as sugestões existentes serão usadas. É possível modificar as sugestões da seguinte forma:

  • Enviar uma nova estrutura runtimeHints para o bot. O conteúdo da nova estrutura substitui os existentes.

  • Enviar uma estrutura runtimeHints vazia para o bot. Isso limpa as sugestões de runtime do bot.

Adicionar valores de slot no contexto

Adicione contexto ao bot fornecendo os valores de slot esperados como sugestões de runtime quando a aplicação tiver informações sobre o próximo enunciado provável do usuário. Adicione um hook de código de diálogo do Lambda ao bot (consulte Habilitando a lógica personalizada com as funções do AWS Lambda para obter mais informações) e use o campo proposedNextState em Interpretar o formato do evento de entrada para determinar as sugestões de runtime que é preciso incluir para melhorar a conversa com o usuário.

Por exemplo, em um aplicativo bancário, é possível gerar uma lista de apelidos de conta para um usuário específico e, em seguida, usar a lista ao solicitar a conta que o usuário deseja acessar.

Envie sugestões de runtime no início da conversa quando tiver contexto para ajudar o bot a interpretar as informações do usuário. Por exemplo, se você tiver o número de telefone do usuário, poderá usar essa informação para localizar o usuário, permitindo assim o uso da operação PutSession ou StartConversation para fornecer sugestões de nome e sobrenome ao bot, caso esteja solicitando o nome do usuário para validar suas credenciais.

Durante uma conversa, você pode coletar informações de um valor de slot que podem ajudar com outro valor de slot. Por exemplo, em um aplicativo de atendimento automotivo, quando você tem o número da conta do usuário, é possível fazer uma busca para descobrir os carros que o cliente possui e enviá-los como sugestões para outro slot.

Insira acrônimos ou outras palavras cujas letras devem ser pronunciadas individualmente como letras únicas separadas por um ponto ou um espaço. Não use letras individuais, a menos que elas façam parte de uma frase, como “J. P. Morgan” ou “A.W.S”. É possível usar letras maiúsculas ou minúsculas para definir um acrônimo.

Adicionar sugestões a um slot

Para adicionar sugestões de runtime a um slot, use a estrutura runtimeHints que faz parte da estrutura sessionState. Veja a seguir um exemplo da estrutura runtimeHints. Ela fornece sugestões para dois slots, “FirstName” e “LastName” para a intenção “MakeAppointment”.

{ "sessionState": { "intent": {}, "activeContexts": [], "dialogAction": {}, "originatingRequestId": {}, "sessionAttributes": {}, "runtimeHints": { "slotHints": { "MakeAppointment": { "FirstName": { "runtimeHintValues": [ { "phrase": "John" }, { "phrase": "Mary" } ] }, "LastName": { "runtimeHintValues": [ { "phrase": "Stiles" }, { "phrase": "Major" } ] } } } } } }

Você também pode usar uma função do Lambda para adicionar sugestões de runtime durante uma conversa. Para adicionar sugestões de runtime, adicione a estrutura runtimeHints ao estado da sessão na resposta que a função do Lambda envia para o Amazon Lex V2. Para mais informações, consulte Preparando o formato de resposta.

É necessário especificar um intentName e um slotName válidos na solicitação, caso contrário, o Amazon Lex V2 retornará um erro de runtime.