从专家系统到知识图谱

发布于: Android转发:0回复:0喜欢:5

文/尼克

The test of all knowledge is experiment.

实验是知识的试金石。

——Feynman Lectures on Physics(《费曼物理学讲义》)

Knowledge is power.

知识就是力量(也是权力)。

——培根

1. 费根鲍姆和DENDRAL

费根鲍姆进入卡内基理工学院(卡内基梅隆的前身)攻读电气工程(简称EE)本科时才16岁。大三时一门“社会科学的数学模型”的课设定了他的人生轨迹,那门课的老师是司马贺。本科毕业后他留校,在司马贺任院长的工业管理研究生院读博士。博士毕业后他来到加州大学伯克利分校的工商管理学院任教。他曾和师弟菲尔德曼(Julian Feldman)合编过一本论文集《计算机与思维》,这本文集的版税后来被用来在国际人工智能联合会(IJCAI)资助“计算机与思维”奖,这成为人工智能界给40岁以下青年学者最重要的奖项,初衷有点像数学界的菲尔茨奖。排在一长串获奖人第一位的是维诺格拉德(Terry Winograd),其中还有雷纳特(Douglas Lenat)、英年早逝的马尔以及吴恩达,2016年度是斯坦福大学做自然语言处理的新秀Percy Liang。1962年麦卡锡从东岸的麻省理工学院搬到美丽的旧金山湾区,组建了斯坦福大学计算机系。1964年费根鲍姆响应麦卡锡的召唤,离开加州大学伯克利分校,到不远处的斯坦福大学协助麦卡锡。

1958年李德伯格(Joshua Lederberg)获得诺贝尔生理学或医学奖时才33岁,得奖的第二年,他就离开当时任教的威斯康星大学前往加州,受邀重建斯坦福大学的医学院并担任遗传学系主任。那时,斯坦福大学的医学院还在旧金山,和公立的加州大学旧金山分校一起。加州大学其他各分校没有医学院,旧金山分校就是整个加州大学的医学院,直到20世纪90年代末期,斯坦福医学院和加州大学旧金山分校分久必合,寻求合并但最终未果。话说回来,李德伯格在哥伦比亚大学读本科时就受到“莱布尼茨之梦”的影响,企图寻找人类知识的普遍规则。1962年夏,李德伯格还在斯坦福计算中心听编程的课,他上手的第一门语言是BALGOL。他很快就结识了刚从麻省理工学院加入斯坦福大学的麦卡锡,他们还企图把明斯基也吸引到斯坦福医学院。

费根鲍姆1964年在斯坦福大学高等行为科学研究中心的一次会上见到了李德伯格,对科学哲学的共同爱好促成了他们漫长而富有成效的合作。那时李德伯格的研究方向是太空生命探测,更具体地说就是用质谱仪分析火星上采集来的数据,看火星上有无可能存在生命。费根鲍姆的兴趣则是机器归纳法,用现在的话说就是机器学习。他们俩,一个有数据,一个搞工具,一拍即合。从科学史的角度看,这是个跨学科的合作,李德伯格的影响力和领导力起了核心作用。按照布坎南(Bruce Buchanan)的说法,以费根鲍姆为首的计算机团队的任务就是把李德伯格的思路算法化。李德伯格完成哲学构思后就兴趣迁移了,他最初的想法花了费根鲍姆们5年的时间才得以实现,李德伯格责怪他们太慢了。

费根鲍姆很快就发现李德伯格是遗传学家,对化学其实也是一窍不通,于是他们找到同校的化学家兼作家兼口服避孕药发明人翟若适(Carl Djerassi)帮忙。翟若适没得过诺贝尔奖,但他得过美国国家科学奖(得奖人包括维纳、哥德尔、香农、丘成桐)和美国国家技术与创新奖(得奖人包括杜邦公司和HP创始人帕卡德、Intel创始人诺伊斯、微软创始人盖茨),这是非常独特的。另一位两个奖都得过的是发明了计算机RISC架构的寇克(John Cocke)。翟若适那时刚从韦恩州立大学转到自由的斯坦福大学,李德伯格是他在加州结识的第一个朋友。三人合作的结果就是第一个专家系统DENDRAL。DENDRAL输入的是质谱仪的数据,输出的是给定物质的化学结构。费根鲍姆和他的学生捕捉翟若适和他的学生的化学分析知识,把知识提炼成规则。这个专家系统有时做得比翟若适的学生还准。在翟若适的大部头自传中,只有一小段提到DENDRAL,这个项目在他成果辉煌的学术生涯和多姿多彩的生活中,实在算不上什么。翟自传中说费根鲍姆一直把DENDRAL的核心称为“翟算法”,而布坎南则记得大家都认为专业知识的提供者是李德伯格,也许是费根鲍姆圆滑,也许是计算机团队更多地接触李德伯格。

