人工智能训练师——智能语音识别ASR
人机对话——ASR
概念
ASR(Automatic Speech Recognition,自动语音识别)是一种将人类语音转换为文本的技术。它使得计算机能够“听”懂人类的语音指令或对话,并将其转换成可读、可编辑的文本形式。ASR技术是人机交互领域中的一个重要分支,广泛应用于各种智能设备和服务中。
两大组成部分
ASR(Automatic Speech Recognition,自动语音识别)技术的核心两大组成部分是声学模型和语言模型。
声学模型概念
是ASR系统中负责将语音信号映射到音素或单词模型的组件。
底层是深度神经网络算法,通过对各种声学现象的学习训练,声学模型选择声学现象对应最大概率的学单元输出。通过学用的声学模型。习不同的声学现象提炼出共性的部分,训练一个
音色声学现象是什么?--》声音三大要素:响度、音调举例来说,同一个人高兴和生气的时候说同一句论声学现象不一样;感冒和不感冒时候声学现象不一样不同人、不同年龄、不同性别、不同环境、不同心情、不同收音设备因素导致的声学现象也不一样
声学单元又是什么?--》声学模型底层的建模单元不同模型可能建模单元不同,对识别最终结果无感)以音节(不含音调)为建模0ng、shi等等~~~单元为例,建模单元就是 wo、xue、ni、ha0、tong、shi等
简单点来说声学模型中的声学指的是我们听到的声音,发的是什么样的音,例如是"ni"的音还是'wo"的音等等 ~~例如(以拼音表示为例):wo shiyi ge xiao xue sheng(“我是一个小学生”的声音)
语言模型概念
是ASR系统中负责预测单词序列概率的组件。它基于语言学知识,描述了单词序列的统计特性。语言模型的主要任务是评估给定单词序列的合理性,并为ASR系统提供单词序列的先验概率。
纯文本层面,和声音三要素无关,对应文本的词列条件概率。原理是基于文本统计,也就是相关文本数据量越多,覆盖面越广,越接近真实使用场景。
简单来说语言模型中的语言可以理解为一个句子(上下文)的通顺度,语义是否完整或者是否能够理解~~例如:我试一个晓雪升/我是一个小学生
两个句子从声学上是一样的,但很明显第二个句子的字/词连起来的语义才可以理解语言模型就是让识别到的语言更贴合实际的文本概率更高
两者的联系
声学模型和语言模型如何联系起来呢?——>词典
业务场景
以上是智能客服的架构图 也就是IVR系统
IVR(Interactive Voice Response,交互式语音应答)系统是一种电话自动应答系统,它使用预录的语音信息、文本到语音(TTS)技术和自动语音识别(ASR)技术来与来电者进行互动,提供信息查询、数据收集、客户服务等功能。
除了IVR系统还有以下应用场景
-
智能助手:如苹果的Siri、亚马逊的Alexa、谷歌助手等,能够通过语音指令执行各种任务,如播放音乐、查询天气、设置提醒等。
-
语音输入法:如谷歌语音输入法、讯飞语音输入法等,能够将语音转换为文本,提高输入效率。
-
语音翻译:如谷歌翻译、微软翻译等,能够实现不同语言之间的实时语音翻译。
-
语音导航:如高德地图、百度地图等,能够通过语音指令进行路线规划和导航。
-
语音控制:如智能家居、智能汽车等,能够通过语音指令控制设备的各种功能。
ASR评价指标
虽然声学模型和语言模型都是基于最大概率输出的,但是既然ASR系统是基于算法和概率的,声音转文字就不可能是100%正确的那么就需要有一套完善的评价体系去评判ASR系统的好坏与否
一般会通过以下流程去测试
第一步:准备语音测试集
首先,我们需要为ASR系统准备一场考试——即语音测试集。这可以类比为老师在出试卷,包含100道单选题。测试集需要包含业务真实数据,随机抽样,确保代表性,一般1~2小时左右的有效数据。并且,每段语音都需要有对应的标注文本,也就是语音对应的正确文字答案。
第二步:ASR系统“答题”
接下来,将测试语音调用ASR系统进行语音识别,这个过程可以类比为考生答题,ASR模型就是考生。ASR系统将尝试识别每段语音,并输出识别结果。
第三步:计算识别字准率
最后,我们需要对比正确答案和识别文本,计算识别字准率。这可以类比为对答案得出考生考试分数。
在业界,唯一的评价标准就是测试内容的字准率。一般先计算字错误率(CER),字准率是100%减去字错误率(CER)。
字准率=100%−CER
其中,CER(Character Error Rate,字错误率)是通过以下公式计算的:
CER=【S(替换错误数)+D(删除错误数)+I(插入错误数)】/N(参考文本中的字符总数)
ins:插入错误,表示实际语音中没有,识别结果里面有
del:删除错误,表示实际语音中有,识别结果里面没有;
sub:替换错误,表示实际语音中有,识别结果里面有,但是字错误了:
ASR流程
- 建立测试集:真实性、随机性、代表性、1~2小时有效语音数据、标注文本正确答案
- 摸底测试:使用测试集语音调用asr模型跑出识别结果,并和测试集正确答案对比,计算字准率
- 错误分析:一般情况下字准率不足85%的话,要进行重点分析。听语音,判断错误类型,
- 模型优化:根据错误类型进行对应的优化方案,热词、语言模型模型和声学模型优化三种,
- 测试集验证:使用测试集语音调用优化后asr模型跑出识别结果,计算字准率。若优化周期长,可以分批次迭代优化
分析维度
1、语音特点 --》(可以理解为分析考试题都是什么题,出的是否合理,一定是单选题)数据格式/采样率是否正确、频域信息是否完整、是否有噪声/口音/吞音、是否声音不清晰、是否音量过高或者过低、是否有丢帧、严重压缩等例如:两个人同时说话造成声音重叠,这样的语音计尊识别率不合理,因为答案是不一定的,不是单选题也没有对应的优化手段,
2、标注是否正确 --》(可以理解为判断下老师给的I确答案是否正确)标注也叫人工转写,是人为的操作,不可避免的也许会有答案标注错误的时候,也和标注人员对测试集使日场景的背景了解度有关。例如:和目路由(中移动的一款产品),没有相关背景的话,标注文本很可能标注成“和睦路由”
3、识别错误类型 --》(可以理解为考题没问题,考确实答错了,分析是哪类错误)识别从声学和语言两个方面入手:音就识别错了还是音对了字错了?
1)音对了字错了:
例如 标注“我是一个小学生”,识别“我试一个晓雪习概率较大。一般体现在同音声学判断声音是对的,语音模型判断的结果是错误文本的(含相似音)不同字、特定领域表达或者专业名词识别不对等青况,需要语言模型加大正确文本的概率。
2)音错了:
例如 标注“我是一个小学生”,识别“我这里是新东方声学判断声音是错的。一般体现在快语速、吞音、背景,噪、口音、音量过低等情况,需要声学模型优化,需要一定数据量学习这样的声学现象
小结
- 语音识别的输入是语音,输出是文字,对业务内容无法判断,
- 语音识别不会达到100%识别准确,错误的case肯定会存在。
- 语音识别的交付看整体,不以解case的数量为标准。
- 链路上有语音识别错误的问题,先确认ASR服务是否接收到数据,
- 如果ASR服务接受到数据,看数据听语音,看质量是否有问题,
- 看语音识别错误的问题是否是共性的问题还是单个的case
- 看语音的case一定要有语音,不是所有的case都可以解决
- 共性的问题及时进行优化,优化有三种方式,热词,语言型,声学型。
- 测试集定期更新,实时观察线上识别效果,
- ASR基于算法有算法瓶颈,瓶颈的问题需要考虑通路上的解决方案。