{"id":492719,"date":"2018-07-02T08:28:47","date_gmt":"2018-07-02T15:28:47","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?p=492719"},"modified":"2018-07-02T13:17:23","modified_gmt":"2018-07-02T20:17:23","slug":"democratizing-apis-with-natural-language-interfaces","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/research\/blog\/democratizing-apis-with-natural-language-interfaces\/","title":{"rendered":"Democratizing APIs with Natural Language Interfaces"},"content":{"rendered":"
Benefiting from a confluence of factors, such as service-oriented architecture, cloud computing, and Internet-of-Things (IoT), application program interfaces \u2013 APIs \u2013 are playing an increasingly important role in both the virtual and the physical world. For example, web services, such as those featuring weather, sports, and finance, hosted in the cloud provide data and services to end users via web APIs and IoT devices expose their functionalities via APIs to other devices on the network.<\/p>\n
Traditionally, APIs are mainly consumed by various kinds of software \u2013 desktop applications, websites, and mobile apps \u2013 that then serve users via graphical user interfaces (GUIs). GUIs have greatly contributed to the popularization of computing, but many limitations have gradually presented themselves as the computing landscape evolves. As computing devices become smaller, more mobile and more intelligent, the requirement of a screen for GUIs becomes a burden in many cases, such as in wearables and IoT devices. Users must also adapt to different ad-hoc GUIs to use different services and devices. As the number of available services and devices rapidly increases, the learning and adaptation cost on users increases. Natural language interfaces \u2013 NLIs \u2013 show significant promise as a unified and intelligent gateway to a wide range of back-end services and devices. NLIs have enormous potential to help capture user intent and contextual information to enable applications such as virtual assistants to better serve their users.<\/p>\n
We have been studying natural language interfaces to APIs (NL2APIs). Different from general-purpose NLIs like virtual assistants, we examined how to build NLIs for individual web APIs, for example, the API to a calendar service. Such NL2APIs have the potential to democratize APIs by helping users communicate with software systems. They can also address the scalability issue of general-purpose virtual assistants by allowing for distributed development. The usefulness of a virtual assistant is largely determined by its breadth, that is, the number of services it supports. However, it is tedious for a virtual assistant to integrate web services one by one. If there was a simple way for individual web service providers to build an NLI to their respective APIs, integration costs could be greatly reduced. A virtual assistant then need not handle the heterogeneous interfaces to different web services; rather, it would only need to integrate the individual NL2APIs which enjoy the uniformity of natural language. NL2APIs can also facilitate web service discovery, recommendation and help API programming by reducing the burden to memorize the available web APIs and their syntax.<\/p>\n