OpenCog consists of a number of software projects. The core functionality is in a mostly C++ codebase hosted on Launchpad. This consists of a number of modules that work within the AtomSpace framework:
- AtomSpace – an in-memory hypergraph store. Atoms, which can either be nodes or links, can be of a number of types and have a truth value associated with them.
- PLN – Probabilistic Logic Networks. An logic system for uncertain inference.
- MOSES – Meta-Optimizing Semantic Evolutionary Search. Program evolution based on representation-building and probabilistic modeling.
- Embodiment – Modules to allow OpenCog to reason about being embodied within an avatar, be it a Nao robot or a game character inside a virtual world.
There are also a number of affiliated projects that are in separate repositories. These are often quite functional when used outside of the core framework.
- RelEx and Linkgrammar – Extract grammatical parses and semantic knowledge from natural language (in English).
- NLGen and NLGen2 – Do the inverse of RelEx. Convert semantic relationships to natural language.
- … and more!
