Agora a Amazon Lex, plataforma por trás da Amazon Alexa, anuncia disponibilização geral do produto para criar bots de chats com voz e aplicativos para dispositivos móveis, web e desktop.
A Amazon Lex foi apresentada como um beta de pré-visualização na última edição do AWS Re:invent para deixar os desenvolvedores começarem experimentar a incorporação de interfaces de conversação em seus aplicativos. A Lex fornece o reconhecimento de fala automática (ASR) e algum tipo de compreensão de linguagem natural (NLU) no contexto de um bot, que fornece uma estrutura framework para acessá-los. Um bot inclui:
- Finalidade, que representa os objetivos que o usuário deseja alcançar. Isso pode consistir em obter a resposta de uma pergunta, realizar uma ação em algum serviço remoto, etc.
- Expressões, que são frases associadas às várias finalidades e objetivos. Uma expressão pode ser vista como um modelo de frase que contém, opcionalmente, espaços reservados, chamados slots, cujos valores são dados nas expressões fornecidas pelos usuários.
- Slots, que fornecem, como mencionado acima, um mecanismo para representar ideais para a criação de uma expressão. Cada slot representa uma forma específica de informação, como números, anos, cidades, países, etc. Tipos de slots personalizados também podem ser usados para lidar com várias ideias de criação de expressão, como por exemplo, uma lista de ações, cores, etc.
- Prompts, que são perguntas que a Lex pode fazer aos usuários para que eles fornecem alguma informação que não foi fornecida anteriormente. Prompts são importantíssimos na hora que permitir conversas reais que abrangem múltiplas trocas verbais entre o usuário e um bot da Lex.
- Satisfação, que é o nome escolhido pela Amazon para identificar o serviço Lambda AWS responsável por satisfazer os objetivos dos usuários. Essa lógica de negócio pode contar com a Lex para fornecer a função finalidade para discernir as expressões do usuário, sem contar os valores reais dos slots encontrados nas expressões.
Os desenvolvedores que criaram as habilidades da Alexa, reconheceram aqui uma estrutura muita parecida com a usada para a Alexa - as duas principais diferenças são que o bot é, no caso da Alexa, uma habilidade, e que as características da Alexa não se limitam ao uso do AWS Lambda e assim permite usar qualquer endpoint para a implementação back-end.
No momento do anúncio da pré-visualização, a Amazon mostrou um bot de chat no Facebook Messenger. Um maior suporte para interagir com mais serviços já foi então adicionado, incluindo o Slack e o Twilio. Mais importante ainda, os AWS SDKS incluem agora um suporte para criar aplicativos para iOS e Android, tal como aplicativos para a Web e desktop que usam vários idiomas diferentes que fazem a Lex interagir com seus usuários. O Console da Lex fornece uma série de facilidades para definir as expressões e suas associações com as finalidades e objetivos que compõem um bot, bem como para monitorar as expressões que não foram reconhecidas suas finalidades.