我想知道是否有任何系统/基础设施能够进行一些人类推理过程,例如:
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
这个推理系统的最终目标是它能够使用一些预定义的规则生成事实。
提前谢谢你!
你可以用本体来实现这一点。您可以使用Protege,这是一个免费的本体编辑器,配备了推理器来推断隐性知识。按如下方式指定本体将达到预期的结果:
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
与Ground
处于isParallel
关系,那么aPen
具有Horizontal
取向。
顺便说一句,您可能会发现这项研究很有趣。