Object Services and Consulting, Inc.

Menu-Based Natural Language Interface

a quick overview of what an end user sees when using MBNLI

Copyright 1999 Object Services and Consulting, Inc. All Rights Reserved.

The Basic Idea

Natural language seems like a great idea for communicating with computers.  Indeed, computers are able to process natural language in several areas:  text to speech, speech to text, text translation, and keyword-based retrieval.  But the area of natural language interfaces (NLI), where the computer processes complex queries or commands, has enjoyed very limited success, so much so that natural language is not much used in user interface development.

To understand why, try typing or speaking to a system that has a NLI.  Most of your questions and commands will not be understood because they overshoot the capabilities of the NLI system or the underlying application it interfaces to.  In addition, you won’t really know about some things you could ask about (does the system handle map or statistical queries?) so your questions and commands will also undershoot the capabilities of the NLI system.  This mismatch between user expectations and NLI system capabilities is called the habitability problem.

Menu-based Natural Language Interface (MBNLI) technology uses standard NLI technology but in a directed completion-based way to restrict the language and guide the user to just the capabilities of the NLI and underlying system.  The core technology is attribute grammars and a predictive parser.  The technology targets a large unfilled niche in user interface design enabling unskilled users to make complex queries and commands.  In addition, interface development is much easier and has been automated in the case of MBNLI interfaces to relational DBMS systems.

OBJS MBNLI is developing a toolkit containing tools for creating and delivering  NLI interfaces.  The prototype runs on Win 95/NT.

Sample Screen Displays

Cascading Popup Menus

The user composes a sentence either by typing it in or selecting items from a cascade of menus driven by the grammar and predictive parser.  Other supported MBNLI UIs provide speech and a space efficient sentence-completion menu configuration.


A sentence is displayed (and can be edited) in a TextArea of the composition window:

 The buttons and their functionality are:


"Experts provide domain-specific support for specifying values.  In the cascaded menus, experts are enclosed in angular brackets. If an expert is selected, a menu supports the user in specifying a value.  For instace, if the type-in expert is selected, the following dialog window is displayed.  MBNLI supports an extensible library of experts.

Query Translation

As mentioned, in the widely useful case of relational databases, default standard grammars and translations are provided and can be combined with DBMS schemas at run time to automate the generation of MBNLI interfaces to DBMS systems that use SQL.  To view the SQL for a composed sentence, one clicks on the Translate button. The sentence and SQL are displayed in a TextArea which can be edited:

Query Execution

To execute the query and view the query result, one clicks on the Execute button in either the main NLI window or the translate window:
The following query "List the sites whose base url is <URL>" is from a network performance monitor example, not from the student database.