人工智能AI9章智能应用.ppt
1,第9章 智能应用简介,9.1 自然语言理解简介 9.1.1 自然语言理解的基本概念 9.1.2 词法分析 9.1.3 句法分析 9.1.4 语义分析 9.2 专家系统简介,2,自然语言:是指人类日常交流所使用的语言。自然语言理解:主要研究如何使计算机能够理解和生成自然语言。自然语言组成:是音义结合的词汇和语法体系。词汇是语言的基本单位,它在语法的支配下可构成有意义和可理解的句子,句子再按一定的形式构成篇章等。其结构如下图所示:,语言,造句法,词汇是语言的基本单位。熟语是指一些词的固定组合,如汉语中的成语。词又由词素构成,词素是构成词的最小有意义的单位。如“学生”是由“学”和“生”这两个词素构成的。语法是语言的组织规律。词法是用词素或熟语构成词的规则,可分为构形法和构词法。构形法是指单数复数等。造句法是用词和词组构造句子的规则。,词汇,语法,句法,构形法,构词法,词,熟语,词法,词素,词组构造法,9.1.1 自然语言理解的基本概念自然语言与自然语言理解,3,自然语言理解分声音语言和文字语言,声音语言理解分5个阶段,而文字语言的理解为声音语言的后4个阶段。语音分析 要让计算机能够听懂人类的语言 声音语言的最小单位是因素,先根据音位规则,从语音流中分解出独立的因素,再根据音位形态规则找出一个个音节及其对应的词或词素。词法分析 按照词法,将句子切成一个个词 句法分析 句法分析:按照句法,把词组成句子 语义分析 上下文无关,分析句子的语义 语用分析 上下文有关,分析句子在段落中的意思,9.1.1 自然语言理解的基本概念自然语言理解的层次,4,其主要任务是要找出词汇的各个词素,从中获得语言学信息,并确定单词的词义。以英语为例,其词法分析的基本算法如下:repeat look for word in dictionary if not found then modify the word until word is found or no further modification possible其中,word是一个变量,其初始值就是当前词。例9.1 用上述算法分析catches。解:其分析过程如下:catches 词典中查不到 catche 修改1:去掉s catch 修改2:去掉e 可以看出,在修改2时就查到了catch。当然,这只是一个很简单的例子,完整的词法分析还应该包括复合词的切分等。,9.1.2 词法分析,5,9.1.3 句法分析句法规则的表示方法(句子结构的表示),常用方法主要有上下文无关文法、变换文法等。句子结构的表示 一个句子由各种不同的句子成分组成。这些成分可以是单词、词组或从句。也还可以按其作用分为主语、谓语、宾语、宾语补语、定语、状语、表语等。这种关系可用一棵树来表示,如:He wrote a book可用图9.2所示的树形结构来表示 一个句子又由若干个词类构成,如名词、动词、代词、形容词等。若从句子的词类考虑,一个句子也可用一棵分析树表示。如图9.3所示。,句子,主语,谓语,动词,宾语,He,wrote,a,book,句子,代词,动词短语,动词,名词短语,He,wrote,a,book,图9.2 按句子成分构成的分析树,图9.3 按词类构成的分析树,6,上下文无关文法(Context-free Grammars)是乔姆斯基提出的一种对自然语言语法知识进行形式化描述的方法。在这种文法中,语法知识是用重写规则表示的。作为例子,下面给出了一个英语的很小的子集,图9-4。语句 句子 终标符 句子 名词短语 动词短语 动词短语 动词 名词短语 名词短语 冠词 名词 名词短语 专用名词 冠词 the 名词 professor 动词 wrote 名词 book 动词 trains 专用名词 Jack 终标符.这就是一个英语子集的上下文无关文法 在该文法中,“语句”是一个特殊的非终极符,称为起始符。,9.1.3 句法分析句法规则的表示方法(上下文无关文法)1/2,7,例9.2 利用上述上下文无关文法,给出如下语句的分析树。The professor trains Jack.,The,professor,.,trains,Jack,解:如下图,9.1.3 句法分析句法规则的表示方法(上下文无关文法)2/2,句子,语句,终标符,动词短语,名词短语,冠词,名词,动词,名词短语,专用名词,8,上下文无关文法反映的仅是一个句子本身的层次结构和生成过程,而自然语言是上下文有关的。为此,乔姆斯基又提出了变换文法(Transformational Grammar)。该文法认为,句子的结构有深层和表层两个层次。例如:She read me a story 和 She read a story to me的表层结构不一样,但它们的深层结构则是一样的。再如,主动句和被动句也只是表层结构不同,其深层结构则是相同的。在变换文法中,句子深层结构和表层结构之间的变换是通过变换规则实现的,如图9.6给出了一条把主动句变换为被动句的变换规则。,9.1.3 句法分析句法规则的表示方法(变换文法)1/2,9,助动词,介词,动词的过去分词,名词短语1,句子,介词短语,句子,名词短语1,动词短语,动词,名词短语2,名词短语2,动词被动语态,冠词,名词,专用名词,上下文无关文法,变换规则,冠词,名词,The,professor,Jack,trains,Jack,专用名词,is,trained,by,the,professor,professor,先用上下文无关文法得句子的深层结构,再用变换文法得表层结构。例9.3 利用变换文法,将前述主动句变为被动句。解:其变换过程是:先从非终极符“句子”开始产生一个主动句:The professor trains Jack然后再应用图9.7所示的变换规则把它变为被动句:Jack is trained by the professor,动词,冠词,名词,The,professor,名词短语2,专用名词,trains,动词,冠词,名词,The,professor,Jack,名词短语2,专用名词,trains,动词,冠词,名词,The,professor,9.1.3 句法分析句法规则的表示方法(变换文法)2/2,10,自顶向下分析,是指从起始符开始应用文法规则,一层一层地向下产生分析树的各个分支,直至生成与输入语句相匹配的完整的句子结构为止。例如,图9-4所示的上下文无关文法,采用自顶向下分析方法对语句:The professor trains Jack.进行分析的过程是:,首先,从起始符“语句”开始,正向运用规则:语句 句子 终标符把分析树的根节点“语句”替换为它的两个子节点“句子”和“终标符”。如分析树一,然后,再对新生成的节点“句子”使用规则:句子 名词短语 动词短语将其替换为两个子节点“名词短语”与“动词短语”。如分析树二,语句,句子,终标符,语句,句子,终标符,图:部分分析树一,动词短语,名词短语,图:部分分析树二,9.1.3 句法分析自顶向下分析,11,接着,对于“名词短语”,有两条规则可用,若按规则的排列顺序,则选用 名词短语 冠词 名词将“名词短语”被替换为“冠词”和“名词”,生成两个新节点。如分析树三,再接着,对“冠词”使用规则:冠词 The对名词使用规则:名词 professor将冠词 替换为The,名词替换为professor。如分析树四,语句,句子,终标符,动词短语,明词短语,图:部分分析树三,冠词,名词,句子,终标符,动词短语,明词短语,图:部分分析树四,冠词,名词,语句,The,professor,依此进行,最后可得到如图9.5所示的自顶向下的完整分析树。,9.1.3 句法分析自顶向下分析,12,它以输入语句的单词为基础,首先按重写规则的箭头指向,反方向使用那些最具体的重写规则,把单词归并成较大的结构成分,如短语等,然后对这些成分继续逆向使用规则,直到分析树的根节点为止。还是前面的语句 The professor trains Jack按自底向上,先逆向使用图8.4中的具体规则,可得到如下所示的部分分析树。,Jack,名词短语,专用名词,trains,动词,冠词,名词,The,professor,终标符,.,然后,继续逆向使用规则,一步步归并,直到根节点“语句”为止,最后即可生成如图9.5所示的完整的分析树。自顶向下分析方法与自底向上分析方法虽然思路清晰,但分析效率不高。为了提高分析效率,可采用自顶向下与自底向上相结合的分析方法。,9.1.3 句法分析自底向上分析,13,9.1.4 语义分析概述,语义分析就是要识别一句话所表达的实际意义。即弄清楚“干什么了”,“谁干的”,“这个行为的原因和结果是什么”以及“这个行为发生的时间、地点及其所用的工具或方法”等。由于句法分析仅是在句法范围内根据词性信息来分析自然语言中句子的文法结构,并没有考虑句子本身的含义,因此不能排除像 The paper received the professor这种在语法结构上正确,但实际意义上错误的句子。目前,用于语义分析的技术比较多,本节仅简单介绍语义文法和格文法。,14,语义文法是在上下文无关文法的基础上,将“名词短语”、“动词短语”、“名词”等这些不含有语义信息的纯语法类别,用所讨论领域的专门信息,像“山”、“水”、“动物”、等这些具有很强语义约束的语义类别来代替。利用语义文法进行语义分析,就可以排除像“论文收到教授”这类无意义的句子。例如,下面是一个关于舰船信息的语义文法的例子:S PRESENT the ATTRIBUTE of SHIP/介绍舰船的属性信息 PRESENT what is|can you tell me/是什么或能告诉什么 ATTRIBUTE length|class/长度或级别 SHIP the SHIPNAME|CLASSNAME class ship/舰船名或类别名 SHIPNAME Huanghe|Changjiang/黄河或长江 CLASSNAME carrier|submarine/货船或潜艇 在上述重写规则中,用大写英文字母的单词表示非终极符,小写英文字母表示终极符,竖线表示“或”的意思。利用上述语义文法进行语义分析,可以从语义上识别以下的输入:what is the length of the Huanghe?/黄河号的长度 Can you tell me the class of the Changjiang?/长江号的级别?,9.1.4 语义分析语义文法,15,格文法是以句子的中心动词为主导,并用格来表示其它成分与此中心动词之间的语义关系的一种描述方法。格文法及其分析过程比较复杂,下面仅讨论格的简单概念、格框架的简化表示、格文法分析的大致过程。语义分析中的“格”与传统语法中的格有着本质不同。在传统语法中,格仅表示一个词或短语再句子中的功能,如主格、宾格、等,反映的也只是词尾的变化规则,故称为表层格。在格文法中,格表示的是语义方面的关系,反映的是句子中所包含的思想、观念等,故称为深层格。格文法中的“格”相对于中心动词的不同语义关系,格可分为许多种。例如,在句子 John gave the book to Sally中,相对于中心动词gave John是这个行为的发出者,称为动作格;the book是行为作用的对象,称为受动格;Sally是行为作用对象所到达的目标,称为目标格。,9.1.4 语义分析格文法(格和格框架),16,一套正确的深层格究竟应包括多少个格,以及这些格的明确含义是什么,目前尚无定论。下面给出一个描述行为的句子,它所涉及的深层格主要有:Agent(施事),动作主格,指行为的施动者;Object(受事),受动者格,指行为作用的对象;Co-Agent(共施事),帮助者格,指行为施动者的合作者;Instrument(工具),工具格,指施事者或共施事者实现行为中所使用的对象;Time(时间),时间格,指行为发生的时间;Source(来源),来源格,指行为作用对象移出的位置;Goal(目标),目标格,指行为作用对象到达的位置;Trajectory(轨迹),轨迹格,指从来源到目标所经过的路径。,9.1.4 语义分析格文法(格和格框架),17,格框架是一种用来描述句子深层格的框架。在格文法中,每个句子都联系着一个格框架。其中,框架名可以是相应句子的中心动词,框架的槽可分别对应于相应句子的各个深层格,每个槽的槽值为该深层格在相应句子中所代表的语义成分。例如,前述句子分析结束时所得到的实际格框架为:GAVE Agent:John/动作主格 Object:the book/受动者格 Co-Agent:/帮助者格 空 Instrument:/工具格 空 Time:/时间格 空 Source:John/来源格 Goal:Sally/目标格 Trajectory:/轨迹格 空,9.1.4 语义分析格文法(格和格框架),18,格文法分析过程主要是对格框架的填充过程。例如,前述句子分析结束时所得到的实际格框架为:GAVE Agent:John/动作主格 Object:the book/受动者格 Source:John/来源格 Goal:Sally/目标格,9.1.4 语义分析格文法分析,19,第9章 智能应用简介,9.1 自然语言理解简介9.2 专家系统简介 9.2.1 专家系统概述 9.2.2 基于规则和基于框架的专家系统 9.2.3 模糊专家系统和神经网络专家系统 9.2.4 基于Web的专家系统 9.2.5 分布式和协同式专家系统 9.2.6 专家系统的开发,20,专家系统 专家系统是一种具有大量专门知识和经验的智能程序系统,它能运用领域专家多年积累的经验和专门知识,模拟领域专家思维过程,解决该领域中需要专家才能解决的复杂问题。专家系统的主要特性(1)具有领域专家的知识和经验(2)可高效、准确、不疲倦地稳定工作(3)使人类专家的领域知识突破了时间、空间的限制(4)能进行有效推理,包括精确、非精确(5)具有透明性,能解释推理过程(6)具有自学习能力专家系统的产生与发展 1965年,美国斯坦福大学费根鲍姆研究化学专家系统DENDRAL 1976年,费根鲍姆又研究成功了医学专家系统MYCIN 1981年,斯坦福大学杜达研究成功了地质勘探专家系统PROSPECTOR,9.2.1 专家系统概述专家系统的概念,21,先进专家系统是指在传统专家系统的基础上,引入一些新思想、新技术所产生的专家系统。先进专家系统的特性(1)并行分布式处理功能(2)多专家协同工作(3)更强的自学习能力(4)更新的推理机制(5)自纠错和自完善能力(6)先进的智能接口(7)更多的先进技术被引入和融合 先进专家系统的类型(1)分布式专家系统(2)协同式专家系统(3)模糊专家系统(4)神经网络专家系统(5)基于Web的专家系统,9.2.1 专家系统概述先进专家系统的概念,22,尽管不同类型的专家系统的结构会存在一定差异,但其基本结构还是大致相同的。通常,一个专家系统的基本结构由知识库、数据库、推理机、解释模块、知识获取模块和人机接口6大部分所组成。如下图所示:,9.2.1 专家系统概述专家系统的基本结构,23,基于规则的专家系统是指采用产生式知识表示方法的专家系统。它以产生式系统为基础,是专家系统开发中常用的一种方式,其最基本的工作模型如图9.11所示。在该模型中,规则库是基于规则专家系统的知识库;事实库也称综合数据库,是用来存放推理前的已知事实和推理过程中所得到的中间结论的;推理机是基于规则专家系统的推理机构。,基于框架的专家系统是指采用框架知识表示方法的专家系统。它以框架系统为基础,具有较好的结构化特性。这种专家系统的基本结构也与图9.10所示的专家系统类似,其主要区别在于知识库中知识表示和组织方式,综合数据库中事实的表示方式,推理机的推理方法和系统推理过程的控制策略等。,9.2.2 基于规则和基于框架的专家系统基于规则的专家系统,24,模糊专家系统是指采用模糊技术来处理不确定性的一类专家系统。模糊专家系统的基本结构与传统专家系统类似,一般由模糊知识库、模糊数据库、模糊推理机、知识获取模块、解释模块和人机接口6部分所组成。结构如下图:,人 机 接 口,模糊数据库,模糊推理机,模糊知识获取,用户,模糊知识库,领域专家,AI专家,解释模块,图9.12 模糊专家系统的基本结构,9.2.3 模糊专家系统和神经网络专家系统模糊专家系统,25,神经网络专家系统是神经网络与传统专家系统集成所得到的一种专家系统。它将传统专家系统的显式的知识表示方法变为基于神经网络及其连接权值的隐式知识表示,把基于逻辑的串行推理技术变为基于神经网络的并行联想和自适应推理。,9.2.3 模糊专家系统和神经网络专家系统神经网络专家系统,26,基于Web的专家系统是Web数据交换技术与传统专家系统集成所得到的一种先进专家系统。它利用Web浏览器实现人机交互,基于Web专家系统中的各类用户都可通过浏览器访问专家系统。从结构上,它由浏览器、应用服务器和数据库服务器三个层次所组成,包括Web接口、推理机、知识库、数据库和解释器。,9.2.4 基于Web的专家系统,27,这是两种不同的先进专家系统,它们各自的侧重点不一样。分布式专家系统强调并行和分布,而协同式专家系统则强调协作与协同。分布式专家系统 分布式专家系统(Distributed Expert System,DES)是具有并行分布处理特征的专家系统,它可以把一个专家系统的功能分解后,分布到多个处理机上去并行执行,从而在总体上提高系统的处理效率。其运行环境可以是紧密耦合的多处理器系统,也可以是松耦合的计算机网络环境。协同式专家系统 协同式专家系统(Cooperative Expert System,CES)亦称群专家系统,是一种能综合若干个相近领域或同一领域内不同方面专家系统相互协作、共同解决单个专家系统无法解决的更广领域或更复杂问题的专家系统。从结构上它们有一定的相似之处,它们都涉及到多个分专家系统。但在功能上却有较大差异,分布式专家系统强调的是功能分布和知识分布,它要求系统必须在多个节点上并行运行;而协调式专家系统强调的则是各专家系统之间的协同,各分专家系统可以在不同节点上运行,也可以在同一个节点上运行。,9.2.5 分布式和协同式专家系统,28,采用原型技术的专家系统开发过程如下图所示,它可分为设计初始知识库、原型系统开发与试验、知识库的改进与归纳三个主要步骤。,9.2.6 专家系统的开发开发步骤,29,专家系统,知识工程师,领域专家,抽取知识,检验知识,图9.16 知识获取的任务,输入知识,9.2.6 专家系统的开发知识获取,30,常用的专家系统开发工具和环境可按其性质分为程序设计语言、骨架型工 具、语言型工具、开发环境及一些新型专家系统开发工具等。程序设计语言 程序设计语言包括人工智能语言和通用程序设计语言,它们是专家系统开发的最基础的语言工具。人工智能语言的主要有以LISP为代表的函数型语言和以PROLOG为代表的逻辑型语言等;通用程序设计语言的主要代表有C、C+和JAVA等。骨架型工具 骨架型工具也称为专家系统外壳,它是由一些已经成熟的具体专家系统演变来的。其演变方法是,抽去这些专家系统中的具体知识,保留它们的体系结构和功能,再把领域专用的界面改为通用界面,这样,就可得到相应的专家系统外壳。语言型工具 语言型工具是一种通用型专家系统开发工具,它是不依赖于任何已有专家系统,不针对任何具体领域,完全重新设计的一类专家系统开发工具。与骨架系统相比,语言型工具具有更大的灵活性和通用性,并且对数据及知识的存取和查询提供了更多的控制手段。常用的语言型工具有CLIPS和OSP等。开发环境 专家系统开发环境是一种为高效率开发专家系统而设计和实现的大型智能计算机软件系统。专家系统开发环境一般由调试辅助工具、输入输出设施、解释设施和知识编辑器4个典型部件所组成。,9.2.6 专家系统的开发开发工具与环境,31,作 业 题,9.2 对下列每个语句给出文法分析树:(1)John wanted to go the movie with Sally.(2)John wanted to go to the movie with Robert Redford.9.4 什么是专家系统?它有哪些基本特征?9-9 什么是分布式专家系统?什么是协同式专家系统?它们的主要区别是什么?,