费根鲍姆是学术活动家,刚到斯坦福大学就担任计算中心主任,当时这个职位比计算机系主任恐怕还更有影响力。20世纪60年代初期和中期,费根鲍姆曾两次访问苏联,对苏联的计算机科学和控制论研究印象深刻,他早就观察到苏联的研究偏理论而轻实践。但苏联下棋程序的胜利确实让世界吃惊。苏联控制论的定义太宽泛,无所不包,其结果也没有重点,难有突破性成果,而当时中国的自动化学科就是仿效苏联的。美国不存在自动化学科,无所不包的EE和自动化有很大交集。费根鲍姆意识到他的苏联同行企图利用他的名望来为苏联同行背书并争取资助。而在美国,动态规划的发明人贝尔曼则通过军方智库兰德公司给空军建议美国应该提防苏联的计算机科学研究。费根鲍姆不爽贝尔曼的报告,认为这是他利用苏联威胁论来为自己争取科研红利。而若干年后,费根鲍姆却利用日本的五代机项目宣扬日本威胁论,从而为自己在本国拉到不少军方的科研经费,这不得不让人怀疑他的动机。费根鲍姆创办的数家公司因各种原因,都没有大的成功。其中Teknowledge公司没成,倒是副产品、知识库项目SUMO留了下来,现在开源了,成为几大基础的常识知识图谱之一。

2. MYCIN

MYCIN的牵头人布坎南也是DENDRAL的核心成员。布坎南是哲学出身,兴趣广泛。1964年,在密执安州立大学学哲学的布坎南想在系统开发公司(SDC)找份夏季实习的工作,没曾想SDC居然把他的简历发给了兰德公司,敢情国防口的简历也共享。当时在兰德做夏季工作的费根鲍姆给布坎南打了个电话,于是布坎南到兰德公司实习并和费根鲍姆结缘。布坎南的研究方向是科学发现,他走的是逻辑路数而不是心理路数,没成想费根鲍姆也对科学哲学兴趣浓厚。事实上,费根鲍姆和李德伯格最早关于DENDRAL的文章中提到了“机械化科学推理”(mechanizing scientific inference)的概念。布坎南博士毕业后想去教哲学,请费根鲍姆写推荐信,但费说服布坎南到斯坦福大学和他一起搞真正的科学发现。布坎南的哲学背景帮助了他,在DENDRAL项目的开头,李德伯格和费根鲍姆都没想到假设生成和理论生成的区别,同时布坎南也意识到他在哲学课堂里学到的卡尔纳普理论在计算上行不通。整个DENDRAL团队中没有一个人对其中涉及的化学知识有全部的了解,每个人都假设其他人知道。布坎南早期的演讲开头都得讲点化学背景知识,听众听不懂也不耐烦,他记得有一次是麦卡锡站出来对听众大喊:“你们就不能好好听着吗?”(Just listen,will you?)麦卡锡的威望为他解了围。

DENDRAL获得成功后,布坎南开始寻找新的方向。实验科学与理论科学比较,是相对原始的,原始经验也相对容易转换成规则。除了化学和生物学,医学是另一个可以马上利用专家系统的领域。此时的斯坦福医学院来了一位从哈佛大学本科数学毕业的高才生肖特莱福(Edward Shortliffe),他1976年在斯坦福医学院拿到医学学位M.D.,但一年前在布坎南的指导下,他已经获得了计算机科学的博士,论文就是专家系统MYCIN,一个针对细菌感染的诊断系统。MYCIN的处方准确率是69%,当时专科医生的准确率是80%,但MYCIN的成绩已经优于非本专业的医生。肖特莱福因此获得1976年ACM为青年计算机科学家设立的霍普(Grace Murray Hopper)奖。肖特莱福随后去麻省总医院做了三年内科住院医生,1979年回到斯坦福大学兼任医学院和计算机系的教授。

