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). It also includes
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
where you can get the very latest code on branch