从专家系统到知识图谱 文/尼克The test of all knowledge is experiment.实验是知识的试金石。——Feyn... 

——FeynmanLecturesonPhysics(《费曼物理学讲义》)

Knowledgeispower.

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

——培根

1.费根鲍姆和DENDRAL

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

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

2.MYCIN

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

3.专家系统的成熟

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

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

4.知识表示

逻辑

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

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

结论:Mortal(Socrates)

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

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

Physicist(Newton)

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

律师事务所公司组织AgentThing

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

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

Organization(x)→Agent(x),

Agent(x)→Thing(x)

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

hasFatherhasFatherhasGrandFather

hasFather(x,y)∧hasFather(y,z)→hasGrandFather(x,z)

心理学与语言学

明斯基的框架

Sowa的概念图

5.雷纳特和大知识系统

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

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

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

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

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

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

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

6.语义网

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

参考文献指南

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

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

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

THE END
1.人工智能中的知识表示及应用特点机器之心知识表示是一组描述事物的约定,可以看成是人类知识表示成机器能处理的数据结构。知识表示是人工智能的一个重要研究课题,应用人工智能技术解决实际问题,就要涉及各类知识如何表示。我们要研究如何将知识存储在计算机中,能够方便和正确地使用知识,合理地表示知识,使得问题的求解变得容易和具有较高的求解效率。知识表示是数据https://www.jiqizhixin.com/articles/2019-04-09-7
2.第2章:知识表示知识表示是关于世界的信息表示符合机器处理的模式,用于模拟人对世界的认识和推理,以解决人工智能中复杂任务。 一种知识表示分类观点(1)基于非逻辑的知识表示(2)基于数理逻辑的知识表示(3)基于统计学习的分布式知识表示。 知识表示的发展 经典知识表示 逻辑描述 https://blog.csdn.net/weixin_42486623/article/details/117923748
3.知识的表示方法有哪些1. 符号表示法:使用符号、图形、数字等方式来表示知识,如数学公式、化学结构式等。 2. 语言表示法:使用语言文字来传达和表达知识,如书籍、讲座、讲义等。 3. 图形表示法:使用图表、图像等形式来展示知识,如流程图、思维导图、统计图表等。 4. 数据表示法:使用数据和统计信息来表达知识,如数据库、统计分析、数https://www.360doc.cn/article/75092861_1119240635.html
4.知识表示的意思知识表示的解释知识表示 知识表示[zhī shí biǎo shì] [计] knowledge representationhttps://www1.dict.li/%E7%9F%A5%E8%AF%86%E8%A1%A8%E7%A4%BA/
5.知识表示(豆瓣)写书评 加入购书单 分享到 推荐 内容简介· ··· 本书是计算机专业本科生或研究生知 丛书信息· ··· 经典原版书库(共380册), 这套丛书还有 《神经网络设计》《计算机网络教程》《数字信号处理》《软件工程》《纯数学教程》 等。 喜欢读"知识表示"的人也喜欢的电子书· ··· 支持Web、iPhonehttps://book.douban.com/isbn/9787111121497
6.知识表示学术百科提供全面的“知识表示”相关文献(论文)下载,论文摘要免费查询,知识表示论文全文下载提供PDF格式文件。知识表示中文、英文词汇释义(解释),“知识表示”各类研究资料、调研报告等。https://wiki.cnki.com.cn/HotWord/153538.htm
7.知识表示是什么意思应该怎么翻译科学技术名词规范用词知识表示 英文翻译KR 所属学科计算机科学技术>人工智能 名词审定计算机科学技术名词审定委员会 见载刊物《计算机科学技术名词(第二版)》 科学出版社 公布时间2002年https://mkeji.911cha.com/djd1Mg==.html
8.知识表示相关工具书解释 ·英语常见问题解答大词典·实用金融英汉词典·汉英政治经济词汇新编·英语常用词详解词典·汉英新词新语辞典 knowledge representation(本文共28字)阅读全文>> 权威出处:《英汉-汉英文献信息词典》 扩展阅读: ·知识表示https://mall.cnki.net/reference/R2007080010079718.html
9.什么是知识表示?人类最擅长理解、推理和解释知识。人类知道事物,这是知识,根据他们的知识,他们在现实世界中执行各种行动。但是机器如何做所有这些事情取决于知识表示和推理。因此,我们可以将知识表示描述如下: 知识表示和推理(KR,KRR)是人工智能的一部分,它关注人工智能代理的思维以及思维如何促进代理的智能行为。 它负责表示有关现实https://www.rocschool.com/tutorial/rocschool-show-326.html
10.知识表示概述本实训主要介绍知识与知识表示的概念,通过学习让你从总体上了解知识表示的基本概念及特点。 任务关卡 第1关知识与知识表示的概念 正在挑战7人次完成挑战462人次可获经验30点 所属课程 人工智能导论 8611 技能标签3 知识的表示知识的特性知识的概念https://www.educoder.net/shixuns/4phjrqwk/challenges
11.知识的表示,knowledgerepresentation,音标,读音,翻译,英文例句根据模具设计知识的类型和特点,研究了CBR系统中冲模结构知识库知识与控制性知识的表示方法,导出了符合工程设计习惯的冲模结构知识库知识表示方法—典型冲模结构特征图和与其对应的适合于CBR推理的控制性知识表示方法—基于冲模结构特征的产生式规则表示。 更多例句>> 5http://dictall.com/indu/112/111594212E0.htm
12.知识表示的方法有哪些知识表示是人工智能领域的一个重要分支,它涉及到如何将知识或信息编码成计算机可以处理的形式。以下是一些常见的知识表示方法: 1. **符号表示**:这是知识表示中最基础的方法,使用变量、符号和规则来表示知识。例如,逻辑表示、一阶谓词逻辑等。 2. **语义网络**:在这种表示中,知识通过概念和它们之间的关系来表示http://www.360doc.com/content/24/0402/18/75092861_1119241038.shtml
13.知识的表示方法12篇(全文)框架(Frame)是一种结构化表示方法,是为表示重复的一连串原型事件而设计的,描述各类事件内部或相互关系的具体属性,框架通常由指定事物各个方面的槽(Slot)组成,每个槽拥有若干个侧面,而每个侧面又可拥有若干个值,因此在框架表示法中,框架被看成是知识表示的基本单元。不同的框架之间可以通过属性之间的关系建立联系,从而https://www.99xueshu.com/w/ikeymnyet27e.html
14.什么是知识表示?设计知识表示方法有什么要求?答案解析 查看更多优质解析 解答一 举报 知识表示(knowledge representation)是指把知识客体中的知识因子与知识关联起来,便于人们识别和理解知识.知识表示是知识组织的前提和基础,任何知识组织方法都是要建立在知识表示的基础上.知识表示有主观知识表示和 解析看不懂?免费查看同类题视频解析查看解答 https://qb.zuoyebang.com/xfe-question/question/e7306047f816735c3baf4f3ce46877a0.html
15.知识表示的基本概念.ppt第二章 知识表示 本章主要讨论知识表示问题,介绍7种知识表示方法:状态空间法、问题归约法、谓词演算法、语义网络法、框架表示、本体技术、过程表示。 掌握状态空间法、问题归约法、谓词演算法、语义网络法的要点及其之间的关系,了解框架表示、本体技术、过程表示。 知识表示的基本概念 知识表示:研究用机器表示知识的https://max.book118.com/html/2019/0924/8043034020002052.shtm
16.人工智能基础知识二知识表示腾讯云开发者社区知识表示是对知识的一种描述,或者说是一组约定,一种计算机可以接受的用于描述知识的数据结构。 选择知识表示方法的原则:充分表示领域知识,有利于对知识的利用,便于对知识的组织,维护与管理,便于理解与实现。 一阶谓词逻辑表示法 命题:非真即假的陈述句 谓词:刻画个体的性质,状态或个体之间的关系 https://cloud.tencent.com/developer/article/1825867
17.专家谈知识图谱:知识将比数据更重要,得知识者得天下以这四个条件去看知识表示就会发现,只有知识图谱是满足所有这些条件的:知识图谱规模巨大,动辄包含数十亿实体;关系多样,比如在线百科图谱DBpedia包含数千种常见语义关系;结构友好,通常表达为RDF三元组,这是一种对于机器而言能够有效处理的结构;质量也很精良,因为知识图谱可以充分利用大数据的多源特性进行交叉验证,也可利用https://www.secrss.com/articles/6106
18.人工智能·知识图谱知多少(一)描述逻辑(description logic)是一种用于知识表示的逻辑语言和以其为对象的推理方法,主要用于描述概念分类及其概念之间的关系。 一个描述逻辑系统中的名字可分为概念(concept),属性(role)和个体(individual) 基于描述逻辑进而丰富表达和精准计算属性的OWL DL和OWL Lite,以及以资源描述架构(英文:resource description framworhttps://maimai.cn/article/detail?fid=1510278754&efid=vg1buZ9HC84iBnYaGiBC1g
19.什么是知识表达?知识表达技术(knowledge representation technologies):一个集合名称,表示一套基本表达工具,例如逻辑、规则、框架、语义集等。 以各种语言建立知识表达的日常练习是很重要的,尤其是使用底层的知识表达技术。例如,Hayes关于液体的本体论就是处于一种由类似空间碎片的概念组成的表达阶段,包括了入点、表面、边等。(?)更为基https://www.jianshu.com/p/461319ca12e4
20.知识表示的方法——逻辑表示法产生式表示法框架表示法语义语义网络表示法、框架表示法、脚本表示方法、过程表示、混合型知识表示方法、 面向对象的表示方法等。 在本文中,着重介绍目前使用较多的知识表示方法。目前使用较多的知识表 示方法主要有:逻辑表示法、产生式表示法、框架表示法、语义网络表示法、面向对象表示等等。 https://blog.51cto.com/u_11908275/6393150