MYCIN团队认为DENDRAL是专家系统的始祖,这一方面考虑了DENDRAL的时间点确实更早,另一方面布坎南本身就出自DENDRAL。但纽厄尔,作为外人,却认为MYCIN才是专家系统的鼻祖,因为MYCIN首创了后来作为专家系统要素的产生式规则:不精确推理。DENDRAL的初衷则是从专家采集来的数据做机器归纳,或者说机器学习。

虽然MYCIN从来没被临床使用过,但MYCIN的开发原理后来逐步被提炼成为专家系统核心EMYCIN的基础。EMYCIN的动机是两方面的,除了通用化之外,政府资助也是一个原因。20世纪70年代初,DARPA削减了对人工智能的资助,原来的长期资助改为每年评审。每次向DARPA汇报时,费根鲍姆团队都得事先对词,他们不敢说研究经费被用来做医学相关的研究。直到后来他们拿到美国国家健康研究院(NIH)和美国国家医学图书馆(NLM)的资助,情况才有所好转。

3. 专家系统的成熟

一个领域成熟与否的主要测度之一是赚不赚钱。人工智能没有商业应用一直是被批评的原因之一。专家系统时代最成功的案例是DEC的专家配置系统XCON。DEC是PC时代来临之前的宠儿,他们用小型机冲击IBM。当客户订购DEC的VAX系列计算机时,XCON可以按照需求自动配置零部件。从1980年投入使用到1986年,XCON一共处理了8万个订单。

XCON到底为DEC省了多少钱一直是个谜,最高的说法是一年省4000万美元,还有的说法是2500万美元,最低的说法是顶多几百万美元。无论如何,DEC是把XCON当作商业成功来宣传的。XCON确实体现了技术的进步,其起源是卡内基梅隆大学的R1。说来也有意思,最早的XCON居然是用Fortran语言写的,失败后居然令人发指地改用BASIC语言。纽厄尔的博士生Charles Forgy发明了Rete算法和OPS语言,极大地提高了专家系统的效率,XCON迅速采用了OPS和随后的OPS5。

20世纪80年代初到20世纪90年代初,专家系统经历了10年的黄金期,随着日本五代机的幻灭,“专家系统”变成了一个不仅不时髦,反而有负面含义的词。互联网催生的电子商务,有很多和XCON类似的应用场景,于是新瓶装旧酒,专家系统摇身一变,改名规则引擎,成为中间件的标配。征信、反欺诈和风险控制一直是规则系统擅长的领域,征信公司FICO收购了一系列一直苟延残喘的专家系统公司,包括Forgy的RulesPower。目前已经很少有独立的专家系统公司了。

4. 知识表示

知识表示一直是人工智能不温不火的一个领域,催生者是专家系统和自然语言理解。KRL(Knowledge Representation Language)是最早的知识表示语言之一,有影响但不成功。参加过施乐实验室(Xerox PARC)KRL项目的维诺格拉德在多年后总结教训时说,KRL要同时解决两个问题:第一,知识工程师的可用性,也就是说人可读可写;第二,得有底层的麦卡锡风格的逻辑来支撑语义。要同时解决这两个互相矛盾的问题,必然导致结果太复杂,四不像,知识工程师和逻辑学家都不买账。

逻辑

逻辑是最方便的知识表示语言,从亚里士多德开始人们就熟悉,逻辑同时具有各种数学性质。任何一本逻辑入门书都会有那个著名的苏格拉底的例子:人必有一死,苏格拉底是人,所以苏格拉底必死。这个三段论表示成现代的数理逻辑就成了如下形式。

大前提和小前提:(∀x) Man(x) ⊃Mortal(x)&Man(Socrates)

结论:Mortal(Socrates)

