ALE 2.0 + English HPSG available

About this list Date view Thread view Subject view Author view

Carpenter (carp@lcl.cmu.edu)
Fri, 26 Aug 94 14:38:25 edt


ALE 2.0: An Attribute Logic Engine ----------------------------------- ALE 2.0, a freeware system written in Prolog by Bob Carpenter and Gerald Penn, integrates phrase structure parsing and constraint logic programming with typed feature structures as terms. This generalizes both the feature structures of PATR-II and the terms of Prolog II to allow type inheritance and appropriateness specifications for features and values. Arbitrary constraints may be attached to types, and types may be declared as having extensional structural identity conditions. Grammars may also interleave unification steps with logic program goal calls (as can be done in DCGs), thus allowing parsing to be interleaved with other system components. While ALE was developed to handle HPSG grammars, it can also execute PATR-II grammars, DCG grammars, Prolog, Prolog-II, and LOGIN programs, etc. With suitable coding, it can also execute several aspects of LFG grammars. The terms involved in ALE grammars and logic programs are specified using a typed version of Rounds-Kasper attribute-value logic, which includes variables, full disjunction, and inequations. Programs are then compiled into low-level Prolog instructions corresponding to the basic operations of the typed Rounds-Kapser logic. There is a strong type discipline enforced on descriptions, allowing many errors to be detected at compile-time. The logic programming and parsing systems may be used independently or together. Features of the logic programming system include negation, disjunction and cuts. It has last call optimization, but does not perform any argument indexing. On the 'naive reverse' benchmark, it performed at 1000 LI/s on a DEC 5100 running SICStus 2.1, which is roughly 7% as fast as the SICStus interpreter and .7% as fast as the SICStus compiler. The phrase structure system employs a bottom-up, all-paths dynamic chart parser. A general lexical rule component is provided, including procedural attachment and general methods for orthographic transformations using pattern matching or Prolog. Empty categories are permitted in the grammar. A mini-interpreter is included for stepping through the parsing process. Both the phrase structure and logic programming components of the system allow parametric macros to be defined and freely employed in descriptions. The language allows hooks to general Prolog routines, allowing the grammars and programs to be embedded in Prolog, and thus also in C and Unix. Parser performance is similar to that of the logic programming system. In an early HPSG grammar, where feature structures consisted of roughly 100-200 nodes each, a 10 word sentence producing 25 completed inactive edges parsed in roughly two seconds, using SICStus 2.1 on a DEC 5100. The current system is distributed with a number of sample grammars, including a fairly comprehensive implementation of a head-driven phrase structure grammar for English following (Pollard and Sag 1994: Chapters 1--5, 7, and 8), a small version of the Zebra Puzzle demonstrating the use of ALE for logic puzzles, and the phonological and categorial grammars used as examples in the documentation. Complete documentation (running to 100 pages, with examples of everything, programming advice, and sample grammars) is available as: Bob Carpenter and Gerald Penn (1992) ALE 2.0 User's Guide. Carnegie Mellon University Laboratory for Computational Linguistics Technical Report. Pittsburgh. ALE can be run in either SICStus or Quintus Prolog, and with other compatible compilers. SICStus 2.1 #8 or later is required for dealing with cyclic structures. The efficiency of the system depends on first-argument indexing, last-call optimization, and for the chart parser, the indexing of dynamic clauses. The system and its documentation are available without charge for research purposes, although we retain the copyright and any redistribution must be be complete. The system is available via anonymous ftp. To get it, run the following sequence of commands after moving to the directory in which you'd like the ALE directory to reside. Then execute: % ftp j.gp.cs.cmu.edu ... Name: anonymous Password: <your login name>@<your host> ... ftp> cd /usr1/carp/ftp ftp> get ale.ReadMe ftp> binary ftp> get ale.tar.Z ftp> quit ... % The file 'ale.ReadMe' is an ASCII file with instructions on unpacking and using the system -- it's quite easy to install, as it's only in one file. The system is distributed with a LaTeX version of the guide, but there is a compressed postscript version available in the file 'ale.guide.ps.Z' in the same directory as the rest of the system. If you'd like to be put on the mailing list and be informed of updates and so on, send e-mail to and so on, send e-mail to carp@lcl.cmu.edu. Also, please let me know if you have any comments, find any bugs, or have any requests for future versions. I'd also be interested in hearing to what use ALE is being put. Functional Extensions in Version 2.0 -- inequations -- extensional identity conditions -- general constraints on types -- mini-interpreter -- enhanced error detection -- hooks to Prolog - Bob Carpenter carp@lcl.cmu.edu Gerald Penn penn@lcl.cmu.edu Computational Linguistics Program, Philosophy Dept. Carnegie Mellon University, Pittsburgh, PA 15213 Phone: (412) 268-8043 Fax: (412) 268-1440


About this list Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b3 on Fri Dec 18 1998 - 20:31:39 PST