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.
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
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
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.