文章插图
【ASR 语音识别算法测试设计】如上图,我们通过微信发送了一段语音,在对语音进行转文字时 。语音识别引擎首先会将把这段语音进行分帧(切分成若干小段),然后利用声学模型将提取的每一帧的声学特征识别为一个个“状态”,多个状态会组合成一个音素(语音中的最小的单位),音素构成了诸多同音字,再利用 语言模型 从诸多同音字中挑选出可以使 语义完整的字(例如 不会把“吃饭”识别成“痴泛”),最后将文本展示出来 。
如何将上述过程从质量的角度刻画出来,是本框架解决的主要问题 。同时,AI算法测试依托纯手工测试、亦或是半自动化测试所面临着在执行效率、结果可靠性方面的局限性较大,本框架也是从手动、半自动测试转变为全自动、智能化测试的一次尝试 。
我们需要解决的重点问题
- 基于文本相似度计算及标注质量风险等级阈值设置,实现语音标注质量的风险自动评估 。
- 基于SER(句错误率)、WER(字错误率)、字错误前提下的音节错误率、字错误且音节正确前提下的音调错误率 指标,实现宏观指标的自动评估(每条标注信息分析精确到每个字的结果分析(正确、编辑、删除、插入)、每个错字的音节、音调分析) 。
- 基于标注数据意图(场景)的划分,实现各意图指标的自动评估 。
- 基于标注数据各维度(如,发音人性别、信噪比等),实现各维度指标的自动评估 。
- 基于由字符到音节再到音调的深层次的启发式分析,更好的启发测试同学发现问题 。
重难点分析重点分析
- 给出宏观的WER、SER指标结果,以及每条标注的数据WER结果 。
- 给出不同维度的WER、SER指标结果,并且与期望指标值进行比对,给出结论 。
1 如何实现标注质量的自动评估
标注质量差意味着期望值错误,将直接决定了后续统计结果的可靠性,音频的标注进行质量评估是开展统计分析的前提 。因此需要实现对所有标注数据进行标注质量风险评级,并输出整体标注质量情况 。
2 如何实现将每个标注数据进行精确到字、音节、音调的分析,找出其中正确的字、编辑的字、删除的字、插入的字,并且将标注与识别文本标注对齐 。例如:
标注文本(预期):二三四五六七八九十 识别文本(实际):一二三四五七捌九玖十
通过人工判断可以得出:- 正确的字(C):二三四五七九十
- 编辑的字(S):捌
- 删除的字(D):六
- 插入的字(I) :一、玖
- “捌” 属于编辑是因为在识别文本中,“捌”前面是“七”、后面是“九” 。而标注文本的七和九之前刚好有一个字,因为这个字和捌不一样,所以是编辑 。
- “玖”属于插入是因为在识别文本中,“玖”前面是“九”后面是“十”,而标注文本“九”和“十”之间没有任何字,所以是插入 。
文章插图
效果测试框架通过配置待测试的标注数据集,自动实现以下结果的输出 。
1 模型宏观指标
宏观指标包含 质量风险评估、SER、WER等指标计算及与预期指标值的比对结果,帮助测试人员从宏观角度快速掌握本次任务测试数据集的指标结果 。
文章插图
关于评估指标的计算,可以浏览下该文章内容:
AI算法测试——语音识别(ASR)模型评估指标探索2 数据标注质量风险评估
通常,人工标注的文本数据与期望数据的相似度越高,那么说明标注质量越高(可能是误读,导致存在一定误差,但属于小概率事件),我们通过文本相似度计算(切词、余弦相似度)实现标注质量的风险预测 。
数据标注质量风险评估包含录音文本、归一化文本、标注人员工号、质量风险等级信息,帮助测试人员快速摸清数据标注质量,以及提高对于高风险标注数据的纠正效率 。
推荐阅读
- 聊聊多人语音通话的基本原理
- 以太网 windows10系统下有线无法识别的解决方案
- C#语音对话控制PLC太香
- 白山金茶治牙疼,5点识别真假金骏眉
- App渗透 - 从SQL注入到人脸识别登录绕过
- 电脑插入网线后显示未识别到网络,出现黄色叹号该怎么办?
- 5点识别真假金骏眉,金骏眉名字由来
- 王者荣耀杨戬永曜之星语音台词 杨戬的语音台词
- 7招识别冰岛茶,勐库冰岛茶历史悠久
- H5 实现二维码 / 条形码的识别与解析