schwiebert.org

ABL4J - Alignment Based Learning for Java

What is ABL?

ABL is a grammatical inference system for (natural) language analysis, developed by Menno van Zaanen. By bootstrapping structure from unstructured corpora, it generates hypotheses about functional categories in language.

Several papers describing ABL have been published; so visit his homepage to learn more about ABL. You'll also find a download link there.

What is ABL4J?

ABL4J is a Java port of ABL. When it's done, it will do exactly what ABL does, but it is written in Java. Although ABL4J does support command line execution, it was designed to be used as a library. As example, one can add a new alignment method by implementing the interface org.schwiebert.abl4j.align.AlignmentMethod and passing an instance of the new class to the constructor of org.schwiebert.abl4j.align.Align, without without the needs to modify or recompile the ABL4J library.

Right now, ABL's suffix tree alignments (added by Jeroen Geertzen) are not implemented, and some command line options available in ABL are not supported.

Why should I use ABL4J?

Good question. You might want to use ABL4J if you're a Java developer and you're planning to implement some new exciting features on ABL without learning C++. If you're planning to use ABL as it is, there is no reason to use ABL4J...

How do I execute ABL4J?

First of all, you need Java 5 or later. If you want to build ABL4J from source, you need a JDK.

ABL4J is not designed to be directly executed, but to be used as a library. Please refer to the ABL4J User Guide for further information.

Where can I download ABL4J?

ABL4J is now hosted at berlios.de. Visit the ABL4J download page. API docs are also available here.

Under which license can I use ABL4J?

ABL4J is published under LGPL 3.0.