我想知道是否有任何系统/基础设施能够做一些人为推理过程,例如:
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
这个推理系统的最终目标是能够用一些预先定义的规则生成事实。
提前谢谢!
答案 0 :(得分:1)
你可以通过本体来实现这一目标。您可以使用Protege这是一个配备了reasoners的免费本体编辑器来推断隐含知识。如下指定本体将实现期望的结果:
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)
使用Pen(?aPen), isParallel(?aPen, Ground) -> hasOrientation(?aPen, Horizontal)
进行推理,基本上表明如果aPen
是Pen
且aPen
与isParallel
关系Ground
然后aPen
有一个Horizontal
方向。
顺便说一句,您可能会感兴趣this research。