Skip to content
Alexander Koller edited this page Jun 20, 2015 · 33 revisions

The Alto parser

Welcome to Alto, the Algebraic Language Toolkit.

Introduction

Alto is a parser and decoder for Interpreted Regular Tree Grammars (IRTGs). Its main features are:

  • Represents grammars from a wide variety of popular grammar formalisms as IRTGs, including:
    • Context-free grammars
    • Tree-adjoining grammars (TAG)
    • Tree automata and bottom-up tree transducers
    • Synchronous context-free grammars, TAG, etc.
    • Tree-to-string and string-to-tree transducers
    • Synchronous Hyperedge Replacement Grammars (HRG): Alto is the fastest published HRG parser in the world
    • and many more
  • Implements chart-based algorithms for
    • parsing
    • synchronous parsing (with inputs from multiple sides of a synchronous grammar)
    • decoding (to another side of a synchronous grammar)
    • maximum likelihood and expectation maximization (EM) training
    • binarization
  • Supports weighted/PFCG-style and log-linear probability models for all of these grammar formalisms.
  • Built for easy extensibility: implement your own grammar formalism by adding an Algebra class, and use any of the Alto algorithms directly.
  • Comes with a GUI that provides access to most of these algorithms and visualizes parsing results.

The basic theory of IRTGs is explained in Koller & Kuhlmann, IWPT 2011. You can find more details on the Literature page.

Alto is implemented in Java and can be downloaded here.

Table of Contents

The rest of this wiki explains how to use the IRTG Tool from the GUI, from the command line, and as a library.

  1. Installation
  2. Getting started
  3. Graphical User Interface
  4. Algebras
  5. Parsing
  6. Decoding
  7. Training
  8. Performance
  9. Troubleshooting
Clone this wiki locally