为了利用这些关系,知识表示系统必须能够表示行为和因果关系的一般知识。大部分的知识表示都围绕表示一个行为发生的每一个谓词来组织这种信息。图2示了两个行为(BUY和PURCHASE-TICKET)的定义。其中“角色(role)”定义了行为中涉及的重要对象;“约束(constraint)”描述了角色取值的典型属性;“前提(precondition)”表示了行为发生前所必须具备的条件;“结果(effect)”表明了行为发生后状态的变化;“分解(decomposition)”表明用一系列的子行为来完成一个行为的典型方式。图中的行为定义详细描述了这几个不同层次的信息。“BUY”是一个通用行为,买的对象可以是任何物品,并且给出了钱和物品交换的细节。这一行为发生的前提是买方要有钱,卖方有物品要卖,行为的结果是钱和对象的所有者发生了变化。这一行为是通过两个“GIVE”行为来实现的。行为“PURCHASE-TICKET”描述了在售票处买票的特殊情形,并且只提供了交易的重要细节;“ PURCHASE-TICKET”将“BUY”作为其子步骤之一。
图2 BUY和PURCHASE-TICKET的定义
我们有好几种方法来利用这一信息。首先,给定一个句子,描述一个行为的发生,前提和结果将给出这个句子的一些隐含信息。例如,给定句子“Jack bought a stereo at the mall”(Jack在购物商场买了一台音响),那么,系统能够得到下面的信息:Jack有一台音响,不过他已经没有了(买音响的)钱;这家商店曾经拥有一台音响,但现在也没有了。这些隐含的信息可以作为期
望,因为说话者下一步可能会涉及这些条件中的某一个。但是,基于结果或前提的期望常常很明显,它们对于后续句子的解释并没有多大帮助。例如:
1a. Jack bought a stereo at the mall.(Jack 在购物商场买了一台音响。)
1b. He now owns it.(现在他拥有了这台音响。)
在这个例子中,句子1b是句子1a的很自然的结果。所以句子1b在一定程度上是多余的。由“buy”行为触发的行为或“buy”作为其组成部分的那些行为,可以生成其他期望。潜在地,如果知识库中的一个行为的前提与“buy”行为的结果匹配,那么这个行为就是一个可能的期望。例如:
2a. Jack bought a stereo at the mall.(Jack 在购物商场买了一台音响。)
2b. Now he can disturb his neighbors late at night.(现在,他可以在深夜里打扰邻居们了。)
句子2a和句子2b之间的联系如下:买了一台音响就使Jack把音响的音量调到很大成为可能,然后就可能生成打扰邻居的行为。很显然,买音响这个行为可能引发很多行为。但是,我们不可能预先生成所有的期望。
责任编辑:admin