58第三节用编程和智能工具处理信息学习目标1.了解计算机语言和程序的基本概念;初步识别程序代码,了解程序执行的主要方式,体会计算机与人类处理信息过程的异同点;2.通过问题分析合理确定信息加工的过程与方式;掌握编程加工信息的过程;3.了解人工智能的初步知识;了解人工智能的特点,体验模式识别与自然语言处理对社会的应用价值。4.通过考察或实际使用,了解常用的模式识别的基本概念和使用方法,体验它们在实际生活中的作用;通过运行自然语言对话或机器翻译程序,了解自然语言处理的简单知识。知识梳理一、利用编程加工信息1.编程加工信息的基本知识与特点编程加工信息,是针对特定问题而编制专门的程序,充分利用计算机的高速运算能力实现对信息的自动化处理。与文字信息、图像信息等需要“人机协作”的加工方法相比,利用编程加工信息,可以提高计算机处理信息的效率,发挥计算机高速运算、自动执行的特点。编程就是把解决问题的步骤转化成计算机可识别、可执行的指令代码,以此来借助计算机完成信息的加工。所谓“可识别”是指机器能认识和理解一条指令所表示的具体含义;而“可执行”是指这条指令能使计算机硬件产生一定的运算操作。2.程序与计算机语言(1)程序的概念为解决某个实际问题,我们把一组指令代码按照一定的规则进行组合,这组有序排列的指令代码就称为程序。(2)程序的作用程序是用计算机解决问题的基本方法。计算机是依照人们给出的程序来进行工作的,我们使用计算机的过程也就是运行程序的过程。程序可以用于支持计算机系统的正常运行、帮助人们方便地操作和管理计算机,比如Windows操作系统;也可以针对单一的任务,在脱离人工干预的情况下自动运算,比如求解特定的数学方程式;还可以用于完成某一大类相似任务,具有功能强大、通用性好、操作简便、强调“人机协作”的特点,比如文字编辑程序、图像处理程序等。(3)计算机语言的概念计算机语言是人与计算机进行交流的主要工具。如同聋哑人的手语、舰船水手的旗语、音乐家的乐谱、工程师的图纸等一样,计算机语言是人们根据生产生活中的实际需求,按一定规则编制的、专门针对计算机的一种专用语言。(4)计算机语言的作用59利用计算机语言,可以把人们思维或交流用的自然语言,转化成计算机可识别和理解的程序,使计算机能够按照人的意愿加工信息。由于计算机语言的主要作用是进行程序设计,因此,它也可以被称为程序设计语言。如同人类的自然语言有不同的语种一样,人们根据需要为计算机语言设计出了多个“语种”,我们常用的VisualBasic(简称VB)就是其中的一种。3.利用编程加工信息的过程首先对解决问题的方法和步骤进行描述,然后编写程序并对其进行调试和修改,最终得出正确结论。整个过程可分为五个阶段,它们是:(1)分析问题:进行需求分析,明确问题当中所包含的已知条件和未知量,确定加工目标;(2)设计算法:算法是解题方法与步骤的设计,是编写程序的基础。算法设计必须保证能够在有限的存储空间内,以有限的步骤和机器可执行的运算方法得出正确的结论。算法设计可以用流程图、自然语言或者其它方法进行表述;需要说明的是,算法并不仅仅是指计算的方法,算法中包含了从何处入手、计算的步骤以及结果处理等全过程。比如日常生活中的信件邮寄工作,其中最主要的步骤是“写信”,但“邮寄信件”这一任务的“算法”就不仅仅是“写信”了,它应包括“写信—写信封--贴邮票--投入信箱”等所有步骤。(3)编写程序:选择一种程序设计语言,根据算法设计逐条编写程序;(4)调试运行:在编程环境下,对程序进行调试运行,检验程序能否顺利执行,根据出错信息修改程序,排除标点符号、语句拼写等语法错误;(5)检测结果:对程序执行后所得到的结果进行分析,排除程序中的计算公式、运算条件等逻辑错误,确认最终结果的正确性。4.人类与计算机解决问题的比较相比较而言,人类与计算机解决问题的相同点,都是将问题的解决方法分解成一个个步骤,然后按步骤完成,得出最终结果,但两者的差异也是十分明显的。(1)速度和精度的差异:人的计算速度和精度与计算机无法比拟;(2)“记忆能力”的差异:人的记忆力比不上计算机的存贮能力;(3)机械执行差异:计算机会丝毫不走样地重复同一项工作,并且绝不出差错,而人却做不到这一点;(4)灵活性差异:人会根据当前情况灵活多变地处理信息,选择最恰当的处理方法,而计算机只能刻板地按事前约定的程序一成不变地执行;分析问题→设计算法→编写程序→调试运行→检测结果60(5)复杂和模糊条件性差异:人能凭借知识和经验对复杂、模糊甚至错误的条件进行分析判断,用推理的方法推导出正确结果,而目前计算机在这方面的能力基本上还处于初始阶段,与人相比相差甚远。二、利用智能工具加工信息利用智能工具加工信息,是指采用人工智能技术处理信息的方法。1.人工智能的初步知识(1)人工智能的研究目的人工智能是计算机科学的一个前沿分支,它的研究目的是希望计算机能模拟人的某些思维过程和智能行为,使计算机具有一定的“智慧”和“思想”,以胜任一些通常需要人类智能才能完成的复杂工作。(2)人工智能的研究内容及应用人工智能的研究内容主要包括模式识别、自然语言处理、智能机器人、知识的获取和处理、自动程序设计等方面。在信息社会,人工智能已经普遍应用于人们的生活和工作,如卫星图像的解析、飞机与汽车的智能导航、工业用机器人、智能家电产品、大型电子游戏等。人工智能的不断发展,使得冰冷死板的机器越来越趋向于“人”,如同生物工程中的“克隆”技术一样,机器的高度“人性化”也会给人类社会的伦理、道德、法律和文化产生一定的影响。(3)智能工具与一般编程在信息加工方面的区别同一般的编程处理信息一样,智能工具也是通过程序来完成信息加工的。但在一般的编程中,它的问题、条件、运算量、算法以及处理结果都是固定而明确的,而智能化加工信息,则是根据少量的、模糊的已知条件来对信息进行辨识、分析、推理和控制,无法形成固定的算法,用智能工具加工信息,其结果往往是不确定的。(4)人工智能与人类智能的区别目前,人工智能的研究方式,并不是完全仿造人脑的内部结构,而是仅对人类大脑思维的过程进行模拟,是一种“机器思维”,因此,人工智能不是人的智能,更不会超过人的智能。人工智能与人类思维有着的本质的区别:①机器思维是无意识的、机械的、物理的过程,人类智能主要是生理和心理的过程;②人工智能没有社会性,没有人类意识所特有的能动性和创造能力;③人工智能与人脑思维相比,总是人脑的思维在前,人工智能的功能在后。因此,现在还无法做到让智能工具脱离开人类进行“独立思考”,真正的“人工智能”还远远没有实现。比如大家熟知的计算机下棋,并不是因为计算机具备了某种智慧,而是人们事先编制了下棋的程序,将所有可能的步骤全部存入计算机中,下棋过程中,计算机利用高速度和强大的搜索功能,根据当前状况不断探寻各种走法,经过比较选择最佳方案。2.模式识别的基本知识61(1)模式识别的作用简单的说,模式识别就是让智能工具能够“看懂”或“听懂”外界的信息,或者将经智能化处理的信息“说”出来,使人与机器之间的信息交流更加自然和方便。模式识别的应用主要包括文字图像识别(读)、语音识别(听)和语音合成(说)等。(2)模式识别的简单原理与过程模式识别是首先在计算机中建立起识别对象的“标准特征库”,然后采集识别样本;对单个样本进行分析,提取样本的特征,将这些特征与“标准特征库”进行对照,以最为相似者为最终结果。比如“光学字符识别”系统(OCR),它的识别就是先获取汉字的图象,经处理后与计算机中保存的“标准特征库”中的所有汉字进行比较,找出最相近的字型,得到识别结果。模式识别的工作过程可用下图表示:采集样本分析提取样本特征样本特征与标准特征相比较最终结论(3)模式识别的应用目前,模式识别应用最为广泛的是图像识别、语音识别和语音合成。①图像识别:图像识别是对采集的图像进行“再认识”的过程。比如指纹识别系统。指纹识别系统的工作过程是:首先将每个人的指纹图像和其他身份特征一并输入到计算机中,建立起“指纹标准特征库”;当有人需要验证指纹时,计算机会采集、分析并提取这个人的指纹图像特征,与“指纹标准特征库”中的标准指纹图像进行比较,以确定此人的具体身份。②语音识别:语音识别是将人们发出的声音转换成文本或指令,比如计算机语音录入,是用语音替代了键盘,帮助人们以“口述”的方式完成文字输入;再比如手机的声控功能,是把用户发出的语音转换成指令,完成拨号、接听等操作。③语音合成:语音合成与语音识别相反,它是将计算机中的文字转换成声音,也就是将文字实时转化为标准流畅的语音朗读出来,相当于给机器装上了人工“嘴巴”。比如一些帮助盲人“阅读”的软件。在模式识别中,无论是语音识别还是语音合成,都仍然采用与“标准特征库”匹配的方式,因此,语音识别和语音合成仅仅是从单个发音上对声音进行处理,对语音本身所表达的内容和意义并不理解。(4)模式识别产生误差的主要原因在模式识别中,样本采集和特征分析的过程比较复杂,比如在“汉字手写板”中,每个人书写的笔画形态甚至笔画顺序都有很大区别;在“语音识别”中,声调、频率和音色等也会因人而异;在“指纹识别”中,即使是同一人的指纹,也会受到手指洁净度、手指摆放角度的影响……这些现象都会影响到样本特征的准确提取,因此,模式识别目前还无法做到十标准特征库62分准确,有一定的误差。3.自然语言处理(1)什么是自然语言处理自然语言处理是人工智能中的重要研究领域。它是探讨如何在机器中处理和运用自然语言,使机器不单从字面和发音、更要真正从意义上“懂得”和“理解”人类的语言。自然语言处理包含两个方面:自然语言理解和自然语言生成。(2)自然语言处理的应用目前,自然语言处理主要应用于文字的理解和翻译,比如机器翻译、全文信息检索系统、自动文摘系统等。①机器翻译:机器翻译是将一种语言翻译成另一种语言。比如我们可以向计算机中输入一段中文,通过翻译系统,计算机会输出相应的英文。②全文信息检索系统:智能化的全文信息检索系统可以在不同的语种之间相互查找信息。比如我们可以在网络搜索引擎中用中文输入关键字,计算机会搜索到网络中相关内容的英文网页,并将网页上的文字直接翻译成中文。③自动文摘系统:自动文摘系统能自动阅读、理解整篇文章,在极短的时间内抽取文章中的关键字,自动“写”出能基本反映文章主题,文字流畅的摘要来。(3)自然语言处理的简单工作过程智能工具对文字的理解和翻译主要依靠了自然语言的各种规则,计算机对文章中的单词、句法、语义进行比较和判别,利用知识推理的方法,“读懂”文章所叙述的主题内容,再根据另一种语言的规则要求,转换后输出。具体方法是:在计算机里存贮一定的词汇词典、句法规则、语义规则、推理规则和主题知识。文章输入后,计算机对每条语句自左至右逐词扫描,根据词典辨认每个单词的词义;根据句法规则确定短语和句子的组合;根据语义规则和推理规则获取语句的含义;再查询知识库,根据主题知识“读懂”文章所讲述的主题内容;最后按语句生成规则组织输出。(4)自然语言处理产生误差的主要原因智能工具在自然语言理解和生成过程中产生的误差,主要原因是自然语言的歧义性和多义性,大致包括以下几个方面:①文章中的每个句子都会受到上下文关联的影响,简单孤立的分析单句会造成歧义;②受词语省略、代词所指以及交谈环境等条件的约束,同一句话在不同场合说出或由不同的人说出,会产生不同的含义,这种现象在自然语言中千变万化,没有明确的规律可循,无法形成可依据的规则;③人在理解一个句子时要运用大量的相关知识,包括生活知识和专门知识,目前,这些知识不但难以转化成计算机所能处理的数字信息,而且还需要超量的存贮空间,因此我们现在还无法将这些知识全部存贮在计算机中,计算机对文章的“理解”也只能建立在有限的词汇、句型和特定的主题知识范围之内。63例题解析【例1】(单选题)如果你是一名学校的工作人员,在最近要进行的以下工作中,从简便有效的角度出发,你认为最适合利用编程方法加工信息的是()。A.学校为加强沟通,编写一份供学生家长阅读的意见征询信件B.学生在演讲时,为强调自己的观点制作图文