DyALog is en environment for compiling and using logic programs and chart parsers for natural languages, that handles various grammatical formalisms (Page on INRIA GForge).

Demo

Some parsers built with DyALog may be tried on-line, including a large coverage hybrid TIG/TAG French grammar derived from a metagrammar.

Features

DyALog may be used just to evaluate standard PROLOG programs but its main finality is to design efficient parsers for several grammatical formalisms used in Computational Linguistics:

  • DCG (Definite Clause Grammars), traditionally offered by PROLOG systems;
  • BMG (Bound Movement Grammars), an extension of DCGs allowing the displacement of constituents;
  • TAG (Tree Adjoining Grammars), an elegant and convenient grammatical formalism introduced by Joshi, where elementary partial parse trees are combined by substitution and adjunction to build full parse tree;
  • TIG (Tree Insertion Grammars), a variant of TAGs with a simplified adjunction operation (and the possibility for DyALog to automatically identify TIG subparts in TAGs);
  • RCG (Range Concatenation Grammars), a very powerful formalism introduced by Pierre Boullier

DyALog provides a rich subset of all builtins provided by most PROLOG systems (Input/Output, Arithmetic, Term Comparison, ...) and may be interfaced with C to inherit C libraries API.

DyALog also provides several extensions to the usual PROLOG syntax and data structures to ease grammar development, including:

  • (typed) feature structures (TFS) a la Carpenter;
  • Finite Sets (or enumeration);
  • Hilog pseudo higher order terms;
  • Immediate unification;
  • Namespaces and modules

DyALog provides many useful features to design more efficient parsers, including:

  • different levels of tabulations (none, light, strong).
  • user customization of hybrid top-down/bottom-up parsing strategies.
  • support for bi-directional parsing strategies, for instance for head-driven parsing strategies.
  • (preliminary) support for efficient left-corner parsing strategies.
  • new powerful operators such as intersection, extended Kleene star (to build loops), and interleaving (to interleave in any order sequences of constituents). For instance one can write ``(adj @*) ## noun'' to specify (in French), that a noun may be completed on both left or right by any number of adjectives.
  • parsing from PROLOG lists or from a word lattices represented by Finite Set Automata (more efficient and useful to handle ambiguous inputs provided by pre-parsing tools).
  • filtering for lexicalized parsers to only load grammar fragments anchored by words of the input sentence.
  • labeling of constituents for a better reading of the output shared forests.

Documentation

An English documentation for DyALog exists but is still largely incomplete and outdated.

Several papers are available that partially describe the functionalities of DyALog: TALN02 (in French), TAPD98 (in English) ATALA99 (in French), PhD93 (in French)

Télécharger DyALog

Download DyALog from http://dyalog.gforge.inria.fr/. Please note that for easier installation, you can use the Perl script Alpi (ALPage Installer) typing

./alpi.pl --pkg=DyALog
This single script downloads and installs DyALog.

Copyright and License

DyALog version is distributed under LGPL with copyright INRIA 1999 — 2008.

Author

Send your bug reports and suggestions by e-mail to Eric de La Clergerie


LANGUE/LANGUAGE

Calendar

Mo Tu We Th Fr Sa Su
25 26 27 28 29 30 01
02 03 04 05 06 07 08
09 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 01 02 03 04 05