opencog/link-grammar
The CMU Link Grammar natural language parser
What it solves
It provides a high-precision natural language parser that reveals the linguistic structure of sentences across multiple languages (including English, Thai, Russian, Arabic, and Persian). Unlike conventional parsers, it offers a more fine-grained "syntactico-semantic" analysis, allowing users to derive traditional constituent and dependency parses from its deeper graph-based representation.
How it works
The system represents the structure of a sentence as a graph of typed links (edges) between words. It uses "disjuncts"—detailed connectors that act as a fine-grained version of parts-of-speech—to determine how words link together. The parser supports multi-threading, UTF-8, and a cost system for weighting grammatical usage. It also includes a tokenizer for morphological analysis and an experimental sentence generator that uses a "fill in the blanks" API to create grammatically valid sentences.
Who it’s for
It is designed for developers and linguists working on natural language processing (NLP), symbolic AI, and language learning systems that require detailed grammatical analysis or the ability to generate valid sentences.
Highlights
- Multi-language support: Full dictionaries for English, Thai, and Russian, with support for several other languages.
- Detailed Analysis: Provides deeper information than standard parsers via typed links and disjuncts.
- Extensible: Dictionaries can be updated at run-time for continuous learning.
- Broad Integration: Includes APIs and bindings for Python, Java, Node.js, OCaml, Lisp, and Vala.
- Morphological Analysis: Specifically handles complex morphology in languages like Russian and Thai.
Related
- Project
- Project
- Project
- Project