资源简介 (共36张PPT)项目10漫谈对话:让智能机器人对话项目背景随着人工智能技术的发展,人类对智能化服务变得更加渴望,智能对话机器人成为研发热门之一。智能对话机器人是一种计算机程序,它能够像人类一样自动发送消息,利用语音识别技术将音频信息转换为文本信息,再通过语音合成技术来模拟对话,还可以理解用户发送消息的意图并提供预定义的回复。目前,智能对话机器人的应用非常广泛,可以替代人类完成大量烦琐的重复性工作。比如将智能对话机器人应用于客服领域,可以将人工客服解放出来,这样,人工客服就可以转向更有价值、更加灵活的工作中。本项目将使用机器人开发平台实现机器人之间的语音智能对话。教学目标(1)了解智能对话机器人的概念。(2)了解非任务型智能对话机器人的概念。(3)了解非任务型智能对话机器人的架构。(4)了解非任务型智能对话机器人开源系统。(5)掌握青云客智能聊天机器人API接口的调用方法。(6)掌握思知对话机器人API接口的调用方法。(7)掌握实现智能对话机器人之间对话的方法。项目分析(1)查看青云客智能聊天机器人的API接口信息,使用GET网络实现API的调用。(2)查看思知对话机器人的API接口信息,使用GET网络实现API的调用。(3)给定话题,使两个智能对话机器人进行对话。。知识准备知识点1:智能对话机器人的定义智能对话机器人又被称为智能对话系统,早在1950年,图灵提出了著名的“图灵测试”,开启了人类对智能对话机器人的探索之旅。智能对话机器人是通过自然语言处理来仿真人类对话的程序,其本身可以被视为一种计算机程序,只是呈现方式采用文字或语音。智能对话机器人根据应用场景可以分为非任务型智能对话机器人和任务型智能对话机器人。知识点2:非任务型智能对话机器人非任务型智能对话机器人主要是以回答开放域问题为主的聊天机器人,用户和机器人之间可以进行自由对话。这种类型的智能对话机器人能够完成多项任务,同时具备幽默感、友好度等社会性。非任务型智能对话机器人多应用于娱乐、情感陪护等场景,比如娱乐聊天机器人等。知识点3:非任务型智能对话机器人的架构1.基于生成模型的非任务型智能对话机器人架构2.基于检索的非任务型智能对话机器人架构知识点4:非任务型智能对话机器人开发平台1.青云客机器人开发平台2.思知机器人开发平台3.ChatGPT平台4.Chatopera机器人平台5.Clause智能对话平台知识点5:非任务型智能对话机器人的评价方法类 别 评 价 标 准 分 值回复内容 回复语句语法正确,且与用户输入内容相关 1~2回复语句正确,回复内容通用 0~1回复语句存在语法错误 0附带情感 回复语句的情感与指定情感类别一致 0~1回复语句的情感与指定情感类别不一致 0项目实施:语音识别应用——智能语音输入任务1 搭建青云客智能聊天机器人系统步骤1:登录青云客机器人开发平台官网步骤2:查看api接口信息参 数 示 例 说 明key free 必需,固定值appid 0 可选,0表示智能识别msg 你好 必需,关键词,提交前请先使用urlencode()函数处理步骤3:导入库import requestsimport urllib(1)requests:用于进行GET请求。(2)urllib:用于对关键词进行处理。步骤4:定义对话函数def robot_1(msg):data = urllib.parse.quote(msg)url = 'http://api./api.php key=free&appid=0&msg={}'.format(data)html = requests.get(url)return html.json()["content"]步骤5:调用对话函数msg = '你好'print("原话:", msg)res = robot_1(msg)print("机器人:", res)步骤6:青云客智能聊天机器人性能评估主 题 提 问 机器人回答 评 价 得 分闲聊 中英文互译 数学计算 任务2 搭建思知对话机器人系统步骤1:登录思知机器人开发平台官网步骤2:查看api接口信息参 数 类 型 是 否 必 填 描 述spoken string 是 请求的文本appid string 否 机器人的AppID,填写可使用自己的机器人userid string 否 自己管理的用户ID,填写可进行上下文对话步骤2:查看api接口信息示例:{"message": "success", // 请求是否成功"data": {"type": 5000, // 答案类型,5000文本类型"info": {"text": "姚明的身高是226厘米" // 机器人返回的答案}}}步骤3:导入库import requestsimport urllib(1)requests:用于进行GET请求。(2)urllib:用于对关键词进行编码处理步骤4:定义对话函数def robot_2(msg):data = urllib.parse.quote(msg)url = 'https://api./bot appid=xiaosi&userid=user&spoken={}'.format(data)html = requests.get(url)return html.json()['data']['info']['text']步骤4:定义对话函数def robot_2(msg):html = requests.post(url='https://api./bot',data={"spoken": msg,"appid": "xiaosi","userid": "user"})result = html.json()['data']['info']['text']return result步骤5:调用对话函数msg = '你好'print("原话:", msg)res = robot_2(msg)print("机器人:", res)步骤6:思知对话机器人性能评估主 题 提 问 机器人回答 评 价 得 分闲聊 任务3 实现智能对话机器人之间的对话步骤1:配置基础环境!pip install pyttsx3步骤2:导入库import pyttsx3import requestsimport urllibfrom time import sleep(1)pyttsx3:用于实现语音合成。(2)requests:用于进行GET请求。(3)urllib:用于对关键词进行编码处理。(4)time:用于设置机器人的停顿时间。步骤3:定义对话函数#青云客智能聊天机器人def robot_1(msg):data = urllib.parse.quote(msg)url = 'http://api./api.php key=free&appid=0&msg={}'.format(data)html = requests.get(url)return html.json()["content"]步骤3:定义对话函数#思知对话机器人def robot_2(msg):html = requests.post(url='https://api./bot',data={"spoken": msg,"appid": "xiaosi","userid": "user"})result = html.json()['data']['info']['text']return result步骤4:定义语音合成函数import pyttsx3#语音播放pyttsx3.speak("How are you ")pyttsx3.speak("I am fine, thank you")步骤4:定义语音合成函数def speak(content):engine = pyttsx3.init()engine.setProperty('voice','zh') #将语音设置为中文engine.say(content) #开始发音engine.runAndWait() #等待发音结束步骤5:编写主函数def run(max_count):count = 0global swith open('%s.txt'%s,'a',encoding='utf-8') as file:while 1:if count < max_count:#开始发送请求result_1 = robot_1(s)sleep(1)speak(result_1)file.write('1号:'+result_1+'\n')result_2 = robot_2(result_1)sleep(1)speak(result_2)file.write('2号:'+result_2+'\n')count += 1s = result_2else:break步骤6:运行主函数s = input('输入话题:')n = int(input('设置对话的轮数:'))run(n)话 题 轮 数 结 果 3 5 3 5 展开更多...... 收起↑ 资源预览