移动平台-智能聊天机器人.doc_第1页
移动平台-智能聊天机器人.doc_第2页
移动平台-智能聊天机器人.doc_第3页
移动平台-智能聊天机器人.doc_第4页
移动平台-智能聊天机器人.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机学院 秦向红 移动平台开发移动平台开发课题名称:智能聊天机器人 学 院: 专 业: 学 号: 姓 名: 指导老师:赵慧杰 日 期:2014年11月目 录前言1第一章 Android系统及开发环境的安装与配置11.1 Android系统及开发环境的安装与配置11.1.1 Android的由来11.1.2 Android系统的优点11.1.3 Android系统的现状及展望21.2开发环境的安装与配置31.2.1 操作系统及准备工作31.2.2开发环境的安装3第二章 需求分析62.1 可行性分析62.1.1 智能聊天机器人的发展史62.1.2 智能聊天机器人的现状及发展72.2 设计的需求与概述72.2.1 设计环境72.2.2 设计概述72.2.3 设计的特点9第三章 程序的设计与实现133.1 系统流程图133.2 程序设计13第四章 程序的运行与测试164.1 程序的安装164.2 程序的运行与测试21第五章 设计总结24致 谢25参考文献26附代码27计算机学院移动平台开发网络123班第 31 页智能聊天机器人设计前言Android在英文中愿意是机器人,Google在2007年11月5日宣布其基于Linux平台的开源手机操作系统后,使用其作为该操作系统的名称。Android号称是首个为移动终端打造的真正开放和完整的移动软件。从软件分层的角度来开,Android平台由应用程序、应用程序框架、Android运行时、库、Linux内核5部分构成。采用Linux内核是Android平台开放性的基础,Linux内核层为我们在软件层和硬件层间建立了一个抽象层,使得应用程序开发人员无需关心硬件细节,但是如果想要Android平台运行到自己的硬件平台上就必须对Linux内核层进行修改,通常要做的就是为自己的硬件编写驱动,并且可以自由设计用户操作界面10。从目前的发展形势来看Android系统因为它的开源性得到了很多移动设备生产商以及网络运营商的青睐。第一章 Android系统及开发环境的安装与配置1.1 Android系统及开发环境的安装与配置1.1.1 Android的由来 Android来源于硅谷著名的极客Andy Rubin建立的Android公司,Rubin的最初目标是想把Android打造成一个可以对任何软件设计人员开放的移动终端平台。很快这个公司便得到了青睐,很多人表示打算买下他的公司。Rubin想Google的创始人之一拉里佩奇提出合伙的意向后,Google就抢先把他的公司买下。并于2007年11月5日宣布与包括摩托罗拉、HTC、LG、三星等33家手机厂商、手机芯片提供商、软硬件供货商、移动运营商联合组成开放手机联盟(Open Handset Alliance),并发布了名为Android的开放手机软件平台。1.1.2 Android系统的优点与其他手机操作系统相比,Android有4个无可比拟的优点:l 开放性:Android系统同时包含了底层操作系统以及移动电话所需的全部软件,不存在专有权障碍,开发平台允许任何移动终端厂商加入到Android联盟中来,并允许不同厂商可以根据自己的需求对平台进行定制和扩展,无需任何授权许可费用;l 所有应用程序平等:Android系统中,系统核心应用和第三方应用都是完全平等的,用户可以将手机中的任意应用程序替换成所需的其他应用程序;l 应用程序间无界限:开发人员可以吧Web上的数据与本地的日历、联系人、位置信息结合起来,应用程序还可声明它们可供其他程序使用;l 快速方便的应用程序开发:Android平台为开发人员童工了大量的实用库及工具,可以让开发人员快速的创建自己的应用3。1.1.3 Android系统的现状及展望Android系统目前的发展十分迅速,在国内外,Android都有成熟的消费者,Android社区也十分红火,全球各大厂商和运营商也纷纷加入了Android的阵营,包括韩国的三星(SAMSUNG)、英国的索尼爱立信(Sony Ericsson)、中国台湾HTC、中国移动、中国联通、中兴通讯、华为通讯、联想等大企业。除开手机外,各大厂家也陆续推出了采用Android系统的MID(Mobile Internet Devices)产品。根据ComScore公司14年第一季度的移动互联网市场研究报告中显示,14年2月份Android的市场份额增37%,位居榜首,RIM、苹果分别以28.9%和25.2%的移动市场占有率紧随其后,如图1。图1 各厂商移动互联网市场占有率虽然Android初出茅庐,论个头还不如苹果、RIM,开放这个趋势的力量使得这颗的新星足够明亮,有媒体预测Android的市场占有率将在2015年达到50%并在2016年确定其移动互联网市场的霸主地位,就目前Android的发展趋势来看,这并非一个不可能完成的任务。1.2开发环境的安装与配置1.2.1 操作系统及准备工作Android的开发环境在操作系统上并没有太大的限制,它可以使用Windows XP及其以上版本、MAC OS、Linux等操作系统,在该程序的开发中,我选择了Windows 8作为开发操作系统。Android是以Java语言作为开发语言,官方推荐使用Eclipse作为开发软件,在搭建开发环境前必须准备JDK、Eclipse、Android SDK三个软件,JDK与Eclipse都可以在其官方网站上下载到其最新版本,Android SDK则需要通过Android SDK Setup来下载安装。1.2.2开发环境的安装1) 安装JAVA运行环境在“/downloads/”此网页我们可以下载到最新版本的JDK,下载完成后按照安装向导安装即可。2) 下载和安装Eclipse在Eclipse的官方网站“/downloads”下载最新版本的“Eclipse IDE for Java Developers”下载完毕后解压缩即可使用,无需安装。3) 安装Android SDKAndroid SDK因为原下载地址失效,只能通过Android SDK Setup这个工具来下载安装,此工具可以在通过“/android/android-sdk_r04-windows.zip”该网址获取。下载完成后解压缩,运行其内的“SDK Setup.exe”即可自动检测下载Android SDK,如图2所示。图2 Android SDK Setup4) 安装Eclipse的Android插件使用Eclipse作为开发开发工具必须要安装Android Development Tools(ADT)的外挂,其安装步骤如下:l 启动Eclipse后,选择“Help”“Install New Software”打开“Install”窗口;l 点击窗口中的“Add”按钮,在“Add Repository”窗口中输入如图3所示信息。图3 Add Reponsitoryl 点击OK后,“Install”列表中会多出一项“Developer Tools”,勾选后点击“Next”既开始下载ADT,下载完成后按软件提示操作即可完成安装ADT。如图4所示。图4 安装ADT5)应用SDK到Eclipse选择“Window”“Preferences”在“Preferences”窗口的左边选中“Android”,在右边点击“Browse”选择Android SDK所在目录作为SDK Location,如图5所示。图5 Android Preferences第二章 需求分析2.1 可行性分析2.1.1 智能聊天机器人的发展史IM出现&盛行之后,有msn聊天机器人接棒,也有QQ自动应答机器人轻舞飞扬直到8年后的某一天,苹果第一次引入Siri,才全新定义了“智能聊天机器人”。据百度百科记录,“Siri可以令iPhone4S变身为一台智能化机器人,利用Siri用户可以通过手机读短信、介绍餐厅、询问天气、语音设置闹钟等。Siri可以支持自然语言输入,并且可以调用系统自带的天气预报、日程安排、搜索资料等应用,还能够不断学习新的声音和语调,提供对话式的应答。” 这里面涵盖了四大技术:自然语义分析、机器学习、深度神经网络、大数据。苹果的加入,把智能聊天机器人带到了一个新的高度,显然,苹果已经发现新的人机交互方向了。老对手Google自然不甘落后,很快推出Google Assistant(Google Now)。然后是IBM也加入,微软小冰跟进,国外巨头都上了,国内的百度坐不住了,在拥有了语音识别、自然语义分析和大数据的基础储备之后,两年之后的2014年5月,百度花大价钱从Google挖来了机器学习、人工智能领域的专家Andrew NG。回过头来说说微软小冰,微信为什么那么着急的封杀它?难道是外界所说的伪造帐号、造成混乱吗?绝对不是!那是因为,腾讯作为国内的另外一个互联网巨头,早就认识到未来人机交互的方向,在自己的“智能机器人”诞生之前,岂容他人在自家领地挖墙角?可以想象,未来软件人机交互的方向是:拟人化。你和一个“智力不低”的“人”而不是一个冷冰冰的系统对话,告诉她你的需求,她回答你,给你展示信息,带你体验各种功能,并能教会你各种技能界面极致简单。软件的主要界面将会是一个类似IM的对话界面,这个可以从Hop这个以IM形式出现的邮件APP里一窥端倪。2.1.2 智能聊天机器人的现状及发展在中国,手机已经成为人们日常生活必不可少的一部分,智能手机在高校人群中逐渐得到了普及,Android手机凭借其优秀的系统性能以及良好的用户体验迅速得到了广大网民的青睐。老网民肯定还记得263聊天室、QQ聊天室,火爆的聊天场景,充满好奇的人们聚一个虚拟的小房间里畅所欲言,不断地发出欢声笑语。那时候,有一些特别可爱的AI聊天机器人,简单的回复你几句,给你讲几个笑话,发几张美女,贴几条新闻虽然简单,但那么真诚、可爱,像一个初生的小宝宝,给我们留下无限纯真和美好的回忆。基于这些,有必要设计一款具有智能聊天程序。2.2 设计的需求与概述2.2.1 设计环境客户端操作系统:Android;客户端硬件设备:Android手机等移动终端;JDK版本1.6以上;Android SDK版本2.2以上开发环境:windows7 / windows XP开发软件:eclipse2.2.2 设计概述所谓聊天机器人, 是能够模拟人类思维, 在对自然语言进行识别、分析、判断的基础上, 给以近似人类的回答, 可以与人就某一话题进行交流、讨论的智 能程序。聊天机器人以网络即时通讯(instant mes2 senger) 软件为平台或者嵌于网页之中, 能够实现 人、机之间以自然语言方式进行的远程会话、交流等 交互功能。聊天机器人具有一定的人工智能, 在程序运行时, 可以自主地、独立地、用类似人类的方式与人进行聊天。虽然聊天语句是由它的编写者、使用者或者聊天对象输入的, 但是经过程序自身的逻辑判断、 选择后, 输出语句所包含的思想内容已经不属于单个语句的输入者, 或者超出了单个输入者的范围, 因为同一语句在不同的语境中的含义不同。所以, 人机聊天形成的不是人与程序的编写者、使用者之间的人人关系。 现有的聊天机器人技术是以符号主义为理论基础的。认为人类大脑和恰当编程的数字计算机可以被看作同一类装置的两个不同的特例, 它们都通过形式规则操作符号生成智能行为。在模拟人类语言活动的性质、行为和规律时, 考虑的是对思维功能与 大脑结构的模拟。选择的技术路径是:把人类的 思维过程。目前关注的主要是分析、判断和选择过程, 转换成一定的算法,建立语言数据库。从而把人类的语言模式传授给计算机。这种模拟是建立在物理层面上的,由于物理符号系统是一个物理的过程, 它与人的心理活动有着根本的区别。因此, 要模拟人的心理与意识, 在原则上是不可能的事。 由于人类很可能根本不是按照通常的方式使用常识性知识的。正如海德格尔和维特根斯坦所指出 的, 与常识性理解相当的, 很可能是日常技能。在经验的范围内, 我们不可能对人类所有的语言技能进行考察。因此, 传授给聊天机器人的只能是具体语境下经验主义的具体技能, 并不是理念主义的超语境的普遍性技能。机器人按照既定的程序输出聊天语句, 表现出来的只是人类心理活动的形式化特征。因此, 现有的聊天机 器人不具有达到人类水平的认知能力、语言能力, 更不具有反思能力, 没有哈贝马斯提出的人人之间的交往资质。虽然到目前为止, 人工智能已经发展到了模拟神经网络的阶段, 但相对于人的智能而言, 它仍然是低层次的。现在看来, 形成生物学意义上的模拟, 至少在短期内是不可能的。 聊天是社会交往的一种方式, 是以语言符号为媒介所进行的精神层面的社会交往。交往行 为是至少两个主体之间所形成的在世界观、文化价值、伦理道德等精神方面的联系, 突显的是主体间的精神沟通。而没有思想、意识、感情、情绪以及心理特征的聊天机器人与人聊天, 只是对人人聊天的形式化描述, 即人与人聊天在 具体语境下的数字化模型。无法形成相互交流、相互沟通、相互理解的人与人聊天的主体结构。 聊天机器人是一种计算机程序, 具有不以人的意志为转移的客观实在性。同时, 技术是合目的的工具, 聊天机器人技术亦如此。从这个意义上讲, 聊 天机器人具有一般意义上的物的属性。在人机聊天中, 人们通过自然语言与它发生作用, 机器人给以包含某种知识、思想、理念和价值, 符合各种语境的反馈。并且, 这一过程是单向度的。所以, 从哲学和逻辑学角度来说, 人机聊天形成的是客体结构,如图6所示。回答者A回答者B图6 人机聊天询问者2.2.3 设计的特点1) 改变话题 在一个开放式的回话中,主题会不断变化到聊天机器人无法了解而且没有编程的主题上。如果主题偏移到已经编好程序的内容上,它就可以重新回到立足点。如果提到没有涉及到的,那么它就可一随时改变聊天的话题内容。具体的聊天如图7所示。图72) 一次说一整句话 你已经注意到了,如果你曾经和朋友聊天的话,真人会把一句话分开说,就像他们平时说话 一样。人们会加上一个“嗯”,为了戏剧化的效果,或者他们会加上“”显示自己在思考或 者反应。而聊天机器人并不真正理解人类的说话,这些话头话尾会引发一些回应。如果有人 输入“嗯”和“OK”,而聊天机器人回答是随机的,就是这种能够应付一切没有预编程情况的句子,那么游戏结束它被揭穿了。 为了应对这种情况,聊天机器人喜欢用的简单方法,是设置一个最小字符串值来判断不完整的句子,或者识别嘀咕的话和不正常的间隔。聊天内容如图8所示。图83) 一直说下去 聊天机器人对待谈话就像在打网球。说话,回话,说话,回话来回往复。真人感觉到停顿的时候,就会详细谈一开始的语句,或者再摸索更多信息。如果这些详细的阐述已经预编程好了,这活儿对聊天机器人就太轻松了。不过,也产生了展开平行回话的危险一个人回复一句话,然后再回复另外一句话,而接下来的新语句又是重叠在一起的。这对机器人来说比较艰难,所以详谈必须谨慎从事。聊天内容如图9所示。图94) 找茬打架 这是个大招。打架不需要记忆或者一致性。它们自己就可以演进,每个新的回复都会提升怒气值,一个接一个地回复下去,就会让怒气满点。打架也不需要为糟糕的拼写和语法找借口。 打架也不需要理智。它们总是可以转移到什么新的事情上,或者没完没了地重复自己。它们也不需要广泛的内容。他们总是可以在现成的词库中找到短语,或者愚蠢的打发办法,或者改变主题,或者无意义的侮辱,而不会有人怀疑出了什么问题。在早期的互联网上,一个大学生让自己写的聊天机器人,一聊就是一晚上,而这个聊天机器人预编程了不少令人恼火的短语。大学生回来的时候发现一大堆对话,有人急不可耐地要找他联系他。机器人用预编程的侮辱性短语加以回复。那人怒气冲天,聊了一个小时,愤然离线。那个人评论这件事情的时候说那个程序不断重复自己,“像是个该死的机器人还是什么玩意”。他聊得很投入,但从来没有猜到自己正在和电脑硬件聊天。这是让聊天机器人看上去像人类的最终办法。这也很好地证明了任何东西都可以模拟人类的最差品质。聊天内容如图10所示。图10第三章 程序的设计与实现3.1 系统流程图答案生成答案抽取段落预处理“抽改”类型其他信息检索文档预处理信息索引段落选取问句预处理问题类型关键词及扩展用户界面返回答案提出问题3.2 程序设计(1) 首先在图灵机器人的官网上面注册一个属于自己的账号,如图11所示。图11(2) 创建一个安卓项目工程,如图12。图12(3) 在layout中布局主界面的格局,如图13所示。图13(4)布局聊天发送信息显示的界面,如图14所示。接受信息显示的界面,如图15所示。 图14图15(5) 设计实现功能的有关java文件,如图16所示。图16l 程序的入口:MainActivity.java 实现的函数有:private void initView()/创建初始化方法private String getRandomWelcomeTips()/ 得到问候语数据public void getDataUrl(String data)/链接API接口public void parseText(String str)/解析js内容public void onClick(View v)/响应“发送”按钮private String getTime()/获取时间l 封装链接请求:HttpData.java实现的函数有:Overrideprotected String doInBackground(String. params)/添加复写方法Overrideprotected void onPostExecute(String result)/复写方法,通过这个方法来获取数据l 接口,用于或的请求的数据:HttpGetDataListener.java接口中只定义函数名,不定义函数实现的功能。void getDataUrl(String data);l 封装数据:ListData.java实现的函数有:public ListData(String content,int flag,String time)/构造函数,初始化变量public void setContent(String content)/设置初始化内容public String getContent()/获得内容public void setFlag(int flag)public int getFlag()public void setTime(String time)/设置时间public String getTime()/获得时间l 对输入内容的处理:TextAdapter.java实现的函数有:public TextAdapter(List lists,Context mContext)/构造函数,初始化变量public int getCount()/获得发送信息的数量public Object getItem(int position)public long getItemId(int position)public View getView(int position, View convertView, ViewGroup parent)第四章 程序的运行与测试4.1 程序的安装程序运行后将apk发送至安卓手机,下载并安装。4.2 程序的运行与测试(1)初始化界面(2)聊天测试(2)提示时间测试第5章 设计总结通过本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论