APP下载

基于Android 的图灵聊天机器人设计

2016-07-23柳琳罗军

电脑知识与技术 2016年17期
关键词:聊天

柳琳++罗军

摘要:聊天机器人基于 Android平台,调用图灵机器人API,具有聊天问答、娱乐互动、信息查询、计算等功能。首先获得图灵机器人API Key,在Eclipse中集成图灵机器人API,再设计聊天界面,将用户输入内容发送到图灵机器人,并将返回结果显示给用户。测试结果表明,图灵机器人应用程序能够顺利加载,与用户正常交流,可用于聊天或者查询,具有娱乐和实用价值。

关键词:Android;聊天;图灵机器人;API;APP

中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)17-0169-03

Abstract: The chat robot based on Android platform and called Turing Robot API designs the function of chatting, interactive entertainment, information query, calculation, etc. First, get Turing robots API Key to Integrate API in Eclipse. Then design chat interface to send the input content to the Turing robot, and return the result to the user. Test results show that the application program of Turing Robot can load smoothly and communicate normally with users. It can use for chatting and querying so that it has entertainment and practical value.

Key words: Android; chat; Turing Robot; API; APP

1 背景

随着人工智能和自然语言处理的不断发展,人工智能交互不断完善。比如苹果的Siri语音助手——可根据知识问答引擎Wolfram Alpha搜寻问题进行回答、清华的小图——可进行有关清华大学图书馆的查询,MSN、腾讯、微信等聊天工具支持加入聊天机器人,很多网站也有了聊天机器人提供问答服务。图灵机器人API提供免费版和标准版接口,该程序使用图灵机器人免费版API,有部分功能受到限制。图灵机器人也支持多渠道多领域的快速接入,为智能硬件和软件产品提供多项人工智能技术服务,如中文语义理解与分析、自然语言对话、深度问答等。该平台有强大的知识库,对中文语义的理解准确率高达90%,并且支持自定义回答,可以新增或批量导入回答。有聊天、笑话、故事、成语接龙、生活百科、图片、天气、计算等18个功能提供选择,支持开放或关闭不同功能。该平台已经应用于HTC的小Hi语音助手、中国电信的微信平台、海尔的智能家电控制系统等,广受企业的好评。

2 Android平台和图灵API

2.1 Android平台简介

Android是一种基于Linux的开源操作系统,主要使用于智能手机和平板电脑等的移动设备。其开发框架可分为从高层到低层的四个层:应用程序层、应用程序框架层、系统运行库层和linux核心层。其应用程序由活动(Activity)、广播接收器(BroadCast Receiver)、内容提供(ContentProvider)、服务(Service)四个模块组成。

2.2 图灵API简介

API(Application Programming Interface,应用程序编程接口)是一些提供给开发人员与应用程序基于某软硬件无需访问源码或理解内部工作机制的细节从而访问一组例程的预先定义的函数。

图灵机器人 API 是在人工智能的核心能力(包括语义理解、智能问答、场景交互、知识管理等)的基础上,为广大开发者、合作伙伴和企业提供的一系列基于云计算和大数据平台的在线服务和开发接口。

开发者可以利用图灵机器人的 API 创建各种网络在线服务,自定义机器人的设定与属性,编辑或批量导入、导出机器人的智能问答内容,打造个人专属智能交互机器人,也支持多渠道(如微信公众平台、QQ 聊天)的快速接入与访问。

图灵机器人API采用UTF-8的编码方式,可通过“URL+"?key="+API_KEY+"&info="+msg“进行链接。URL为申请API之后给出的地址——http://www.tuling123.com/openapi/api,API_KEY为申请的API号,msg为请求语句,该API请求方式为Post。

3 图灵聊天机器人的整体设计

本次设计的智能聊天机器人,主要包括以下几个方面的功能:

1) 聊天问答:它是聊天机器人最基本的功能,在用户联网的情况下,响应迅速,实现一问一答的功能。

2) 娱乐互动:为用户提供了娱乐性质的功能,比如你可以让它讲笑话、与它进行诗词接龙、成语接龙等游戏,还可以询问星座运势以及解梦等。

3) 信息查询:可查询天气、时间、邮编、诗词、成语、歌词等。

4) 计算功能:输入计算方程,图灵机器人“蛋蛋”将给出答案。

4 关键技术及实现过程

在使用图灵智能机器人API提供的各种功能之前,需要到图灵官网注册账号,获得机器人API地址以及申请API Key。

4.1 UI设计

此项目有三个layout文件:mainLayout、leftLayout、rightLayout:

1)mainLayout:先用一个相对布局RelativeLayout进行整体布局,头部设置TextView,也就是聊天对象名——“蛋蛋”;布局的主体部分是ListView;布局的底部,用RelativeLayout设置编辑对话框EditText以及发送消息按钮Button,布局效果如图1所示。

