I N T E R F A C I L E : Linguistic Coverage and Query Reformulation 
Yvette Mathieu Paul Sabatier 
CNRS - LADL, 
Universit4 Paris 7 
Tour Centrale 9 E 
2 Place Jussleu 
75005 Paris 
I. INTRODUCTION 
The experience we have gained in designing 
\[3,6,7\] and using natural lanauage 
interfaces has led us to develop a general 
natural language system, INTERFAC\[LE, 
involving the following principles : 
the linguistic coverage must be 
elementary but must include phenomena 
that allow a rapid, concise and 
spontaneous interaction, such as 
anapho~a (ellipsis, pronouns, etc.) 
the linguistic competence and limits 
of the interface must be easily and 
rapidly perceived by the user. 
the interface must be equipped with 
strategies and procedures for leading 
the user to adjust his linguistic 
competence to the capacities of the 
system. 
We have illustrated these principles in an 
application : a natural language (French) 
interface for acquiring the formal commands 
of some operating system languages. (The 
examples given here concern DCL of Digital 
Equipment Corporation). 
2. INTERFACILE's ARCHITECTURE 
The system is composed of : 
- a portable syntactic grammar of French 
written in the formalism of 
Metamorphosis Grammars \[2\]. 
- a domain dependent lexicon-grammar \[4\]. 
- a domain dependent knowledge base 
written in a subset of predicate logic 
(Horn Clauses). 
Operating on these linguistic data and 
domain knowledge : 
- a syntactic parser coupled with the 
grammar and the lexicon-grammar (i) 
produces intermediate analyses of 
questions, and (2) generates some 
messages in case of errors. 
- a semantlc parser transforms the 
syntactic analysis into a semantic 
representation by consulting the 
knowledge base. 
- an evaluator consults the knowledge 
base and produces answers to questions 
given their semantic representation. 
- a general system guides the user and 
helps him to formulate and reformulate 
his queries. 
The system is entlrely programmed in PROLOG 
II and runs on various computers (VAX, SPS 
and micro-computers). Responses are given 
instantaneously. 
Eere is an example of a dialogue with 
INTERFACILE : 
> comment crder un flchler ? 
- utillsez la commande : 
CREATE nomflchler 
> comment l'imprimer ? 
- utilisez la commande : 
PRINT nom£ichier 
> comment modifier son contenu ? 
- utilisez l'ddlteur avec la 
commande : 
EDIT nomfichler 
> comment copier un fichier dane un 
rdpertolre ? 
utlllsez la commande : 
COPY nomflchier \[nomrdpertoire\] 
> comment renommer ce dernier ? 
- utilisez la commands : 
RENAME/DIRECTORY \[ancienrdpertoire\] 
\[nouveaurdpertoire\] 
<Dialogue I> 
(The prompt ">" precedes the user's queries, 
the prompt ..... precedes INTERFACILE's 
answers. English translations of the 
dialogues are given in the appendix). 
46 
3. LINGUISTIC COVERAGE 
INTERFACILE handles only elementary 
s~ntactlc structures° In order to ensure 
a concise and spontaneous dialogue, 
proforsLs have been introduced such as : 
'° pronouns (le, la, les, en, y, lui, 
I eur .... ) 
-possessives (son, sa, ses .... ) 
demonstratlves (celui-ci, ceux-ci, 
ce dernier~ . . .) 
If an ambiguity is detected during the 
resolui:ion of a profovm, INTERFACILF, asks a 
question~ as in the fo\].\]owing dialogue : 
> comment copier un flchier dans un 
rSpe~tol~'e ? 
"- utllisez la commands : 
COPY nomfichier \[nomrQper'toire\] 
> comment l'effacer ? 
• " '~ 1 ' ~' renvoi e ~ : 
fichier ? (i 
Pgpertoire ? (2 
tapez le num4ro de vo'tre choix. 
<Dialogue 2> 
Proform r~soltttlon is based solely on 
lexical a~d syntactic information. This 
strategy Is vital in the framework of a 
didact.ic system oriented towards beginners 
as the following dialogue shows : 
> comment envoyer un message A un 
utilisateur ? 
utilisez la commands : 
HAIL 
> comment le supprimer ? 
"le" renvoie & : 
message ? 
utilisateur ? 
%apez le num4ro de votre choix. 
(1) 
(2) 
> 2 
INTERFACILE n'en sait rien, mais 
salt comment : 
envoyer un message 
6crire un message 
supprimer un fichier 
supprimer un r6pertoive 
supprimer un message 
<Dialogue 3> 
If the proform resolution had been based on 
the domain semantics, the system would have 
produced %he answer for" suppressing a 
message. 
4. QUERY REFORHULATION 
Given the plethora of syntactic structures 
and the complexity of mental processes 
involved in natural language understanding, 
the linguistic competence of in%effaces yet 
remains limited. If we resort to such 
systems to request ~ service or obtain 
information that we lack, we generally know 
much more than the interface itself on the 
various ways for fo~mulatlng our query. 
Ue argue that the quality of a natural 
language interface must be estimated not 
only in terms of its linguistic coverage 
but also in terms of the procedures for 
dealing with incorrect, extragrammatical 
(i.e. correct but not expected b~ the 
interface) or semantically deviant 
sentences. 
Knowing that error recovery is a complex 
task in the "restricted" framework of 
programming languages (limited syntax and 
rJ. gorously defined semantics), one can 
appreciate -the difficulty of endowing 
natural language interfaces with such 
capabilities. 
One approach to "the problem of error 
recoverJng is to "accept" user queries that 
deviate from the system's expectations and 
(unbeknown to the user) manipulate them 
into a form that can be analysed. FoP an 
overview of this approach, see \[1\]. This 
method is costly to implement, and moreover 
}%as 'two theoretical faults : 
(I) There is no guarantee that the 
system's interpretation of a "deviant" 
query will correspond to the user's 
intention in posing the question. 
(2) There will always be a limit to the 
degree of deviation the system can tolerate 
before it gives up trying to analyse a user 
query. But if the transformation of deviant 
queries into recognizable structures is 
performed automatically, the user will 
*lever know where this limit lles, and may 
believe that the system can make sense of 
anything he enters. The distinction between 
the sentences the system interprets 
correctly i~nd those which it entirely 
rejects will seem arbitrary to him. 
The strategy developped and implemented in 
INTERFACILE is quite different. Our 
philosophy is not to mislead the user 
concerning the system's real capabilities, 
but rather to lead his linguistic competence 
to that of the interface. 
Here is an example illustrating such a 
strategy : 
> comment ajouter A un fichier is contenu 
d'un flchier ? 
- pour "ajouter", utilisez la 
construction : 
47 
ajouter \[quelque chose\] 
& \[quelque chose\] 
compl4tez (ou tapez / pour annulet) 
> comment ajouter ... 
<Dialogue 4> 
Here is another example : 
> comment envoyer un message dans un 
terminal ? 
- pour "envoyer", utilisez les 
constructions : 
envoyer \[quelque chose\] 
& \[quelqu'un\] 
envoyer \[quelque chose\] 
sur \[quelque chose\] 
compl4tez (ou tapez / pour annulet) 
> comment envoyer ... 
<Dialogue 5> 
INTERFACILE explains exactly which part of 
the question it doesn't understand : an 
unknown word, a verb with an incorrect 
preposition or unexpected order of 
complements, etc. In case o£ spelling 
errors, solutions for correction are 
given to the user \[8\]. 
To guide the user in reformulating his 
query, the grammar and the lexicon-grammar 
are consulte~ as knowledge bases. The user 
may reformulate his query with the 
information given by INTERFACILE. 
(At any moment, the user can also obtain the 
lists of verbs, nouns, prepositions, 
pronouns, etc.). 
When the user has an erroneous or incomplete 
view of the application domain, INTERFACILE 
points out his misunderstanding, as in the 
following dialogue : 
> comment imprimer le fichler d'une 
version ? 
flchler de quoi ? INTERFACILE parle 
plutft de : 
fichier (tout simplement) 
fichier d'un r~pertolre 
version d'un fichier 
<Dialogue 6> 
Another example : 
> comment initialiser un fichier ? 
INTERFACILE n'en salt rien, mais 
salt comment : 
48 
cr4er un fichier 
~dlter un fichler 
effacer un fichler 
initlallssr un disque 
initialiser une dlsquette 
<Dialogue 7> 
The guidance given here goes beyond 
linguistic reformulation. It concerns the 
semantics of the application domain. Note 
that the information given to the user is 
not preprogrammed, but is (I) deduced from 
the knowledge base and (2) generated by the 
linguistic component (grammar, 
lexicon-grammar and parsers). 
5. CONCLUSION 
As far as the domain of application is 
concerned, INTERFACILE has much in common 
with systems like UC \[9\] or INTERIX \[5\]. 
The originality of our system lies in the 
effort we have devoted to : 
- linguistic phenomena such as anaphora 
that ensure a natural dialogue. 
strategies and procedures for 
reformulation in order to live with the 
unavoidable linguistic limitations of 
any interface. 
Our research and experience in developing 
applications in these two domains have led 
us to believe that it is not practical to 
add procedures to an albeady existing 
system to make it user-£rlendly. On the 
contrary, these problems must be taken into 
account in the design phase, as we have done 
in designing INTERFACILE. 
6. ACKNOWLEDGEMENTS 
We are gra'te£ul to Hannah Blau for her 
fruitful comments on a preliminary version 
of this paper. 
We thank the Centre Nondial d'Informatique 
(CNI, Paris) for giving us the opportunity 
to develop a version of INTERFACILE on a 
VAX 785. 
APPENDIX : Translation of sample dialogues 
Dialogue i : 
> how can I create a file ? 
- use the command : 
CREATE filename 
> how can I print it ? 
- use the command : 
PRINT fllename 
> how can I modify its contents ? 
- use the editor, by the 
command : 
EDIT filename 
> how can I copy a file into a 
directory ? 
- use the command : 
COPY filename \[dlrectoryname\] 
> how can I rename the latter ? 
- use the command : 
RENAME/DIRECTORY \[olddirectory\] 
\[newdirectory\] 
Dialogue 2 : 
> how can I Copy a file into a directory? 
- use the command : 
COPY filename \[directoryname\] 
> how can I delete it ? 
- "it" refers to : 
file ? (i) 
directory ? (2) 
enter the number of your choice. 
Dialogue 3 : 
> how can I send a message to a user ? 
- use the command : 
HAIL 
> how can I suppress it ? 
- "it" refers to : 
message ? (I) 
user ? (2) 
enter the number of your choice. 
>2 
- INTERFACILE doesn't know, but he 
knows how to : 
send a message 
write a message 
suppress a file 
suppress a directory 
suppress a message 
Dialogue 4 : 
> how can I append to a file the content 
of a file ? 
for "append" use the structure : 
append \[something\] to \[something\] 
complete (or type / to cancel) 
> how can I append . . . 
Dialogue 5 : 
> how can I send a message in a terminal? 
for "send", use the structures : 
send \[something\] to \[somebody\] 
send \[something\] on \[something\] 
complete (or type / to cancel) 
> how can I send ... 
Dialogue 6 : 
> how can I prin't a file of a version ? 
file of what ? INTERFACILE "talks 
about : 
a file 
a file of a directory 
a version of a file 
Dialogue 7 : 
> how can I initialize a file ? 
- INTERFACILE doesn't know, but he 
knows how to : 
create a file 
edit a file 
delete a file 
initialize a floppy disk 
initialize a disk 
49 

7. REFERENCES 

Carbonell J., Hayes P., "Recovery 
Strategies for Parsing Extragrammatical 
Language", American Journal of Computational 
Linguistics, 9, 3-4, 1983. 

Colmerauer A., Les Grammaires de 
N4tamorphoses, GIA, Luminy, Universit4 
Alx-Narseille If, 1975, and "Metamorphosis 
Grammars" in Natural Language Communication 
With Computers, Bolc L. ed., SpDlnger Verlag 
1978. 

Duchier D., Sabatier P., INTERFRANCE: Un 
prototype d'interface en langue franGalse, 
Rapport de recherche, CGE, Harcoussis, 1982. 

Gross H., "Lexlcon-Grammars and the 
syntactic analysis of French", Proc. of 
COLING, Karlsruhe, 1984. 

Guez S., Sabbagh S., "INTERIX: Un 
systbme d'aide & l'utlllsation d'Unix", 
Confdrence AFCET, Paris, 1984. 

Ollvelra E., Perelra L., Sabatier P., 
"ORBI: An expert system for environmental 
resources evaluation through natural 
language, Proc. of First International Logic 
Programming Conference, Marsellle, 1982. 

Pique J.F., Sabatier P., "An informative, 
adaptable and efficient natural language 
consultable database system", Proc. of ECAI 
Conference, 1982. 

Sabatler P., A Prolog program for 
spelling correction, Note technique, LADL, 
1985. 

Uilensky R., "Talking to UNIX in English: 
An overview of UC" Proc. of AAAI Conference, 
1982. 
