Zhenshan Jin
Zhenshan Jin

Reputation: 419

AI reasoning system

I'm wondering if there is any system/infrastructure able to do some human reasoning process, for example: Context: A is a pen Question: is A vertical or horizontal Reasoning process: 1. horizontal is anything parallel to the ground 2. A is parallel to the ground 3. A is horizontal

The ultimate goal of this reasoning system would be that it's able to generate facts with some pre-defined rules.

Thank you in advance!

Upvotes: 0

Views: 107

Answers (1)

Henriette Harmse
Henriette Harmse

Reputation: 4787

You could achieve this with ontologies. You can use Protege which is a free ontology editor equipped with reasoners to infer implicit knowledge. Specifying an ontology as follows will achieve the desired result:

ObjectProperty: hasOrientation
    Domain: Object
    Range: Orientation

ObjectProperty: isParallel
    Domain: Object
    Range: Surface

Class: Object

Class: Orientation
    EquivalentTo: {Horizontal , Vertical}

Class: Pen
    SubClassOf: Object

Class: Surface
    EquivalentTo: {Ground , Rock , Wall}

Individual: Ground
    Types: Surface

Individual: Horizontal
    Types: Orientation    
    DifferentFrom: Vertical

Individual: Rock
    Types: Surface

Individual: Vertical
    Types: Orientation
    DifferentFrom: Horizontal

Individual: Wall
    Types: Surface

Individual: myPen
    Types: Pen
    Facts:  isParallel  Ground

Rule: 
    Pen(?aPen), isParallel(?aPen, Ground) -> hasOrientation(?aPen, Horizontal)
    Pen(?aPen), isParallel(?aPen, Wall) -> hasOrientation(?aPen, Vertical)

The inference is achieved with Pen(?aPen), isParallel(?aPen, Ground) -> hasOrientation(?aPen, Horizontal) which basically states that if aPen is a Pen and aPen is in a isParallel relation with Ground then aPen has a Horizontal orientation.

As an aside, you may find this research of interest.

Upvotes: 1

Related Questions