一阶逻辑也称谓词逻辑,是希尔伯特简化罗素的《数学原理》中逻辑的结果。谓词逻辑没有本体,也就是没有关于特定世界的公理。也正因此,哲学家、逻辑学家蒯因(W. V. Quine)把逻辑等同于一阶逻辑。一阶逻辑只是语法,没有本体,没有语义;而高阶逻辑,在蒯因的眼里,其实是“披着伪装的集合论”(set theory in disguise)。费根鲍姆所谓的知识就是本体。当然,费根鲍姆不是从逻辑的角度而是从心理的角度看问题,这显然受到他的老师纽厄尔和司马贺的影响。

可计算性和计算复杂性理论与逻辑密不可分。一阶逻辑是不可判定的,命题逻辑的可满足性问题是NP完全的。知识表示的一个核心问题是找到一个一阶逻辑的子集,它是可判定的,并且尽可能地有效。描述逻辑应运而生。描述逻辑可以表达实体和类以及类和类之间的关系。描述逻辑中的实体就是一阶逻辑中的常量。实体的表示在描述逻辑中也称Abox,例如“牛顿是物理学家”可以表示为:

Physicist(Newton)

描述逻辑中不需要变量,描述逻辑的术语更像是集合论,类和类之间的关系也称TBox。例如,在一个本体中,律师事务所(Lawfirm)是公司(Company)的子集,公司是组织(Organization)的子集,组织是Agent的子集,Agent是Thing的子集,这样一系列关系就可以表示为:

律师事务所⊆公司⊆组织⊆ Agent ⊆ Thing

其对应的一阶逻辑表达式为:

Lawfirm(x) → Company(x), Company(x) →Organization(x) ,

Organization(x)→Agent(x) ,

Agent(x)→Thing(x)

一阶逻辑的定理证明的Term Index技术中有Subsumption的概念,表示Term之间的集合从属关系。Tbox表达了一种简化的Subsumption。除了ABox和TBox,还有RBox表示关系或者角色,关系之间可以有集合论中常有的子集、交集、并集等操作,例如“父亲的父亲是祖父”可表示为:

has Father ◦ has Father ⊆ has GrandFather

其对应的一阶逻辑表达式为:

has Father(x,y) ∧ has Father(y,z) → has GrandFather(x,z)

心理学与语言学

知识表示的另一个来源是心理学和语言学,例如,概念的上下位继承关系最方便的表示方式是树,而不是一阶逻辑。心理学实验表明,人在回答“金丝雀会飞吗?”要比回答“鸟会飞吗?”花的时间长。要回答第一个问题,人要再做一次“金丝雀是鸟”的推理。因为人在存储知识时只存储抽象的,这是空间经济的考虑。心理学家米勒和乔姆斯基等一起开拓了认知科学,他最出名的论文大概就是那篇《魔力数字七》(“The Magic Number Seven”)。他除了理论的贡献,晚年还带领普林斯顿大学的认知科学实验室同仁做了“词网”(WordNet)。WordNet不单是一个同义词辞典,还定义了词的上下位关系,例如,car的一种上位是motor,可以再上位到wheeled vehicle,直到entity。WordNet成为自然语言处理的基本工具。

明斯基的框架

框架(Frame)就是类型。金丝雀是鸟,所有鸟的性质自动流传给金丝雀,鸟能飞,金丝雀也能飞。苹果手机是手机,手机能打电话,苹果手机也能打电话。框架导致了面向客体(Object-Oriented)的设计哲学,相关的程序设计语言都受此影响。从这个意义上还真验证了:当一个概念有了成熟的实现时,就自动脱离了人工智能。

差不多同时出现的语义网络(Semantic Net,注意这个和后面讲到的Semantic Web相关但不同)是与框架等价的表示方式。语义网络中的每个节点就是一个框架,每个节点上的边可以看作一个slot。

Sowa的概念图

