UNIT搭建机器人助理

作者:wangwei8638

本文介绍通过调用UNIT预置技能,搭建自己的个性化机器人的方法。对于一个经常出差开会的人来说,一个会订票、查天气、预定会议室、回答一些常识问题的机器人助手就够用了,下面是具体搭建步骤。

一、概念介绍

1.机器人

一个机器人对应一个特定环境下多个对话场景的对话系统。通常按行业垂类划分(例如,银行大厅值班机器人、儿童机器人等)。

2.技能

某一个对话场景的对话能力,分为开发者自定义技能和UNIT平台预置技能。

自定义技能又分为「对话技能」和「问答技能」,完全由用户配置。

预置技能为UNIT平台预置的通用能力,部分预置技能目前支持添加词槽词典值来干预对话理解效果。

3.沙盒环境

沙盒环境是UNIT平台提供给您创建技能,训练技能模型,对话测试,调试优化技能模型的环境。每个技能都配有一个沙盒环境,将训练好的技能模型生效到沙盒环境后,就可以与技能进行对话了,同时可接入到您自己的业务系统中使用。一个技能可以训练出多个版本的模型,但只能选择一个放到沙盒环境中。

4.生产环境

生产环境是UNIT平台在百度云上为您提供的可定制的稳定的对话服务环境。

二.创建机器人

1.进入UNIT主页,首先创建自己的机器人,命名为小智。

https://ai.baidu.com/unit/home
在这里插入图片描述
2.点击“我的技能”选项卡,点击“添加预置技能”
在这里插入图片描述
3.选中“会议室预定”,在右侧可以输入对话,初步测试。点击“获取该技能”,即可将该技能加入到我的技能。
在这里插入图片描述
4.点击“我的机器人”选项卡,然后点击“添加技能”,将预置技能加入到自己的机器人。
在这里插入图片描述
5.可以看到机器人技能管理下已经加入了“会议室预定”技能
在这里插入图片描述
6.当然,如果需要,采用同样方法,可以加入其它技能,一个机器人最多只能添加5个技能。
在这里插入图片描述
7.至此,机器人已经搭建完成,并且具备预定机票、火车票、会议室,查询天气及智能问答功能,下面可以做综合测试,与机器人聊天了。

三.技能测试

点击机器人下方的“对话”,即可对机器人进行测试,以预定会议室为例,可以看出,技能能够根据用户输入开展多轮对话,自动询问必填槽位(会议时间)。
在这里插入图片描述
四.技能调用

1.首先要在控制台创建UNIT应用,获取API接口。点击“发布上线”,点击“获取API Key/Secret Key”。

在这里插入图片描述

2.点击“创建应用”,输入应用名:个人助理小智,此处获得的AK、SK在程序中会用到。

在这里插入图片描述

3.在Python3中实现UNIT API接口调用,下面直接给出代码:

# -*- coding: utf-8 -*-import urllib.request as ul_reimport jsonimport urllibimport urllib.parse#client_id 为官网获取的AK, client_secret 为官网获取的SKclient_id = '****************************'client_secret = '*********************************'#获取tokendef get_token():host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secretrequest = urllib.request.Request(host)request.add_header('Content-Type', 'application/json; charset=UTF-8')response = urllib.request.urlopen(request)token_content = response.read()if token_content:token_info = json.loads(token_content.decode("utf-8"))token_key = token_info['access_token']return token_keyaccess_token = get_token()url = 'https://aip.baidubce.com/rpc/2.0/unit/bot/chat?access_token=' + access_token#print (access_token)str = input("助理小智:请问有什么可以帮您?请说出您的需求:\n ");#print("请说出您的需求 : ", str)post_data  = {"bot_session": "","log_id": "7758521","request": {"bernard_level": 0,"client_session": "{\"client_results\":\"\", \"candidate_options\":[]}","query": str,"query_info": {"asr_candidates": [],"source": "KEYBOARD","type": "TEXT"},"updates": "","user_id": "88888"},"bot_id": "64050","version": "2.0"}encoded_data = json.dumps(post_data).encode('utf-8')headers = {'Content-Type': 'application/json'}request = ul_re.Request(url, data=encoded_data, headers=headers)response = ul_re.urlopen(request)content = response.read()if content:license_plates = json.loads(content.decode("utf-8"))strover = '助理小智:'words_result = license_plates['result']number = words_result['response']['action_list'][0]['say']strover += '  {} \n '.format(number)#        print (content)print (strover)#    return content#else:#    return ''

4.测试结果
在这里插入图片描述
五.更多应用场景

UINT可广泛应用与智能客服、智能家居、机器人、车载设备等交互场景,解放人的双手,使智能设备与人的融合度更高、更自然。比如语音交互的智能音箱已经走入千家万户,越来越多的人们习惯于用口语化的指令查询和播放音乐,和智能音箱聊着天对话来获取了解天气情况、设置日程提醒、预订机票酒店等实用的生活服务。

UINT还可以应用于其他专业的系统。比如服务机器人已经凭借其标准化的专业服务走入了各行各业,为企业降低日渐高昂的人力成本。基于UNIT搭建的服务机器人可随时提供高质量服务,已成功应用于医疗健康、法律政务、酒店旅游、商业地产等场景。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部