爱吧机器人网 » 评测 > 智能软件评测 > 正文

人工智能初体验(一):使用图灵机器人智能获取问题回答

核心提示:前言:目前只写了一个简单的Demo,图形界面还未写一 简单介绍以及apikey获取就我个人而言,目前有两个API是比较不错的,一个是百度的接口

前言:目前只写了一个简单的Demo,图形界面还未写

一 简单介绍以及apikey获取

就我个人而言,目前有两个API是比较不错的,一个是百度的接口,另一个是图灵机器人(https://www.tuling123.com/)的接口。前者调用简单,而且没有使用次数限制(PS:据说还是有限制?);后者需要进行一系列身份认证,而且每天次数限制是5000(PS:貌似可以免费增加次数),但是它的优势是可以进行个性化设置,这点比较好。

wKiom1Z0uQuAZTVLAACTxl68oz0253.png

在这里为了方便演示,我使用百度的接口进行测试,申请地址是:https://apistore.baidu.com/apiworks/servicedetail/736.html

wKiom1Z0uTWgn90DAAE-vFOFEUY082.png

可以看到,请求参数有三个,分别是:key,info,userid,其中key和userid用默认值就可以了。当然最重要的是要在请求的header里添加上apikey这一项,点击这里就可以免费获取了:

wKiom1Z0uVnCbYVkAAB6EI65mFQ786.png

 

注:要是对Java网络编程不是很熟悉的话,可以参考下方的Demo

二 一个简单的Demo

通过HttpURLConnection对指定的API发起GET请求,然后对返回的JSON数据进行简单的匹配,然后获取我们需要的回答,测试代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package action;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
public class TuringRobot {
 
    public static void main(String[] args) {
        TuringRobot turing = new TuringRobot();
        String question = "北京天气";
        
        String temp = turing.getResponse("879a6cb3afb84dbf4fc84a1df2ab7319","您自己的apikey", question, "eb2edb736");
        System.out.println("小图:" + temp);
        
        String temp2 = turing.getResponse("879a6cb3afb84dbf4fc84a1df2ab7319","您自己的apikey""你这么可爱,一定是个男孩子""eb2edb736");
        System.out.println("小图:" + temp2);
    }
    
    /**
     * 使用百度图灵机器人,获取回答
     
     * @param key 默认值:879a6cb3afb84dbf4fc84a1df2ab7319
     * @param ApiKey 在APIStore调用服务所需要的API密钥,申请地址:https://apistore.baidu.com
     * @param info 想要请求的问题
     * @param userid 用户id 默认值:eb2edb736
     
     * @return 获取的回复
     * */
    public String getResponse(String key,String ApiKey,String info,String userid){
        String httpUrl = "https://apis.baidu.com/turing/turing/turing?";
//      try {
//          info = URLEncoder.encode(info,"UTF-8");  //URL编码,可以不加
//      } catch (UnsupportedEncodingException e1) {
//          e1.printStackTrace();
//      }
        String httpArg = "key=" + key + "&info=" + info + "&userid=" + userid;
        try {
            URL url = new URL(httpUrl + httpArg);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setRequestProperty("apikey", ApiKey);
            
            InputStream inputStream = connection.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream,"UTF-8"));
            String line = "";
            String reg = "\"text\":\"(.*)?\",\"code\"";
            Pattern pattern = Pattern.compile(reg);
            Matcher matcher;
            while((line = reader.readLine()) != null){
                matcher = pattern.matcher(line);
                if(matcher.find())
                    return matcher.group(1);
            }      
        catch (MalformedURLException e) {
            e.printStackTrace();
        catch (IOException e) {
            e.printStackTrace();
        }
        return "";
        
    }
 
}

三 测试结果:

wKiom1Z0uZbD5HcdAAA1Drdl0WA176.png

本文出自 “zifangsky的个人博客” 博客,请务必保留此出处https://983836259.blog.51cto.com/7311475/1726260


上一篇:米聊2015微软小冰全面评测报告
下一篇:人工智能初体验(二):开发简单的图灵智能聊天工具

本周栏目热点

人工智能初体验(二):开发简单的图灵智能聊天工具

[2017-03-06]  前言:这里为了有更好的个性化设置,因此我选择了图灵机器人(http: www tuling123 com )的接口,使用方法跟上一篇中使用百度的接口是差 ...

人工智能初体验(一):使用图灵机器人智能获取问题回答

[2017-03-06]  前言:目前只写了一个简单的Demo,图形界面还未写一 简单介绍以及apikey获取就我个人而言,目前有两个API是比较不错的,一个是百度的接口 ...

米聊2015微软小冰全面评测报告

[2017-03-06]  在米聊2015版上,微软和小米已经确定了合作关系,在米聊中加入了史上最智能的聊天机器人——小冰!终于也让广大米聊用户看到了小冰的真正面 ...

文字工作者“利器”,Google Lens实现手写文字“扫描”

[2020-05-12]  对于大多数文字工作者而言,将手写或实体文字转化为电子版内容是相当苦恼的事。今天小编就为客官老爷奉上一款软件神器,来解决这类问题。打 ...

《Spatial》体验:最现代化的AR/VR协作应用

[2020-05-15]  早在2018年我们就到报道了《Spatial》的体验文章,当时其仅支持AR模式下的体验,设备则仅仅支持HoloLens和移动AR模式,以及PC 平板电脑的We ...

精选推荐

受大脑控制的机器人

[2017-03-21]   想让机器人做我们想做的,首先,他得全面地了解我们。通常,这就意味着人类需要要付出更多。比如,教机器人复杂的人类语言或者把一项任务 ...

人工智能民主化能否实现取决于科技巨头

[2017-12-29]  我们经常听到像谷歌和微软这样的公司说他们希望人工智能民主化。这是一个很好的词,民主化。 但这些公司如何界定“民主化”还不清楚,像AI本身一样,它似乎有点炒作的味道...

7种常见的机器人焊接类型

[2017-12-17]  机器人焊接是工业领域最常见的机器人应用之一,近几十年来主要由汽车行业驱动。机器人焊接在完成大批量,重复性的焊接任务时效率最高。...

机器人灵巧手将成为智能机器人的下一个重大突破

[2018-01-25]  计算机科学教授兼东北地区助手机器人实验室负责人罗伯特·普拉特(Robert Platt)说:“机器人手操作是下一步要解决的问题。想象一下,一个机器人可以在现实世界中用手去做事......

MIT研制出可以像植物一样生长的机器人

[2019-11-09]  麻省理工学院开发了一种新型机器人,这种机器人可以本质上自我延伸,其生长方式与植物幼苗向上生长的方式惊人相似。值得注意的是,研究人员 ...

麻省理工正研究植物机器人 让植物自主控制机器人

[2018-12-08]  控制论通常指人类用机器人部件增强自己。我们听说过动物机器人或昆虫机器人,但我们很少听说植物机器人对吧?一个机器人其实是对植物有很大益处的,因为一般植物根本无法移动......

机器人工程师具体都做什么?

[2017-12-08]  机器人工程师是幕后设计师,负责创建机器人和机器人系统,能够执行人类无法完成或不愿意完成的任务。 通过他们的创造,机器人工程师帮助工作更安全,更轻松,更高效,特别是......

麻省理工最新机器人“装配工”未来可建造太空基地

[2019-10-17]  两个机器人原型把一系列小单元组装成大结构体麻省理工学院科研人员最近提出一种新型机器人技术,即一种小型机器人系统,能够自主地用统一规 ...