Robert Enyedi, engenheiro de software do eBay, falou no QCon New York 2017 sobre a arquitetura por trás do aplicativo de assistente de compras pessoal chamado ShopBot. Lançado no final de 2016 com base no Facebook Messenger bot, o ShopBot utiliza os componentes de inteligência artificial (IA) e os dados do usuário do eBay para fornecer opções de compras em um estilo de conversação.
Enyedi disse que as tecnologias de IA estão tendo um impacto profundo no comércio, fazendo com que os usuários passem a esperar interações simples e personalizadas em suas experiências de compras on-line.
Além de um mecanismo para pesquisas, o desenvolvimento de um chatbot de compras possui diversos desafios a serem superados, como relevância, conversas de compras, conversas informais e suporte para conversas. Além disso, as restrições para a criação de um chatbot incluem a entrada do usuário que pode ser mínima ou fragmentada por meio de múltiplas interações. São necessárias grandes quantidades de dados para entender com precisão a entrada do usuário, gerando uma saída fácil de usar.
Os frameworks disponíveis para o desenvolvimento de bot suportam Processamento e Compreensão de Linguagem Natural, detecção de intenção (por exemplo: clima, programação de vôos e compras), extração de entidade (por exemplo: número e temperatura). Porém, eles oferecem suporte limitado às conversas não-lineares, memória de granularidade grossa (coarse-grained) e atualmente estão em vários estados de disponibilidade e maturidade de API, ferramentas e implementação. A equipe do eBay implementou sua própria solução de bot para fornecer uma análise de entrada com reconhecimento de comércio, sintonizada com dados em grande escala, memória de bot de granularidade fina (fine-grained) com armazenamento seguro a longo prazo e suporte para diálogo multi-turno não-linear.
A arquitetura do ShopBot consiste dos seguintes componentes:
- Facebook Messenger
- ShopBot Fabric
- ShopBot AI System (inclui Input Processors e Dialog Manager)
- Data stores (Memória de Bot e Gráfico de Conhecimento)
A stack do ShopBot, baseada na arquitetura microservices, inclui Java 8, Scala, Python, Play, Google Cloud BigTable e Spark para treinamento do modelo de aprendizagem de máquina. O modelo de implantação é baseado em Google Cloud Platform, Docker e Kubernetes.
O aplicativo oferece suporte à conversação multi-turno e recursos de entrada no sistema multimodal. A entrada do sistema multimodal pode ser texto, clique e toque, imagem, voz ou alguma combinação dessas entradas. E a conversação multi-turno, que inclui o diálogo em torno de um tópico, é mais produtiva do que a busca tradicional de uma dimensão.
O Dialog Manager é o componente principal do aplicativo ShopBot e é usado para análise de entrada, memória de bot, recuperação de produtos, pesquisa (pesquisa de texto, visual e de curadoria) e gráfico de conhecimento.
O roteiro do ShopBot inclui oferecer o inventário completo do eBay na nuvem, continuar a inovação em interações de diálogo não-linear, e pesquisar para impulsionar o uso de IA no comércio de conversação, para fazer compras de forma mais fácil e rápida.
Você pode experimentar o aplicativo ShopBot no site do eBay.