A Java library for parsing and generating text using combinatory categorial grammar and hybrid logic dependency semantics.
OpenCCG is a natural language processing library that parses and generates text using combinatory categorial grammar for syntax and hybrid logic dependency semantics for meaning representation. It provides tools for building and testing grammars, enabling computational linguistics research and applications that require precise syntactic and semantic analysis.
Computational linguists, NLP researchers, and developers building systems that require formal grammatical analysis and text generation capabilities.
OpenCCG offers a theoretically grounded, open-source implementation of CCG and HLDS, providing a robust framework for grammar development and experimentation that is not tied to proprietary NLP platforms.
OpenCCG library for parsing and realization with CCG
Implements combinatory categorial grammar and hybrid logic dependency semantics, providing a principled, theory-driven approach to syntax and semantics as highlighted in the README.
Includes the tccg command-line tool for developing and testing grammars interactively, allowing real-time feedback and debugging during grammar development.
Supports generating visual dependency graphs with Graphviz and automatic HTML grammar documentation, aiding in semantic analysis and grammar maintenance.
Comes with an English grammar derived from CCGBank, enabling realistic language processing tasks and providing a starting point for customization.
Requires manual configuration of JAVA_HOME and OPENCCG_HOME, downloading external libraries separately from SourceForge, and careful handling of environment variables, as detailed in the README.
Relies on older technologies like Java 1.6+ and Python 2.4-2.7, which are no longer actively supported, limiting compatibility with modern systems and tools.
Documentation is scattered across PDFs, wiki pages, and external links, with some guides described as 'somewhat dated', making it challenging for new users to get started.
EasyCCG is a Combinatory Categorial Grammar (CCG) parser that implements all combinators and supports parsing to logical form. It provides a common grammar format and includes parameter estimation capabilities for probabilistic CCG models, making it suitable for natural language processing research and applications. ## Key Features - **All Combinators** — Implements the full set of CCG combinators for comprehensive grammatical coverage - **Logical Form Parsing** — Converts parsed sentences into logical representations for semantic analysis - **Probabilistic Parameter Estimation** — Supports training of probabilistic CCG models from data - **Common Grammar Format** — Uses a standardized grammar format for interoperability - **N-best Parsing** — Generates multiple parse candidates with ranking - **Boxer Integration** — Produces Prolog output compatible with the Boxer semantic analysis system - **POS/NER Tag Support** — Accepts pre-tagged input with part-of-speech and named entity recognition tags ## Philosophy EasyCCG is designed as a practical, efficient implementation of CCG parsing that balances theoretical completeness with computational performance, enabling both research experimentation and applied natural language processing tasks.
Combinatory Categorial Grammar (CCG): Full set CCG, and probabilistic CCG
A Web platform for parsing and annotation
A programming language for multilingual grammar applications
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.