专属个人的聊天机器人的实现——图灵机器人

先体验一下:图灵机器人智能聊天体验http://www.tuling123.com/openapi/cloud/proexp.jsp

1、简介

       本篇为大家介绍使用图灵机器人api实现聊天机器人的方法,该api本身已经拥有了智能聊天的功能,但我们可以自定义知识库的方式简单实现专属个人的聊天机器人。

2、开发步骤

      下面就以java开发为例,编写一个简单的网页聊天机器人,主要的开发过程如下:

1、编写一个简单的jsp页面(用于和自己的项目后台交互,提交请求内容、接收显示处理结果)

HTML代码

<body>  
    <textarea rows="5" cols="" placeholder="请输入内容" name="info" id="info"></textarea>  
    <br>  
    <input type="button" onclick="doSubmit()" value="提交">  
    <br>  
    <label id="res"></label>  
  </body>

JS代码

<script type="text/javascript">  
  
    function doSubmit(){  
        var info = $('#info').val()  
        var url='自己项目的后台接口(如servlet)';    
        $.get(url, {  
        info : info,  
        key : 注册图灵机器人帐号获取key  
    }, function(json) {  
        if(json != null){  
            alert(json);  
            document.getElementById("res").innerText = json;  
        }else{  
            document.getElementById("res").innerText = '无返回值';  
        }  
    });  
      
    }  
      
    </script>

2、项目后台接收页面请求内容,调用图灵api接口,返回处理结果(核心逻辑代码)

JAVA后台服务端代码(发送httpget请求,请求图灵机器人)

/** 调用图灵机器人平台接口 
    *   需要导入的包:commons-logging-1.0.4.jar、 httpclient-4.3.1.jar、httpcore-4.3.jar  
    */  
    public void getTulingApi() {      
  
        String INFO = URLEncoder.encode("北京今日天气", "utf-8");  
        String requesturl = "http://www.tuling123.com/openapi/api?key=注册激活获取的keykey&info="+INFO;  
        HttpGet request = new HttpGet(requesturl);  
        HttpResponse response = HttpClients.createDefault().execute(request);  
  
        //200即正确的返回码  
        if(response.getStatusLine().getStatusCode()==200){  
            String result = EntityUtils.toString(response.getEntity());  
            System.out.println("返回结果:"+result);  
        }  
    }

3、到此,这个简单的网页聊天机器人就开发完成,但是所有的聊天回复内容都是图灵机器人api本身的知识库,各位只需要登录其官网,通过知识库页面批量导入自己的问题和答案,就可让机器人回答自己定义的内容,实现专属个人的聊天机器人。

图灵机器人智能聊天体验http://www.tuling123.com/openapi/cloud/proexp.jsp

转自:http://blog.csdn.net/hguisu/article/details/38512543

原创文章,作者:s19930811,如若转载,请注明出处:http://www.178linux.com/2504

(0)
s19930811s19930811
上一篇 2016-03-28
下一篇 2016-03-28

相关推荐

  • sed 相关概念总结

    文件查看命令:cat, tac,rev cat [OPTION]… [FILE]… -E: 显示行结束符$ -n: 对显示出的每一行进行编号 -A:显示所有控制符 -b:非空行编号 -s:压缩连续的空行成一行 [root@CentOS7 ~]# cat yyy [root@CentOS7 ~]# cat -A yyy $ tac: 把…

    Linux干货 2016-08-12
  • 磁盘管理之LVM

    1、什么是LVM     LVM(Logical Volume Manager)逻辑卷管理,是linux环境下将一种将一个或多个硬盘的分区在逻辑上集合来呈现给上层应用,对磁盘实现动态管理的机制。相对于普通的磁盘分区有很大的灵活性,使用LVM在一定程度上就可以解决普通磁盘分区带来的问题。 2、专业术语     &nbsp…

    Linux干货 2016-09-02
  • 文件查找

    文件查找 简介:在文件系统上查找符合条件的文件,就是文件查找。 文件查找命令:locate, find            非实时查找(数据库查找):locate        &nbsp…

    Linux干货 2016-08-18
  • Shell——Linux基本命令(2)

    1.Shell Shell是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行. shell也被称为LINUX的命令解释器(commandinterpreter). vshell是一种高级程序设计语言. 2.bash shell GNUBourne-AgainShell(bash)是GNU计划中重要的工…

    2017-07-13
  • ☞Ansible

    Ansible ansible简介 安装ansible 使用ansible前提条件 主要文件 配置文件 Host Inventory ansible.cfg 命令使用 ansible ansible-doc ansible-playbook 常用模块 ansible各模块简单示例 ansible playbooks playbook内容组成 host、use…

    Linux干货 2016-11-06
  • N25第一周作业

    一.计算机基础知识     1.计算机是什么?         计算机是一种能够按照指令对各种信息进行自动加工和处理的电子设备     2.计算机的组成?       &…

    Linux干货 2016-12-06