IBM的索瓦(John Sowa)在20世纪80年代初提出“概念图”(Conceptual Graph),企图把知识表示奠定在更加坚实的数学和逻辑基础上。大约同时或稍早,德国数学家威勒(Rudolf Wille)提出基于代数的“形式化概念分析”(Formal Concept Analysis)。程序设计语言理论也变得越发严谨。在概念图中,多重继承的类型层次(Muliple Inheritance)可以用代数的偏序关系“格”(Lattice)来表示。“全序”关系(total-order)是“偏序”的一个特例。一个全序集中的成员要么是a≤b,要么是b≤a。偏序关系容许一个成员可以有多个上级,也可以有多个下级。而全序集中,每个成员只能有一个上级和一个下级,所以,全序关系有时也被称为线性关系。当用“格”做知识表示时,每个概念就是“格”中的一员,概念之间服从偏序关系。多重继承的面向客体都是偏序关系。

5. 雷纳特和大知识系统

在日本五代机项目带来的狂潮中,美国政府决定联合多家高新技术企业在得克萨斯大学奥斯汀分校所在地建立微电子与计算机技术公司(MCC,Micro electronics and Computer Consortium)以抗衡日本,海军上将英曼(Inman)被任命为CEO,当时在奥斯汀分校从事机器定理证明的资深教授布莱索(Woody Bledsoe)全职加入MCC负责研发。这让人想起“二战”时曼哈顿工程中格里菲斯将军和奥本海默的分工。费根鲍姆提议建立美国的国家知识技术中心(National Center for Knowledge Technology),像狄德罗创建百科全书一样,把人类有史以来的知识建库,这自然对MCC的计划也有很大影响。布莱索向英曼推荐了费根鲍姆的学生雷纳特(Douglas Lenat)。

雷纳特此时30岁出头,是人工智能领域的一颗新星。他在宾夕法尼亚大学得了数学和物理双学位后又拿了个数学硕士学位,毕业后他对数学和物理的学术工作都失去了兴趣,但一毕业马上就面临征兵,只得又跑到加州理工学院接着读博士。期间他对人工智能产生了强烈兴趣,遂转学到斯坦福大学想跟随麦卡锡,但正赶上麦卡锡的学术休假年,于是他变成了费根鲍姆和布坎南的学生。他的博士论文实现了一个称作AM的程序,为此,IJCAI在他博士毕业第二年就给了他一个“计算机与思维”大奖。AM就是自动数学家(automated mathematician)的简称,它可以自动“发现”定理。雷纳特没有用“发明”这个词,从某种意义上体现了他的哲学立场。在经受了一连串关于AM不严谨的批评之后,雷纳特推出了AM的后继Eurisko。Eurisko的应用领域更加广泛,包括博弈。

当雷纳特来到MCC时,他已经有了一个新的想法:把人类的常识编码,建成知识库。这个新项目叫Cyc,这三个字母取自英文单词“百科全书”(encyclopedia)。这其实就是最早的知识图谱。雷纳特坚定地支持他老师费根鲍姆的知识原则(knowledge principle):一个系统之所以能展示高级的智能理解和行为,主要是因为在所从事的领域所表现出来的特定知识:概念、事实、表示、方法、比喻以及启发。雷纳特甚至说:“智能就是一千万条规则。”

索瓦提出“知识汤”(knowledge soup)的说法:我们脑子里的知识不是一坨知识,而是好几坨知识,每一坨内部是一致的,但坨和坨之间可能不一致,坨和坨之间是松散耦合的。古哈(Guha)在斯坦福大学的博士论文导师是麦卡锡和费根鲍姆,他的论文讲的是如何将一个大理论分解为多个“微理论”(microtheory),如何利用Cyc作为多个不同数据源的前端而不是全部,这恰是索瓦的“知识汤”的实现。Cyc由此可成为数据或信息整合的工具。雷纳特对此有点不爽,但他还是把古哈招到了门下。

雷纳特对Cyc自视甚高。他1984年时曾预言15年后,也就是1999年,每台马路上卖的电脑里都得预装Cyc。1986年,雷纳特再度预言:Cyc如果可用的话,至少要有25万条规则,这至少要花350个人年,也就是35个人干10年。Cyc项目开始时有30个左右的知识工程师,他们每天的工作就是利用Cyc的语言CycL把日常生活的常识编码,这包括教育、购物、娱乐、体育等。到了1995年,日本的五代机项目烟消云散,美国政府也削减了对MCC的支持。雷纳特带着Cyc离开MCC,成立Cycorp公司,开始了漫长的创业路程。核心骨干古哈离开MCC,先后加入了苹果、网景和谷歌三家公司。

