面向专家的知识库优化!
盛昭瀚"赵卫东"陈国华
#南京大学管理科学与工程研究院"南京 $%&&’()
摘要*知识库的质量是影响智能系统性能的主要因素"而知识获取一直是设计智能系统的瓶颈
问题"这是由于目前人类认识的局限性"导致知识工程师和专家之间的不协调关系造成的+为
克服上述不利局面"本文利用粗糙集等理论"得到含有噪声的初始知识库"然后采用遗传算法,
可视化技术和知识校验等技术对规则库和案例库进行了优化+从而在知识获取过程中建立了
知识工程师和专家之间的新型的关系"其中专家处于中心地位"知识工程师只是起辅助作用"
即整个知识获取过程是面向专家的+
关键词*面向专家-知识库-遗传算法-优化
中图分类号*./%0 文献标识码*1 文章编号*%&&23’0&2#$&&%)&(3&&4&3&5
6 引 言
知识库是专家系统和智能决策支持系统的重
要组成部分"其质量直接决定了系统的性能高低+
通常"知识库中的知识主要以规则和案例的形式
存在+传统上知识的获取是由知识工程师和专家
的多次交互完成"他们之间的交流管道存在障碍+
专家能够有效地解决问题"但要其整理出知识是
有一定难度的+尤其是他们拥有的只可意会,难以
言传的经验知识+它们是专家长期实践的结晶+就
目前人类的认知水平"难以直接得到+这样知识获
取就成为设计智能系统的瓶颈-而且由于主客观
的因素"知识库难免出现矛盾,蕴涵,冗余和循环
等问题"影响了系统的推理能力+
机器学习是获取知识的有效途径+为避免传
统知识获取的困难局面"本文结合故障诊断专家
系统的一些实践"提出由专家收集大量的案例"然
后采用粗糙集等机器学习工具获得初始规则集+
由于机器学习的局限性#实质上是归纳学习的非
单调性)"难以获得完全,无噪声的知识库"所以有
必要对知识库进行补充,优化和校验"以得到高质
量的知识库"增加系统的实用性+上述过程"实质
上是面向专家的"知识工程师的主要任务是引导
和协助专家对知识获取的一些问题进行技术处
理"从而在他们之间形成了新的合作关系"有利于
构造高质量的知识库+
知识库的优化"已引起人们注意7%34"%&8"出现
了许多有效的方法"如状态空间图7%8,可视化技
术7$8和杂交算法等+遗传算法是模仿自然界生物
进化的一种仿生技术798"它因能达到最优解而在
函数优化,机器学习等领域得到广泛的应用+本文
采用它优化知识库+在优化过程中"遗传算法具有
下述特点*#%)知识编码直接选择规则本身作为染
色体"规则前提和结论中的事实和命题为基因-
#$)规则适应值由专家确定-#()规则库中的矛盾,
冗余和蕴涵等问题采用可视化技术协调完成+此
外"还研究了案例库的校验"讨论了相应的算法+
: 知识的获取
目前机器学习的主要方法有基于信息论的决
策树,基于集合论的学习等方法+其中粗糙集理论
第 4卷第 (期
$&&%年 5月
管 理 科 学 学 报
;<=>?1@<AB1?1CDBD?.EFGD?FDEG?FHG?1
IJK+4?J+(
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
;MN+"$&&%
! 收稿日期*%’’’3&03%4-修订日期*$&&&3&’3%0+
基金项目*国家自然科学基金资助项目#2’’%&&’5)+
作者简介*盛昭瀚#%’443)"男"江苏人"教授"博士生导师+
已逐渐引起人们的注意!
粗糙集理论是由 "#$%#&提出的’()!它在机器
学习中用于发现分类规则*其基本思想是+把专家
的决策实例经过预处理,如连续属性离散化-空值
的处理等.*整理成决策表形式!然后通过一系列
简化,包括属性和值简化.*得到最小决策规则规
则集!这种方法对于完全信息或相容的决策表*能
够得到比较满意的结果*所以在控制领域-医疗诊
断-图象处理-模式识别等领域受到了重视’()!
尽管粗糙集理论也有简,优.化规则的措施*
但对案例数量较大的场合计算量很大*且专家一
时难以收集全各种情况下的故障案例*知识的获
取还应结合其他方法!这样便得到初始知识库!由
于主客观的原因!初始规则库可能存在不完全-矛
盾-蕴涵-冗余和循环等问题*有待于进一步优化
处理!
/ 知识编码
规则库是由大量的规则组成*它是专家经验
的结晶!为简便起见*假设规则为 0123子句*且
其 不确定性用可信度4表示+56+67#689:3;6
4,56.!其中 #6为前提*由简单事实-命题或其组
合*即 #6<=>#6?*7,#6?.*@*>#6A*7,#*式中 7
表示事实-命题的可信度*7,#6.<A63=7,#6C.*C<?*
@*AD;6为结论*由一个简单事实或命题组成*其
可信度 7,;6.<7,#,56.*4,56.表示规则的可
信度!用 0123子句表示为+56+;6F#64,56.!
规则库精简的目的*是为了消除其中的矛盾-
冗余和蕴涵等缺陷!在保持知识库同样功能的前
提下*减少库的规模!用遗传算法时*首先考虑知
识的编码问题!不同的码长和码制*对问题的求解
精度和算法的效率都会有影响!常用的码制采用
二进制!规则库中的规则数量大*规则前提的属性
,事实.多!有些规则比较复杂*前提和结论部分包
含有语法结构!采用二进制编码会带来编码过长
和固定编码长度的问题!本文采用规则本身作为
编码*即染色体为规则*基因为规则前提和结论的
逻辑命题和事实!这样的编码方法具有方便直观-
实用性强和易于理解的优点!
G 用遗传算法优化规则库
文’H)提出一种用遗传算法精化知识库的方
法!但此方法存在下述主要问题+,?.忽略了规则
的重要参数I置信度D,J.没有考虑专家的监督指
导作用*当原始规则库存在不一致或在规则库演
化过程中不能及时排除不符合实际的规则D,K.因
采用规则本身作为编码*算法的复杂性较高*仅适
用一些小型知识库的精化!对于大型知识库*缺乏
简化措施*算法的效率会降低*难以得到最优解!
针对上述问题*本文基于可视化等技术*以专家为
中心*给出了一些改进措施!
规则编码的特殊性*导致遗传算法的许多步
骤不同于以往的许多做法!用遗传算法优化规则
库的原理如图 ?,假设推理机是满足要求的.*其
过程如下+
图 ? 用遗传算法优化规则库
,?.优化知识库,相对原知识库而言.置空!
,J.选择原知识库简短-常用和可信度大的
规则若干!
,K.复制,J.中的规则到优化知识库!
,H.对原规则库中的每一规则*实施操作+把
规则的前件作为已知事实*由推理机用优化规则
库中的规则前向推理!若推理结果与规则的结论
不一样*或推理结果空,无规则匹配.*说明优化知
识库中的规则不足*则需插入新的规则!插入的新
规则不一定有意义*需要专家的评判!只有合乎事
实的规则才能加入规则库*以免引入噪声!规则的
可信度由专家确定!最后得到用于优化的初始规
则库!
,L.规则库优化D把原规则库的每一规则前
I?HI第 K期 盛昭瀚等+
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
面向专家的知识库优化
提与优化知识库匹配!再根据优化规则库各规则
的响应情况"计算其适应值"然后进行遗传操作!
规则的适应值按下列原则计算#$%&
’一般情况下"被激活的规则适应值增加(矛
盾规则和结论错误者除外)"未激活的规则适应值
不变*
’对于得到同一正确结论的规则"前提所含
命题少者的适应值增加较多*
’矛盾规则(即对于相同前提"有不同结论的
规则)的处理"首先由专家确定正确响应的规则"
并增加其适应值!错误响应的规则其适应值减少*
’对于激活后又能激活其他规则的规则"适
应值应增加较大!例如有下列规则 +,-+.&
+,&/012324 4,*+5&6012445*+7&
/06214$*+$&8012/4$*+.&9012:2;4.
当规则+,和+5被激活时"将随之激活规则+7和
+$"故规则+,和+5的适应值增加较大!遗传算法
的基本算子包括&
<选择!选择适应值较高的规则"删除适应值
较低的规则!保持规则库的种群数小于原始规则
的容量!
=复制!选择适应值较高的规则"按一定概率
复制*
>交叉!这里指互换两规则的前提有关命题"
互换后的规则有效性由专家评判"符合实际的规
则的可靠度由专家给出!如有规则&
+,&/0123244,*+5&6082945
互换后得到的有效规则可能为&
+7&/08292447*+$&601234$
因要校验互换后规则的有效性"这一步的工
作量可能较大"需要专家的经验启发和解释!
?变异!因规则变异会带来许多无实际意义
的规则"增加专家的工作量"所以变异不再考虑!
(@)重复步骤(.)直至最优规则库各规则的适
应值不再发生改变为止!
为减小算法的复杂性"在步骤(.)前可以用模
糊演绎图#A%(BCDDEF/6C4GHIJKL1M:"BFK)和 N
系统等技术来实现推理过程的可视化"来检查规
则中的矛盾和循环!模糊演绎图是规则的一种图
形表示方式"其画法简单直观!例如有模糊规则集
+"其模糊演绎图如图 5!图中圆圈结点表示规则
前提或结论的事实O简单命题"带箭头的边表示规
则!这样整个知识库就构成一个有向网络图"用四
元组表示为&BFKPQR"S"8"TU!式中各符号的
含义&R&结点集合*S&有向边集合*函数&8&RV
#W",%"表示结点的可信度*函数 T&SV#W",%"表
示规则的可信度!
+P X L,&M50M, W!Y
L5&M70M5 W!Z
L7&M$0M,1J6M5 W!Y
L$& W!A.
L.&M@0M51J6M. W!Z
L@&M$0M@ W!Y
L,&MZ0M@ W!Z. [
图 5 规则的模糊演绎图
为实现规则推理的可视化"模糊规则须增加
可视化算子"用 \RB范式表示&
模糊规则&&P]前件 ]^后件 ]^可信度^*
前件&&PX前提[
前提&&P]对象名"关系算子"状态特征值"可
视化算子^
后件&&P]对象名"状态特征值"可视化算子^
为使可视化算子伴随推理过程"引入了形式
语言系统_N系统#Z%!它通过符号串的解释可以
转化为可视化的工具!模糊演绎树可以由 N系统
描述"推理路径的描述也就可以采用有限符号集!
N系统包含许多子系统"分别生成各类形式语言!
采用 ‘N系统"这里 ‘是指每一个符号在重写时
与相邻符号无关#Z%!
整个推理过程用 ‘N语言描述"且被解释执
行!这样就使规则推理和可视化过程并被执行!
‘N系统的使用"简化了可视化的过程!推理开始
时"已知事实用可视化结点表示"显示在屏幕上!
结点的内容附着在表示在结点的图标上"双击鼠
标即可显示其内容!这些事实会激活相关规则"使
规则也显示出来!直至得到结论!同样"规则的内
容也附着在表示规则的有向边上"双击鼠标也显
示规则内容!当某条规则被激活(其前件的状态为
_5$_ 管 理 科 学 学 报 5WW,年 @
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
月
激活状态!时"其后件结点动作"它将传递消息给
相关规则前件#如此反复直至得到结果#
推理过程的可视化$模糊演绎图!不仅增强了
系统的解释能力"而且可以帮助知识工程师发现
规则库中的错误"例如若图中含有环时"则规则库
中可能含有环"导致系统进入死循环%当图中的两
个结点有两条或两条以上的有向边相连时"规则
库中可能存在矛盾等等#在设计故障诊断的专家
系统中"首先收集大量的典型案例"由专家利用经
验或有粗集等机器学习方法从中抽取出初始规则
库"然后用上述的算法优化#实践证明这种做法不
仅可以得到简洁的规则库"规则的矛盾&蕴涵&冗
余等现象大大减小%而且知识库的构造可以脱离
知识工程师"一定程度上避免了传统知识的瓶颈
问题#
’ 案例库的校验
案例推理是人工智能的一种新求解方法#案
例作为一种知识表达方式"表达专家的难以形式
化的经验知识#实践证明"案例推理可以弥补规则
推理的不足#而且它与推理规则的结合"可以提高
系统的推理能力#其效率大于两者的能力之和()*#
所以对系统案例推理能力的校验"对系统的性能
的提高有很大关系#案例推理的效果"与案例的检
索&案例的调整等模块的功能有关#所以案例库的
校验主要集中在案例的检索&案例的调整#类似规
则库的优化"案例库的校验需要专家的积极参与#
文(+,*虽然对案例库的校验作了深入的研究"但
其淡化了专家的作用#离开了专家的知识库的校
验和验证"结果可能会有局限性#因为事物的精确
表示在其本身#只有知识拥有者才真正了解知识
的意义#在文(+,*的基础上"讨论了面向专家的案
例库校验#
案例库的校验通常分为三步-
$+!选择校验准则"以决定案例库和案例推理
机能否接受#这个问题由领域专家掌握"包括案例
能否覆盖领域"是否有.病态/案例"案例集密度是
否合适等问题#这一步是案例校验的基础#
$0!准备测试案例#案例库的校验不仅是对案
例库质量的评价"更重要的是对案例推理的检索
能力和调整功能的测试#案例推理系统应对案例
库中的案例作出正确的反映"而且也应有一定的
.外推能力/"即对案例库外案例能在案例库中检
索到相似的案例"并经过适当的调整得到可以接
受的解#所以"测试案例应有两部分组成-案例集
本身和一定数量并能覆盖领域范围的外部案例#
后者有专家收集#
$1!案例推理校验"主要包括相似案例检索和
案例的调整#
’#2 案例库的检索
案例库的检索校验算法如下-
3案例库中的案例检索(+,*
+!把案例库中所有案例拷贝到测试案例库%
0!对测试案例库的每一个案例"做如下操作-
4#将案例作为当前问题"等待案例库系统检
索%5#案例库系统对测试案例检索"并把检索出
的最相似案例的结果与测试的结果做比较%若结
果相同"则标记此测试案例为.正确/"否则标记为
.错误/#
1!统计测试案例集的检索结果"若发现有标
记为.错误/的测试案例"说明案例检索功能有问
题#修改之"重复 0!直至测试案例集的检索基本
上没有错误%
6!置测试案例集为空#
7案例库的.外推/能力$.插值/!
+!由专家再采集适当数量并均匀分布在案
例集的案例组成测试案例集$不在案例库中!"此
案例库也在案例的调整使用%
0!对测试案例库的每一案例"做如下操作%
4#将案例作为当前问题"等待案例库系统检
索%5#案例库系统对测试案例检索"并把检索出
的最相似案例的结果与测试案例的结果做比较"
由专家判断结果是否可以接受#若结果可以接受"
则标记此测试案例为.正确/"否则标记为.错误/#
1!统计测试案例集中标记为.正确/的案例
数量"计算其比例%
6!由专家决定此比例是否可以接受#若可以
接受"说明案例的检索模块正常%否则应考虑案例
的检索功能修改"回到 0!"直至专家认为可以接
受为止#
’#8 案例的调整
案例的调整检验算法如下-
3 案例库中的案例调整
9169第 1期 盛昭瀚等-
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
面向专家的知识库优化
!"把案例库中所有案例拷贝到测试案例库#
$"对测试案例库每一个案例%做如下操作&
’(从案例库中删除当前测试案例#)(将案
例作为当前问题%等待案例库系统检索#
*案例库系统对测试案例检索%并把检索出
的最相似案例的结果按案例的调整算法调整#
+(测试案例的调整结果与测试案例的实际解
做比较#由专家判断是否可以接受(若结果可以接
受%则标记此测试案例为,正确-%否则标记为,错
误-#.(恢复当前测试案例(
/"统计测试案例集的检索结果%计算标记为
,错误-的测试案例比例%由专家决定是否可以接
受(若不能接受%说明案例调整功能有问题(修改
之%重复$"%直至测试案例集的调整基本上达到
要求#
0"置测试案例集为空(
1 案例库的,外推-能力(将测试案例库换成
0(!1 !"中的案例集%重复2中的各步(
3 结束语
结合医疗诊断知识库的设计%面向专家对规
则库用遗传算法进行优化(实验证明对于较小规
模的知识库是可行的(同样对案例库的校验%也能
提高系统案例推理的能力(目前工程上已出现规
则推理和案例推理复合的实例%证明两种推理方
法复合的性能大于两者的性能之和%所以提高案
例库与规则库组成的知识库的质量对于复合系统
的性能有很大影响(
参 考 文 献&
4!5 678’9:%;<).=>?@(G8>BCBH’>B@9@I=7<.J)’K.+KLK>.CK7KB9FK>’>.K8’*.F=’8EK4M5(NOOOP=’9K’*J
>B@9K@9A9@Q<.+F.’9+R’>’O9FB9..=B9F%!SST%!UV$"&$/TJ$W/
4$5 X..M%XB7AYZ%DEB’9F[.B<B9F(;I7HHL8.>=B9.>J)’K.+.\8.=>KLK>.C’9+B>K’88<B*’>B@9>@+’C’F.’>
@I)=B+(NOOOP=’9K’*>B@9K@9]LK>.CK%?’9’9+DL).=9.>B*K%!SSS%$SV/"&/WUJ/^S
4/5 X@]7’=.H;%A’C.<?(Z.@=F’9BH’>B@9_9@Q<.+F.>@BC8=@‘B9F8.=I@=C’9*.4M5(NOOOP=’9K’*>B@9K@9
A9@Q<.+F.’9+R’>’O9FB9..=B9F%!SST%!UV!"&!SUJ!S!
405 :<’Ka’=L=B(A9@Q<.+F.)’=@‘.>>E=@.>B*’<F@=B>ECK4M5(N9I@=C’>B@9]LK>.CK%!SSS%!!0&^/JbS
4W5 c@<+).=FR(.>B*’<F@=B>ECKB9K.’=*E%@8>BCBH’>B@9’9+C’*EB9.<.’=9B9F4?5(?;&;++BK@9[.K<.L%!STS
4^5 a’Q<’_6(Z@7FEK.>KJ>E.@=.>B*’<’K8.*>K@I=.’K@9B9F’)@7>+’>’4?5(A<7Q.=;*’+.CB*a7)(%!SS!
4b5 DE’9+Q’9B?%DE’7+E’Bd](A9@Q<.+F.=.8=.>’>B@97KB9FI7HHL+.+7*>B@9F=’8EK4M5(NOOOP=’9K’*>B@9K@9
]LK>.CK%?’9’9+D.=).=9.>B*K%!SS^%$^V^"&T0TJTW/
4T5 Z@).=Fc(’>EC.>B*’<>E.@=L@IXKLK>.CK4?5(@=_&;*’+.CB*a=.KK%!STU
4S5 c@<+B9F;Z%Z@)<@@Ca](NC8=@‘B9F’**7=’*L)L*@C)B9B9F=7<.J)’K.+’9+*’)’K.+=.’K@9B9F4M5(;=>BIBJ
*B’<N9>.<<>%!SS^%Tb&$!WJ$W0
4!U5 c@9H’<.H;M%f7XB9F<B%c78>’g?(h’<B+’>B@9>.*@=*’)’K.+=.’K@9B9FKLK>.CK4M5(NOOOP=’9K’*J
>B@9K@9]LK>.CK%?’9’9+DL).=9.>B*K%!SST%$TV0"&0^WJ0bb
jklmnopqnrmsomtqlorurvworqsqxysqz{mt|m}w~m
!"#$%&’()J’(*%&"+,-./J0)*1%2"#$%3)J’3(
c=’+7’>.]*E@@<@I?’9’>]**.4O9FB9..=B9F%d’95B9Fg9B‘.=KB>L%d’95B9F$!UUS/%DEB9’
6}~onw7o& ’<B>L@I_9@Q<.+F.)’@=>’9>I@=_9@Q<.+>.9KB‘.KLK>.CKVAN]"%K7*E
’K.\8.=>KLK>.CK’9+B9>.<<>+.*BKB@9K788@=>KLK>.CK(:7>@‘.=’<@9F>BC.%_9@Q<.+F.’*i7BKBJ
>B@9BK’)@>><.9.*_B9+.KBF9B9FAN]+7.>@>E.)’+*@@=+B9’>B@9).>Q..9_9@Q<.+F..9FB9..=K’9+.\J
8.=>K%QEB*EBK<BCB>.+)LE7C’>.C@<@FL<.‘.<9@Q’+’LK(P@K@<‘.>=@)<.C%>EBK8’8.=7>BJ
<@’*EB9.<.’=9B9F>E.@=’B9<L=@7FEK.>>E.@=L">@F.>’=@7FE_9@Q<.+F.)’K.’9+
>*E@@.>B*’<F@=B>ECK%‘BK7’<BH’>B@9>.*E9@<@FL%_9@Q<.+F.‘.=BIB*’>B@9’9+‘’<B+’>B@9>.*EJ
8008 管 理 科 学 学 报 $UU!年 ^
9999999999999999999999999999999999999999999999999999999999999999999
月
!"#"$%&""’&()(*+(&,-+.(!&/(012%.34(#52!+16+#2&("!3+&1++!7!"1#+5$++!$(!++602!5+8’+6&0
(!1/(9/+8’+6&0’#2%25+9(0(:+6"#+1/(#+7!"1#+5$++!$(!++6026+299+00"6%.(,+,.(&(0+8’+6&;"6(;
+!&+5546(!$&/+7!"1#+5$+29<4(0(&("!9"460+,
=>?@ABCDE +8’+6&;"6(+!&+5F7!"1#+5$+320+F$+!+&(92#$"6(&/)F"’&()(*2&("!
GHIG第 J期 盛昭瀚等E
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
面向专家的知识库优化