Contextual inference

From OpenCog
Jump to: navigation, search

This page describes issues that have arisen while implementing the contextual inference example detailed in Real-World Reasoning.

NotLink

In the example, a NotLink [1] is used to refer to the concept of people that are not Canadian.

(NotLink
    (ConceptNode "CanadianPeople"))

As this encompasses all things that are not Canadian people, a distinct concept of "Non-CanadianPeople" is needed which can be defined like this:

   (InheritanceLink
       (ConceptNode "Non-CanadianPeople")
       (AndLink
           (NotLink
                (ConceptNode "Canadian))
           (ConceptNode "People")))

See also: Claims and contexts

AssociativeLink/HebbianLink

In the book, HebbianLink [2] is used to specify that two concepts are associated with each other.

(HebbianLink
   (ConceptNode "CanadianPeople")
   (ConceptNode "CanadianPlacesNames"))

HebbianLinks, however, should only be created by AttentionAllocation. Thus, for representing association, AssociateLinks should be used instead. New inference rules need to be implemented for AssociativeLinks for them to have any practical meaning.

A comparison between frame-based and non-frame-based representation can be found here [3].