倒是WordNet在各种版本的Linux配置的App Center里很容易找到。WordNet比Cyc更基本也更好用,当然WordNet没有Cyc那么多的推理功能。再过50年,人们对一阶逻辑也不会像对莎士比亚那么熟。也许WordNet并不是一个好的例子。Cyc的原始目标更像是当今的维基百科,不过维基百科的受众是人,Cyc的用户是机器。Cyc在20世纪90年代初期就被批评说没有成功案例,而当时的其他专家系统都有或多或少的应用。雷纳特辩解道,Cyc只有在知识量突破临界点(critical mass)之后才能带来收益。现在距离那时的批评,已经又过去了20多年。我们还是看不到可观的应用。

Cyc现在有两个版本:企业版和研究版。企业版收费,研究版对研究人员开放。曾经有一个开源的OpenCyc,是一个简版,但试用中发现OpenCyc引发的问题太多,被停掉了,Cyc正在准备用一个云版代替OpenCyc。

雷纳特曾说:“学习只在已知事物的边缘发生,所以人们只可能学到与自己已知相似的新东西。如果你试图学习的东西与你已知的东西距离不远,那么你就能学会。这个边缘的范围越大(你已知的东西越多),就越有可能发现新的东西。”这不仅是他早期研究机器学习的感悟,也可以看作他对后来Cyc项目的体会。1984年雷纳特开始Cyc项目时,才30岁出头,现在30多年过去了,他已经年近70岁,仍然担任Cycorp的CEO。

6. 语义网

由专家系统一脉相传的这一派自身的逻辑功力不够,他们一直在和定理证明派掐架;另一方面,他们的工程实践又略显欠缺。专家系统风过了后,他们变成了暗流,直到歪打正着的万维网支持者之一伯纳斯-李(Tim Berners-Lee)提出“语义网”(Semantic Web,见Berners-Lee (2001)),他们认为机会来了。伯纳斯-李因为草根且便捷的HTTP协议和超文本链接标准HTML出了名,被各种媒体称为万维网的发明人。第一波互联网热之后,他马上离开欧洲粒子中心,到麻省理工学院新创办的万维网协会(W3C)担任理事长。麻省理工学院给他在当时的计算机科学实验室(现已合并为CSAIL计算机科学与人工智能实验室)谋了个位置,显然目的是提高学院在互联网大潮中的影响力。互联网热拉大了美国科技创新之都硅谷和麻省理工学院所在波士顿128公路之间的距离。20年后,伯纳斯-李不负所望,得了2016年图灵奖,这大概是图灵奖有史以来含金量最低的一个。

其实万维网更大的功劳应该算在天才程序员安德森(Marc Andreessen)的头上,是革命性的Mosaic浏览器带来了互联网革命。年轻的安德森志在改变世界,而不是徒得虚名。在克拉克(Jim Clark)的指点和帮助下,他创办了互联网标志性企业“网景”,后来又经历了几次艰难但不是特别成功的创业。在第二次互联网高峰来临时,安德森与时俱进地创办了新一代风险投资公司安德森-霍洛维茨,成果和影响力直追老牌风投KPCB和红杉资本。

话说回来,得益于20世纪80年代就已成熟的SGML标准,超文本链接标准HTML是SGML的某种不够深谋远虑的简化版。而HTTP顶多算挂在浏览器伟岸身躯上的一个可有可无的小玩具,直到互联网标准化组织IETF对HTTP做了几次修改之后,HTTP才更像是个专业的东西。万维网协会(W3C)的目的是为万维网设立标准。伯纳斯-李身边一下子聚集了一帮多年不得志的非主流IT从业者。他们在W3C中提出的几个乱七八糟的标准确实体现出他们的理论功底之缺乏。在W3C的各种会中经常会见到各大技术公司中游离于边缘的资深从业者,有些人换了工作还是代表不同的公司参加各种标准化组织的工作组会议,他们的职业生涯不是为了做出技术贡献,而是不断为自己的存在找各种高尚的理由并脱离公司的管理体制。2006年美国人工智能年会(AAAI)上,在伯纳斯-李的主题发言之后,时任谷歌研发总监的诺维格(Peter Norvig)尖锐地发问,被人认为是毫不留情地批评了语义网。

