Na conferência da Amazon re: MARS IA em Las Vegas, Rohit Prasad, vice presidente da Alexa, demonstrou um novo modelo conversacional para a assistente virtual Alexa. Neste novo modelo, a Alexa consegue alternar de forma transparente entre skills e lembrar do contexto da conversa para resolver referências ambíguas.
Os usuários da Alexa são sem sombra de dúvidas familiares com os conceitos de skills, que são os blocos de construção das funcionalidades da Alexa. Os usuários escolhem um skill ao pedir para Alexa "abrir" ou "lançar" o skill. Uma vez que o skill está ativo, as habilidades de conversação da Alexa estão restringidas aos requisitos do skill. Assim como outros chatbots, Alexa utiliza um modelo de classificação de intenção e preenchimento de entidades. Um exemplo do modelo intenção/entidade pode ser o skill de compra de um ingresso de cinema, que poderia ter a intenção ComprarIngressos, com entidades como CidadeDoCinema, NomeDoCinema, TituloDoFilme, HorarioDoFilme e NumeroDeIngressos.
Cada frase dita pelo usuário é analisada para a ação que o usuário quer que a Alexa tome (a intenção), e os parâmetros específicos da ação (as entidades). Uma vez que a intenção é identificada, muito da conversação subsequente com a Alexa é para alimentar qualquer entidade faltando para a intenção. Uma limitação deste modelo é que Alexa não lembra de nenhum detalhe da conversação. Em particular, os itens que foram identificados como entidades não estão disponíveis para serem utilizados por outros skills que um usuário possa selecionar posteriormente. Por exemplo, se um usuário compra ingressos de um filme e quer utilizar a Alexa para agendar um Uber à sala de cinema, atualmente não é possível simplesmente dizer: "Eu preciso de um uber para lá". Ao invés disso, o usuário deve explicitamente abrir o skill do uber e preencher as entidades de EnderecoDestino e HorarioDeChegada. O skill não consegue inferir esses dados das entidades NomeDaSala e HorarioDoFilme do skill anterior.
Durante o keynote do re:MARS, Prasad mostrou um vídeo demonstrando uma conversação com a Alexa, em que um usuário tem uma conversa extensa com a Alexa, comprando ingressos de cinema, fazendo reservas em um restaurante e agendando um uber, tudo utilizando o novo modelo de diálogo no qual a Alexa consegue manter informação contextual, alternar entre skills e preencher entidades utilizando o contexto memorizado. De acordo com a equipe da Alexa, "em cada turno de diálogo, o sistema produz um vetor que representa o contexto e o conteúdo semântico da conversa".
Este demo representa a culminação de muitos papers de pesquisa e os trabalhos internos que foram sugeridos durante o ano passado em um post no blog e um paper de conferência. O sistema utiliza embeddings para armazenar as entidades, que agrupa as entidades semanticamente similares próximas uma das outras. Isto permite que a Alexa reconheça quando entidades de um skill possam ser preenchidas com valores de entidades de outro skill. Também há uma rede neural LSTM que determina se o valor de uma entidade deve ser "transferido" para o próximo passo do diálogo.
Embora esta tecnologia ainda não tenha sido totalmente liberada à comunidade de desenvolvedores da Alexa, há um programa de preview para desenvolvedores chamado de Alexa Conversations. Devs podem se inscrever para ter um "acesso antecipado às capacidades de cross-topic que estão por vir". Mark Tucker, um Champion Alexa, disse no Twitter:
O preview da Alexa Conversations promete menos código e uma maior experiência de conversação. Todo desenvolvedor deveria começar a estudá-la. A Amazon tem focado fortemente no gerenciamento do diálogo, ao contrário do Gerenciamento de Estado e Contexto de Intenção. Será esta a solução?
Entretanto, não são todos que estão empolgados com o novo modelo de conversação. Um comentário no Hacker News apontou:
Gostaria que [o modelo da Alexa] seguisse uma abordagem mais explícita de: lista de itens -> descendentes -> nova lista de itens. A área em que a Alexa apresenta mais facilmente suas falhas é quando você cai na armadilha de tentar iniciar um diálogo normal com ela.