NAIST Natural Language Tools (NAIST-NLT) intends to provide such an environment for researchers and developers of natural language systems. The NAIST-NLT consists of morphological and syntactic parsers for general purpose natural language analysis, and a visual interface to encapsulate the implemetation details of the parsing programs.
The most important feature of the system is that the basic definition of Japanese morphological grammar system, such as the set of part of speech, inflection rules, and connection rules of morphemes. Since a number of Japanese grammars have been proposed, this feature is indispensable.
The English morphological analyzer deals with inflection of English nouns, verbs and adjectives. Since the treatment of the information given by inflection differs in systems, the detailed inforamation is assumed to be written in grammar rules by the user.
The system is implemented in two levels: The first consists of the transformed grammar rules, and the second works as an interface with other programs as well as the interface to the user.
A number of supporting programs are provided to make users easy to implement their own grammars in the system, e.g., interface programs with the morphological analyzers and an visual interface described in the next section, a unification progam for feature structures.
The SAX parsing system works as a black box for the users in that the user-defined DCG is transformed into a bottom-up concurrent Chart parser. When running the system, directly looking into the Prolog code is quite complicated since the original grammar rules are transformed in a nontrivial way. However, in a development phase of a grammar or a dictionary, it is indispensable to have some way to figure out the system's behaviour. It should be noted that the users are usually not interested in the transformation details of the system. The system, therefore, should inform the behaviour that is related only with the user defined grammar and dictionary.
The VisIPS system is originally developed to monitor the behaviour of the SAX processes. It is, however, applicable to any phrase structure based parsing systems. It shows occurrences of phrases in a triangular table. Two versions of the system have been developed: One is a batch system where the information of phrase structures are written out into a file in a predetermined format and VisIPS shows the results after the parsing process terminates. The other is an interactive mode where a newly constructed phrase structure is immediately presented. Both versions are implemented in C and the X11R5 system. Current system uses socket I/O facility of SICStus Prolog for data communication.
Figure shows the system in operation. On the background is the VisIPS triangular table, that shows the partial parse results in a triagular table like the one used in the CKY parsing algorithm. When the user points the phrase name in the box by the mouse and click the button, a small window ((3) in the Figure) appears, in which as many number of the phrase are written if there is syntactic ambiguity. Pointing and clicking one of the phrase name in the box produces another window (4), in which detailed information is included. In (4), the first box shows the position and length of the phrase, the name of the phrase, and the identifying number if there is ambiguity. The second box shows the inside information of the phrase. The third and fourth boxes show the list of parent phrases and the list of child phrases in the parse tree. By clicking the words ``Children List'' in the box, a parse tree appears in another window (5). The nodes in the parse tree interrelate with the phrase names in the triangular table, so that clicking a node in the tree makes the corresponding phrase in the table to blink.