Types of Applications Implementing Natural Language Interface
This post is the second of a three part series on Natural Language Interface (NLI). The first post was Natural Language Interface: Advantages & Dis-advantages and the last post in the offing is: Tools/ Technologies that are used to build NLIs.
Applications that implement Natural Language Interfaces, in the increasing order of perceived difficulty, are interfaces to structured data bases (e.g., NLIDB), simulation models, operating systems, expert systems, transaction systems (e.g., airline reservations), and text data bases*.
A couple of examples of NLIDB are English Query that was first shipped with MS SQL Server 6.5, in 1996 (20 years ago!) and Thoughtspot, which offers a flexible querying front-end for business intelligence data.
For an excellent explanation of NLIDB along with a brief of the above mentioned applications, click here.
I consider Amazon’s Alexa belonging to the category of Simulation models. Alexa implements NLI with a headless speaker called Echo. Alexa skills have to be built specific to a perceived user’s action(/s). User inputs that are captured through Echo are used to simulate the user action, like clicking the Play button of a music system that has integrated Alexa skills etc..
Cortana and Siri are a couple of NLI based applications that are used in Windows and iOS operating systems respectively.
Expert systems are being developed since 1970s, like, MYCIN that assists physicians in the selection of appropriate antimicrobial therapy for patients. Recent examples include ROSS, which is a legal research platform.
Transaction systems include complex chatbots that are used in financial transactions, like HDFC (India) bank’s EVA.
Google Search and Voice Assistant are classic examples of an NLI implementation that get information from unstructured data (or text databases), which includes most of the online content. Today, we have several search engines that have implemented NLI to get information from unstructured data, like Wolfram Alpha etc..
Factors for NLI suitable applications: For NLI to be technologically practicable in a specific area of application*:
- Users must be able to type or speak in their natural language
- The application domain must be conceptually well-bounded, i.e., there must be a limited number of objects in the domain and a limited number of relationships among them
- System users must have reasonable expectations of what the system can do. For example, a user may query a Sales database using the words “What are the sales in the month of May?“. If the sales are down compared to previous months, it is natural for the user to ask a follow-up question using the words “Why have the sales dropped?“
- For NLI to be useful in a given area, the application must require flexibility and diversity. For example, if the same report is to be produced every month, there is no particular advantage to requesting that it be printed by giving instructions in English
- The cost of creating an NLI must be justified either by the system’s volume of usage or when time is a critical factor
Finally, as mentioned in the first of this three part series, below is a demo URL of an NLI (Natural Language Interface) application built using the example in the first post and a comparison with a menu interface at end of the video:
Question: Considering the above mentioned factors, do you think the demo application qualifies as a suitable application?
We’ll discuss about the various Tools/ Technologies that are used to implement NLI in our third and final part of this series.
* Gary G. Hendrix, Natural-Language Interface, Chairperson, SRI International , Menlo Park, CA