Why Uber Open Sourced Their Conversational AI Platform

There has been a drastic change in the way we communicate now, thanks to artificial intelligence. Conversational agents are the natural language interaction interfaces designed to simulate conversation with a human. With the advent of conversational agents like chatbots and virtual assistants, humans can now communicate with machines in a more sophisticated way. 

Recently, researchers at Uber open-sourced an AI platform known as Plato Research Dialogue System on GitHub. The Plato Research Dialogue System, which has been developed with Python 3, is an intelligent platform where a developer can build, train and deploy conversational AI agents.


Sign up for your weekly dose of what's up in emerging technology.

The researchers said that Plato is integrated with deep learning techniques along with Bayesian optimisation frameworks and provides a clean and understandable design for both amateurs and professionals along with reducing the need to write code. 

How Does It Work

Download our Mobile App

The main components of the standard architecture of the conversational agent include:

  • Speech recognition: This method transcribes speech to text
  • Language understanding: This method extracts meaning from that text
  • State Tracking: This process aggregates information about what has been said and done so far
  • API Call: This method searches a database, query an API, etc.
  • Dialogue Policy: This process generates the abstract meaning of the agent’s response
  • Language Generation: This process converts abstract meaning into the text
  • Speech Synthesis: This method converts text to speech 

These components can be trained online or offline using machine learning libraries like TensorFlow, Ludwig or PyTorch.

According to reports, the Uber researchers said, “We believe that Plato has the capability to more seamlessly train conversational agents across deep learning frameworks — from Ludwig and TensorFlow to PyTorch, Keras, and other open-source projects — leading to improved conversational AI technologies across academic and industry applications… We’ve leveraged Plato to easily train a conversational agent how to ask for restaurant information and another agent how to provide such information; over time, their conversations become more and more natural.”

What makes Plato different from other conversational AI is that the researchers built this platform by keeping in mind the need for flexible, intuitive as well as comprehensive research and development platforms which will perform as open testbeds for the evaluation of new algorithms, creating prototypes, conversational data collection as well as reliably deploy conversational agents.

Perks Of Plato

  • Plato Version 0.1 supports both traditional as well as custom conversational AI architectures. 
  • In this intelligent conversational agent, multi-party interactions are possible where multiple agents regardless of their roles can interact with each other, train concurrently, and solve distributed problems. 
  • In this conversational agent, the users will be able to define their own architecture and/or plug their own components by simply providing a Python class name and package path to that module, as well as the model’s initialisation arguments.
  • Plato provides support for Bayesian optimisation of conversational AI architectures or individual module parameters through Bayesian Optimisation of Combinatorial Structures (BOCS). 
  • Plato allows users to modify parts of the code or extend existing use cases for greater flexibility.


To support speech in Plato, it is necessary to install PyAudio. Cloning the repository involves the following steps

git clone 


For installing in Ubuntu

sudo apt-get install python3-pyaudio

pip install -r requirements.tx

For installing in Windows

pip install -r requirements.txt

For installing in MacOS

brew install portaudio

pip install -r requirements.txt


It is fair to say that conversational AI such as chatbot has taken the world by storm already. They have become an integral part of our everyday lives. Organisations in almost all domains like health, finance, e-commerce, etc. are already using them as customer support representatives, personal assistants, among other things.


Support independent technology journalism

Get exclusive, premium content, ads-free experience & more

Rs. 299/month

Subscribe now for a 7-day free trial

More Great AIM Stories

Ambika Choudhury
A Technical Journalist who loves writing about Machine Learning and Artificial Intelligence. A lover of music, writing and learning something out of the box.

AIM Upcoming Events

Early Bird Passes expire on 3rd Feb

Conference, in-person (Bangalore)
Rising 2023 | Women in Tech Conference
16-17th Mar, 2023

Conference, in-person (Bangalore)
Data Engineering Summit (DES) 2023
27-28th Apr, 2023

3 Ways to Join our Community

Telegram group

Discover special offers, top stories, upcoming events, and more.

Discord Server

Stay Connected with a larger ecosystem of data science and ML Professionals

Subscribe to our Daily newsletter

Get our daily awesome stories & videos in your inbox

All you need to know about Graph Embeddings

Embeddings can be the subgroups of a group, similarly, in graph theory embedding of a graph can be considered as a representation of a graph on a surface, where points of that surface are made up of vertices and arcs are made up of edges