OpenCCG: The OpenNLP CCG Library
OpenCCG, the OpenNLP CCG Library, is an open source natural language processing library written in Java, which provides parsing and realization services based on Mark Steedman's Combinatory Categorial Grammar (CCG) formalism.
The library makes use of multi-modal extensions to CCG developed by Jason Baldridge as part of the Grok system (the precursor to OpenCCG). These extensions are described in Jason's dissertation and in a joint EACL-03 paper with Geert-Jan Kruijff.
Subsequent development efforts, led by Michael White, have focused on making the realizer practical to use in dialogue systems, and more recently, on realization with broad coverage grammars. See the papers on Mike's web page for details. Since version 0.9.4, OpenCCG has included broad coverage English parsing and realization support that together make it possible to experiment with open domain grammatical paraphrasing. Version 0.9.5 adds features for dependency ordering and dependency length minimization in realization, as in White and Rajkumar (2012), along with support for using 5-gram gigaword language models with KenLM, and creating disjunctive logical forms based on the differences between aligned semantic graphs, as in Martin and White (2011). (new!)
Also, Jason Baldridge and students at UT Austin have developed DotCCG, a new format for specifying OpenCCG grammars, and VisCCG, an editor and visualizer for grammars written in DotCCG format. These developments are described in Baldridge, Chatterjee, Palmer and Wing (2007). See the UT Austin computational linguistics lab's OpenCCG wiki, which has a number of tutorials and example grammars for DotCCG and VisCCG.
OpenCCG has been and is being used for a number of dialog systems: see the list of projects using OpenCCG. Please get in touch with Jason if you would like add yours.
For the latest news about OpenCCG, check out the SourceForge project page.
Further development of OpenCCG has moved to
(new!), where you can get the very latest code on branch