理论教育 知识库的分层模型解析

知识库的分层模型解析

时间:2023-06-28 理论教育 版权反馈
【摘要】:图6-4 分层运输模式用户能通过分层视觉上跟踪推理方向。一有足够的信息支持作出决定,分层运输模式就会给出建议。图6-6 规则的封装图6-6展现了三个从分层运输模式中提取的内部相连的节点,运送类型、距离范围和速率。最后,将知识库分割成目标便于继承和重用。事实上,一个完整的分层模型或者其大部分可能会在一个解决问题情况下被重用去创建变更。封装保证修改不会对知识库的其他部分产生自然影响。

知识库的分层模型解析

一个简图可以说明一个专家系统知识库的结构。图6-4说明了作为一种分层节点提供的运输模式知识库,以便用户将更有空间去想象它的结构。今后为了将分层运输模式(TransMode Hierarchy)和基于文本的提问-回答对话相区别,我们所指的系统即为分层运输模式(TransMode Hierarchy)。分层规定将知识库的两个部分分成更多的可管理部分,同时创建知识库的图形表达,以便这些部分的内部关系能很清晰地产生。分层和其他图形的使用试图描述和克服这种批评,即规则本质单调且缺乏结构。这就意味着规则被专家系统的推理工具不变地进行处理。

分层运输模式由节点(在图6-4中以矩形表示)组成并且在这些节点间进行链接。在该图中有三类节点。根节点(root node)是顶层的节点,它表示决策制定问题的最高目标,这里指运输模式的建议。根节点用双矩形表示。在层的底部,叶节点(leaf nodes)表示源数据或没有被处理过的数据。它们由黑体矩形表示,例如,货物重量,运输距离和运输时间都是叶节点。在根节点和叶节点之间的是中间节点(intermediate nodes)。这些节点从直接与其相连的下面的节点(它们的子节点)读取数值,同时处理这个输入以产生输出,然后它又会传递给与其直接相连的上面节点——父节点(在该图中,所有子节点都至少有一个父节点,但是这并不是都必要的。这种所有节点都至少有一个父节点的图形通常叫做树)。例如,负荷类型节点读取由货物重量——它的子节点传给它的值,然后负荷类型节点的输出又传给运输模式——它的父节点。图6-4中,所有值都是零,意味着还没有录入输入数据。

978-7-111-35620-2-Chapter06-6.jpg

图6-4 分层运输模式

用户能通过分层视觉上跟踪推理方向。分层中的上指箭头意味着信息从底部向顶部传送(也就是正向推理工具从输入向上到建议传送)。例如,图6-5说明了下面直接录入到分层结构中的输入数据(与前面描述的录入到基于文本的提问-回答对话的数据一样):

•货物重量:10000(lb)

•运输距离:2500(mile)

•运输时间:14(天)

•一件物品的重量:10.0(oz)

•一件物品的价值:500美元

•易碎率:高

通过录入10000作为货物重量,负荷类型就被设置成大运输量。同样的,当录入10.0作为一件物品的重量且500作为一件物品的价值时,则价值与重量之比即设置为50.0,这又将导致贵重等级为高。当易碎率设置成高时,则损失率就设置成了重要的。在图6-5中,一些节点是零值,意味着这些信息没有被录入(也或者不需要)。一有足够的信息支持作出决定,分层运输模式就会给出建议。从负荷类型、运送类型和损失率的三个值就足可以给出建议。这里,卡车是所选的运输模式。因此,不需要所有的用户输入。有时这可能导致稀少的分层,事实上在制定建议时只涉及了层次的一小部分。(www.daowen.com)

978-7-111-35620-2-Chapter06-7.jpg

图6-5 录入分层运输模式的数据

图6-5中所有被激活的节点都画了阴影,相关的链接用黑体,为用户说明分层在任何给定点都能及时被激活。

被分成目标节点的知识库具有很多与面向对象的设计的优势。基本地,分层上的节点本身代表独立的目标,且能作为拥有许多与面向对象相关的优越性能处理。一个设计哲学就是强调组件的模块性和标准化,以便它们在结构方面的匹配更广泛。面向对象设计的三个好处就是抽象、封装和继承。

首先,分层运输模式中的目标节点是对用户有意义的、抽象的具体表现。目标节点表示用户更直接熟悉的更高级的抽象,而不是指的论述域中较低级的细节,如指定的数据和个别规则。在分层运输模式中,负荷类型、损失率和灵活率这样的节点用来识别一些确定运输模式所涉及的高级因素。类似地,如果一个人想开发一个为商业贷款核定作出决策的专家系统,如公司的财力、管理特点、附属担保品和工业的竞争环境这类节点可能用来作为高级因素去确定一个公司的信贷价值。在这点上需要记住的是,系统是开发给一个非专家的用户,非专家用户可能对系统的所有实现细节不感兴趣。一个分层模型可能提供了一个对知识库合适的高级看法,对用户而言它是更易于处理且复杂性更低的。

面向对象的第二个优点是已知的封装。这个特性意味着一个独立对象的实现细节被其他对象所隐藏。分层上的每一个节点不需要了解内部结构——也就是任何其他节点规则的指定细节。另外,一个节点只从直接与其相连的节点处接收输入,因此更多地限制了目标节点之间的交互。对专家系统的用户和开发者来说,这种模块化设计对理解系统有很大好处。对必须周期性的保持和更新知识库的开发者来说,这意味着修改一个节点的规则将不会对系统的剩余部分产生非预期的后果,因为规则只局限于那个节点的规则。但是不能夸大这个好处。

978-7-111-35620-2-Chapter06-8.jpg

图6-6 规则的封装

图6-6展现了三个从分层运输模式中提取的内部相连的节点,运送类型、距离范围和速率。这三个节点都进行了封装结果其他节点都不能看到它实现的细节(在图中每一个实现细节都展现在了矩形中,它包括了与节点相关联的规则)。这就意味着运送类型不需要关心距离范围和速率节点是如何指定的。节点之间的沟通仅限于数据在它们之间进行传递的方法,即运送类型节点读入来自距离范围和速率节点指定的输入值,而没有任何关于如何确定这些值的知识。因此,一个节点与其他节点的接口是很清楚的被定义的。

最后,将知识库分割成目标便于继承和重用。这意味着我们能在一个新的专家系统应用中接受复制和利用任何对象节点。新的复制继承了原始节点的特性,以便节点不需要从头开始创建。事实上,一个完整的分层模型或者其大部分可能会在一个解决问题情况下被重用去创建变更。例如,在为商业贷款核定决策开发出分层模型后,我们就可以为个人贷款核心决策创建一个修订版。原始的分层可以得到重用,同时,因为我们已经将知识库进行了分割,可以使用一种比较容易的方式去修改仅仅与新环境相关的受到影响的节点。封装保证修改不会对知识库的其他部分产生自然影响。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