项目5:自动语音识别:让端侧机器人能比 课件(共22张PPT)-《智能语音应用开发》同步教学(电子工业版)

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

项目5:自动语音识别:让端侧机器人能比 课件(共22张PPT)-《智能语音应用开发》同步教学(电子工业版)

资源简介

(共22张PPT)
项目5
自动语音识别:让端侧机器人能比
项目背景
在互联网信息爆炸的时代,用户每时每刻都会检索各种各样的问题,问题也涉及各个领域,如生活、娱乐、科技等。为了满足用户的需求,出现了多种应用,如搜索引擎、文本分类、文献查重、自动问答等,而这些应用的关键技术之一就是文本相似度技术。本项目将使用目前主流的AI开放平台,实现在语音识别后进行文本相似度匹配并对客户问题进行智能回答的功能。
教学目标
(1)了解文本相似度的概念。
(2)了解文本相似度的计算方法。
(3)了解文本相似度的应用。
(4)能够编写程序,调用文本相似度接口,实现智能客服智能回答。
项目分析
(1)从文本相似度的概念、计算方法、应用等角度,认识文本相似度。
(2)学习文本相似度的评估指标。
(3)在百度AI开放平台上,创建自动语音识别和短文本相似度的应用。
(4)编写程序,定义相关函数,并进行调用。
(5)运用文本相似度评估指标,测试编写的程序的效果。
知识准备
知识点1:文本相似度的基本概念
1.相似度
相似度用来衡量两个或多个对象之间的相似程度或相似性。在计算机科学中,相似度经常用于比较两个数据集、文本、图像或其他类型的数据。
2.文本相似度
文本相似度指两个或多个文本之间的相似程度。文本之间的公共区域越多、共性越大,相似程度越高;反之,区别越大,没有关联关系,相似程度低
知识点2:文本相似度的计算方法
1.文本相似度算法常分为三大类。
(1)基于字符串的文本相似度计算方法。
(2)基于语料库的文本相似度计算方法。
(3)基于世界知识的文本相似度计算方法。
2.3种计算方法的优缺点对比
计 算 方 法 优 点 缺 点
基于字符串的文本相似度计算方法 原理简单、易实现 未考虑词语含义与关系,不适用于长文本
基于语料库的文本相似度计算方法 准确性高、可扩展性好、效率高 数据质量不易把控、语言和领域限制、计算复杂度高
基于世界知识的文本相似度计算方法 能够获取丰富的知识、具有较高的准确性、可扩展性好 需要大量资源、知识库不全面、算法复杂度高
知识点3:文本相似度的应用
1.搜索引擎
知识点3:文本相似度的应用
2.机器翻译
知识点3:文本相似度的应用
3.智能客服
项目实施:语音相似度应用——智能客服答案搜索匹配
任务1 创建应用
创建百度短文本相似度应用,获取应用的API Key和Secret Key
任务2 编写语音识别程序
步骤1:导入库函数
from record import my_record
from aip import AipSpeech, AipNlp
framerate = 16000
NUM_SAMPLES = 2000
channels = 1
sampwidth = 2
TIME = 5
步骤2:创建客户端
# 使用百度语音识别的API信息
APP_ID0 = ' '
API_KEY0 = ' '
SECRET_KEY0 = ' '
# 使用百度短文本相似度的API信息
APP_ID = ' '
API_KEY = ' '
SECRET_KEY = ' ‘
# 创建语音识别的客户端
client0 = AipSpeech(APP_ID0, API_KEY0, SECRET_KEY0)
# 创建短文本相似度的客户端
client = AipNlp(APP_ID, API_KEY, SECRET_KEY)
步骤3:定义音频读取函数
#定义读取音频文件的函数
def get_file_content(filePath):
with open(filePath, 'rb') as fp: #打开音频文件
return fp.read() #一次性读取音频文件的全部内容
步骤4:定义语音识别函数
#定义语音识别的函数
def speech_recognition(audio_name):
get = client0.asr(get_file_content(audio_name), 'wav', 16000, {'dev_pid': 1537, }) #用于语音识别
res = get['result'][0]
return res #一次性读取语音识别的结果
步骤5:提问识别
audio_name='data.wav'
# 录制音频
my_record(audio_name,3)
# 语音识别
res0 = speech_recognition(audio_name)
print("提问:", res0)
任务3 智能客服答案搜索
步骤1:创建数据库
data = {
"什么时候发货?":"48小时内发货",
"发的什么快递?":"一般发顺丰",
"收到的货有问题怎么办?":"您可以联系人工客服申请退货或换购",
"我买错了,怎么取消订单 ":"好的,我这边已经帮您取消",
"店铺最近有没有什么优惠活动 ":"有的,现在店铺商品满200减50"
}
步骤2:智能答案搜索
options = {}
options["model"] = "CNN" #选择CNN作为输出模型
v = list(data.keys()) #获取数据库中所有的key
scores = []
for res1 in v:
dialogue_rec=client.simnet(res0, res1, options) #计算文本相似度
scores.append(dialogue_rec['score']) #提取所有的相似度的得分
max_index = scores.index(max(scores)) #获取得分最高的问题对应的索引
print("回答:",data[v[max_index]]) #输出最相似的问题的答案
任务4 智能客服系统性能测试
准确率是常见的评价指标,对于本项目,准确率的计算公式如下:
问 题 智能客服系统的答案 正 确 答 案 是 否 一 致




轮 数 正确回答的次数 回答的总次数 准 确 率
1
2
3
4
5

展开更多......

收起↑

资源预览