You are on page 1of 9

Intelligent natural language interface for a signal

processing system

D.T. Morris, PhD


D.E. Asumu, PhD

Indexing terms: Signal processing, Interface states

then executed. The reply was formatted by the interface


Abstract: An intelligent natural language interface into a suitable textural or graphical output. The systems
to a signal processing system is described. Users differed in the formalisms used to translate the user input.
type commands to the interface in a form of Woods et al., Waltz, and Ballard all used a form of graph
english orientated towards mathematical oper- traversal algorithm (the graph was termed an augmented
ations. The interface will interpret them, and if the transition network) which will be examined in detail
commands are known to the interface, it will below. Plath used an algorithm with which the ordering
execute them. If any commands are unknown to of phrases in a sentence could be altered without chang-
the interface, a dialogue will be initialised whereby ing the sentence’s meaning. The reordering was continued
the system will seek clarification of the unknown until the sentence matched a template. Warren and
ones. Such commands may be re-expressed either Pereira translated the query sentence directly into a
in terms of previously encountered synonymous Prolog expression by searching the sentence for so-called
commands, or as functions of simpler commands. determiners (the words a, the, some, all, and so on). Each
The newly defined command is saved for future determiner had an associated predicate with an appropri-
use. Nonprogrammers are thus able to define ate number of argument slots which were filled by a
‘programs’ and tailor the signal processing system further search of the query. The predicate expression was
for their own purposes. Although natural lan- then optimised and executed. Warren and Pereira termed
guage interfaces are not new, this system is novel their solution to the syntactic stage of the understanding
in its learning capabilities. process, the extraposition grammar.
A system called LIFER [8] has been developed for the
construction of natural language interfaces. The devel-
oper must define a grammar for the system using a modi-
1 introduction fication of the augmented transition network - the
To issue instructions to a computer using a natural lan- transition tree - in a programming language (InterLisp).
guage interface one would type a command in a natural Each input sentence defines a unique path through the
and free form rather than using a predefined syntax. For tree, code for executing the user’s requests may be bound
example if a user wished to add two numbers he could do to the tree’s leaf nodes. It will be seen that the system
so by instructing the interface to sum the two numbers, described below has much in common with LIFER.
add them up, print their summation and so on. The Other than explicitly defining them, LIFER makes no
natural language interface frees him from the restrictions provision for representing synonymous sentences.
of learning and adhering to a closely defined command The processing of natural language in all these systems
syntax. may be divided into three stages. The syntactic pro-
Many authors have described natural language inter- cessing stage which parses the input sentence; the seman-
faces to computer systems of various kinds. Ballard [l] tic processing stage which ‘understands’ the parsed
presented a system designed for matrix manipulation sentence and passes instructions to the computer; and the
which also contributed to the operating system interface output stage which will interpret the results returned by
of Fink et al. [2]. Heidorn [3] presented a review of four the computer and format them in a suitable form for the
natural language interfaces to automatic programming user. Difficulties arise in the syntactic stage owing not so
systems. These varied from interfaces which simply much to the range of vocabulary that the user may
altered the values of parameters in prototype pro- employ as to the large number of ways in which the same
grammes to a more ambitious automatic programming command may be expressed. Maintaining a record of all
system which generated a new code (with limited success). possible ways of formulating all commands would
Much interest has also been shown in the realm of require a prohibitively large amount of storage space.
interfaces to question answering systems. Woods et al. Two formalisms are most widely used in overcoming this
[4], Plath [SI, Waltz [SI, and Warren and Pereira [7] problem : Chomsky’s transformational grammar [9] and
have all produced similar looking interfaces; similar in Wood’s augmented transition network [lo]. In
the sense that one typed a query which the system trans- Chomsky’s formalism a parse tree is produced which
lated into a relational database query form which was reflects the grammatical structure of the sentence. Rules
have been formulated which allow the tree to be trans-
Paper 7311E (C2, C4, E16). first received 8th May and in revised form formed without the meaning of the associated sentence
3rd November 1989 being altered. These rules are applied until the parse tree
The authors are with the Department of Computation, UMIST, PO matches a sample sentence. This algorithm was used by
Box 88, Manchester, M60 lQD, United Kingdom Plath. The augmented transition network (ATN) is a
I E E P R O C E E D I N G S , Vol. 137. P t . E. N o . 5. S E P T E M B E R 1990 771
finite state transition graph whose arcs are labelled with standing mathematical terms and programming
the input which will trigger a transition between states. methodologies. The interface is able to learn new com-
Using either of these formalisms the semantic processing mands; if the user issues a command that is not recog-
is easily achieved by binding a sequence of instructions nised by the interface, then a learning dialogue is
either to the sample sentence or to the final node of the initiated. The new command is stored for future refer-
ATN. ence. Despite this bias, the system has been implemented
To be universally useful the natural language interface such that transitions to other applications will require a
would have to ‘understand’ the entire language of the minimum of reimplementation.
users, including all specialist words and phrases. It has The algorithms used by the system will be described
been pointed out [ l l ] that this goal is at present unat- under the headings of syntactic processing, semantic pro-
tainable owing to the amount of knowledge required by cessing, the formatting of output, and the teaching of new
such a system. Any natural language interface will there- commands. Examples of the system’s use will be given.
fore be restricted in the vocabulary it knows and is conse- Finally, the application specific aspects of the interface
quently restricted in its sphere of usefulness. Such an will be discussed. Since the subject matter of this paper is
interface should then be properly be termed a pseudo- of a multidisciplinary nature, a certain amount of tutorial
natural or restricted natural langauge interface. The matter is included, where required this is presented at the
interface would ‘know’ a basic vocabulary plus the beginning of each Section of the paper.
specialist vocabulary of a restricted number of spheres of
application. Two forms of language restriction may be 2 Syntactic processing
identified : owing to the interface’s knowledge of grammar
and vocabulary. The interface’s knowledge of grammar Syntactic processing is the identification of an input sen-
and the size of its vocabulary may be related, for example tence’s component grammatical constructions. As
a grammatically knowledgeable interface could recognise described above, two representations are widely used for
that ‘addition’ and ‘add’, and ‘summation’ and ‘sum’ are this purpose. One of these, the augmented transition
effectively synonymous whereas an interface with a poor network has been used in the present application: it will
knowledge of grammar would require all four words to be described in detail.
be stored as synonyms in its dictionary. A block diagram of the syntactic processor’s architec-
The restricted natural language constitutes a set of ture is given in Fig. 1. It has four main components:
commands which must be adhered to as must any set of
predefined commands. The restriction imposed by choos-
ing a subset of language has imposed some form of user input

command syntax: in the example quoted above the inter-


face knew about adding and summing numbers, but a bbrev i at i o n ex pans ion
would not necessarily know about the addition of spelling checker
numbers. However, if the subset of understandable com-
mands is sensibly chosen, then the user may be unaware
that the interface he is using is restricted in any way. For
example, in computing averages one seldom talks of the
first moment, this phrase could therefore be omitted with
little or no loss of usefulness.

m
current input
If the interface is given the capability of learning new
commands, the language restriction is effectively removed
since the learning process would be invoked whenever an
ellipsis processing
unrecognised command is encountered. We may there-
fore envisage an interface having a sensibly chosen,
restricted vocabulary and the ability to extend this a t n traversal
vocabulary should unknown phrases be encountered.
In using a natural language interface a significant
amount of processing is involved in recognising the user’s parse succeeded
commands. This processing may make systems using an
interface somewhat slower in their response than the
same system without the interface. Whilst this may be
frustrating to the experienced computer user, the naive or
irregular user may be prepared to tolerate it as the cost of
being able to communicate easily with the machine. It is Fig. 1 Block diagram of architecture of syntactic processor
not suggested that natural language interfaces should at
present provide the normal means of communicating the preprocessor, the sequencer, the ATN parser and the
with the machine, rather they may provide a vehicle for ellipsis processor. These components will now be exam-
the inexperienced or naive user to communicate ; experi- ined.
enced users may still prefer to issue commands directly. It The user’s input is preprocessed in two respects. Any
is highly likely that this restriction will be removed in abbreviations are expanded and the text checked for
future as more powerful processors are produced. spelling errors. The system requests the user to verify the
This paper will describe a pseudonatural language spelling of words not appearing in an on-line dictionary.
interface designed to allow naive computer users to The preprocessed sentence is then passed to the
define and perform signal processing tasks. The intended sequencer. In defining the interface it has been assumed
users of the interface would be knowledgeable about that the top level construct employed in formulating
signal processing, but ignorant of any programming lan- commands is the sequence. A sequence is a connected
guages. The interface is therefore biased towards under- group of natural language statements each referring to a
173 IEE PROCEEDINGS. Vol. 137. P t . E. N o . 5. S E P T E M B E R 1990
single action to be performed. The sequencer’s function is the operator and operands. The system is not restricted
to establish the boundaries between statements. to this: infix notation may also be used. Neither is the
The statements of a command may be connected by system restricted to having operators written in full, since
the words ‘then’, ‘and then’ or ‘and’, or the colon symbol. it is being deliberately biased towards mathematical
Statements sequenced by any connector other than ‘and’
are easily identified since these symbols are not used in
any other context. Ambiguities may occur when ‘and’ is
used to connect statements since this word may also be
used in data definitions (‘add 2, 3, and 4‘). Such ambi-
guities are resolved by searching for the longest self con-
sistent substring within a command.
As an example of the sequencer’s operation, consider
the following input command ‘consider the berlin eeg
data: display the samples between 1.5 and 2.7 milli-
seconds in the last three channels and then multiply this
by 0.75: divide this result by 2.43 and display it’. The
sequencer would first search for any unambiguous con- please ” p r I n t the”
nectors (‘:’, ‘then’, ‘and then’) and mark their positions.
Any of the statements thus delimited containing the word
‘and’ are further processed by attempting to use the ‘and‘
in a data specification context. Should this fail the ‘and’ is
treated as a connector. The above input would therefore
yield the following separated statements:
“add”
consider the berlin eeg data
display the samples between 1.5 and 2.7 milliseconds
in the last three channels
multiply this by 0.75
divide this result by 2.43
display it.

The sequenced statements are then passed to the ATN


parser which attempts to parse each one using each of
the available networks in turn. As an example of how the number
parsing proceeds, consider the command to add two
numbers. This may be specified by the ATN of Fig. 2. In
‘0”
this example there are two arcs leaving the initial, addi-
tion node. One arc terminates at the initial node and is
labelled ‘pleasantry’; the other terminates at the node N1 number
and is labelled ‘instruction’. Therefore, the initial segment
of the current input must satisfy either the ‘pleasantry’
and then the ‘instruction’ portions of the ATN, or the “9”
‘instruction’ portion alone. Phrases such as ‘please’, or
‘print the’ will satisfy the pleasantry network; verb Fig. 2 An example augmented transition network for the representa-
tion of requests to perform addition of two or more integers
phrases such as ‘add’, ‘sum of‘, ‘addition of‘ will satisfy
the instruction portion. Recognising one or both of these
phrases will advance processing to node N1. Having operations the mathematical symbols are also allowed. A
reached this node a segment of input satisfying the hierarchy of operators is enforced : parenthesised expres-
‘number’ ATN must be found. Any integer with at least sions are evaluated with the highest priority, followed by
one digit will allow this. The relevant portion of the ATN multiplication and division with equal priority, then
is easily altered to allow other types of number. The addition and subtraction. Operators of equal precedence
number ATN also illustrates the recursive properties of are evaluated reading from left to right.
the network in that the label of an arc in an ATN may Two forms of data selection are commonly used. In
refer to the ATN itself. The number recognised by one a label is given to a specific set of data: in the present
parsing the number ATN is stored for future use, and application data is divided into channels labelled one to
processing passes to node N2. (It is the association of an twelve. Data may also be explicitly labelled ‘. . . and call
action with an arc of the network that augments the the result X’. In the other form of selection, data are
network.) At node N2 an optional number or the literal extracted using a predicate: ‘all samples greater than 1.5
word ‘and’ may be recognised. The scan of the input will millivolts’ for example. The first form of data selection
only terminate successfully if the input contains the literal may be termed passive and the second active. Active
‘and’ followed by one integer; note that in this ATN selection requires that data be present from which to
there is no provision for the word ‘and’ in any other posi- select the points of interest. This data would be initialised
tion in the sentence. Having reached the terminal node of by passive selection.
the ATN (node F ) the procedure associated with it may The selection process may be represented by the ATN
be invoked; this will simply add together the numbers of Fig. 3. This allows commands to be applied to selec-
that were stored during the traversal of the ATN. In this tions such as ‘the points with amplitudes greater than 2.5
example note the potentially ambiguous use of ‘and’ in the second channel’. Selection of commands may also
referred to above. be performed using this network : the required command
In the example, prefix notation has been used to define is applied by actively selecting data for it.
IEE PROCEEDINGS. Vol. 137. Pt. E. N o . 5. S E P T E M B E R 1990 377
The repetition ATN must recognise the lists of com- applications, and the user defined and data specification
mands to be repeated, the data to which the commands ATNs will obviously be of very limited general use. In
are to be applied, and an optional termination test. In the parsing input the system attempts to match it with net-
current application the list of data is usually specified by works in decreasing order of specificity.
The third portion of the syntactic processor deals with
ellipsis. Ellipsis is defined as the omission of a word or
selection
phrase which is necessary to the sentence construction
but whose identity may be inferred from the sentence’s
context. For example if the user had typed the command
‘add 5 and 6’ and he followed it by typing ‘multiply’, the
ellipsis processor would expand this to ‘multiply 5 and 6‘.
When using the transformational grammar, expansion of
selection elliptical sentences could be achieved by replacing with
the current input a portion of the previous parsed input
having the same syntactical label (although this may not
allow unambiguous expansion). Elliptical sentences may
not be resolved using transition networks, therefore a
simple, representative, independent ellipsis resolution
passive
algorithm has been developed for the present application.
Fig. 3 Selection transition network The system’s ellipsis processor is invoked if parsing of
the current input fails and the current input has a lower
passive selection. Using the networks already defined, wordcount than the previous input. This processor will
repetition may be defined simply by the additional attempt to substitute the current input for strings of
network of Fig. 4. This is merely an implementation of equal wordlength at all positions in the previous inpilt.
Meaningful sentences that result will become the current
input and the system will attempt to parse them. Whilst
it may seem that this algorithm will produce an inordi-
nate number of candidate sentences, this has not been
observed in practice. A multitude of candidates is only
generated when the user has not provided sufficient infor-
mation to specify a command unambiguously. For
example if the user was to input ‘add channels 5 and 6‘
followed by ‘6 and 7’ parsing would fail and the ellipsis
“repeat”
processor would be invoked. The only grammatically
correct sentence that the algorithm will generate is ‘add
channels 6 and 7’. This will then be processed. (Whist
keyword
‘add channels 7 and 6’ is also a grammatically correct
sentence, the algorithm will not generate it as the word

termination

U
‘until ’ a (3 test
ordering is not preserved.)
Pronouns in a command are always assumed to refer
to the result of the previous computation, rather than to
the same data as the previous command. Thus one could
type the command ‘multiply the data by 7’ followed by
the command ‘multiply it by 3’. The net effect is that the
Fig. 4 Repetition transition network
data has been multiplied by 21 rather than by 7 and then
3. Enforcing this identification allows us to place all
pronouns on an arc of the data networks and associate
the repeat . . . until looping structure. It has been the previous result with them.
observed [2] that naive users quickly discovered the exis- Data in the input is specified by noun phrases. These
tence of a nonspecified structure in an interface when its are highly domain dependent. For instance, in the current
use was required. Note also that repetition may be application, data consists of files made up of twelve sets
implied by the time sequence nature of the data, for of time series measurements called channels. The chan-
instance when a request is made to apply an operator to nels in a file contain the same number of data points
a subset of the data. which may not be the same as the number of points in
Whilst these programming primitives are simple, it is any other file. The current system will understand data
the thesis of structured programming [12] that the three specified as points identified by their number, the time at
constructs (repetition, selection, and iteration) are suffi- which they were collected, a range of these values, or the
cient for defining any algorithm. Therefore, although the data’s channel number. Changing the system’s domain
range of programming primitives is limited, it is suffi- will require extensive redefinition of the data specifying
ciently large for any program to be implemented. noun phrases.
The primitive networks described thus far, and any
networks taught by a user are stored separately but are 3 Semantic processing
treated identically when the system attempts to match
them with user input. This separation has been enforced Semantic processing is achieved using a frame based
to maintain the generality of the system since the meta- approach. A frame consists of a collection of labelled
networks (the repetition and selection ATNs) will be slots. Each object in the system, be it a command or data,
appropriate for all programming applications, the is represented by a frame. As many slots as possible in
command ATNs will be appropriate to mathematical each frame have been given default values, either data or
314 IEE PROCEEDINGS, Vol. 137, Pt. E, N o . 5, S E P T E M B E R 1990
references to subframes. As a command is parsed the ins- operands ‘channel 4‘ and ‘7‘ to be extracted from the
tructions augmenting the network cause a frame appro- input and placed in two of the data subframes. The data
priate to it to be instantiated and the frame’s slots are subframes are now replete, the data may be moved to the
filled or altered. When sufficient slots in a frame have parent frame and the subframes deleted. Sufficient argu-
ments are now present for the multiplication to be per-
formed, the result is stored in the workspace’s current
result slot since there are no further commands to be
considered. The multiplication frame may now be
rem0 ved .
As a more complex example consider the input sen-

L
tence ‘multiply the sum of channels 2 and 6 by the differ-
ence between channels 9 and 7’. The main verb of the
sentence is recognised as multiply, the multiplication
frame is therefore instantiated. The arguments for the
multiplication frame are recognised to be the results of a
summation and a substraction. These two frames are
channel 6
therefore instantiated and linked as subframes of the
multiplication frame. Further parsing identifies channel
references as the arguments to the two subframes. The
frame structure of Fig. 5 is generated. Having filled suff-
cient data slots for processing to proceed, the system will
perform the instructions specified by the lowest level
frames, transfer the results to the parent ones and delete
the lowest level frames until the top level frame’s result
has been computed. The result is transferred to the work-
space.

Ih Isubtract

E
i
channel 9

4 Formatting of output

In normal use the interface will accept instructions which


will be displayed, interpreted and executed. The results of
the computation will be displayed in an appropriate
manner. The previous instructions and result are also dis-
played to enable the user to quantify the effect of a

t
command.
The interface produces several types of output. It
channel 7 repeats the current and previous commands, one state-
ment per line in the case of multistatement inputs. It
traps any error messages and prints them, rather than
allow them to crash the system. It outputs the results of
computations as a time series display, or as a histogram.
Fig. 5 Frame structure associated with the sentence ‘multiply the sum It also enters into a meaningful dialogue when requesting
ofchannels 2 and 6 by the difference between channels 9 and f clarification of a command. This last aspect of the system
will be examined in the next Section.
been filled and parsing of a command is completed, the
appropriate action may be performed. Rules have been 5 Teaching the system
formulated for frame handling. If the newly filled frame is
a subframe its result is transferred to the parent frame Should all attempts at parsing the input fail the interface
and the subframe may be deleted. If the current frame is a will require clarification of the unknown portions of the
command frame, filling its slots will result in the input. The system will search the current input for vari-
command being executed. The result of executing a able names (anything satisfying a data specification ATN)
command may be passed on as data to a further and replace it or them with formal parameters. The input
command or may be stored in the system’s workspace command is then formatted into a request for clari-
frame for possible consideration by further input. fication. The user responds by typing a definition which
The system’s workspace frame contains four slots for the system will build into a new transition network.
the current and previous inputs and results. The previous Parsing of the input command continues in a depth first
input is retained for ellipsis resolution. The previous manner (the most recently input command not yet under-
result is maintained and displayed for the user’s benefit. stood is parsed, and if necessary clarified). User defined
The workspace frame also contains slots for storing networks are stored separately to the system-provided
labelled portions of data. networks since this aids the maintenance of user speci-
As an example of the semantic processing, assume that ficity.
the user had typed the command ‘multiply channel 4 by One aspect of system efficiency has not been
7’. The syntactic processor will parse this and cause the addressed, that is the response of the system to being
multiplication frame to be instantiated, since ‘multiply’ is taught a command it already knows. Ideally the system
recognised by the multiplication ATN. The multiplica- would attempt to match the newly expounded definition
tion frame will have an indeterminate number of slots, against all the previously taught definitions. If a match is
referencing data subframes. Further parsing causes the found then the newly defined command would be made a
I E E P R O C E E D I N G S , Vol. 137, P t . E, N o . 5, S E P T E M B E R 1990 375
synonym of the matching command and the new defini- parsing the current command the default time series
tion discarded. This contraction of the system’s data base frame will be instantiated. Further parsing will result in
could take place either during the learning phase or as a the appropriate sections of channels one to five being
separate activity. In the current version of the system it is selected and inserted into the data slot of the time series
intended to be a separate activity and has not yet been frame and the result slot of the workspace. Routines
implemented. associated with the display frame autoscale the data as
As an example of how the system is taught new com- required, generate labels for the display’s axes (the default
mands consider the following dialogue. The user has labels are ‘time’ on the horizontal and fiducial marks on
typed the command ‘remove the average from channel the vertical axes). At this stage the system’s graphical
one’. The system is unfamiliar with the command remove, output is as shown in Fig. 6. In the upper portion of the
it therefore requests clarification: screen are displayed the previous (left hand side) and
current (right hand side) outputs of signal processing
clarify REMOVE (x-1) FROM (x-2) commands. The left hand side is blank at this stage as the
The terms in angle brackets have been inserted by the previous command did not result in any graphical
system in place of the noun phrases used in the output. In the lower portion of the screen are displayed
command. The user is required to respond with a defini- the current and previous commands typed by the user.
tion, assuming that ‘remove’ had some meaning peculiar The user may now give this data a name by instruct-
to the application being considered: ing the system to ‘call this group 1’. The pronoun pro-
cessor associates the data in the current result slot with
scale x-1 by 0.5 : ‘this’ and binds it to the name. This command has no
decrement this by 1.2: graphical results, the current result display is therefore
subtract this result from x-2. empty, the previous result display now contains what
used to be the current result, i.e. the five time series of
The system will recognise this as a sequence of com- data. The system also copies the result slot into another
mands and will bind them to the ATN it has extracted portion of the workspace and labels this portion ‘group
from the original command. It will now attempt to parse 1’. The system will produce an overwrite error message
each command. Assuming it is unfamiliar with the first informing the user that he has lost any previous data
two; subtraction is a system primitive and will therefore with the same name.
be recognised. The user may redefine scale in terms of If the user now types ‘display samples between 0.5 and
multiplication which will be recognised as a primitive. 1.5 milliseconds in the last five channels and call it group
Similarly decrement may be redefined in terms of sub- 2’ a similar series of actions will be performed. The
traction. The three new definitions are saved in the user’s system will now display the data in the top right portion
command file. of the screen, the top left portion will be empty (Fig. 7).
As an example of learning a more complex command, The data will again be duplicated into the workspace and
consider convolution. This may be defined as performing labelled. The user may now use the names given to the
an overlap integral between a signal and a template for data in mathematical formulae: ‘display group 1 -
each point in the signal. The overlap integral is defined as group 2’ would result in the difference between equivalent
the summation of the products of overlapping points points in the two data sets being displayed in the current
between the template and signal when the template is result window. The previous result window will now
centred on the point of the signal currently being con- display the original group 2 data. Had the user typed
volved. The learning dialogue would closely follow this ‘group 1 - group 2’ the computation would have been
definition. The system would build up two new ATNs: performed, but the result not displayed, Fig. 8.
one for the overlap integral and one for the top level of Suppose now that the user types ‘remove the DC com-
the convolution. ponent’. Parsing of this command will fail as remove and
DC component are unknown to the system. The system
will therefore enter its learning mode and prompt the
user to ‘clarify remove (x-1)’. The user may respond
6 Implementation and examples
with a suitable definition of this entity: ‘subtract x-1
The system has been implemented in Domain-Lisp (a from each point of the data’. The system will then seek
variant of Common Lisp) and is running on an Apollo clarification of any further unknown phrases in the input,
D N 3000 workstation. It has been tested using twelve subtract is a system primitive and requires no further
channel electroencephalogram data collected by collabor- clarification, DC component is an unknown concept and
ators of the Ophthalmic Optics Department at UMIST: therefore requires clarification. The user will respond as
this data is called ‘the Berlin EEG data’. Any time series he thinks is appropriate, possibly by typing ‘divide the
data could have been utilised equally well. The test data sum of the data points by the number of data points’. It
consists of files containing twelve independent series of is intended that as the user defines algorithms, the system
points of equal length. An example session will be will build a tree like diagrammatic representation (c.f. the
described. Jackson diagram), this has not yet been implemented.
The system is invoked by a user with the result that Having had the algorithm defined the system may
the user’s file of ATNs is loaded. The user initialises the execute the command, resulting in the graphical output
system’s workspace by instructing it to ‘consider the of Fig. 9.
Berlin EEG data’. This results in the data contained in
the appropriate file being loaded into the current result 7 Conclusions and discussion
slot of the workspace. Suppose the system is requested to
‘display the samples between 0.5 and 1.5 milliseconds in A restricted natural language interface for experts in the
the first five channels’. This command is placed in the domain of signal processing has been implemented. It
current command slot and the earlier command trans- provides the experts with the facility to investigate the
ferred to the previous command slot. As a result of effects of applying algorithms to their data without them
376 I E E P R O C E E D I N G S . Vol. 137. P t . E . N o . 5. S E P T E M B E R 1990
TIME (MSECS)

E.E.C DATA

F I V E CHRNNELS

YOUR PREVIOUS INPUT => CONSIDER THE BERLIN EEG DATA

Fig. 6 Display o f a subset ofthe data

E.E.G DATA

l
DISPLAY THE SRMPLES BETUEEN 0.5 RND 1.5 MILLISECONDS I N THE IST

F I V E CHANNELS AND CALL IT GROUP 2

I/ YOUR PREVIOUS INPUT :> DISPLRY THE SRNPLES BETYEEN 0.5 AND 1 . 5

MILLISECONDS I N THE F I R S T F I V E CHRNNELS

THE PREVIOUS VALUE YOU HAVE GIVEN GROUP 2 WILL BE OVERWRITTEN


Fig. 7 Different subset ofthe data has been extracted and given the name 'group 2

IEE PROCEEDINGS, Vol. 137, P t . E, N o . 5 , SEPTEMBER 1990 311


.-* I

'I T I M E (MSECS) T I M E (MSECS)

E.E.G nnin
i E.E.t DRTA

I
I
DISPLfW GROUP 1 - GROUP 2

1 YOUR PREVIOUS INPUT => CALL THIS GROUP 2

I THE PREVIOUS VALUE YOU HAVE GIVEN GROUP 2 WILL BE OVERWRITTEN

REMOVE THE DC COMPONENT FROM CHANNEL 6 AND DISPLAY THE RESULT

YOUR PREVIOUS INPUT => REMOVE THE DC COMPONENT FROM CHANNEL 6

PRESENT ACTIVE COMPONENT => DISPLAY THE RESULT


~~ ~ ~ ~ ~ ~ _ _ _ _ _ _ _ _ _ _ _ _

Fig. 9 DC component, having been taught to the system, hap heen evtracted from each datum

318 IEE PROCEEDINGS. Vol 137. Pt. E. No 5 . S E P T E M B E R 1990


having to code the algorithm in a programming lan- tion, it could be thought of in the same way as one would
guage, nor learn an operating system. The interface is think of the interference engine of an expert system. The
intended to be used primarily by non programmers since transition networks that form part of the input to the
experienced programmers may not be tolerant of the parser are less general (continuing the analogy they
relatively slow execution of ‘programmes’ under this would correspond to the expert system’s rules). The most
system. Should useful algorithms be developed it is envis- general of the ATNs are the metanetworks used to define
aged that they would be recoded procedurally. The programming constructs, they could be used in any auto-
system may also be useful as a means of determining the matic programming system. Secondly there is a group of
experts’ preferred means of expressing commands. domain specific networks, the command networks, which
Augmented transition networks have been used to would find applications and any system performing
represent the allowed forms of user input. It has been mathematical or signal processing operations. Finally the
shown that one network is able to specify most forms of user defined networks will probably be the least useful
the same command. No claim is being made that the outside this system, being specifically defined for this
ATN representation is complete, i.e. it is not able to rep- application.
resent all forms of a command. Indeed if the input cannot The noun phrases which describe the data to the
be recognised as one of the allowed patterns then the user system are highly domain specific. If the system was to be
will be prompted for a definition of his command. used as an interface to any other system then it is likely
The major novel aspect of the system is its learning that most or even all of the noun phrases would have to
capability. When unknown patterns are encountered a be redefined. A means of specifying noun phrases to the
dialogue is initiated in which a definition for the system is being investigated ; two teaching modes would
command is supplied. A new transition network will be then be defined, one for teaching new action specifi-
generated from this definition. A potential disadvantage cations and one for learning new data specifications. Ulti-
of this strategy is that it may cause a multitude of syn- mately an interface could be produced which would
onymous networks to be produced if the user defines a know a minimum of action and data specifications and
new command and then.calls it by different names. The could be completely tailored by the user for a specific
system would then request clarification of each new name application.
and would generate a new ATN for each definition. This
may be overcome by expanding all user definitions into a
tree-like form and then attempting to match nonleaf 8 References
nodes of pairs of trees according to the identity and ord-
ering of their subtrees. If matching nodes are discovered 1 BALLARD, B.W.: ‘Semantic processing for a natural language
the subtree of one may be deleted and that node made a programming system’. PhD dissertation, Duke University, 1979
2 FINK, P.K., SIGMON, A.H., and BIERMANN, A.W.: ‘Computer
synonym of the other. Since this will be a time consuming control via limited natural language’, IEEE Trans., 1985, SMC 15,
activity, it is not intended to be performed each time a pp. 54-68
new command is defined, rather it would be done as a 3 HEIDORN, G.E.: ‘Automatic programming through natural lan-
background task after an interactive session had been guage: a survey’, IBM J . Res. Develop., 1976,20, pp. 302-313
4 WOODS, W.A., KAPLAN, R.M., and NASH-WEBBER, B.: ‘The
completed. lunar sciences natural language system: final report’. Bolt, Beranek
The smallest complete input to the system will consist and Newrnan Inc, Cambridge, USA, 1972
of a noun phrase and a verb phrase. The noun will 5 PLATH, W.J.: ‘Request: a natural language question answering
specify the data to be used by the action specified in the system’, IBM J . Res. Develop., 1976,20, pp. 326335
verb phrase. The system is able to understand an input 6 WALTZ, D.L.: ‘An English language question answering system for
a large relational database’, Comm. A C M , 1978, 21, pp. 5 2 6 5 3 9
sentence from which one of these phrases is omitted, pro- 7 WARREN, D.H.D., and PEREIRA, F.C.N.: ‘An efficient, easily
vided that the missing phrases may be inferred from the adaptable system for interpreting natural language queries’, Am. J .
previous sentence. Computation Linguistics, 1982, 8, pp. 11&122
The system has been designed, implemented, and 8 HENDRIX. G.G.:‘Human engineering for applied natural language
tested, but extensive user trials have not taken place. processing’, I J C A I , 1977,5, pp. 183-191
9 CHOMSKY, N. : ‘A transformational approach to syntax’, in
Several volunteers with a range of computer experience FODOR, J.A., and KATZ, J.J. (Eds): ‘The structure of language’
have attempted a number of simple programming tasks (Prentice Hall, Englewood Cliffs, 1964)
using the system. None of these volunteers expressed dis- I O WOODS, W.A.: ‘Transition network grammars for natural lan-
satisfaction with the system. guage analysis’, Comm. A C M , 1970,13, pp. 591-606
1 1 PETRICK, S.R.: ‘On natural language based computer systems’,
A gradation of specificity may be identified in the IBM J . Res. Develop., 1976, 20, pp. 314-325
natural language interface. At the most general level the 12 DAHL, O.J., DIJKSTRA, E.W., and HOARE, C.A.R.: ‘Structured
transition network parser may be used in any applica- Programming’ (Academic Press, London, 1972)

IEE PROCEEDINGS. Vol. 137. P t . E. N o . 5. S E P T E M B E R 1990 779

You might also like