人工智能——专家系统从诞生到发展
文/陈根
自从1965 年世界上第一个专家系统 DENDRAL问世以来,专家系统的技术和应用,就在短短的30 年间获得了长足的进步和发展。尤其是在80年代中期以后,随着知识工程技术的日渐丰富和成熟,各种各样的实用专家系统推动着人工智能日益精进。
专家是指在学术、技艺等方面有专门技能或专业知识全面的人;特别精通某一学科或某项技艺的有较高造诣的专业人士。通常来说,专家拥有丰富的专业知识和实践经验,或者说专家们拥有丰富的理论知识和经验知识。专家还应该具有独特的思维方式,即独特的分析问题和解决问题的方法和策略。
专家系统,就是从“专家”而来,专家系统(ExpertSystem)也称专家咨询系统,是一种智能计算机(软件)系统。顾名思义,专家系统就是能像人类专家一样解决困难、复杂的实际问题的计算机(软件)系统。可以说,专家系统是一类特殊的知识系统。
作为基于知识的系统,建造专家系统就需要知识获取,即从人类专家那里或从实际问题那里搜集、整理、归纳专家级知识;知识表示,即以某种结构形式表达所获取的知识,并将其存储于计算机之中;知识的组织与管理,即知识库;建立与维护等和知识的利用,即使用知识进行推理等一系列关于知识处理的技术和方法。
DENDRAL作为世界第一个专家系统,由美国斯坦福大学的费根鲍姆教授于 1965年开发的。DENDRAL是一个化学专家系统,能根据化合物的分子式和质谱数据推断化合物的分子结构。
20世纪 70 年代,专家系统趋于成熟,专家系统的观点也开始广泛的被人们接受。70年代中期先后出现了一批卓有成效的专家系统,在医疗领域尤为突出。MYCIN就是其中最具代表性的专家系统。
MYCIN 系统是由EdwardH.Shortliffe等人于1972 年开始研制的用于诊断和治疗感染性疾病的医疗专家系统,其不仅能对传染性疾病作出专家水平的诊断和治疗选择,而且便于使用、理解、修改和扩充。此外,它可以使用自然语言同用户对话,并回答用户提出的问题,还可以在专家的指导下学习新的医疗知识。
MYCIN 第一次使用了知识库的概念,并使用了似然推理技术。可以说,MYCIN 是一个对专家系统的理论和实践都有较大贡献的专家系统,后来的许多专家系统都是在 MYCIN 的基础上研制的。
进入20世纪80年代,随着专家系统技术的逐渐成熟,其应用领域迅速扩大。20世纪70年代中期以前,专家系统多属于数据解释型(DENDRAL、PROSPECTOR、 HEARSAY 等)和故障诊断型( MYCIN、CASNET、INTERNIST 等)。它们所处理的问题基本上是可分解的问题。
20世纪70年代后期,专家系统开始出现其他的类型,包括超大规模集成电路设计系统KBVLSI、自动程序设计系统 PSI 等设计型专家系统;遗传学实验设计系统MOLGEN、安排机器人行动步骤的NOAH等规划型专家系统;感染病诊断治疗教学系统 GUIDON、蒸气动力设备操作教学系统 STEAMER 等教育型专家系统;军事冲突预测系统 IW 和暴雨预报系统 STEAMER 等预测型专家系统。
与此同时,这一时期专家系统在理论和方法上也进行了较深入的探讨。适于专家系统开发的程序语言和高级工具也相继问世。尤其是专家系统工具的出现又大大加快了专家系统的开发速度,进一步普及了专家系统的应用。
20世纪80年代,专家系统在生产制造领域中的应用已非常广泛,比如CAD/CAM和工程设计、机器故障诊断及维护、生产过程控制、调度和生产管理等。这些应用在提高产品质量和产生巨大经济效益方面带来了巨大成效,从而极大地推动了生产力的发展。
人工智能的12个典型案例
但以亚马逊的推荐系统为例,它是一个交易性人工智能平台的强大引擎。人们可能已经观察到它的能力,这个系统可以不断学习。本质上,大批购物者正在“教导”亚马逊人工智能系统,以便更好地展示可能出售的商品。也就是说,将一件商品与过去展示的另一件商品相匹配将促进销售,可以将半关联的概念联系起来(例如灯架与摄影设备)。
另一方面,这种高端的人工智能系统需要庞大的计算平台来处理所有这些数据。对于使用小型服务器的用户来说很难为此类系统提供支持。显然,亚马逊网络服务公司拥有世界领先的计算平台。
3.Pandora
对于那些认为人工智能将会取代人类工作的人们来说,Pandora人工智能系统就是一个与人类合作的例子。首先,Pandora通过音乐专业人员的帮助来分析和分类歌曲。Pandora着眼于歌曲的450种属性进行分类,从声乐风格到节奏感。
当其人工智能算法工作时,根据大量用户对其歌曲库的响应,结合了来自用户的大量推荐。然后,人工智能系统可以批量分组和呈现对于用户具有意义的歌曲。
4.Cogito
这无疑是人工智能最活跃的领域之一:在销售和客服电话中使用人工智能,可以增强与客户的情感联系。具体地说,使用人工智能互动比人类更具移情能力。当然,这是人工智能使用的一个前沿。
Cogito(拉丁语的意思是“自我意识”)使用了人类互动的关键真理:它不仅仅是词语的表达意义,而且是词语的表达方式、情绪、节奏和感觉。
Cogito软件可以实时分析对话,提供有关正确和错误的线索和提示。也许对话者可能切入太多主题,或者反应不够快。应用程序提供基于颜色的警告和更新。该软件可以分析数百条线索,以确定对话的情感质量。
5.Nest
推动人工智能增长的关键因素之一是资金雄厚的厂商之间的竞争,希望在早期获得市场份额。以谷歌公司旗下的家用恒温器Nest为例,其部分目标是将谷歌公司的人工智能构建到设备中,用来应对苹果Siri和亚马逊Alexa的不断增长。
Nest使用人工智能来适应人类的行为模式,获得恒定的输入线索,并在家中工作时做出更准确的反应。在业主设置系统一段时间之后,Nest可以自己整合输入。
无论如何,智能家庭设备(物联网设备)无疑是争夺人工智能市场支配地位的关键战场。让一整组智能家庭设备协同行动,它们可以响应家庭成员的指令,并根据其行为学习,这显然是人工智能在家庭应用中的未来。
6.Boxever
总部位于爱尔兰的Boxever公司推出其Boxever“个性化平台”,其主要目标是旅游业。其基于云计算的平台允许旅游公司创建一个单一的客户视图,从而为客户提供更有效的营销。它的目标是通过单独针对客户来改进销售过程。如果人工智能可以在一对一的基础上定制交互过程,理论上它可以更有效地服务(并销售给)客户。
Boxever公司的方法承认竞争的关键部门是客户体验。如果零售商更加谨慎地满足客户的需求,将会在电子商务竞争中获胜。而使用智能软件比人工销售代表的成本要低得多。
7.AIRobotics、Humanoid和其他
人工智能为机器人的应用提供动力,其中包括加州大学伯克利分校的BRETT和麻省理工学院的MITdog。Sophia就是一个受到媒体热捧的人工智能机器人的例子,它和NBC电视台主持人JimmyFallon在“今夜秀”上聊天和唱歌。
除了流行文化的喧嚣之外,还有各种规格和大小的人工智能机器人。例如iRobot公司的RoomBA980吸尘器采用了人工智能技术,可以在家中完成各种清扫工作。该公司声称,Roombas公司已售出1000多万台RoomBA980吸尘器。
8.垃圾邮件过滤器
人工智能的核心就是学习。而使用机器学习和其他人工智能技术,软件系统将变得更智能,无需人工协助。
当然,采用人工智能防止垃圾邮件是一个迫切需要机器学习的领域。工作人员(甚至是团队)难以跟上垃圾邮件的增长。例如,Gmail会部署机器学习算法来过滤(大部分)垃圾邮件。
为此,垃圾邮件过滤器试图更快地跟上垃圾邮件发送者的工作,他们不断采用创造性的方法来欺骗收件人。垃圾邮件过滤器中的人工智能会持续扫描元数据,例如发件人的位置或主题行中的关键字。如果无法学习,垃圾邮件过滤器将在几天之后无法运行。
人工智能技术是使用来自人类的输入:因为对于一个用户具有价值的优惠券对于另一个用户来说则是垃圾邮件。特定用户如何对邮件流进行分类必须是垃圾邮件过滤器学习的一部分。
9.网上银行业务
银行为用户提供方便的优惠:扫描其支票并将其金额存入移动设备中,无需去实际的分支机构存款。其问题是:这样做需要机器来阅读用户的签名,这是一项既混乱又令人困惑的工作——甚至对工作人员来说也是如此。
在其他供应商中,MitekSystems公司采用专门从事基于软件的身份验证。其人工智能技术利用计算机视觉和机器学习使移动到银行的交易安全。
例如,Mitek公司采用视觉算法对银行交易中的无数ID格式进行分类。其核心是光学字符识别(OCR)软件,它扫描文档并将数据转换为可编辑的格式。可以使用人工智能调整OCR软件以准确提取个人签名或指纹。
10.贷款和信用卡处理
当消费者申请信用卡或贷款时,消费者信用评分(FICO)(通常在300到850分之间)将起到至关重要的作用。在过去,贷款工作人员审查了这些贷款和信用卡申请。虽然仍有很多工作人员,但许多关于信用卡的决定或者是否接受消费者的申请,都是由机器学习系统做出的。
同样,学习是这个过程的核心部分。银行管理人员可以设置他们希望当前信贷标准是宽松还是紧缩的参数。但他们希望银行的机器学习系统能够随着时间的推移而学习,以便更密切地确定哪些申请人是安全的借贷者。
11.Lyft和Uber
没有人工智能和机器学习技术,共享单车是不可能存在的。具体来说,票价、预计到达时间以及它将要走的路线:这些都是人工智能计算出来的。
人工智能即时进行大量计算。如果没有一个分析情况的机器学习系统,然后将结果数据路由到用户和驱动程序的应用程序,这些计算的数量和复杂性将是不可能的。当然,Lyft和Uber公司将其记录在自己的系统上,这两家公司拥有关于用户模式的大量数据。
在未来,这些服务预计将出现无人驾驶汽车的时代(尽管这种情况发生时最多仍然模糊不清)。如果没有人类驱动程序的元素,运行系统的过程将成为更纯粹的逻辑机器学习计算。从理论上说,这将导致共享乘车服务的成本下降,甚至可以节省雇佣驾驶员的成本。
12.社交网络
主要的社交媒体网络是人工智能发展的核心驱动力。特别是Facebook公司似乎采用了人工智能的各方面功能。例如,其算法定义了用户的时间轴,决定是否在其时间轴上显示或不显示其朋友的某些帖子。Facebook公司知道,如果某个用户的每位朋友都被展示出来,那么时间表就将变得很混乱,以至于它会让人感到厌烦。因此,时间轴算法可以了解用户与谁进行交互以及其通常忽略的对象。
对于Facebook而言,最重要的是,社交网络使用人工智能来帮助个性化为用户提供广告的方式,因此它具有一定程度的广告显示相关性。需要注意,Facebook允许用户评论广告与时间线的相关性;每个用户评论都有助于系统学习并变得更精细。由于他们使用人工智能微调显示系统的方式,Facebook和谷歌在整个网络广告市场的比例非常高。
此外,Facebook使用图像识别人工智能技术来识别照片中的人脸,因此它可以邀请用户为其添加标签。毫不奇怪,考虑到照片对Facebook的重要性,Facebook在面部识别技术上投入了大量资金。采用机器“读取”照片是当今人工智能时代最为显著的进步之一。返回搜狐,查看更多
人工智能 7专家系统
7.1 专家系统的产生和发展 7.2 专家系统的概念 7.3 专家系统的工作原理7.4 知识获取的主要过程与模式7.5 机器学习7.6 知识发现与数据挖掘7.7 专家系统的建立7.8 专家系统实例7.9 专家系统的开发工具
特点:高度的专业化。 专门问题求解能力强。 结构、功能不完整。 移植性差。 缺乏解释功能。
专家系统的定义:
1、具有专家水平的专业知识。2、能进行有效的推理。 3、启发性。4、灵活性。5、透明性。6、交互性。
专家系统与传统程序的比较:
1、编程思想
传统程序=数据结构+算法
专家系统=知识+推理
2、传统程序关于问题求解的知识隐含于程序中。
专家系统知识单独组成知识库,与推理机分离。
3、处理对象
传统程序数值计算和数据处理。
专家系统符号处理。
4、传统程序不具有解释功能。
专家系统具有解释功能。
5、传统程序产生正确的答案。
专家系统通常产生正确的答案,有时产生错误的答案。
6、系统的体系结构不同。
工作原理抽取知识、知识的转换、知识的输入、知识的检测。
知识获取的模式:非自动知识获取、自动知识获取、半自动知识获取。
机器学习机器学习Machinelearning、使计算机能模拟人的学习行为,自动地通过学习来获取知识和技能,不断改善性能,实现自我完善。
一个学习系统一般应该有环境、学习、知识库、执行与评价(à学习)等四个基本部分组成。
“示例空间”是所有可对系统进行训练的示例集合。
“搜索”的作用是从示例空间中查找所需的示例。
“解释”是从搜索到的示例中抽象出所需的有关信息形成知识。
“形成知识”是把解释得到的信息综合、归纳形成一般性的知识。
“验证”的作用是检验所形成的知识的正确性。
知识发现与数据挖掘31 知识发现和数据挖掘的目的:从数据集中抽取和精化一般规律或模式。
知识发现过程分为数据准备、数据挖掘以及结果的解释评估等三步。
数据准备数据选、数据预处理和数据变换。数据选取就是根据用户的需要从原始数据库中抽取的一组数据。
数据预处理一般可能包括消除噪声、推导计算缺值数据、消除重复记录、完成数据类型转换等。
数据变换是从初始特征中找出真正有用的特征以减少数据开采时要考虑的特征或变量个数
数据挖掘数据挖掘阶段首先要确定挖掘的任务或目的是什么,如数据总结、分类、聚类、关联规则或序列模式等。
确定了挖掘任务后,就要决定使用什么样的挖掘算法。同样的任务可以用不同的算法来实现。
选择实现算法有两个考虑因素:
一是不同的数据有不同的特点,因此需要用与之相关的算法来挖掘
二是用户或实际运行系统的要求,有的用户可能希望获取描述型的、容易理解的知识,而有的用户系统的目的是获取预测准确度尽可能高的预测型知识。
结果解释和评价数据挖掘阶段发现的知识模式中可能存在冗余或无关的模式,所以还要经过用户或机器的评价。
若发现所得模式不满足用户要求,则需要退回到发现阶段之前,如重新选取数据,采用新的数据变换方法,设定新的数据挖掘参数值,甚至换一种挖掘算法。
由于KDD最终是面向人的,因此可能要对发现的模式进行可视化,或者把结果转换为用户易懂的另一种表示,如把分类决策树转换为“if-then…”规则。
知识发现的任务:
数据总结:对数据进行浓缩,给出它的紧凑描述。
概念描述:从学习任务相关的数据中提取总体特征。
分类:提出一个分类函数或分类模型也常常称作分类器,该模型能把数据库中的数据项映射到给定类别中的一个。
聚类:根据数据的不同特征,将其划分为不同的类。包括统计方法、机器学习方法、神经网络方法和面向数据库的聚类方法等。(聚类-无监督学习)
相关性分析:发现特征之间或数据之间的相互依赖关系。
偏差分析:寻找观察结果与参照量之间的有意义的差别。
建模:通过数据挖掘,构造出能描述一种活动、状态或现象的数学模型。
知识发现的主要方法:1.统计方法:从事物的外在数量上的表现去推断事物可能的规律性。常见的有回归分析、判别分析、聚类分析以及探索分析等。2.粗糙集:粗糙集是具有三值隶属函数的模糊集,即是、不是、也许。常与规则归纳、分类和聚类方法结合起来使用。3.可视化:把数据、信息和知识转化为图形等,使抽象的数据信息形象化。信息可视化也是知识发现的一个有用的手段。4.传统机器学习方法:包括符号学习和连接学习。
知识发现的对象1.数据库当前研究比较多的是关系数据库的知识发现。2.数据仓库数据挖掘为数据仓库提供深层次数据分析的手段,数据仓库为数据挖掘提供经过良好预处理的数据源。3.Web信息Web知识发现主要分内容发现和结构发现。内容发现是指从Web文档的内容中提取知识;结构发现是指从Web文档的结构信息中推导知识。4.图像和视频数据图像和视频数据中也存在有用的信息。比如,地球资源卫星每天都要拍摄大量的图像或录像。
专家系统的建立什么情况下开发专家系统是可能的
1,主要依靠经验性知识,不需运用大量常识性知识就可解决的任务。2,存在真正的领域专家。3,有明确的开发目标且任务不太难实现。
什么情况下开发专家系统是合理的
1,具有较高的经济效益。 2,人类专家奇缺但在许多地方又十分需要。3,人类专家经验不断丢失。 4,危险场合需要专业知识。
什么情况下开发专家系统是合适的
1,本质问题能通过符号操作和符号结构进行求解且需使用启发式知识、经验规则才能得到答案。 2,复杂性。 3,范围所选任务的大小可驾驭、任务有实用价值。
专家系统的设计原则与开发步骤
专家系统的评价
1. 正确性 1,系统设计的正确性: 系统设计思想的正确性。 系统设计方法的正确性。 设计开发工具的正确性。 2,系统测试的正确性: 测试目的、方法、条件的正确性。 测试结果、数据、记录的正确性。3系统运行的正确性 推理结论、求解结果、咨询建议的正确性。 推理解释及可信度估算的正确性。 知识库知识的正确性。
2. 有用性
专家系统实例
专家系统的开发工具骨架型工具
骨架型工具是从被实践证明了有实用价值的专家系统中,抽出了实际领域的知识背景,并保留了系统中推理机的结构所形成的一类工具。EMYCIN、EXPERT和PC等均属于此类型。EMYCIN疾病诊断专家系统MYCIN的基础上,抽去了医疗专业知识,修改了不精确推理,增强了知识获取和推理解释功能之后构造而成的世上最早的专家系统工具之一。EXPERT是从石油勘探和计算机故障诊断专家系统中抽象并构造出来的,适用于开发诊断解释型专家系统。
通用型知识表达语言OPS5
专家系统开发环境:AGEattempttogeneralize)一种典型的模块组合式开发工具。
专家系统程序设计语言
符号处理语言(面向AI的语言或AI语言PROLOG语言LISP语言
2. 面向问题的语言C语言、C++语言。
《人工智能导论》 第7章 专家系统
专家系统专家系统的产生与发展第一阶段:初创期(20世纪60年代中期-20世纪70年代初)DENDRAL系统(1968年,斯坦福大学费根鲍姆等人)——推断化学分子结构的专家系统MYCSYMA系统(1971年,麻省理工学院)——用于数学运算的数学专家系统特点高度的专业化。专门问题求解能力强。结构、功能不完整。移植性差。缺乏解释功能。第二阶段:成熟期(20世纪70年代中期-20世纪80年代初)MYCIN系统(斯坦福大学)——血液感染病诊断专家系统PROSPECTOR系统(斯坦福研究所)——探矿专家系统CASNET系统(拉特格尔大学):用于青光眼诊断与治疗。AM系统(1981年,斯坦福大学):模拟人类进行概括、抽象和归纳推理,发现某些数论的概念和定理。HEARSAY系统(卡内基-梅隆大学)——语音识别专家系统特点单学科专业型专家系统。系统结构完整,功能较全面,移植性好。具有推理解释功能,透明性好。采用启发式推理、不精确推理。用产生式规则、框架、语义网络表达知识。用限定性英语进行人-机交互。第三阶段:发展期(20世纪80年代至今)专家系统XCON(DEC公司、卡内基-梅隆大学):为VAX计算机系统制订硬件配置方案。专家系统开发工具:骨架系统:EMYCIN、KAS、EXPERT等。通用型知识表达语言:OPS5等。专家系统开发环境:AGE等。我国研制开发的专家系统:施肥专家系统(中国科学院合肥智能机械研究所)新构造找水专家系统(南京大学)勘探专家系统及油气资源评价专家系统(吉林大学)服装剪裁专家系统及花布图案设计专家系统(浙江大学)关幼波肝病诊断专家系统(北京中医学院)专家系统的概念专家系统的定义专家系统是一种智能的计算机程序,它运用知识和推理来解决只有专家才能解决的复杂问题。是一类包含知识和推理的智能计算机程序。
专家系统的特点具有专家水平的专业知识。能进行有效的推理。启发性。灵活性。透明性。交互性。专家系统与传统程序的比较:
编程思想:传统程序=数据结构+算法;专家系统=知识+推理。
传统程序:关于问题求解的知识隐含于程序中。
专家系统:知识单独组成知识库,与推理机分离。
处理对象:传统程序:数值计算和数据处理;专家系统:符号处理。
传统程序:不具有解释功能。
专家系统:具有解释功能。
传统程序:产生正确的答案。
专家系统:通常产生正确的答案,有时产生错误的答案。
系统的体系结构不同。
专家系统的类型解释:根据感知数据推理情况描述诊断:根据观察结果推理系统是否有保障预测:指导给定情况可能产生的后果设计:根据给定的要求进行相应的设计规划:设计动作控制:控制整个系统的行为监督:比较观察结果和期望结果修理:执行计划来实现规定的补救措施教学:诊断、调整、修改学生行为调试:建议故障的补救措施专家系统的工作原理专家系统的一般结构知识库知识库(KnowledgeBase)主要用来存放领域专家提供的有关问题求解的专门知识。知识库中的知识来源于知识获取机构,同时它又为推理机提供求解问题所需的知识。
知识表示方法的选择:要建立知识库,首先要选择合适的知识表达方法。常用一阶谓词逻辑、产生式、框架、模糊逻辑、状态空间、遗传编码、神经网络等知识表示方法。选择需要考虑四方面:能充分表示领域知识能充分有效地进行推理便于对知识的组织维护和管理便于理解与实现知识库的管理:知识库管理系统负责对知识库中的知识进行组织、检索、维护等。专家系统中任何其他部分要与知识库发生联系,都必须通过该管理系统来完成。这样可实现对知识库的统一管理和使用。推理机推理机(ReasoningMachine)的功能是模拟领域专家的思维过程,控制并执行对问题的求解。它能根据当前已知的事实,利用知识库中的知识,按一定的推理方法和控制策略进行推理,直到得出相应的结论为止。推理机包括:
推理方法:确定性推理和不确定性推理控制策略:主要指推理方法的控制及推理规则的选择策略,推理包括正向推理、反向推理和正反向混合推理。推理策略一般还与搜索策略有关。推理机的性能与构造一般与知识的表示方法有关,但与知识的内容无关,这有利于保证推理机与知识库的独立性,提高专家系统的灵活性。
综合数据库综合数据库(GlobalDatabase)又称动态数据库或黑板,主要用于存放初始事实、问题描述及系统运行过程中得到的中间结果、最终结果等信息。
记录了推理过程中的各种有关信息为解释机构提供了回答用户咨询的依据。综合数据库中还必须具有相应的数据库管理系统,负责对数据库中的知识进行检索、维护等。从计算机技术角度,知识库和综合数据库都是数据库。它们所不同的是:
知识库的内容在专家系统运行过程中是不改变的,只有知识工程师通过人机接口进行管理。综合数据库在专家系统运行过程中是动态变化的,不仅可以由用户输入数据,推理的中间结果的存入也会改变其内容。数据获取机构知识获取(KnowledgeAcquisition)是建造和设计专家系统的关键,也是目前建造专家系统的“瓶颈”。知识获取的基本任务是为专家系统获取知识,建立起健全、完善、有效的知识库,以满足求解领域问题的需要。
知识工程师负责从领域专家那里抽取知识,并用适合的方法把知识表达出来。知识获取机构把知识转换为计算机可存储的内部形式,然后把它们存入知识库。在存储过程中,要对知识进行一致性、完整性的检测。人机接口人机接口(Interface)是专家系统与领域专家、知识工程师、一般用户之间进行交互的界面,由一组程序及相应的硬件组成,用于完成输入输出工作。
知识获取机构通过人机接口与领域专家及知识工程师进行交互,更新、完善、扩充知识库。推理机通过人机接口与用户交互。在推理过程中,专家系统根据需要不断向用户提问,以得到相应的事实数据。在推理结束时会通过人机接口向用户显示结果。解释机构通过人机接口与用户交互,向用户解释推理过程,回答用户问题。解释机构解释机构(Explanator)回答用户提出的问题,解释系统的推理过程。它跟踪并记录推理过程,当用户提出的询问需要给出解释时,它将根据问题的要求分别作相应的处理,最后把解答用约定的形式通过人机接口输出给用户。
知识获取的主要过程与模式知识获取的过程抽取知识:把蕴涵于知识源中的知识经识别、理解、筛选、归纳等抽取出来,以便用于建立知识库。知识的转换:把知识由一种形式变换为另一种表示形式。知识的输入:把某模式表示的知识经编辑、编译送入知识库知识的检测:纠错知识获取的模式非自动知识获取:
自动知识获取:
半自动知识获取:自动知识获取是一种理想的知识获取方式,涉及人工智能的多个领域,尚处在研究阶段。例如模式识别、自然语言理解、机器学习等,对硬件亦有较高的要求。
知识发现与数据挖掘知识发现与数据挖掘的概念知识发现的全称是从数据库中发现知识(KnowledgeDiscoveringfromDatabase,KDD)。数据挖掘(DataMining,DM)是从数据库中挖掘知识。KDD和DM的本质含义是一样的,只是知识发现的概念主要流行于人工智能和机器学习领域,而数据挖掘的概念则主要流行于统计、数据分析、数据库和管理信息系统领域。所以,现在有关文献中一般都把二者同时列出。知识发现和数据挖掘的目的就是从数据集中抽取和精化一般规律或模式。其涉及的数据形态包括数值、文字、符号、图形、图像、声音,甚至视频和Web网页等等。
知识发现的一般过程数据准备数据选取:确定目标数据,即操作对象,它是根据用户的需要从原始数据库中抽取的一组数据。数据预处理:一般可能包括消除噪声、推导计算缺值数据、消除重复记录、完成数据类型转换等。数据变换:消减数据维数,即从初始特征中找出真正有用的特征以减少数据开采时要考虑的特征或变量个数。数据挖掘确定挖掘的任务或目的是什么,如数据总结、分类、聚类、关联规则或序列模式等。决定使用什么样的挖掘算法。同样的任务可以用不同的算法来实现,选择实现算法有两个考虑因素:一是不同的数据有不同的特点,因此需要用与之相关的算法来挖掘;二是用户或实际运行系统的要求,有的用户可能希望获取描述型的、容易理解的知识,而有的用户系统的目的是获取预测准确度尽可能高的预测型知识。结果的解释评估数据挖掘阶段发现的知识模式中可能存在冗余或无关的模式,所以还要经过用户或机器的评价。若发现所得模式不满足用户要求,则需要退回到发现阶段之前,如重新选取数据,采用新的数据变换方法,设定新的数据挖掘参数值,甚至换一种挖掘算法。由于KDD最终是面向人的,因此可能要对发现的模式进行可视化,或者把结果转换为用户易懂的另一种表示,如把分类决策树转换为“if—then”规则。知识发现的任务数据总结:对数据进行浓缩,给出它的紧凑描述。概念描述:从学习任务相关的数据中提取总体特征。分类:提出一个分类函数或分类模型(也常常称作分类器),该模型能把数据库中的数据项映射到给定类别中的一个。聚类:根据数据的不同特征,将其划分为不同的类。包括统计方法、机器学习方法、神经网络方法和面向数据库的聚类方法等。相关性分析:发现特征之间或数据之间的相互依赖关系。偏差分析:寻找观察结果与参照量之间的有意义的差别。建模:通过数据挖掘,构造出能描述一种活动、状态或现象的数学模型。知识发现的方法统计方法:从事物的外在数量上的表现去推断事物可能的规律性。常见的有回归分析、判别分析、聚类分析以及探索分析等。粗糙集:粗糙集是具有三值隶属函数的模糊集,即是、不是、也许。常与规则归纳、分类和聚类方法结合起来使用。可视化:把数据、信息和知识转化为图形等,使抽象的数据信息形象化。信息可视化也是知识发现的一个有用的手段。传统机器学习方法:包括符号学习和连接学习。知识发现的对象数据库:当前研究比较多的是关系数据库的知识发现。
数据仓库:数据挖掘为数据仓库提供深层次数据分析的手段,数据仓库为数据挖掘提供经过良好预处理的数据源。数据仓库有四个基本特征:
数据仓库的数据是面向主题的。数据仓库的数据是集成的。数据仓库的数据是稳定的。数据仓库的数据是随时间不断变化的。Web信息:Web知识发现主要分内容发现和结构发现。内容发现是指从Web文档的内容中提取知识;结构发现是指从Web文档的结构信息中推导知识。
图像和视频数据:图像和视频数据中也存在有用的信息。比如,地球资源卫星每天都要拍摄大量的图像或录像。
专家系统的建立问题识别阶段
在问题识别阶段,知识工程师和专家将确定问题的主要特点:
确定人员和任务,选定包括领域专家和知识工程师在内的参加人员,并明确各自的任务。问题识别,描述问题的特征及相应的知识结构,明确问题的类型和范围。确定资源,确定知识源、时间、计算设备以及经费等资源。确定目标,确定问题求解的目标。概念化阶段
概念化阶段的主要任务是揭示描述问题所需要的关键概念、关系和控制机制,子任务、策略和有关问题求解的约束。这个阶段需要考虑的问题有:
什么类型的数据有用,数据之间的关系如何?问题求解时包括哪些过程,这些过程有哪些约束?③如何将问题划分为子问题?信息流是什么?哪些信息是由用户提供的,哪些信息是需要导出的?问题求解的策略是什么?形式化阶段
在形式化过程中,三个主要的因素是假设空间、基本的过程模型和数据的特征。需要考虑以下问题:
把概念描述成结构化的对象,还是处理成基本的实体?
概念之间的因果关系或时空关系是否重要,是否应当显式地表示出来?
假设空间是否有限?
假设空间是由预先确定的类型组成的,还是由某种过程生成的?
是否应考虑假设的层次性?
是否有与最终假设相关的不确定性或其他的判定性因素?
是否考虑不同的抽象级别?
找到可以用于产生解答的基本过程模型是形式化知识的重要一步。过程模型包括行为和数学的模型。如果专家使用一个简单的行为模型,对它进行分析就能产生很多重要的概念和关系。数学模型可以提供附加的问题求解信息,或用于检查知识库中因果关系的一致性。在形式化知识中应当考虑下述问题:
数据是不足的、充足的还是冗余的?数据是否有不定性?对数据的解释是否依赖于出现的次序?获取数据的代价是多少?数据是如何得到的?数据的可靠性和精确性如何?数据是一致的和完整的吗?实现阶段
在形式化阶段,已经确定了知识表示形式和问题的求解策略,也选定了构造工具或系统框架。在实现阶段,要把前一阶段的形式化知识变成计算机软件,即要实现知识库、推理机、人机接口和解释系统。
在建立专家系统的过程中,原型系统的开发是极其重要的步骤之一。对于选定的表达方式,任何有用的知识工程辅助手段(如编辑、智能编辑或获取程序)都可以用来完成原型系统知识库。另外,推理机应能模拟领域专家求解问题的思维过程和控制策略。
测试阶段
这一阶段的主要任务是通过运行实例评价原型系统以及用于实现它的表达形式,从而发现知识库和推理机的缺陷。通常导致性能不佳的因素有如下三种:
输入输出特性,即数据获取与结论表示方法存在缺陷。
推理规则有错误、不一致或不完备。
控制策略有问题,不是按专家采用的“自然顺序”解决问题。
专家系统必须先在实验室环境下进行精化和测试,然后才能够进行实地领域测试。在测试过程中,实例的选择应照顾到各个方面,要有较宽的覆盖面,即要涉及典型的情况,也要涉及边缘的情况。测试的主要内容有:
可靠性。知识的一致性。运行效率。解释能力。对解释能力的检测主要从两个方面进行:一是检测它能回答哪些问题,是否达到了要求;二是检测回答问题的质量,即是否有说服力。人机交互的便利性。对人机接口的测试主要由最终用户来进行。根据测试的结果,应对原型系统进行修改。测试和修改过程应反复进行,直到系统达到满意的性能为止。