5
10
15
20
25
30
35
ZHANG Tao, LIU Houquan
JiangSu XuZhou 221116)
(School of Computer Science and Technology, China University of Mining and Technology,
Abstract: There are four basic procedures in case-based reasoning, case retrieving, case revising,
case reusing and case retaining. It is not probable to reuse the retrieved case directly without
revising in practice. So case revising is an important part of case-based reasoning. However, case
revising relies on domain knowledge, which makes it the most difficult part of case-based
reasoning. The paper introduces a self-revise method based on regular revising methods. The
method need retrieve case twice from the case base and need cluster analysis of the case base.
Finally, introduce an example to prove the method can work.
Keywords: case-based reasoning; case revising; cluster analysis
中国科技论文在线
http://www.paper.edu.cn
基于案例推理中案例修正的研究
张涛,刘厚泉**
(中国矿业大学计算机学院,江苏 徐州 221116)
摘要:基于案例推理分为案例检索、案例修正、案例重用和案例存储四个基本步骤。实际应
用中,检索到的案例往往不能直接重用,需要进行修正。案例修正是基于案例推理中很重要
的一环。由于它对领域知识依赖程度很高,因此也是案例推理中最难的一部分。本文在传统
的案例修正方法的基础上,提出了一种案例自修正方法,需要对案例库进行两次检索。其中
要对案例库进行聚类分析。最后以一个实例说明该算法的有效性,并且能够提高案例重用的
准确度。
关键词:基于案例推理;案例修正;聚类分析
中图分类号:TP391
The Research on Case Retrieving in Case-Based Reasoning
0 引言
基于案例推理(Case-Based Reasoning, CBR)是一种比较新的推理技术[1]。与传统的基于
规则推理相比(Rule-Based Reasoning, RBR),首先基于案例的推理不需要建立明确的推理规
则,只需要根据以前类似的案例进行推理即可;其次基于规则推理中有些复杂、模糊的知识
难以建立明确的规则,而基于案例推理只需要从整体上找到与当前情境最相似的案例;最后
基于规则推理中规则一旦建立,当具体环境发生变化时,规则改变比较困难,而基于案例推
理中环境变化时,只需要根据变化的部分重新检索相似的案例即可[2] [3]。
自基于案例推理提出以后,国内外许多专家学者都对其进行了详细的研究,提出了许多
理论,取得了一些理论成果,并在某些领域内获得了成功的应用。目前对基于案例推理的研
究几种在以下几个方面[4][5]:对案例检索方法的研究;对案例修正方法的研究;对案例的表
示方法、存储方式的研究;将 CBR 与基于规则的推理(RBR)结合的研究;对 CBR 的分支如
文本 CBR(TCBR)的研究。本文主要研究案例的修正方法。
作者简介:张涛,(1987-),男(汉族),江西九江人,硕士研究生,研究方向为语义与本体、地理信息
通信联系人:刘厚泉,(1963-),男(汉族),教授,研究方向为语义与本体、地理信息、虚拟现实. E-mail:
986613102@qq.com
- 1 -
中国科技论文在线
1 案例的修改
http://www.paper.edu.cn
40
45
50
1.1 基于案例推理的基本步骤
案例推理主要分为四个步骤[6]:
(1)检索(retrieve):采取适当的检索算法计算案例间的相似度,从案例库中找出与当
前问题最相似的案例。
(2)重用(reuse):重用分为直接重用案例的解决方案和重用得出最终解决方案的方法。
有时候也可以只重用部分解决方案或部分得出最终解决方案的方法。
(3)修正(revise):在实际应用中,得出的案例解决方案往往不符合目标案例的要求。
这时,需要通过一定的修正方法,根据具体的环境,对案例解决方案进行调整,才能重用到
目标案例上。
(4)存储(retain):处理完一个案例之后,把它存放到案例库中,以便以后碰到类似问
题可以重用。通过这种方法,案例库覆盖度逐渐提高,从而检索到相似案例的几率也随之提
高。在存储案例时,要考虑案例的表示方式、存储方式和索引的建立。
55
1.2 案例修正基本方法
图 1-1 基于案例推理的基本步骤
Figure 1 -1 The basic processes in CBR
通过图 1-1 可以看到,我们可以看到,从案例库中检索出来的案例的解往往是建议解。
由于案例库存储案例的数目有一定限制,当前需要解决的案例往往会和案例库中的案例有一
定差异。因此,建议解通常不能直接用到当前问题中。需要对其进行一定的修正。案例修正
这一部分关系着最后案例重用的成功与否,是基于案例推理中很重要的一部分。
60
另一方面,案例修正往往需要依赖领域内的知识。因为需要知道检索的案例和当前案例
哪些特征不同,不同的地方又会对最终的解造成什么影响。需要用领域内的规则来解决这些
问题了。所以通常案例推理系统都应该包括一个附加的领域知识库,存储修改规则。这样做
的缺点也是非常明显的:修正规则难以获取,专家的建议不足以覆盖所有的情况,系统自学
习的难度又太高。所以案例修正也是基于案例推理中最难得一部分。
65
通常,案例修正的方法有[7]:
(1)参数调整 这是从案例结构上进行调整的一种方法。一般先找到当前案例和源案例有
- 2 -
70
75
80
85
90
95
中国科技论文在线
http://www.paper.edu.cn
哪些特征参数不同。然后再选择其中的一个或几个参数,参照当前案例的标准,利用领域知
识内的一些规则,将源案例在这些参数方向上进行调整。
(2)重实例化 是指将旧解决方案重新实例化为新对象。
(3)派生重演 针对新问题的特征条件,利用生成旧问题解决方案的方法推演出新问题的
解决方案。
(4)模型引导 这种思路的前提是领域知识内已经存在一些推理模型。进行案例调整时,
直接使用这些推理模型进行引导。常用的推理模型主要有因果关系模型。
值得注意的是,进行案例修正时还有其它的一些思路。例如,一般案例库建立时都会有
相应的辅助知识结构。案例调整时可以进行查询操作,即在案例库或辅助知识结构中查找相
应的替换内容来代替不符合新问题的值或结构。
2 基于案例推理中案例自修正方法
尽管案例修正非常依赖领域知识,学者和专家们还是从不同的角度针对案例修正提出了
各种新颖的思路。例如在检索中就融入修改知识[8],可以在检索这一步就过滤掉相当数量的
案例;添加特征意图项[9],说明特征不同取值所对应的不同意图,反过来就可以根据实际情
况推算出特征的取值;关键字分割法[10],利用一组关键字对案例解进行分割,根据多组结
果,总结出其中的规律;差异驱动法[7],案例前提的差异会导致解的不同,这种差异之间隐
含案例修正的规则。
受这些思路启发,下面介绍一种案例自修正方法。
这种案例自修正方法的核心思想是:直接从案例库中找到修改知识。先从案例库中检索
出最相似的案例。再比较当前案例和检索的案例,得出存在差异的案例特征属性。利用这些
差异特征将案例库进行聚类,得出一个新案例库。从中再次检索出和上次的最相似案例最相
似的案例。这个案例即是最终的结果。整个方法的思想是在案例修正过程中应用 CBR 的思
想,根据重用失败的原因,找到最终的解决方案。整个过程不需要依赖领域知识。
具体过程可分为:
(1)假设案例库为 C。当前案例为 A。先从案例库 C 中检索出和 A 最相似的案例 B。
(2)比较 B 和 A,找出 B 和 A 之间特征的差异。假设 A 有 m 个特征属性。其中 i 个特征
属性存在差异。(0<=i<=m)如果 i=0,表示没有差异,算法结束。
(3)根据这些差异特征 f1,f2…fi,对案例库进行聚类。针对每一个特征,从案例库 C 中找
到和 A 中该特征的值相同的案例,将其聚成一类。这样可以得到分类 f1 (C),f2 (C)…fi (C).
它们构成一个新案例库 Cnew。
(4)从 Cnew 中检索出和 B 最相似的案例,即为最终解决方案。
3 一个实例
100
下面是某汽车维修故障的部分历史案例。其中 x1,x2,x3,x4 表示四个故障征兆,D 表示
处理此故障的决策。相关征兆数值都进行了离散化处理。
105
- 3 -
中国科技论文在线
http://www.paper.edu.cn
表 3-1 汽车维修故障案例表
Table 3-1 Automobile fault maintain cases
X4
0
1
2
2
1
2
2
0
2
1
X2
0
0
0
1
1
2
1
0
1
2
X3
0
0
1
1
0
1
0
0
2
0
X1
2
2
0
2
1
1
2
1
0
1
D
0
0
1
2
1
2
1
2
1
1
Number
1
2
3
4
5
6
7
8
9
10
110
115
120
125
130
135
现在有一个新的维修案例(0,2,1,2)。首先利用最近邻法从案例库中找到最相似的案例,
结果为案例 6。再比较这个案例和案例 6 之间的属性差异,发现在属性 x1 上存在差异。当
前案例属性 x1 值为 0.从案例库中找到所有 x1=0 的案例,构成新案例库 Cnew=(C3,C9)。其
中和案例 6 最相似的案例是案例 3。案例 3 即为最终要求的案例。
4 结论
本文在传统的案例修正方法的基础上,结合几种新案例修正方法的思路,提出了一种案
例自修正的方法。与传统方法相比,这种方法会根据检索的案例和目标案例之间的差异,对
案例库进行聚类分析,再次检索最相似的案例。即如果第一次检索失败了,这种方法还能够
根据失败原因,再次检索出一个案例。传统方法就无法做到这一点。这种方法提高了案例推
理的有效性和正确度。另外,这种修正方法几乎不需要依赖领域知识。由于需要进行两次检
索,因此整个方法可以看成一个基于 CBR 的案例修正过程,实现了案例的自修改。
[参考文献] (References)
[1] 王晓亮,刘西拉,李楚舒.基于事例推理的技术及其前沿[C].第十二届全国工程建设计算机应用学术论文
集.北京:中国土 木工程学会,2005:105-110
[2] 罗燕琪,陈雷霆.专家系统中知识表示法研究[J].电子计算机,2001(4):28-32
[3] 吴显义,崔洪涛,谢颖.专家系统开发工具的知识表示及结构[J].信息技术,2005,27(5):37-41
[4] 房文娟,李绍稳,袁媛等.基于案例推理技术的研究与应用[J].农业网络信息,2005, (1):110-114
[5] 张光前,邓贵仁,李朝晖.基于事例推理的技术及应用前景[J].计算机工程与应用,2002,38(20):52-55
[6] Gavin Finnie,Zhao Haosun.R5 model for case-based reasoning[J].Knowledge-based Systems,2007,16(8):59-65
[7] 张光前,邓贵仕.基于事例推理中差异驱动的事例修改策略研究[J].计算机应用,2005,25(7):1658-1660
[8] 汤廷孝,刘勇,黄翔,等.CBR 系统中的实例修改研究[J].机械科学与技术,2006,25(4):390-393
[9] 姜亮,孙铁兵,屈福政.领域 CBR 本体及其在范例表示和范例修改中应用研究[J].大连理工大学学报,
2009,49 (2):228-233
[10] 赵昊宇.基于案例推理的纪检惩治决策支持系统的研究[D].上海:上海海事大学,2006
- 4 -