用Java跟图灵机器人对话,如查询天气

来源:互联网 发布:好听淘宝店铺名字 编辑:程序博客网 时间:2024/06/05 12:38

介绍

写过一篇使用Yahoo的天气API查询天气的博客《用Java查询雅虎天气并解析Json数据》,解析返回的Json文件。也可以使用图灵机器人的API,直接询问天气。

图灵机器人挺有意思,结合语音识别和合成,可以做成简单的对话机器人,可玩性很强,当然,树莓派支持了Java,移植后可以做成一个机器人~挖个坑,回头再写~

这里附上图灵机器人的简单应用示例,参考链接在后文。

注册后,获得自己的APIKEY就能玩起来了,有每天限制次数,目前完全够玩了,后续可以申请增加次数。

询问天气运行效果

返回:
{"code":100000,"text":"大连:5月24号 周三,14-25° 22° 晴 西南风4-5级;5月25号 周四,15-23° 晴 北风6-7级;5月26号 周五,16-25° 晴 北风4-5级;5月27号 周六,19-27° 晴 东南风4-5级;"}
后续再处理返回的结果吧~


代码

package com.sap.ward.XunfeiVoice;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;public class Tuling{private static String APIKEY = "*****";//官网注册后,换成你自己的public static void main(String[] args) throws IOException{String question = "大连今天天气怎样";// 这是上传给云机器人的问题String INFO = URLEncoder.encode(question, "utf-8");String getURL = "http://www.tuling123.com/openapi/api?key=" + APIKEY+ "&info=" + INFO;URL getUrl = new URL(getURL);HttpURLConnection connection = (HttpURLConnection) getUrl.openConnection();connection.connect();// 取得输入流,并使用Reader读取BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"));StringBuffer sb = new StringBuffer();String line = "";while ((line = reader.readLine()) != null) {sb.append(line);}reader.close();// 断开连接connection.disconnect();System.out.println(sb);}}



参考链接

图灵机器人API介绍 http://apistore.baidu.com/astore/serviceinfo/2008.html
图灵机器人官网http://www.tuling123.com/
原创粉丝点击