MindOntology:OpenCog Cognition Engine
OpenCog was initially developed by Novamente as the Novamente Cognition Engine (NCE). (See here for a brief history). It is a software system designed for large-scale implementation on a distributed network, and founded on a unique AGI design grounded in a systems theory of intelligence. The overall architecture of the system is based on principles from cognitive science and complex systems science; but the specific mechanisms used within the system are drawn from cutting-edge computer science, drawing on a number of recent advances in AI theory and practice.
Long Term Goals
Cognitive Structures and Mechanisms
The key cognitive mechanisms of the system may be divided into the categories
and are enumerated on those pages.
Ontology of OpenCog Cognitive Processes
This is a fairly thorough but non-exhaustive list of the Cognitive Processes occurring in OpenCog.
- Economic Attention Allocation: Updates short and long term importance values (Attention Values) associated with Atoms, using a “simulated economy” approach, with separate currencies for short and long term importance (STICurrency for Short Term Importance; LTICurrency for Long Term Importance)
- Greedy Stochastic Pattern Mining of the AtomTable: A powerful technique for predicate formation as well as Map Formation; critical for perceptual pattern recognition as well as cognition
- Greedy Stochastic Pattern Mining of inference histories: critical to advanced inference control
- Building of the SystemActivityTable
- Records which MindAgents acted on which Atoms at which times
- Table is used for building HebbianLinks, which are used in Economic Attention Allocation
- Schema Execution
- Maintenance of Active Schema Pool (SchemaSelection MindAgent). This involves choosing which procedures to place in the pool of “currently activated schemata” (meaning, schemata whose modules are currently ready to be executed if their input conditions are met )
- Maintenance of the implicit “active goal pool” (FeasibilityUpdating MindAgent, see Economic Goal Selection) ... determination of the set of predicates that are currently actively considered as system goals, which is done by updating “feasibility” information regarding the achievability of various goals given various committments of resources
- Perception: management of the influx of Sensory Stimuli into the system, and its transformation into Percepts that can be acted on by other Cognitive Processes
Forward Synthesis Processes
- Forward Chaining Inference using PLN: Given a set of knowledge items, figure out what (definitely or speculatively) follows from it according to the rules of PLN
- Language Generation
- A subcategory of forward-chaining inference, but important enough to be isolated and considered on its own
- Atoms representing semantic relationships are combined with Atoms representing linguistic mapping rules to produce Atoms representing syntactic relationships, which are then transformed into sentences
- Language Generation
- Concept Formation: “Blend” existing concepts or goals to form new ones
- Map formation: Create new Atoms out of sets of Atoms that tend to be simultaneously important (or whose importance tends to be coordinated according to some other temporal pattern)
Backward Synthesis Processes
- Backward Chaining Inference using PLN: Given a target Atom, find ways to produce and evaluate it logically from other knowledge
- Goal Refinement: Given a goal, find other (sub)goals that imply that goal
- Language Comprehension
- Syntax Parsing: given a sentence, or other utterance, search for assignments of syntactic relationships to words that will make the sentence grammatical
- Semantic Mapping: Search for assignment of semantic meanings to words and syntactic relationships that will make the sentence contextually meaningful
- MOSES, which may be conceptually decomposed into:
- Model-Based Predicate Generation: Given probabilistic knowledge about what patterns characterize predicates or procedures satisfying a certain criterion, generate new predicate/procedures satisfying the criterion
- Criterion-Based Predicate Modeling: Building of probabilistic knowledge regarding the patterns characterizing predicates satisfying a certain criterion
- Inference process adaptation: Given a set of inferential conclusions, find ways to produce those conclusions more effectively than was done before
- Predicate Schematization: Given a Goal, and declarative knowledge about how to achieve the goal, synthesize a Combo Procedure for achieving the goal
- Credit Assignment: Given a goal, use PLN inference figure out which procedures’ execution, and which Atoms’ importance, can be expected to lead to the goal’s achievement
As it matures, the OpenCog will (if development goes as intended) be useful for a host of practical applications. The first applications envisioned are in the area of natural language processing. After a modest amount of additional development, it will be possible to use OpenCog to power natural language processing applications with a level of sophistication not seen in the marketplace today. For example, it should be possible to achieve an “Ask Jeeves” type functionality that actually works and is able to intelligently answer a variety of natural language questions.
Some groundwork for this sort of language processing application has been laid via the creation of the NovaLingua natural language software during the last few years – a toolkit that carries out language functionalities such as parsing, semantic mapping and word sense disambiguation using a combination of cutting-edge algorithms. Integration of NovaLingua into the OpenCog will allow this linguistic knowledge to synergize with the knowledge obtained via the OpenCog’s embodiment in the AGISim world, to enable an unprecedented level of linguistic and pragmatic understanding.
Medium Term Goals
A little further down the road, the long-term objective of OpenCog development is to create a powerful “artificial scientist” that can ingest a vast variety of quantitative, relational and textual data from the Internet and then interact with human scientists to produce innovative scientific creations and discoveries. Preliminary work in this direction has already been carried out via utilization of some of the OpenCog’s functions in a bioscience context, to help with bioinformatic data analysis and the extraction of semantic relationships from biomedical research abstracts.
Subcategory: MindOntology:Concretely Implemented OpenCog Structures
Subcategory: Emergent Structures