已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1聊天机器人技术的研究与实现学生姓名学院专业班级学号指导教师审阅教师完成日期2摘要随着信息技术的发展,随着社会的不断进步,各个领域对信息化需求不断增加,同时智能化水平也在不断提升,计算机已经成为了我们日常生活中必不可少的一样东西,就像一件必不可少的家用电器一样。有了电脑,我们就可以上网看新闻、看视频、玩游戏等,通过电脑来打发我们无聊的时间已经成为了越来越多的人的选择。计算机的用途也在随着信息技术的发展而发展,在上世纪八十年代就诞生了一种可以跟人聊天的智能计算机软件,我们称之为聊天机器人。本文主要介绍聊天机器人技术的研究与实现。本系统在WIN7操作系统下,采用VISUALSTUDIO2012软件开发平台,使用C语言进行程序编写。通过关键词分句的设计方法进行程序设计,实现了人与计算机的智能对话模式。关键词聊天机器人;智能计算机;聊天3ABSTRACTWITHTHEDEVELOPMENTOFINFORMATIONTECHNOLOGY,WITHTHEDEVELOPMENTOFSOCIETY,INALLFIELDSOFINFORMATIONTECHNOLOGYINCREASINGDEMAND,ATTHESAMETIME,THEINTELLIGENTLEVELISRISING,THECOMPUTERHASBECOMETHEESSENTIALTHINGINOURDAILYLIFE,ASAESSENTIALFORHOUSEHOLDAPPLIANCESWITHTHECOMPUTER,WECANREADNEWSONLINE,WATCHVIDEOS,PLAYGAMES,TOSENDUSTHEBORINGTIMEBYCOMPUTERHASBECOMEMOREANDMOREPEOPLECHOICETHEUSEOFCOMPUTERSINALONGWITHTHEDEVELOPMENTOFINFORMATIONTECHNOLOGYANDDEVELOPMENT,INTHEEIGHTYSOFTHELASTCENTURYWASBORNANINTELLIGENTCOMPUTERSOFTWARECANCHATWITHPEOPLE,WECALLTHECHATROBOTRESEARCHANDIMPLEMENTATIONOFTHISPAPERMAINLYINTRODUCESTHECHATROBOTTECHNOLOGYTHESYSTEMINWIN7OPERATINGSYSTEM,USINGVISUALSTUDIO2012SOFTWAREDEVELOPMENTPLATFORM,USINGTHECPROGRAMMINGLANGUAGEPROGRAMDESIGNBYTHEDESIGNMETHODOFKEYWORDCLAUSE,REALIZESTHEINTELLIGENTDIALOGUEMODEOFMANANDCOMPUTERKEYWORDSCHATROBOTINTELLIGENTCOMPUTERCHAT4目录聊天机器人技术的研究与实现1摘要2ABSTRACT3目录41绪论111课题开发的背景112国内外发展现状113课题开发的意义314本章小结32可行性分析521技术可行性522经济可能性523操作可能性624开发工具6241VISUALSTUDIO20126242C程序设计语言73系统分析1231需求分析1232B/S三层构架134系统设计1641程序设计分析1642程序展示165系统测试与维护20551系统的配置2052系统的维护2053系统测试216结论23参考文献2411绪论11课题开发的背景自从上世纪中叶第一台计算机诞生以来,计算机越来越走进人们的生活当中,特别是随着计算机网络的发展,把全世界的人们紧密的联系在一起,大大的扩展了计算机的功能,人们越来越离不开计算机了。如今,作为网络应用之一的聊天工具,越来越受到人们的欢迎和重视。现在已有的聊天软件不胜枚举,流行的主要有MSNMESSENGER、QQ等。MSNMESSENGER来自于软件巨头微软,其实力当然不容小觑。目前最新版本为MSN9,能够实现文本、手写、语音、视频等多种沟通方式,可以预见在不久的将来,聊天软件将成为人们通过因特网相互联系和娱乐的主要平台。由于MSNMESSENGER协议是公开的,因此第三方软件开发者能通过协议写出自己的程序与网络交互,于是MSN机器人应运而生。MSN机器人是以MSN联系人的形式出现的,只要你添加相关机器人的MSN帐号,就可以像与真人聊天一样与机器人聊天,并可查询地图、股票、天气预报、电视节目等信息。随着我国计算机技术、互联网行业的快速发展,计算机的开发应用已渗透到各个领域,成为各行各业必不可少的工具,而且日趋普及。随着网络的兴起,越来越多的人依赖网络,因此聊天机器人应运而生。聊天机器人是以联系人的形式出现的,只要你添加相关机器人的账号,就可以像与真人聊天一样与机器人聊天,并可查询地图、股票、天气预报、电视节目等信息。目前,知名的聊天机器人有一枝独秀的MSN机器人小I,专业的MSN股票机器人牛牛,国内则如腾讯的QQ机器人小Q,但在功能上和MSN的系列机器人相比有一定差距。12国内外发展现状世界上最早的聊天机器人诞生于20世纪80年代,名为“阿尔贝特”,用BASIC语言编写而成。今天的互联网上,已出现“比利”、“艾丽斯”等聊天机2器人等,中文的如“白丝魔理沙”、“乌贼娘”等由网友制作的聊天机器人。据悉,还有一个“约翰列侬人工智能计划”,以再现当年“甲壳虫”乐队主唱的风采为目标。1950年,图灵在哲学刊物思维上发表“计算机器与智能”的文章,提出了后来经典的图灵测试交谈能检验智能,如果一台计算机能像人一样对话,它就能像人一样思考。他由此获称“人工智能之父”。1991年,美国科学家兼慈善家休勒布纳设立人工智能年度比赛勒布纳奖,号称是对图灵测试的第一种实践,旨在奖励最擅长模仿人类真实对话场景的机器人。2008年,勒布纳奖人工智能奖最后一轮10月12日在英国雷丁大学展开。艾尔博特等6种软件程序击败另外7种程序,获决赛资格。艾尔博特与12个陌生人交谈,力图让他们相信它是“人”。一番争论、笑声过后,这一电脑程序成功骗过3人,在今年人工智能比赛中拔得头筹,朝“成为史上第一台能思考的机器”目标更近一步。MSN机器人是一项能够带给用户良好信息体验的技术产品基于人工智能技术的开发、研究和应用,为成千上万用户提供新颖实用的网络服务。MSN机器人技术日渐成熟,其中著名的如赢思软件公司开发的小I机器人。2004年赢思先后在全球知名的即时通讯(IM)平台MSN、“腾讯QQ”及YAHOOMESSENGER上推出了小I智能机器人;小I以其强大的聊天功能和各类资讯信息的提供一时间成为各大IM平台的新宠,用户量突破800万,在人工智能机器人及信息服务领域获得了前所未有的突破。2006年2月,凭借在机器人领域多年的积累以及强大的技术实力,赢思软件成为微软全球战略合作伙伴及微软官方机器人平台,携手微软打造最强大的机器人应用平台。目前公司已推出小I聊天、MSN群、小I地图、小I天气、小I收视指南、小I问答等多项应用,提供了多种个性化功能和服务,性能稳定,应用广泛。世界上最早的聊天机器人诞生于20世纪80年代,这款机器人名为“阿尔贝特”,用BASIC语言编写而成。1950年,图灵在哲学刊物思维(MIND)上发表了“计算机器与智能”3的文章,提出了后来经典的图灵测试交谈能检验智能,如果一台计算机能像人一样对话,它就能像人一样思考。他由此获称“人工智能之父”。1991年,美国科学家兼慈善家休勒布纳设立人工智能年度比赛勒布纳奖,号称是对图灵测试的第一种实践,旨在奖励最擅长模仿人类真实对话场景的机器人。比赛分为金、银、铜三等奖。如果程序不仅能以文本方式通过交谈测试,在音频和视频测试中也能过关,则获金奖,赢得10万美元和一枚18K黄金制金牌;如果它能在更长时间文本谈话中迷惑住至少半数裁判,则获银奖;如果未达到以上标准,则每年测试中迷惑住最多裁判的程序赢得2000美元和一枚铜牌。从1991年首届比赛至今,尚无程序达到金奖或者银奖标准。2008年,勒布纳奖人工智能奖最后一轮比赛10月12日在英国雷丁大学展开。艾尔博特等6种软件程序击败另外7种程序,获得决赛资格。艾尔博特与12个陌生人交谈,力图让他们相信它是“人”。一番争论、笑声过后,这一电脑程序成功骗过3人,在今年人工智能比赛中拔得头筹,朝“成为史上第一台能思考的机器”目标更近一步。13课题开发的意义聊天机器人产生的原因是,研发者把自己感兴趣的回答放到数据库中,当一个问题被抛给聊天机器人时,它通过算法,从数据库中找到最贴切的答案,回复给它的聊伴。此外,聊天机器人的成功之处在于,研发者将大量网络流行的俏皮语言加入词库,当你发送的词组和句子被词库识别后,程序将通过算法把预先设定好的回答回复给你。而词库的丰富程度、回复的速度,是一个聊天机器人能不能得到大众喜欢的重要因素。千篇一律的回答不能得到大众青睐,中规中矩的话语也不会引起人们共鸣。此外,只要程序启动,聊士们24小时在线随叫随到,堪称贴心之至。14本章小结本章主要通过对课题的背景、发展现状和开发意义三个角度进行了分析。4通过上文可以看出聊天机器人的设计开发已经成为了热门话题,人们经常通过与聊天机器人对话进行情绪的发泄与寻求安慰。52可行性分析在系统调查和业务流程分析的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。并且可行性研究主要集中在以下三个方面21技术可行性随着互联网时代的到来以及数码相机的普及,越来越多的人在生活中、吃饭时,旅途中都喜欢用相机记录下当时的场景。再加上现在的智能手机功能越来越强大,几乎所有手机都有照相功能,所以拍照几乎成了人们日常生活中必不可少的一部分。根据本系统的功能需求,采用C语言进行程序开发。开发平台选取微软的VISUALSTUDIO2012程序设计平台。C语言与VC平台都是相当成熟的技术,因此在技术层面上,本系统的实现是完全可行的。22经济可能性本环节通过分析新系统的成本效益,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用以及新系统将获得的效益,估算开发成本是否高于项目预期的全部经费。下面具体列出了成本和效益的分析(1)支出本系统的开发只需要系统的程序设计费用,使用者将程序安装到计算机中就可以实现人与计算机的智能聊天功能。(2)效益本系统的效益主要是供使用者打发无聊时间,作为一款娱乐程序,如果此程序能够为广大使用者带来快乐就实现了其效益。由以上可知,本系统在经济上是可行的。623操作可能性本系统是非常简单的人机对话系统,将程序安装在计算机上之后,打开程序,在聊天框中输入聊天信息,本系统就可以对用户发送的聊天信息进行智能回复。对于任何一个能够熟练使用计算机的人都是可以轻松操作本程序。所以本系统在操作上是完全可行的。24开发工具241VISUALSTUDIO2012VISUALSTUDIO是微软公司推出的开发环境。是最流行的WINDOWS平台应用程序开发环境。2012年9月12日微软在西雅图发布VISUALSTUDIO2012。其实早在8月16日VISUALSTUDIO2012和NETFRAMEWORK45已经可以下载,微软负责VISUALSTUDIO部门的公司副总裁JASONZANDER还发表博客,列举了升级到VISUALSTUDIO2012版的12大理由。当时还主要是分发给MSDN订阅用户。9月1日批量许可VL发布。而在12号这天面向全球用户上市。应用程序的新纪元已经到来,这一点毋庸置疑。利用联网设备和基于云的服务,您可以获得比以往任何时候都更独立的开发人员随时随地都可以进行连接,向不计其数的用户提供您所构建优秀的应用程序。而大型敏捷的开发团队则可以获得明显的业务优势执行效率越快,优势越明显。这就是为什么说VISUALSTUDIO2012是我们到目前为止最卓越的版本。它的目的就是帮助您在贵在创意、重在速度的市场中发展壮大。让我们来看一看它帮助您将创意快速转化为应用程序的一些方法。VISUALSTUDIO2012新增了一些可以增进团队生产力的新功能。这些新功能包括INTELLITRACEINPRODUCTION开发者一般无法使用本地调试会话来调试生成程序,因此重现,诊断和解决生成程序的问题非常困难。而通过新的INTELLITRACE7INPRODUCTION功能,开发团队可以通过运行POWERSHELL命令来激活INTELLITRACECOLLECTOR来收集数据,然后INTELLITRACE会将数据传输给开发团队。开发者就可以使用这些信息在一个类似于本地调试会话的会话中调试程序。INTELLITRACEINPRODUCTION仅为VISUALSTUDIO2012旗舰版客户提供。TASK/SUSPENDRESUME这个功能解决了困扰多年的中断问题。假设开发者正在试图解决某个问题或者BUG,然后领导需要你做其他事情,开发者不得不放下手头工作,然后过几小时以后才能回来继续调试代码。TASK/SUSPENDRESUME功能会保存所有的工作包括断点到VISUALSTUDIOTEAMFOUNDATIONSERVERTFS。开发者回来之后,点击几下鼠标,即可恢复整个会话。代码检阅功能。新的代码检阅功能允许开发者可以将代码发送给另外的开发者检阅。启用“查踪”后,可以确保修改的代码会被送到高级开发者那里检阅,得到确认。POWERPOINTSTORYBOARDING工具。这个新工具是为了方便开发者和客户之间的交流而设计。使用POWERPOINT插件,开发者可以生成程序MOCKUPS,这会帮助客户于开发者就客户所需的功能进行交流。云功能以前,每个人都需要维护一台服务器。光是扩展容量便占用了基础架构投资的一大半。而拥有了云功能,您可以利用云环境中动态增加存储空间和计算能力的功能快速访问无数虚拟服务器。VISUALSTUDIO提供了新的工具来让您将应用程序发布到WINDOWSAZURE(包括新模板和发布选项),并且支持分布式缓存,维护时间更少。242C程序设计语言微软C语言定义主要是从C和C继承而来的,而且语言中的许多元素也反映了这一点。C在设计者从C继承的可选选项方面比JAVA要广泛一些比如说STRUCTS,它还增加了自己新的特点比方说源代码版本定义但它还太不成熟,不可能挤垮JAVA、C还需要进化成一种开发者能够接受和采用的语言。而微软当前为它的这种新语言大造声势也是值得注意的。目前大家的反应是“这是对8JAVA的反击”。C更象JAVA一些,虽然微软在这个问题上保持沉默。这也是意料中的事情,我觉得,因为JAVA近来很成功而使用JAVA的公司都报告说它们在生产效率上比C获得了提高。JAVA所带来的巨大影响和大家对它的广泛接受已经由工作于这种语言和平台之上的程序员数量明显的说明了估计世界范围内共有两百五十万程序员使用JAVA。由这种语言写成的应用程序的数量是令人惊讶的并已经渗透了每一个级别的计算,包括无线计算和移动电话比如日本发明的JAVA电话。C能够在用户领域获得这样的礼遇吗我们必须等待并观望,就象已经由SSI公司的CEO和主席KALPATHISSURESH指出来的那样“我发现所有这些都是渐进的。如果C不存在,我们总能回到JAVA或C和C。这些都不完全是新技术,它们在更大的意义上来说只是大公司制造的市场噱头。我们必须给他们时间安顿下来看看这些是不是真的对IT工业有什么影响。“C最引人入胜的地方是它和JAVA的不同,而不是相似的地方这一节和这个系列第二部分的大部分地方讲述了C实现的和JAVA不同的地方或者JAVA根本没有的特点动态查阅C40新增DYNAMIC关键字,提供动态编程(DYNAMICPROGRAMMING),把既有的静态对象标记为动态对象,类似JAVASCRIPT,PYTHON或RUBY。DYNAMICCALCGETCALCULATORINTSUMCALCADD10,20具名参数与可选参数PUBLICSTREAMREADEROPENFILESTRINGPATH,INTBUFFERSIZE1024调用OPENFILE时,顺序可以完全颠倒OPENFILEBUFFERSIZE4096,PATH“FOOTXT“9中间代码微软在用户选择何时MSIL应该编译成机器码的时候是留了很大的余地微软公司很小心的声称MSIL不是解释性的,而是被编译成了机器码它也明白许多如果不是大多数的话程序员认为JAVA程序要不可避免的比C编写的任何东西都要慢而这种实现方式决定了基于MSIL的程序指的是用C,VISUALBASIC,“MANAGEDC“C的一个符合CLS的版本等语言编写的程序将在性能上超过“解释性的“JAVA代码当然,这一点还需要得到事实证明,因为C和其他生成MSIL的编译器还没有发布但是JAVAJIT编译器的普遍存在使得JAVA和C在性能上相对相同象“C是编译语言而JAVA是解释性的,“之类的声明只是商业技巧JAVA的中间代码和MSIL都是中间的汇编形式的语言,它们在运行时或其它的时候被编译成机器代码命名空间中的申明当你创建一个程序的时候,你在一个命名空间里创建了一个或多个类同在这个命名空间里在类的外面你还有可能声明界面,枚举类型和结构体必须使用USING关键字来引用其他命名空间的内容基本的数据类型C拥有比C,C或者JAVA更广泛的数据类型这些类型是BOOL,BYTE,UBYTE,SHORT,USHORT,INT,UINT,LONG,ULONG,FLOAT,DOUBLE,和DECIMAL象JAVA一样,所有这些类型都有一个固定的大小又象C和C一样,每个数据类型都有有符号和无符号两种类型与JAVA相同的是,一个字符变量包含的是一个16位的UNICODE字符C新的数据类型是DECIMAL数据类型,对于货币数据,它能存放28位10进制数字两个基本类一个名叫OBJECT的类是所有其他类的基类而一个名叫STRING的类也象OBJECT一样是这个语言的一部分作为语言的一部分存在意味着编译器有可能使用它无论何时你在程序中写入一句带引号的字符串,编译器会创建一个STRING对象来保存它参数传递方法可以被声明接受可变数目的参数缺省的参数传递方法是对基本数据类型进行值传递REF关键字可以用来强迫一个变量通过引用传递,这使得一个变量10可以接受一个返回值OUT关键字也能声明引用传递过程,与REF不同的地方是,它指明这个参数并不需要初始值与COM的集成C对WINDOWS程序最大的卖点可能就是它与COM的无缝集成了,COM就是微软的WIN32组件技术实际上,最终有可能在任何NET语言里编写COM客户和服务器端C编写的类可以子类化一个已存在的COM组件生成的类也能被作为一个COM组件使用,然后又能使用,比方说,JSCRIPT语言子类化它从而得到第三个COM组件这种现象的结果是导致了一个运行环境的产生,在这个环境里的组件是网络服务,可用任何NET语言子类化索引下标一个索引与属性除了不使用属性名来引用类成员而是用一个方括号中的数字来匿名引用就象用数组下标一样以外是相似的PUBLICCLASSLISTBOXCONTROLPRIVATESTRINGITEMSPUBLICSTRINGTHISINTINDEXGETRETURNITEMSINDEXSETITEMSINDEXVALUEREPAINT可以用一个循环器来匿名引用字符串内部数组成员,就象下面这样LISTBOXLISTBOXLISTBOX0“HELLO“CONSOLEWRITELINELISTBOX0代理和反馈11一个代理对象包括了访问一个特定对象的特定方法所需的信息只要把它当成一个聪明的方法指针就行了代理对象可以被移动到另一个地方,然后可以通过访问它来对已存在的方法进行类型安全的调用一个反馈方法是代理的特例EVENT关键字用在将在事件发生的时候被当成代理调用的方法声明中。123系统分析31需求分析需求分析也称可行性研究,是决策部门在采取一项重大改革或投资行动之前,对该项目的必要性和可能性进行分析与论证的活动。可行性分析已被广泛应用于新产品开发、基建、工业企业、交通运输、商业设施等项目投资的多个领域。在展开一项开发行动之前,必须对用户提出的目标的必要性和可能性进行必要的论证。在系统调查分析的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。根据本系统操作流程,了解了各层对象的功能需求,分析得出了本系统使用者的使用流程图,如图下所示13机器人在聊天窗口进行对话使用者聊天机器人根据用户发送的信息智能回复输出在信息显示框中图31聊天机器人使用流程图32B/S三层构架本系统采用B/S模式,服务器采用著名的WEB服务器端软件APACHE,该HTTP服务器有着良好的跨平台性和安全性,可以运行在包括WINDOWS、LINUX、MAC等操作系统上。用户客户端使用各种浏览器都能够进行正常的浏览和操作。需要注意的是在程序的开发过程中,程序和路径相关的要考虑到不同的操作系统的文件目录结构。B/S结构,即BROWSER/SERVER浏览器/服务器结构,就是只安装维护一个服务器SERVER,而客户端采用浏览器BROWSE运行软件。它是随着INTERNET技术的兴起,对C/S结构的一种变化和改进。主要利用了不断成熟的WWW浏览器技术,结合多种SCRIPT语言VBSCRIPT、JAVASCRIPT等和ACTIVEX技术,是一种全新的软件系统构造技术。B/S三层体系结构采用三层客户/服务器结构,在数据管理层SERVER和用户界面层CLIENT增加了一层结构,称为中间件MIDDLEWARE,使整个体系结14构成为三层。三层结构是伴随着中间件技术的成熟而兴起的,核心概念是利用中间件将应用分为表示层、业务逻辑层和数据存储层三个不同的处理层次。三个层次的划分是从逻辑上分的,具体的物理分法可以有多种组合。中间件作为构造三层结构应用系统的基础平台,提供了以下主要功能负责客户机与服务器、服务器与服务器间的连接和通信;实现应用与数据库的高效连接;提供一个三层结构应用的开发、运行、部署和管理的平台。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。图32B/S三层体系结构在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由WEBSERVER完成。随着WINDOWS将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序是一个非常大的进步。B/S三层体系结构的主要优点B/S模式提供灵活的信息交流和信息发布服务。B/S模式借助INTERNET强大的信息发布与信息传送能力可以有效地解决企业、高等学校内部的大量不规则的信息交流可共享性。单个应用服务器可以为处于不同平台的客户应用程序提供服务,在很大程度上节省了开发时间和资金投入;较好的安全性。在这种结构中,客户应用程序不能直接访问数据,应用服务器不仅可控制哪些数据被改变和被访问,而且还可控制数据的改变和访问方式。三层模式成为真正意义上的“瘦客户端”,客户端计算机不需要很高的硬件配置,也无需特殊的软件配置要求,只要有WEB浏览器就可以使用系统。B/S模式提供了一致的用户界面B/S模式的应用软件都是基于WEB浏览器的,这些浏览器的界面都很相似。对于无用户交互功能的页面,用户接触的界面都是一致的,从而可以降低软件的培训费用。在B/S模式下,外部的用户亦可通过通用的浏览器进行访问。15B/S模式的结构易于扩展由于WEB的平台无关性,B/S模式结构可以任意扩展,可以从一台服务器、几个用户的工作组级扩展成为拥有成千上万用户的大型系统。B/S模式具有更强的信息系统集成性在B/S模式下,集成了解决企事业单位各种问题的服务,而非零散的单一功能的多系统模式,因而它能提供更高的工作效率。164系统设计41程序设计分析本次程序设计的原理是根据关键句分词技术,采用KEYVALUE键值对原理进行数据的快速搜索查询。KEYVALUE分布式存储系统查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询,但不能进行复杂的条件查询。如果辅以REALTIMESEARCHENGINE(实时搜索引擎)进行复杂条件检索、全文检索,就可以替代并发性能较低的MYSQL等关系型数据库,达到高并发、高性能,节省几十倍服务器数量的目的。以MEMCACHEDB、TOKYOTYRANT为代表的KEYVALUE分布式存储,在上万并发连接下,轻松地完成高速查询。在系统程序设计中“LISTDICNEWLIST”语句声明了名为DIC的词库,在词库中我们可以加入我们能够想到的一切问题与对应的答案,当然我们选取的回答尽量要以机器人的口吻叙述,而且还应该尽量体现程序的娱乐性。例如“DICADD“你好“”在此语句下,我们输入“你好”,系统就会根据我们输入的“你好”作为KEY值,在词库中查找对应“你好”值的相应的回复。此语句已经设定好,如果输入“你好”,机器人就会回复我们“你好”。其中,后者的“你好”就是KEYVALUE中的VALUE值。通过此方法我们就能够即快速又准确的根据输入值查找到回复值。如果系统检测到用户输入的语句中的关键值在KEY中不存在,或者说找不到相应的KEY值,则提示用户重新输入或输入其他的聊天内容。我们可以根据词条语句IFINPUTINDEXOFDICISUBSTRING0,DICIINDEXOF“1来实现此功能。42程序展示(1)在聊天对话框中输入“你好”,聊天机器人就会自动回复“你好”来回应聊天,如下图所示17图41开始与机器人聊天(2)用户可以像两个陌生人刚刚见面时一样,问一下对方叫什么名字,根据系统的设置,机器人会回答“我叫聊天机器人啦”,如下图所示18图42机器人回答自己的名字(3)当然,用户也可以询问机器人的性别,本系统我们设置机器人为女孩,根据我们的设计,机器人会回答“人家是女孩子啦”,如下图所示图43机器人回答性别问题(4)可以更深层次的与机器人聊天,比如问“她”有没有男朋友,机器人就会回答“没有呢,你能帮我介绍一个吗”,这样的回答会使使用者感觉自己在跟真人聊天一样,让用户有种互动的感觉,如下图所示19图44机器人反问问题205系统测试与维护聊天机器人程序在完成程序设计、投入正常运行之后,就进入了系统运行与维护阶段。51系统的配置1、硬件配置要求CPU2GHZ以上。内存2GB以上。硬盘250GB以上(可用空间最好在50GB以上)。2、软件配置要求WINDOWSVISTA/WIN7中文版操作系统。本系统运行首先启动WINDOWSVISTA/WIN7,将本系统拷贝到硬盘相应地目录下,用附加数据库加载上数据,运行“EXE文件”即可。52系统的维护系统维护的目的是保证管理信息系统正常而可靠地运行,并能使系统不断得到改善和提高,以充分发挥作用。换言之,系统维护就是为了保证系统中的各个要素随着环境的变化始终处于最新的、正确的工作状态。系统维护的工作量往往是很大的,其费用大约占整个生命周期的60,所以我们必须对系统维护给予足够的重视。1、系统维护的内容按照维护对象的不同,系统维护的内容可分为以下几类(1)系统应用程序维护(2)数据维护(3)代码维护(4)硬件设备维护2、系统维护的类型21系统维护的重点是系统应用软件的维护工作,按照软件维护的不同性质,可以划分为下面四种类型(1)纠错性维护诊断和修正系统中遗留的错误。(2)适应性维护使系统适用环境的变化而进行的维护。(3)完善性维护为满足用户的需求而进行的维护。(4)预防性维护为将要发生的变化或调整而进行的主动性维护。3、系统维护的组织与管理系统维护工作,首先必须建立一个维护组织,确定进行维护工作所应遵循的原则和规范化的过程,此外还应建立一套适用于具体系统维护过程的文档及管理措施,以及进行复审的标准。53系统测试在C开发过程中采用了多种措施保证软件质量,但是实际开发过程中还是不可避免地会产生差错,系统中通常可能隐藏着错误和缺陷,示经周密测试的系统投入运行,将会造成难以想象的后果,因此系统测试是C开发过程中为保证软件质量必须进行的工作。大量统计资料表明,系统测试的工作量往往占C开发总工作量的40以上。因此,我们必须重视测试工作。由于程序中隐藏的缺陷只在特定的环境下才有可靠显露,系统缺陷通常是由于对某些特定情况考虑不周造成的。因此测试不是为了表明程序正确;成功的测试也不是没有发现错误的测试。有意义的软件测试应该是从“破坏”软件系统的角度出发,精心设计最有可以暴露程序系统缺陷的测试方案。因此软件测试的目标应该是以尽可能少的代价和时间找出软件系统中潜在的错误和缺陷。从产品角度看,测试计划中的测试项目包括软件结构中的分系统层、子系统层、功能模块层、程序模块层中的各类模块,从测试本身看,分为单元测试,组合测试,确认测试等。测试对象是随着阶段而异的,最基本、最初的测试是单元测试,后面的组合测试、确认测试都是以被测过的模块作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽黄山市黄山区消防救援大队政府专职消防员招聘考试笔试备考题库及答案解析
- 2025湖北武汉市华中农业大学襄阳书院劳动聘用制人员招聘2人考试笔试模拟试题及答案解析
- 2025云南昆明红塔大厦有限公司招聘2人考试笔试模拟试题及答案解析
- 2025年黄山市中医医院周转池公开招聘紧缺人才10人(第二批)考试笔试参考题库附答案解析
- 2025西北工业大学结构长寿命设计团队招聘1人笔试考试参考题库及答案解析
- 2025年甘肃省兰州市红古区人民医院招聘工作人员考试笔试模拟试题及答案解析
- 2025福建三明建宁县县属国有企业招聘正式职工24人考试笔试模拟试题及答案解析
- 2025广西北海市合浦县农业农村局招录城镇公益性岗位人员1人笔试考试备考试题及答案解析
- 2025四川广安邻水县考核招聘急需紧缺体育专业人才2人考试笔试备考试题及答案解析
- 2025海南陵水黎族自治县中医院(陵水黎族自治县中医院医共体总院)考核招聘(第六批)员额人员7人(第1号)笔试考试参考题库及答案解析
- GB/T 8918-2006重要用途钢丝绳
- GB/T 8737-1988铸造黄铜锭
- GB/T 21198.2-2007贵金属合金首饰中贵金属含量的测定ICP光谱法第2部分:铂合金首饰铂含量的测定采用所有微量元素与铂强度比值法
- GB/T 18043-2013首饰贵金属含量的测定X射线荧光光谱法
- 公共部门人力资源管理管理课件
- 05 02 第五章第二节 吸收借鉴优秀道德成果
- 文献调研与分析课件
- 吊篮联合验收表
- 矢量数据的获取与处理
- 《工业生态学》第二章 工业生态学基本理论-工业共生01
- 论文答辩上海财经大学论文答辩开题报告PPT模板
评论
0/150
提交评论