banq,谈谈你对专家系统的认识吧

如题。
现在感觉软件的核心是业务,业务需要什么,软件就做成什么,架构、思想、实践都是围绕着业务这个目标出发的。
SOA是顶层的东西,属于架构却超越了架构,主要通过服务完成对业务的封装、编排和优化,SOA强调异构系统的整合、协作,从而产生灵活的、可复用的业务流程,给企业带来价值。DDD在中间,是一种方法论,强调在架构和设计的过程中如何将业务无缝地融汇进来,包括沟通技巧和思考方法,DDD也是SOMA中需要运用的方法论。最底层是数据,业务离不开数据,数据中包含了业务的所有含义,有用的和无用的。因此,对数据的分析和挖掘是发现隐藏在数据中的业务价值的方法和途径。这个业务是隐性的,不易发现的,即使是专家也不清楚会发现什么,但经过组织后的数据呈现在业务专家面前,就会产生新的有价值的东西。专家系统将专家的思维、经验和方法转换成计算机能够识别和运行的程序,通过专家的领域知识对海量数据进行挖掘分析,淘出有价值的东西。专家的领域知识通过各种知识获取途径转变成知识库,供现实应用中推理和分析。知识库就是DDD中强调的业务,包括各种推理思路、规则、流程,经过专家系统分析出的数据和结论就是知识,知识来自数据,是数据中的精华所在。
这么看,一切的一切都是为了业务,SOA、DDD、DM、expertsys都是业务,都强调业务,只是方式不同而已,掌握了业务的核心,就抓住了软件的本质。
业务是什么-->行业中的规则、流程和分析思路
业务从何来-->和领域专家沟通、抽象出领域模型、机器学习
业务如何实现-->方法论、架构、算法
业务的价值所在-->有价值的数据,知识

专家系统和DDD/SOA其实不是一个领域的,DDD/SOA属于软件工程领域,而专家系统属于人工智能,和数学 算法走得比较近。这完全是两个不同的事物,思维方式和出发点 方法论都完全不同。

说白了:SOA/DDD是由人手工参与的,依靠人脑的分析能力和创造能力,而专家系统试图以软件替代这部分,目标是远大的,外星人肯定存在的,但实践等不得科研。
[该贴被banq于2009-09-07 09:49修改过]

谢谢banq的答复。从业务的角度来看,专家系统也好,SOA、DDD也好,本质上是一样的。只不过对业务描述方式上存在一些差异,但其核心思想是一致的。DDD中的领域模型、SOA中的服务组件和流程编排、专家系统中的规则流和分析思路,这些都是业务。获取业务知识的途径也是一致的,只不过叫法不同。所以,业务是通的,分析业务的方法也是通的,所以软件是通的,本质问题就是业务,业务驱动一切。

>>SOA/DDD是由人手工参与的,依靠人脑的分析能力和创造能力,而专家系统试图以软件替代这部分,目标是远大的,外星人肯定存在的,但实践等不得科研。
专家系统在许多领域都有比较成功的案例,如工业控制、通信运维、犯罪分析等等,绝不仅仅是停留在科研的阶段。另外,专家系统将业务转化成计算机可以识别的模式,一定程度上提供了自动分析和决策,但这并不是说人工参与就消失了,这个请不要误读。外星人存不存在,我不清楚,但是专家系统是实在的,通过业务去分析数据,通过挖掘数据去发现业务,这本身就是一个良性的马太循环,缺一不可。
[该贴被kingsun1980于2009-09-07 18:43修改过]

谢谢指教,我对这个行业不熟悉,随口说了一些直觉判断。专家系统是有发展前途的学科,如果搜索引擎引入更多专家系统了,那我们就会更加准确得到我们想要的结果。

呵呵,使我想起了尿布和啤酒的故事。

如果专家系统体现在DSL这样专家性质的语言,我确定是一个非常有吸引力的,因为我们首先要解决让专家和程序员都能看懂的语言,除了UML还不够,还需要更细节的语法。