OpenCogPrime:Explicit vs Implicit Knowledge Representation
Previous: OpenCogPrime:Why It Will Work
Explicit Versus Implicit Knowledge Representation
OCP's knowledge representation must be considered on two levels: implicit and explicit.
The explicit knowledge representation may be viewed as a SMEPH-style generalized hypergraph, which will generally be referred to in these pages as a hypergraph of Nodes and Links, to distinguish it from the Vertices and Edges in the SMEPH derived hypergraph of a OCP system. This includes ConceptNodes and SchemaNodes, where SchemaNodes are represented as mathematical objects using arithmetic, logical and combinatory operators to combine elementary data types and OCP Nodes and Links, designed to enable compact expression of useful cognitive procedures. It also includes a number of other node types including PredicateNodes (SchemaNodes that produce truth values as their outputs) and various kinds of Nodes representing particular kinds of concrete information, such as NumberNodes, WordNodes, PolygonNodes, and so forth.
In addition to explicit knowledge representation in terms of Nodes and Links, OCP also incorporates implicit knowledge representation in the form of what are called Maps: collections of Nodes and Links that tend to be utilized together within cognitive processes.
To see the need for maps, consider that even a Node that has a particular meaning attached to it — like the Iraq Node, say — doesn't contain much of the meaning of Iraq in it. The meaning of Iraq lies in the Links attached to this Node, and the Links attached to their Nodes — and the other Nodes and Links not explicitly represented in the system, which will be created by OCP's cognitive algorithms based on the explicitly existent Nodes and Links related to the Iraq Node.
This halo of Atoms related to the Iraq node is called the Iraq map. In general, some maps will center around a particular Atom, like this Iraq map, others may not have any particular identifiable center. OCP's cognitive processes act directly on the level of Nodes and Links, but they must be analyzed in terms of their impact on maps as well. In SMEPH terms, OCP maps may be said to correspond to SMEPH ConceptVertices, and for instance bundles of Links between the Nodes belonging to a map may correspond to a SMEPH Edge between two ConceptVertices
The standard PLN link types such as OpenCogPrime:ExtInhLinks and OpenCogPrime:IntensionalInheritanceLinks exist in OCP as well as SMEPH; these are described in depth in the Probabilistic Logic Networks book. The mathematics of PLN contains many subtleties, and there are relations to prior approaches to uncertain inference including NARS (Wang, 2006, 1995) and Walley's theory of interval probabilities (1991). An essentially complete software implementation of PLN exists within the current OCP codebase and has been tested on various examples of mathematical and commonsense inference.
OCP Atoms (Nodes and Links) are quantified with truth values that, in their simplest form, have two components, one representing probability (strength) and the other representing weight of evidence; and also with attention values that have two components, short-term and long-term importance, representing the estimated value of the Atom on immediate and long-term time-scales.
In practice many Atoms are labeled with OpenCogPrime:CompositeTruthValues rather than elementary ones. A composite truth value contains many component truth values, representing truth values of the Atom in different contexts and according to different estimators.
- tokens for links to attach to
- Visual, acoustic percepts, etc.
And an incomplete list of link types is:
The semantics of these types has been discussed informally in various published overview papers. The logical links are described in depth in the PLN manuscript, and the nonlogical links will be described within pages of this wiki as they are needed.
It is important to note that the OCP declarative knowledge representation is neither a neural net nor a semantic net, though it does have some commonalities with each of these traditional representations. It is not a neural net because it has no activation values, and involves no attempts at low-level brain modeling. However, attention values are very loosely analogous to time-averages of neural net activations. On the other hand, it is not a semantic net because of the broad scope of the Atoms in the network: for example, Atoms may represent percepts, procedures, or parts of concepts. Most OCP Atoms have no corresponding English label. However, most OCP Atoms do have probabilistic truth values, allowing logical semantics.