Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Scalable Chatbot Architecture with eBay ShopBot Shopping Assistant

Scalable Chatbot Architecture with eBay ShopBot Shopping Assistant

Leia em Português

This item in japanese

Robert Enyedi, software engineer at eBay, spoke at QCon New York 2017 Conference about the architecture behind ShopBot personal shopping assistant application. ShopBot, launched in late 2016 based on Facebook Messenger bot, leverages AI components and the eBay user data to provide shopping options in a conversational style.

Enyedi said the AI technologies are having a profound impact on commerce and the users now expect simple and personalized interactions in their online shopping experiences.

Some of the challenges in developing a shopping chatbot include relevancy, shopping conversations, informal conversations, and support for conversation, not just search. Also, system design constraints include user input that may be minimal or fragmented through multiple interactions. We need large amounts of data to accurately understand the user input and the system output has to be user-friendly.

Third-party bot frameworks typically support Natural Language Understanding and Processing, intent detection (e.g. weather, flight scheduling, shopping), entity extraction (e.g. number, temperature). But they offer limited non-linear conversation support, coarse-grained bot memory and are currently in various states of availability and maturity of API, tools and implementation. The eBay team implemented their own bot solution to provide a commerce-aware input analysis tuned with large scale data, fine-grained bot memory with long-term secure storage, and support for non-linear multi-turn dialog.

ShopBot’s architecture consists of the following components:

  • Facebook Messenger
  • ShopBot Fabric
  • ShopBot AI System (includes Input Processors and Dialog Manager)
  • Data stores (Bot Memory and Knowledge Graph)

ShopBot technology stack, which is based on the microservices architecture, includes Java 8, Scala, Python, Play, Google Cloud BigTable and Spark for machine learning model training. The deployment model is based on Google Cloud Platform, Docker, and Kubernetes.

The app supports multi-turn conversation and multi-modal system input features. Multi-modal system input can be text, click & tap, image, voice or a combination of these inputs. And multi-turn conversation, which includes the dialog around a topic, is more productive than traditional one dimensional search.

Dialog Manager is the core component of ShopBot application and is used for input analysis, bot memory, product retriever, search (text, visual and curation search), and knowledge graph.

ShopBot’s roadmap includes offering full eBay inventory in the cloud, continue innovation into non-linear dialog interactions, research to leverage AI in conversational commerce to make shopping easier and faster.

You can try out the ShopBot application on eBay website.


Rate this Article