Paper: Dyna: A Language For Weighted Dynamic Programming

ACL ID P04-3032
Title Dyna: A Language For Weighted Dynamic Programming
Venue Annual Meeting of the Association of Computational Linguistics
Session System Demonstration
Year 2004

We present the first version of a new declarative pro- gramming language. Dyna has many uses but was de- signed especially for rapid development of new statis- tical NLP systems. A Dyna program is a small set of equations, resembling Prolog inference rules, that spec- ify the abstract structure of a dynamic programming al- gorithm. It compiles into efficient, portable, C++ classes that can be easily invoked from a larger application. By default, these classes run a generalization of agenda- based parsing, prioritizing the partial parses by some figure of merit. The classes can also perform an exact backward (outside) pass in the service of parameter train- ing. The compiler already knows several implementation tricks, algorithmic transforms, and numerical optimiza- tion techniques. It will...