基于Android studio开发的图灵智能聊天机器人图灵手机「基于Android studio开发的图灵智能聊天机器人」
在人工智能时代,开发一款自己的智能问答机器人,既可以提升自己的编程能力,又可以作为开发项目的实战练习。
百度有小度,小米有小爱,VIVO有小V,总之类似的智能聊天机器人是越来越多了。面对这些智能的机器人,我们似乎只能是体验者。想想底层的算法就让人头疼,它到底是怎么识别出一句话的意思的?又是怎么实现智能回复的?
接下来我将用Android studio并借用百度图灵机器人((turingapi.com))教大家实现一个属于自己的智能聊天机器人。
学 号 231
姓 名 福福
指导教师:赵,罗,钟
2022 年 5 月 8 日
1 系统设计
1.1 设计要求
1.1.1 设计任务
设计一个对话框能实现聊天功能,要求能联网实现自动对话的功能,可以实现编辑、发送、删除等功能。
1.1.2 性能指标要求
1、基本要求
要求完成程序源码编写、调试及关键代码注释。
2、发挥部分
实现多客户端间的聊天功能。
1.2 设计思路及设计框图
1.2.1设计思路
智能聊天机器人的设计流程如下:
①将要显示的数据封装成Data数据。
②将封装好的Data数据设置成HTTP请求数据。
③向图灵机器人服务器发送HTTP请求。
④图灵服务器接收到HTTP请求数据之后,返回JSON数据。
⑤将获取到的JSON数据进行解析。
⑥解析后的JSON数据封装并显示到界面中。
1.2.2总体设计框图
2 各个模块程序的设计
1、申请机器人身份标识
在图灵机器人官网注册并获取key值
2、建立聊天布局
整个界面最外层采用线性布局,接着在TextView下面放置了一个RelativeLayout,在它里面先放置了一个ListView,用于显示聊天消息列表。然后放置了一个小的RelativeLayout,里面放置了一个Button和一个EditText,Button在EditText右侧,文本为“发送”,作为发送按钮,EditText则是聊天输入框,在里面输入聊天内容。这样整个聊天界面的布局文件就搭建好了。
3、搭建聊天条数布局
chatting_left_item文件为机器人聊天头像和聊天框显示文件,用于显示机器人的聊天内容。
chatting_right_item文件为用户聊天头像和聊天框显示文件,用于显示用户的聊天内容。
4、封装聊天信息实体类
创建一个ChatBean类,在该类中创建机器人与用户聊天信息的属性,重写了get和set方法。
5、编写聊天列表适配器
创建一个ChatAdapter类,由于聊天界面用了ListView控件显示聊天信息,因此需要创建一个数据适配器ChatAdapter对ListView控件进行数据适配。
6、实现智能机器人通信
在项目MainActivity中实现聊天界面的逻辑代码,首先添加okhttp库,然后设置机器人的欢迎信息,最后编写界面交互代码。
在MainActivity中创建几个方法:
- initView( ) 用于获取界面控件并初始化界面数据;
- showData( ) 用于显示欢迎信息到界面上;
- sendData ( ) 用于用户发送信息;
- getDataFromServer( ) 从服务器获取机器人的回复信息;
- updateView( ) 更新界面信息;
3 调试过程
运行会会有随机的欢迎消息,可以在回复设置里面自定义修改。发英文字母a,b,c,它会自动往下接,实现了单人聊天。
4 功能测试
4.1 测试仪器与设备
Android studio 笔记本电脑
4.2 性能指标测试
实现联网自动对话,发送功能,未实现发送、删除等功能。
5 实训心得体会
安卓实训结束了,通过对智能聊天机器人的开发设计,对Android 应用开发有了更为深层次的理解,对手机应用也有了全新的认识于熟练,对基于Android多种布局以及第三方软件API的引用有了更深层次的理解。实训前对android的应用操作还不熟悉,实训结束后终于知道了个步骤操作。本机器人聊天系统基本上实现了需求中的全部功能需求,整体上较为满意。本应用的难点在于如何设置的不同布局,以及跳转,实现聊天的效果。学完后,加深了对布局的理解,为以后开发类似程序打下了基础。但是自己对安卓的很多方面还不是很了解,各种方法也不是很会使用,实训过后自己还会加强对安卓应用设计的学习。
6 参考文献
[1] 张思民.Android Studio(第二版).北京:清华大学出版社,2017
附录
相关图片
程序清单
链接:https://pan.baidu.com/s/1yywLy4soGEQ9YNR8PEePtg
提取码:1314
阿勒泰版权声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com