Novamente Cognition Engine
From AGIRI.org
Developed by Novamente, the Novamente Cognition Engine (NCE) 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.
Contents |
Long Term Goals
The long-term aspiration of the Novamente AGI project is General Intelligence at the human level and ultimately beyond, utilizing Strong Self-Modification.
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 Novamente Cognitive Processes
This is a fairly thorough but non-exhaustive list of the Cognitive Processes occurring in the Novamente Cognition Engine.
Global Cognitive Processes
- 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
Cognitive Control Processes
- 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
Focused 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
Current Status
Currently the NCE consists of roughly 70,000 lines of C++ code; it is roughly 50% complete in terms of coding, and once coding is done will require a substantial teaching and training process. However, the design of the system (at a moderate level of detail) is complete, and the Novamente LLC software team possesses a deep understanding of the design and the capability to complete its implementation and training.
The NCE is now being used to control a simulated humanoid agent in 3D simulation world called AGISim, similar to a video game world, and in this context is being taught simple behaviors such as playing fetch and tag, finding objects, and recognizing objects by name. These teaching exercises serve to give the system basic world-knowledge which can then be deployed for other applications.
Practical Applications
As it matures, the NCE 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 the NCE 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 NCE will allow this linguistic knowledge to synergize with the knowledge obtained via the NCE’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 NCE 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 NCE’s functions in a bioscience context, to help with bioinformatic data analysis and the extraction of semantic relationships from biomedical research abstracts.
Mind Ontology
Supercategory: Integrative AGI Projects
Subcategory: Concretely Implemented Novamente Structures
Subcategory: Emergent Novamente Structures
Links
- Novamente LLC
- Ben Goertzel's homepage
- Some brief academic conference papers describing aspects of Novamente may be found at http://www.novamente.net/papers
- A video conference presentation on Novamente is at http://video.google.com/videoplay?docid=574581743856443641
- Other related video conference presentations are at http://video.google.com/videosearch?q=goertzel+&hl=en