2)leftLayout:此布局是聊天机器人“蛋蛋”的消息记录布局。它采用垂直vertical线性布局LinearLayout进进行整体的布局,先设置一个文本框TextView用来显示聊天的时间,每一次对话都会刷新一次时间并显示出来。然后再用一个水平的horizontal线性布局LinearLayout布局剩下的控件——头像图片ImageView、“蛋蛋”文本框TextView、回复气泡文本框TextView,布局效果如图2所示。

3)rightLayout:此布局是用户“壳壳”的消息记录布局。它采用垂直的vertical线性布局LinearLayout进行整体的布局,时间文本框的处理与leftLayout相同。再设置一个水平的horizontal线性布局LinearLayout布局“壳壳”文本框和气泡文本框,以及头像图片ImageView,布局效果如图3所示。

4.2 设置编码方式及集成图灵智能机器人API

1)因为图灵机器人API的编码方式为UTF-8,所以在开始应该先设置编码方式以防乱码。在eslipse设置UTF-8的编码方式: 点击“窗口”->“首选项”,弹出如图所示窗口,点击“常规”->“工作空间”,在左下方“文件文本编码(T)”一栏选择“UTF-8”。

2)在Mainfest.xml增加语句开启网络权限。

3)通过url=“tl.url+"?key="+tl.key+"&info="+URLEncoder.encode(message,"UTF-8");设置链接网址与编码方式,tl.url为API地址 ,tl.key为API Key,message为输入的信息。

4)判断网络是否畅通,若不畅通,由图灵机器人给出“请确认网络畅通,稍后再试。”的提示;若畅通,则通过HttpURLConnection设置其他参数以及链接图灵机器人网址。

4.3 保证问答模式的进行

1)存储需要保存的发送者姓名name、发送消息message、发送类型type(0表示图灵机器人,1表示聊天者)以及发送时间time。

2)通过发送类型type判断是聊天者还是图灵机器人进行不同的布局设定(图灵机器人为左边布局leftLayout,聊天者为右边布局rightLayout),然后把发送时间、头像、发送者姓名、发送消息加载进来进行显示。

3)在程序启动之后通过list.add()方法用图灵机器人对话框加载欢迎语句“你好,我是最萌的蛋蛋机器人,很高兴认识你!”。

4)在点击发送按钮之前用isEmpty(message)语句判断对话框是否为空,若为空则提示;若不为空则记录用户输入的内容通过list.add(message)方法将其加入list并刷新纪录,接着把消息置于最近输入的一条记录,然后把发送的消息通过语句提交到服务器端。最后接收从图灵机器人返回的消息其加入list并刷新纪录。

5)实现点击屏幕空白处隐藏输入键盘:通过InputMethodManager来实现软键盘的控制。

5 程序测试结果

作者在三星、vivo、华为等Android智能手机上对图灵聊天机器人进行了测试, 测试结果如下图所示。测试结果表明,图灵机器人应用程序加载流畅,在网络开通的情况下,能顺利完成聊天问答功能。

6 结束语

此程序用Android集成图灵机器人API进行智能聊天问答,可用于闲聊、查询等操作,查询功能较于普通的搜索引擎,虽没有那么强大,但多了趣味性。此次介绍了图灵机器人程序的功能和主要的实现步骤,展示了该程序运行的结果。下一步可以集成语音聊天功能等,为聊天问答功能提供更便捷、优质的服务。

参考文献:

[1] 百度百科. 图灵机器人[EB/OL]. http://baike.baidu.com/view/13012970.htm.

[2] 图灵机器人官网[EB/OL]. http://www.tuling123.com/.

[3] 百度百科. 聊天机器人[EB/OL]. http://baike.baidu.com/view/58034.htm.

[4] 清华智能聊天机器人[EB/OL]. http://tutu.lib.tsinghua.edu.cn:8081/programd/.

[5] 姚飞, 张成昱, 陈武. 清华智能聊天机器人“小图”的移动应用[J]. 现代图书情报技术, 2014(Z1).

[6] 李文江, 陈诗琴. AIMLBot智能机器人在实时虚拟参考咨询中的应用[J]. 现代图书情报技术, 2012(Z1).

[7] 易顺明, 胡振宇. 中文聊天机器人原型系统的设计[J]. 沙洲职业工学院学报, 2007(2).

[8] 吴志霞, 陈平. 图灵智能机器人在基于Android招生咨询平台的研究与应用[J]. 通化师范学院学报, 2016(2).

[9] 袁玖林. 智能机器人伦理初探[J]. 牡丹江大学学报, 2015(5).

[10] 王婧. 基于自动问答技术的智能文本机器人[J]. 科技创业家, 2013(8).

猜你喜欢

聊天
敞开门聊天