Numerous observers have identified chatbots as a potential replacement for native applications, representing a new primary channel for interaction with users. However, there has been less discussion of the natural evolution of APIs toward conversation APIs.
Conversation APIs are evolving out of existing interfaces for application development. Yet they are far more than just chatbots, and retain their API functionality. To some extent their role is unchanged; they serve as a vehicle for communication between applications, platforms and devices. But future versions of such platforms will be able to do this in a far more enriching manner. APIs capable of natural language processing.
From REST APIs to conversation APIs
Most companies around the world currently use REST APIs. These are app programming interfaces that harness only the usual HTTP requests (POST -create-, GET -read and query-, PUT -edit- and DELETE), and in response receive data in JSON and XML format. Such APIs have done a perfectly good job of exchanging data and supporting machine-to-machine connectivity. This has been true even in user interfaces designed for information exchanges between machines and humans. However, the natural evolution of such platforms should usher in the era of conversation APIs, capable of adding significant value to machine-human interactions, although they would make less sense in M2M data exchanges.
There are so many different concepts out there at the moment that they tend be lumped together in an amorphous mess in the heads of less tech-savvy users. The end result is largely the same, even though the processes and objectives are radically distinct. A user interface is not the same as a conversation user interface, and likewise an application programming interface (API) is different from a conversation API.
● A user interface is the platform that allows users to interact with an application or platform. Most current user interfaces are graphic (GUI), supporting interaction via screens or buttons. When such user interfaces are capable of interacting with humans, via natural language processing, they are conversation interfaces, or one of those chatbots that have caused such a commotion. A bot that is capable of answering users’ questions.
● Application programming interfaces (APIs) are the perfect vehicle for interaction between applications and platforms. They exchange data. This is the norm for REST APIs. Meanwhile, conversation APIs support enquiries stated using natural language, the language that users speak. They exchange ideas, not data.
The evolution of conversation APIs
This is leading us toward a world in which two kinds of APIs coexist. There are those used to exchange data in internal processes, whether they be REST or other kinds of APIs, and those that serve to establish a new type of relationship with clients, first to provide them with commercial information using natural language, and secondly to establish real conversational interaction between user and machine whenever the latter makes any kind of query.
The future for such technology is users being able to make commercial or customer service enquiries via a conversation user interface, such as a chatbot. Conversation APIs will then be able to provide a response that is not merely made up of data or a dataset structured in a table, but a real answer using natural language that makes sense.
For example, in the banking industry a user might enquire after the origin of a specific charge made to their account on an exact date. In this case, the conversation API would access structured data and provide a response via a chatbot, which would go something like this: “The charge of 40 euros made on August 3, 2016, was for payment of dinner at Miramar Restaurant in Cadiz”. This kind of information generation differs greatly from a jSON data structure:
“name”: “Juan”,
“surname”: “Fernández”,
“date”: “08/03/2016”
“amount”: “EUR 40”
“description”: “MIRAMAR RESTAURANT, CADIZ”
“balance”: “EUR 2,340”
Such enquiries are now well within the realms of possibility. Users asking for information should be able to get a natural response from APIs and conversational user interfaces. The difficulty is managing to ensure that these interfaces, and therefore the APIs that search, generate and provide the answers in natural language, are capable of holding real and unpredictable conversations with users. So that users get the feeling that the machine is human.
One technique that may lead to a major breakthrough in this regard is the so-called thought vectors approach, one of the latest developments from Google’s groundbreaking guru in Artificial Intelligent, Geoffrey Hinton. Thought vectors allow numeric weightings to be allocated to words in their various contexts, helping machines to understand the meaning of words in different positions in sentences constructed by users.
Thought vectors allow a context to be established around a specific line of thinking. By allocating numeric weightings to words and their contexts (the groups of words used around them), machines are able to understand the true meaning of messages as part of unpredictable conversations with users. Machines can thus follow a series of thoughts within a chain of reasoning. This would be true artificial intelligence.