项目10:漫谈对话:让智能机器人对话 课件(共36张PPT)-《智能语音应用开发》同步教学(电子工业版)

资源下载
  1. 二一教育资源

项目10:漫谈对话:让智能机器人对话 课件(共36张PPT)-《智能语音应用开发》同步教学(电子工业版)

资源简介

(共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 requests
import 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 requests
import 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 pyttsx3
import requests
import urllib
from 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 = 0
global s
with 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 += 1
s = result_2
else:
break
步骤6:运行主函数
s = input('输入话题:')
n = int(input('设置对话的轮数:'))
run(n)
话 题 轮 数 结 果
3
5
3
5

展开更多......

收起↑

资源预览