第三章 知识就是力量(第1页)
第三章知识就是力量
我们不能低估20世纪70年代中期人工智能发展遇到的重挫,许多学者将人工智能视为一门伪科学——直到最近这一领域才算是恢复了名誉。不过,就在莱特希尔报告广为流传并且造成严重后果之时,一种新的研究方法开始引起人们的注意,它宣称可以解决人工智能受人诟病的问题。20世纪70年代末到80年代初,不少研究人员都突然决定朝这个方向进行研究,他们认为人工智能领域此前存在的问题是过度关注搜索和解决问题这种通用法则。有人提出,这些“弱”方法缺少一个关键的要素,而这一要素才是在所有智能行为中起决定性作用的组成部分:知识。Stiapote(知识就是力量),17世纪哲学家弗朗西斯·培根(Fran)如是说。人工智能研究者从字面上理解培根的名言,他们支持以知识为基础的人工智能研究,确信捕捉和使用人类现有的知识才是人工智能进步的关键。
一种基于知识的人工智能系统——专家系统开始出现,它能利用人类专业的知识来解决特定的、狭义领域的问题。专家系统提供的证据证明,人工智能在完成某些特定领域的任务方面远胜人类,更重要的是,它们首次向人们证明,人工智能可以应用于商业领域。基于知识的人工智能系统可以向广大受众传授相关的技术,这一代的人工智能研究毕业生决心把他们的知识应用在此领域。
专家系统与通用人工智能不同,它的目标是解决非常狭义、非常具体的问题,解决这类问题通常需要相当专业的知识。通常,能够解决这类专业问题的人类专家都需要花费极长的时间来学习相关知识,而这类专家相当稀少。
在接下来的10年里,基于知识的专家系统是人工智能研究的主要焦点,工业界的巨额投资流入了这一领域。20世纪80年代开始,人工智能的冬天趋于结束,另一股更狂热的人工智能浪潮悄然到来。
在本章中,我们将了解从20世纪70年代末期到80年代末期蓬勃发展的专家系统,我会从如何获取人类专家的知识并将其输入计算机开始,为你讲述MY[5]的故事——它是当年最著名的专家系统之一。我们将看到研究人员如何利用数学逻辑的强大和精准性,试图建立更丰富的获取知识的方法,以及为何这个目标最终也落空了。接下来,我们将听到有关Cyc工程的故事,这是人工智能历史上最雄心勃勃,也是最臭名昭著的失败项目之一。它试图利用人类专家的知识来解决有史以来最大的难题:通用人工智能。
使用规则获取人类专家知识
在人工智能系统中加入知识不是什么新鲜想法,正如我们在前一章所看到的,启发式方法作为一种将解决问题的重点放在有希望的方向上的方法,在黄金年代被广泛应用。启发式方法可以理解为包含能够解决问题的知识,但是启发式方法并没有直接去获取知识。而基于知识的人工智能体系拥有一个全新的思想:人工智能系统应该明确地获取和展示人类解决某类问题的专业知识。
最常见的方案是基于规则的,被称为知识表述。人工智能环境下,一条规则以“如果……那么……”的形式获取离散的知识块。实际上规则相当简单,我们来举个例子说明。以下是一些规则(用自然文字编写,而不是代码),它们是人工智能民间传说的一部分[31]。下面是为了帮助人们对动物进行分类而设计的人工智能专家系统,看看它是如何获取知识的(有关如何应用规则的细节,请参见附录A):
如果该动物产奶,那么它是哺乳动物。
如果该动物有羽毛,那么它是鸟类。
如果该动物能飞并且能产卵,那么它是鸟类。
如果该动物吃肉,那么它是肉食动物。
我们对这些规则作出如下解释:每一条规则都有前因条件(即“如果”之后的部分)和后果结论(即“那么”之后的部分)。例如以下规则:
如果该动物能飞并且能产卵,那么它是鸟类。
该规则中的条件是“该动物能飞,该动物能产卵”,结论就是“它是鸟类”。如果我们当前所掌握的信息与条件项相匹配,那么规则就会被触发,我们就能根据这条规则得出结论。因此,要使这条规则生效,需要两个条件:我们试图分类的那个动物能飞,而且能产卵。如果我们确实掌握了这两条信息,那么规则成立,我们就能得出结论,该动物是鸟类。这个结论为我们提供了更多的信息,这些信息又可以用在后续的规则中,用以获取更多的信息,如此层层推进。通常,专家系统以咨询的形式与用户交互,用户负责向系统提供信息,并且回答系统提出的问题。
图5所示的就是一个典型的专家系统结构,其中,知识库包含系统所拥有的知识——那些规则。工作存储器则包含了系统拥有的,有关当前正在解决的问题信息(例如“该动物有毛发”)。最后,推理机则是专家系统的一个重要组成部分,它负责在解决问题的时候应用系统内存储的知识。
图5 经典专家系统结构
只要给定知识库,比如上文举例的动物分类知识,推理机就能够以两种方式运行:第一种,用户向系统提供他们所知道的有关问题的信息(以动物分类为例,用户向系统描述该动物是否有条纹、是否食肉等),推理机会根据用户提供的信息,应用规则去获取尽可能多的新信息,这个过程叫作规则触发。然后,推理机将触发规则以后获得的新信息添加到工作存储器中,继续查看是否有新的规则被触发,然后不断重复这个过程,直到彻底无法通过已知信息应用更多规则得出更多新信息为止。这种方法被称为正向推理:从数据推理到结论。
另一种方式是反向推理,即我们从想建立的结论开始,反向推理出数据。例如,我们想确定这个需要被分类的动物是否为肉食动物,规则告诉我们,如果动物吃肉,就是肉食动物,因此,我们可以尝试确定动物是否吃肉。因为没有任何规则的结论是动物是否吃肉,系统只能向用户直接询问这个问题。
MY:一个经典的专家系统
在20世纪70年代出现的第一代专家系统中,最具代表性的可能就是MY系统了(这个系统名称来源于抗生素的英文词后缀“my”)[32]。MY系统首次证明,人工智能在某些重要的领域表现可以优于人类专家,它为后来无数的专家系统提供了模板。
MY本来是用于辅助医疗的系统,为人类血液疾病的诊断提供专业建议。它是由斯坦福大学的一个研究小组开发的,包括布鲁斯·布坎南(Bruan)领导的人工智能实验室专家组和特德·肖特利夫(TedShortliffe)领导的斯坦福医学院专家组。事实上,这个项目成功的一大要素就在于,专家系统是由真正的人类专家参与建设的。后来有许多专家系统都宣告失败,因为它们缺乏了相关领域人类专家的必要支持。
跟我们在前文提到的动物分类规则相比,MY关于血液疾病的知识则是用稍微丰富一些的规则来表示的。典型的MY规则(用自然语言表述)如下:
如果:
·该有机体不会被革兰氏染色法染色,并且
·该有机体的形态是杆状,并且
·该有机体是厌氧的
那么:
有可能(60%)该有机体是类杆菌
这是用实际的人工智能语言表述的MY规则:
RULE036:
PREMISE:($AGRAMGRAMNEG)
&MMORPHROD)
&AIRANAEROBIC))
A:(TXTIDENTITY
&ALLY0。6)