第三章 知识就是力量(第2页)
研究人员大概用了5年的时间对MY的知识库进行编码和补充,在它的最终版本里,知识库已经包含了数百条规则。
MY之所以被称为最具代表性的专家系统,是因为它包含了后来的专家系统必不可少的所有关键特性。
首先,MY的系统操作和人类专家进行交互类似——向用户提出一系列问题,并且记录用户的响应。这成为专家系统的标准模型,而MY的主要功能——诊断——则成为专家系统的标准任务。
其次,MY的推理是可以还原和解释的。推理透明度的问题在人工智能应用方面有时极其重要。如果一个人工智能系统被应用在一些生死攸关的决策中(以MY而言,比如治疗方案事关病人的生死),要想让人们遵从它的建议,就需要人们信任这个系统。因此,解释和证明人工智能建议的合理性是非常有必要的。经验表明,作为“黑盒”运行的系统,如果没有能力证明其建议的合理性,就会受到用户的严重质疑。
MY至关重要的能力是它可以明确给出得出这一结论的原因,它是通过一系列推理链来得出最终结论的,即那些被触发的规则和触发规则的信息,都是有迹可寻的。在实践中,大多数专家系统的解释能力最终都归结为类似的东西。虽然不是特别理想,但这样的解释很容易追根溯源,并且有助于理解系统运作的机制。
最后一点,MY能够应对不确定性:有些时候用户向系统提供的信息并不是完全真实和准确的。应对和处理不确定性是对专家系统及人工智能系统的一个普遍要求,在MY这样的系统中,极少根据某个单一的特性就得出明确结论的规则。例如,用户的血液检测结果呈阳性,这就为系统判断提供了一个有力的证据。但是,总有出现检测错误的概率(比如“假阳性”或者“假阴性”之类);或者,患者表现出的某些症状可能是某种特定疾病的征兆,但是不能确定它一定就是某种特定疾病(例如咳嗽是拉沙热的典型症状之一,但病人有咳嗽的症状不能够直接判定他患了拉沙热)。为了能够做出准确的判断,专家系统需要以某种更保险的方式来考虑症状信息。
为了处理不确定性,MY引入了确定性因素的技术——某种表示对某一特定信息的信任或者不信任程度的数值。确定性因素技术是处理不确定性问题的一个相当特别的解决方案,但也因此招来了大量的批评。不确定性处理问题和推理问题成为人工智能研究的一个重要课题,至今仍然如此。我们将在第四章深入讨论。
1979年,MY参与了10个实际病例的评估实验,在血液疾病诊断方面,MY的表现与人类专家相当,并且高于普通医生的平均水平。这是人工智能系统首次在具有实际意义的任务中展示出人类专家级或以上的能力。
繁荣再起
20世纪70年代涌现的专家系统绝不止MY,同样来自斯坦福大学,由爱德·费根鲍姆(EdFeigenbaum)领衔的项目DENDRAL才是世界上第一例成功的专家系统,它也使费根鲍姆成为知识型系统最著名的倡导者之一,并被人们尊称为“专家系统之父”。DENDRAL的开发目的是帮助化学家根据质谱仪提供的信息来确定化合物的成分及结构。在20世纪80年代中期,每天有成百上千的人在使用DENDRAL。
美国数字设备公司(DEC)开发的R1X系统,旨在帮助他们配置VAX系列计算机。在20世纪80年代,DEC公司声称该系统已经处理了超过8万份订单,当时系统有3000多条规则,涉及5500个不同的系统组件。到了80年代末,R1X系统的规则数量已经扩展至17500多条,开发者声称该系统为公司节省了超过4000万美元。
DENDRAL项目证明专家系统是可用的,MY证明它可以在专业领域胜过人类专家,R1X证明了它有商用价值。这些成功的故事引起了许多人的兴趣:人工智能似乎已经为商业化做好了准备。这是一个激动人心的故事,毫无疑问,海量的研发资金纷纷流入这个领域。一批初创公司忙不迭地从再度繁荣中获利,典型案例就是用于构建专家系统的软件平台,以及开发和部署专家系统的支持服务。不过你也可以购买专门设计用来快速执行LISP——构建专家系统的首选编程语言——的计算机,这些LISP专用机器一直到90年代早期还在使用。后来,普通个人计算机价格日益便宜,功能也日益强大,那时候再花费7万美元买一台只能运行LISP的计算机就是毫无意义的了。
不仅仅是软件行业,其他行业也争先恐后地乘着这场人工智能再度繁荣的东风飞速发展。20世纪80年代,工业界开始意识到,知识体系,尤其是专业知识,是可以培育和发展的重要资产,可以带来高额利润。专家系统似乎使这种无形的资产变为有形,知识体系的概念与当时西方经济进入后工业时代的观点相呼应——在这一时期,经济发展的新机遇主要来自所谓的知识型产业和服务业,而不是制造业或其他传统产业。
回顾一下专家系统发展的经历,我们可以看到,人工智能的再次繁荣不仅仅是MYDRAL等案例成功的故事,更重要的是,专家系统赋予了人工智能另一种可能性。你不需要相关知识领域的博士学位,就能构建一个专家系统(我敢打赌,你可以轻而易举理解前文所述的动物分类规则)。任何熟悉编程的人都可以明白专家系统的原理,事实上,构建一个专家系统似乎比传统编程还容易一些。一个全新的职业出现了:知识工程师。
具有讽刺意味的是,1983年,英国政府发起了一场雄心勃勃的计算机技术研究资助计划,名叫“阿尔维计划”,计划的核心就是发展人工智能。但鉴于莱特希尔10年前的报告几乎让英国的人工智能产业陷入死局,考虑到该领域的负面名声,似乎所有参与阿尔维计划的人都不愿意将之称为人工智能。相反,他们称之为“基于知识的智能系统”。人工智能的未来似乎一片光明——只要你不把它叫作人工智能。
基于逻辑的人工智能
虽然规则成为专家系统获取人类知识的主要方法,但也有大量其他方案存在。例如,图6就展示了一种名为脚本的知识展示方案(简化)版本,由心理学家罗杰·尚克(RogerSk)和罗伯特·亚伯森(RobertP。Abelson)开发。该方案基于一种关于人类理解能力的心理学理论建立,理论指出,我们的行为部分受刻板印象模式(即“脚本”)支配,我们也用这些模式来理解世界。他们认为同样的模式可以应用在人工智能中。以图6所示脚本为例:这是一个典型的餐厅场景,脚本(用自然语言)描述了参与者的各种角色(顾客、服务员、厨师、收银员)、启动脚本所需要的条件(客户饿了)、脚本需要操作的各种物理项(食物、桌子、钱、菜单、小费),并且,最重要的是与脚本相关的常规事件序列,在图6中,这些事项的编号为1—10。尚克和亚伯森推测这样的脚本可以用在人工智能程序中,用于理解故事。他们认为,当故事中的事件与常规剧本不同的时候,故事就会变得有意思(有趣、可怕、令人惊讶)。例如,一个有意思的故事可能包含这样的情况:在第4步以后脚本就停止运行了,即顾客点了餐,但是没有上菜。一个违法故事可能省略第9步:顾客点餐并吃东西,但没有付钱就离开了餐馆。他们尝试了几次以脚本为基础构建能够理解故事的系统,但成功率有限[33]。
图6 描述典型的餐馆就餐经历的脚本
另一个引起广泛关注的方案是语义网[34],它非常直观、自然,在当今社会,也经常被重新定义——事实上,如果让你去发明一个知识表述方案,我认为你很有可能做出类似的产品。图7展示了一个简单的语义网,它代表了有关我的一些知识(我的出生日期、居住地、性别和下一代)以及一些世界性常识(比如:女人首先是人,大教堂既是一座建筑又是一个礼拜场所等)。
图7 一个简单的语义网,包含我的个人信息、子女信息和居住信息
在以知识为基础的人工智能兴起时,似乎每一个人都有自己的知识表述方案,而且跟其他人的不兼容。
虽然专家系统事实上的知识表述方式是基于规则的,但在知识表述方面,研究人员仍然有不少困扰。其中之一就是规则太简单,无法获取复杂环境下的相关知识。比如MY系统的规则就不适用于会随时间变化的环境,也不适用于多个用户(不管是人类还是人工智能)的环境,或者实际状态存在各种不确定性的环境。另一个问题是,用于专家系统获取知识的各种方案似乎都有些武断,研究人员希望能了解专家系统中的知识实际上意味着什么,并确保系统进行的推理是可靠的。简而言之,他们想为基于知识的专家系统提供合适的数学基础。人工智能研究人员德鲁·麦克德莫特(DrewMcDermott)在1978年撰写的一篇文章中总结了这些问题,并称之为“无意指不表达”[35],“对一个系统而言,正确性固然是重中之重,”他写道,“让人能理解它,也是十分关键的。”
20世纪70年代末就开始出现相关的解决方案,即使用逻辑作为知识表述的统一方案。为了理解逻辑在基于知识的系统中所扮演的角色,我们有必要了解一些逻辑的知识,以及它如何作用于系统。逻辑学的发展是为了理解推理,特别是区分好的(完备的)推理和坏的(不完备的)推理。让我们看一些推理方面的例子,包括完备和不完备的。
凡人终有一死;
艾玛是凡人;
所以,艾玛终有一死。
这就是典型的三段论逻辑推理的模式,我想你会同意这里的逻辑推理是完全合乎情理的:如果所有的人类都是凡人,终有一死,而艾玛是人类之一,所以她也是凡人,也终有一死。
我们继续看下一个例子:
所有的教授颜值都高;
迈克尔是一名教授;
所以迈克尔是位帅哥。
很显然,教授们倒是很乐意相信这个结论。然而,从逻辑的角度来看,这个推论也是没有什么错误的:事实上,从推论本身来看,它完全正确。如果真的所有教授颜值都很高的话,迈克尔是一名教授,那么得出他是帅哥的结论就完全合乎情理。逻辑并不关心你一开始的陈述是否真实(即前提是否真实),只关心你使用的模式和得出的结论是否合理。当然,那是在承认这个前提的基础上。
接下来我们看一个不完备的推理:
所有学生都努力学习;
索菲是一名学生;
所以索菲很有钱。
这个推理就是错误的,因为仅仅依靠前两个前提就得出索菲有钱的结论是不合理的。索菲有可能很富有,但这不是重点,重点在于你不能从给定的前提得出这个结论。
所以,逻辑是有关推理模式的,上述的例子所示的三段论也许是最简单有用的逻辑推理案例。逻辑告诉我们怎样正确地从前提中得出结论,这个过程被称为演绎。