Conversational interfaces are one of the most popular topics in the artificial intelligence(AI) technology ecosystem. The raise in popularity of conversational interfaces technologies such as natural language processing(NLP) na natural language understanding(NLU) has been accelerated by the fast growth of bot technologies.
The influence of bots in the development of NLP-NLU stacks has gotten to the point that most conversational interfaces are developed exclusively as part of specific bots. Conceptually, bots can be clearly divided between the front-end interface that sits in a messaging client and the NLP-NLU backend APIs that process the natural language messages from users. In a typical bot solutions, both components are tightly coupled and highly dependent on each other. In spite of the existence of popular platforms that enable the creation of conversational APIs such as Facebook Wit.ai, Google API.ai, Microsoft LUIS or AWS Lex, most conversational interfaces are typically used in the context of a specific bot solution. Think about, how many Wit.ai APIs, Alexa Skills or API.ai agents do you know that are being used by multiple bots or applications?
As voice evolves as one of the fundamental forms o fuser interface, NLP-NLU solutions are likely to start being used closers to the way we use APIs today. From that perspective, many systems of applications will expose conversation APIs that will be leveraged by bots on different platforms on diverse domains. That model drastically contrasts with the single-bot, single purpose model of today’s NLP-NLU APIs.
Some Ideas to Streamline the Adoption Conversational APIs
There are some important elements that are needed to make conversational APIs a reality. Let’s discuss a few technological pieces that might be relevant in order to streamline the adoption of conversational APIs:
— Conversational API Description: Conversational APIs should expose metadata descriptions that detail its capabilities. Descriptions should include relevant elements of conversational interfaces such as entities, intents, sample input-output messages and many other aspects that can help client applications understand and start using the API.
— Discovery Interface: A conversational API discovery interface will be responsible for matching APIs with the specific requirements of client applications. WE can think about the discovery services as a conversational API responsible for answering questions such as “What APIs can help me answer this question? “ After receiving that inquiry, a description service should return pointers to the description service of different conversational APIs that can help to answer the target question.
— General-Purpose Testing Tools: Platforms such as Wit.ai, API.ai, LUIS or Lex include testing tools to validate the functionality of NLP-NLU conversations. However, I believe more general-purpose testing tools will be required in order to work with APIs created on any conversational platform.
— Support for Voice Messaging: Excepting AWS Lex, most conversational API technologies are mostly focused on textual conversational and use voice mostly as an intermediate format that can be translated to text. However, when thinking about conversational APIs, voice is as important as text as a message encoding format. Voice conversations are a more effective mechanisms to communicate contextual aspect such as emotion, ethnicity or many other elements that can enrich a conversational experience.