W3C语义网的工作后来在一些准逻辑学家加入后引入了描述逻辑,变得貌似严格起来,经过几次迭代后演化成了大杂烩,理论上不严谨,实践中不可用。所谓“万事开头难”,但开了一个坏头,则是灾难,为后人修正制造了人为障碍。我们可以把语义网的工作与早期的DENDRAL和MYCIN做个对比,很明显,无论理论、实践还是人文社会政治环境,都不可同日而语。几乎每个“语义网”的项目都能看到古哈的影子,2013年他还在谷歌时曾有个演讲“隧道深处见到光”(Light at the End of the Tunnel),与其说是夸耀成功,倒不如说是总结教训。

7. 谷歌和知识图谱

除了维基百科,还有个Freebase。维基百科的受众是人,而Freebase则强调机器可读。2016年维基百科达到1000万篇文章,其中英文版达到500万篇文章,而Freebase有4000万个实体表示。Freebase的背后是一家名叫Metaweb的创业公司,创始人之一是希利斯(Danny Hillis)。2010年谷歌收购了Metaweb,给它起了个响亮的名字“知识图谱”。2016年谷歌对Freebase停止更新,把所有数据捐给维基数据(Wikidata)。维基数据是维基百科的母公司Wikimedia的德国分部的项目,得到了微软创始人艾伦出资创办的艾伦人工智能研究所的支持。

除了维基数据之外,还有几个开源的知识图谱,如DBpedia、Yago、SUMO等。值得一提的是,SUMO是费根鲍姆创办的一家失败的公司Teknowledge的遗产。所有开源的知识图谱的基础数据的重要来源之一都是维基百科。以维基百科中居里夫人的词条为例,在“居里夫人”页面的右边,有个被称为infobox的框,里面包含了居里夫人的数据,例如她的生日、卒日、出生地、母校、老师、学生等,这些数据已经接近结构化的质量。

IBM沃森的底层就整合了两个开源知识图谱Yago和DBpedia。在常识图谱的上面还可以构建垂直领域(例如生物、健康、金融、电商、交通等)的专业图谱。

纽厄尔和司马贺在人工智能中是符号派。其实,符号派中也派中有派,比司马贺一支更加“符号”的是机器定理证明。纽厄尔和司马贺的早期生涯曾和一帮逻辑学家结下梁子,而费根鲍姆继承了老师的基因,对定理证明的第二代代表人物阿兰·罗宾逊极尽攻击之能事。明尼苏达大学巴贝奇研究所做口述历史的诺伯格在采访各位人工智能前辈时,总想把符号派归结到麻省理工学院和卡内基梅隆大学之争,而在斯坦福大学的麦卡锡和SRI的尼尔森偏麻省理工学院,同在斯坦福大学的费根鲍姆则偏自己的母校卡内基梅隆大学。当然我们还可以溯源到更早的达特茅斯会议上麦卡锡和司马贺结下的梁子。但归根结底,专家系统的理论基础依然是机器定理证明。尽管费根鲍姆从某种意义上人造了“知识与推理”的对立话题,并强调知识对于逻辑推理的重要性,但知识和推理是不可分割的一对,强调知识并不能让你脱离符号派。如果从纯粹的定理证明的角度简单地看专家系统,所谓知识其实就是公理,公理越多,推理的步骤自然就会越少。所谓知识和推理的对立,其实是狭义(特殊目的)和广义(通用)的区别。知识是狭义的,推理是广义的,因为不需要过多的公理。狭义对机器的短期实现高效,但人的学习门槛较高;而广义对机器的实现自然低效,但人学习的门槛较低。一阶逻辑的学习门槛最低,但当知识库变大,推理引擎也得变得更加专用才能高效。

参考文献指南

