The Grammar Explorer: documentation 

Purpose

The Grammar Explorer (grexplorer) is a tool for learning about the coverage of large generation grammars. It is often difficult to gain a sense of just what a grammar covers; and, often even more significantly, it is correspondingly difficult to get a sense of how close a grammar comes to covering what some particular application of that grammar requires. It should be possible to check how close a grammar comes to covering what is wanted so that the work involved in extension of that grammar can be more accurately estimated. This is one of the main functions of the Grammar Explorer. By supporting direct exploration of a grammar, it should be possible both to obtain a good sense of the grammar's coverage and organization and to locate those places in the grammar where more work may be necessary for some particular need.

The organization of this documentation is as follows.

 

PLEASE NOTE THAT THIS DOCUMENTATION IS UNDER DEVELOPMENT. 

COMMENTS AND SUGGESTIONS ON BOTH THE DOCUMENTATION AND SOFTWARE ARE VERY WELCOME. 

THE DOCUMENTATION WILL EXPAND OVER THE NEXT MONTH, ESPECIALLY IN RESPONSE TO PARTICULAR QUESTIONS AND PROBLEMS. 
 

 

 
 

Introduction

The Grammar Explorer (grexplorer) is a tool for learning about the coverage of large generation grammars. It is particularly aimed currently at grammars written in the systemic-functional style;  this is because it relies heavily on a system network organization of linguistic resources; to the extent that other forms of grammar support a type hierarchical organization of their resources, it would be conceivable to apply the Grammar Explorer there too.

The operation of the tool is essentially as a coder: you, as the user, should select some sentence, or other grammatical unit, and attempt to `code' that unit using the terms of a grammar. The tool leads you through the grammar presenting the options that are available. In addition, at each point of choice, you can ask for examples exhibiting the relevant grammatical choices: this provides clues as to what the particular grammatical choices are covering. The examples themselves can be inspected to see their internal structure and all the grammar choices that were involved in their production. Sensible subportions of the grammar can also be inspected graphically at any time, depending no the choices that have been made in either the unit being coded or the examples examined.
 
After you have `coded' the target grammatical unit, you should examine the structure that your coding entails: that is, as well as allowing you to select paradigmatic features from the grammar (the grammatical choices that you are presented with), the Grammar Explorer then tells you the syntagmatic consequences of those choices (i.e., what structure is generated). If your coding is correct, then it should be possible to relate the structure you have generated to the original target unit. If your coding is not correct, then the structure generated will differ, i.e., its grammatical structure will be different from that you would expect for your target unit. Successively correcting the coding will allow you to attempt to bring the generated and target structures closer together. This process of convergence can also be aided for looking for examples that are similar to your original target unit and inspecting what choices were made in their production. A worked example of this is given below. The Grammar Explorer can therefore be used in at least two basic ways:

  1. First, it can serve to provide an overview of the coverage and internal organization of the grammar it contains.
  2. Second, it can serve as a teaching aid for exploring parts of the grammar: this can be enhanced considerably by a careful selection of training sentences. Particular sequences of sentences can lead the student into different areas of the grammar, thereby structuring the students exposure to the grammar as a whole.
The Explorer differs from coding, or text annotation/markup, in that it provides access to the structural consequences of coding. This provides a natural check to the accuracy of any coding carried out. The Explorer also differs from an annotated corpus of examples, in that the examples it shows are all generated with the grammar that it contains. While using generated examples rather than annotated examples limits the range of examples that can be considered, it also guarantees that the description of those examples is both exhaustive and up to date with respect to the particular linguistic resources (i.e., the grammar) employed for coding. The exhaustive description includes all details of the examples internal grammatical structure and the precise grammatical choices that were made in their production, and therefore contains focused information about how the grammar treats various phenomena.

This trial release of the Grammar Explorer comes preloaded with the large computational grammar Nigel, a grammar of English developed initially at USC/ISI within the Penman project text generation project from 1981 to 1990. It is an earlier form of the grammar underlying Halliday's Introduction to Functional Grammar and was written by Christian Matthiessen on the basis of an original outline by Michael Halliday. Nigel is an earlier computational form of the grammar now revised and expanded in non-computational form in Matthiessen's `Lexicogrammatical Cartography: English Systems' (Tokyo/Taipei/Dallas: International Language Science Publishers). Note that there will no doubt be gaps in the grammatical coverage of the grammar contained! Noting where these gaps occur, and even suggesting grammar extensions, would be one way to make these resources grow considerably.

The examples that are provided for each of the grammatical choices of the grammar are still growing and there are within this trial release still gaps: i.e., some more obscure features of the grammar for which no prestored example is present. These gaps will be successively filled as time allows. It is possible for new examples to be loaded without reinstalling the Explorer. (Indeed, since the Grammar Explorer builds on the full KPML grammar development environment, it is also possible to freely change the grammar that is loaded; this is not necessary for use of the Grammar Explorer and so it not described here.)

It is likely that different uses of the Explorer will favour different styles of use and varying functionality: your feedback concerning what you have used the Explorer for and what would have made that use more straightforward are therefore critical.

Hardware/Software Requirements

The Grammar Explorer is available as a free standalone application for PCs running Windows95 or WindowsNT. At least 32Mb RAM and a 166Mhz processor is desirable for reasonable performance. Installation is described below. The provision of examples of the grammatical choices and their full structure is particular space-time intensive and so for better performance, faster larger machines are definitely a plus.
The PC image of the Grammar Explorer consumes approximately 21Mbyte.

The source is also available for running on Unix machines. Franz Allegro Common Lisp (4.3 or better) and the Common Lisp Interface Manager (CLIM 2.0 or better) are required to compile and run this source. Installation is as an add on to the KPML development environment.

Acknowledgements

The Grammar Explorer builds on experiences gained in combining coders and generation tools such as those embodied in Mick O'Donnell's WAG-coder (Sydney U.) and Melina Alexa and Lothar Rostek's TATOE (GMD-IPSI, Darmstadt). The idea of the Grammar Explorer itself  came from discussions with Tony Hartley (Uni. Brighton). The develoment work and subsequent release and maintenance is being funded by the Joint Information Systems Committee of the UK Higher Education Funding Councils (Project NTI/242 'The Linguist's Workbench').