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

先体验一下:图灵机器人智能聊天体验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 23:16
下一篇 2016-03-28 23:18

相关推荐

  • 运维工程师技能需求排行

    这是我今天在拉勾网搜索运维,翻完了4四页也招聘信息之后得到的,我的目的是想要看看之后的学习,哪个更应该成为重点,有些在我意料之中,有些还真的没想到,算是努力了一个小时的收获吧,分享给大家。
    注意:其中的看法仅代表个人观点,很多都是依靠我自己的学习经验和工作经验累积的

    Linux干货 2017-12-12
  • 磁盘配额的限制

    用一个块新的分区当做硬盘进行磁盘的配额限制实验 堆一块新的硬盘进行三步骤 分区,格式化,挂载 以/dev/sdb为例  (1) 分区: fdisk /dev/sdb sdb 8:16 0 200G 0 disk └─sdb1 8:17 0 10G 0 part (2) 格式化: mkfs.ext4 /dev/sdb1 /dev/sdb1: UUID…

    Linux干货 2017-04-30
  • 一个简单小例子来说一下Rescue营救模式

    昨天不小心将/lib64下的一个动态库文件libc.so.6(很多命令都依赖的)给移动到了/root下,然后除了一些内部命令可用外,其余命令都不能用了,然后就想着看看重启可不可以修复,结果重启后就再也开不了机了,心想着这可咋整,要不用最快的方式进行快照恢复吧,结果老师就说了,不能使用快照,让我们使用Rescue营救模式进行恢复,然后在恢复的过程中就发现一个问…

    Linux干货 2017-08-21
  • vim文本编辑器简单用法

    vim最基础的用法

    2017-09-09
  • N25第三周作业(用户组,和文本管理)

    列出当前系统 上所有已经登录用户的用户名,注意:同一个用户登录多次,则只显示一次即可. 列出最后登录到当前系统的用户相关信息. 命令who查看所有用户 , tail查看后几行 取出当前系统上被用户当作其默认shell的最多那个shell. 命令cut 分割 , -d 指定分隔符,-f指定字段 uniq 显示或忽略重复行信息   -c:显示并统计重复…

    Linux干货 2016-12-19
  • 虚拟化网络之OpenvSwitch(三)

    上一篇介绍了openvswitch利用GRE协议,搭建多台宿主机的虚拟网络,接下来在利用vxlan通道搭建一个跨多宿主机的虚拟化网络,深入了解openvswitch的功能。 一、实验拓扑 ip地址分配:  A1:192.168.10.1/24  A2:192.168.10.10/24   B1:192.168.10.2…

    系统运维 2016-03-27