DENDRAL项目的来龙去脉见DENDRAL: A Case Study of the First Expert System for Scientific Hypothesis Formation(Lindsay et al.,1993)。李德伯格1987年的文章“How DENDRAL Was Conceived and Born”值得一读,除了关于DENDRAL的人和事的回忆,还有他对科学方法的体会和总结。MYCIN项目见布坎南的文章“A (Very) Brief History of Artificial Intelligence”(Buchanan,2006)以及布坎南与肖特莱福合著的书Rule-Based Expert Systems: The MYCIN Experiments of the Stanford Heuristic Programming Project(Buchanan et al.,1984)。纽厄尔在给后者写的前言中指出MYCIN才是真正的第一个专家系统。

布坎南在1991年曾接受明尼苏达大学巴贝奇研究所的口述历史采访,见“Oral History Interview with Bruce G. Buchanan”(Buchanan,1991)。在布坎南的采访中,我们清晰地看到一些学术管理者在团队中举足轻重的作用,例如斯坦福大学人工智能实验室的副主任(Executive Officer,美国海军中简称XO,特指副舰长)厄内斯特(Les Earnest),他为麦卡锡和费根鲍姆打理人工智能实验室的日常事务,撰写给各种资助机构的项目计划书,而在麻省理工学院为明斯基操持这些事务的是温斯顿(Patrick Winston)。

布坎南在回忆1965年到1985年主要的人工智能事件时,提到两件事:一个是硬件进步(LISP工作站是代表例子),另一个是基于知识的系统。布坎南把计算机科学分成两个维度,横轴是处理,纵轴是数据,这多少有点像知识和推理之分。数据可按类型分成数值的和符号的,而处理则分为算法的和启发式的,那么整个计算机科学可以划分成如下4个象限:

Cyc项目见Building Large Knowledge-Based Systems: Representation and Inference in the Cyc Project(Lenat,Guha,1989)。描述逻辑从浅到深有各种文献,“Foundations of Description Logics”(Rudolph,2011)是一篇中间适度的文章。

对人类的知识做梳理是人类最早的智力活动之一,也是人类的集体自我意识。当欧洲还在黑暗时期时,伊斯兰科学迎来了黄金期。法拉比(Al-Farabi)是伊斯兰世界第一个自成系统的哲学家,他对亚里士多德的注释和对柏拉图与亚里士多德哲学的调和对后代阿拉伯哲学和西方哲学影响很大,被称为“亚圣”(Second Master或者Second Teacher),首圣当然是亚里士多德了。他在那本百科全书式的《科学举要》(Enumeration of the Sciences)中,把知识分为几个类别:(1)语言;(2)逻辑;(3)数学与音乐,这包括算术、几何、光学、天文、音乐、力学等;(4)物理和神学;(5)形而上学、道德和政治学。柏拉图时代就有所谓“四艺”(Quadrivium)之说,包括算术、几何、音乐和天文;另外也有所谓“三科”(Trivium)之说,即语法、逻辑与修辞。“三科”加“四艺”成为“七艺”,是西方通才教育(liberal arts)的源头。而法拉比的第一部分语法和第二部分逻辑,构成了“三科”,而第三部分就是柏拉图的“四艺”。法拉比的《科学举要》的章节次序很有意思,大概是学科鄙视链的源头之一,罗素所谓“层层王八”(turtles all the way down)。比法拉比更晚的阿拉伯文献学家奈迪姆(Ibn al-Nadīm)编撰的《书目大全》(al-Fihrist)尽管书目收录更加完整,但却没有法拉比那样对学科的层次的洞见。关于阿拉伯哲学和法拉比见穆萨威的《阿拉伯哲学》,关于奈迪姆的《书目大全》见The Fihrist of al-Nadīm: A Tenth-Century Survey of Islamic Culture(Dodge,1970)。

2012年出版的第十五版《大英百科全书》是最后的纸质版,其中专门有一卷Propedia,是整个百科全书的目录或者索引,也可以被看作某种知识的本体。在Propedia中,人类积攒的知识依序被分为:逻辑、数学、科学、历史与人文、哲学,等等。当然科学又被依次细分为:物理科学、地球科学、生物科学、医学、社会科学与心理学,等等。我猜这不完全是按照学科或者智力的鄙视链来的,因为主编是一位执拗的哲学家。但《大英百科全书》的知识颗粒度太粗了,相对维基百科,数据量太小。关于大英百科全书和维基百科的比较见尼克《哲学评书》中“百科全书死了,百科全书万岁”一章。