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.
NLI GUI
A sentence is displayed (and can be edited) in a TextArea of the composition
window:
The buttons and their functionality are:
-
Restart - erases the entire sentence and reinitializes the parser
to begin again.
-
Undo - erases the last phrase selected or character of the phrase
being typed in.
-
Rubout - erases the last phrase selected
-
Show Parse - not shown above - used by grammar writers and interface
developers
-
Translate - translate the sentence to SQL and display it in a separate
window.
-
Execute - translate the sentence to SQL, send it to a database for
processing, and display it and the query result in a separate window.
Experts
"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.