HTK-HResults计算ASR字错、句错
工作中有测试AI智能助手,当时没有工具,脚本来不及写,人工手动进行测试,从头到尾人工手动测试比对,字错和句错也都是直接在excel中计算,感触就是,确实很累人!
接触HTK,有文章已经写过下载以及安装,详情请看HTK下载安装以及示例
先来介绍一下基本概念
一、语音识别(ASR)
语音识别(speech recognition)技术,也被称为自动语音识别(英语:Automatic Speech Recognition, ASR)
狭隘一点白话说:将语音转换为文字的技术。
二、句错率(SER)
句错误率:Sentence Error Rate
解释:句子识别错误的的个数,除以总的句子个数即为SER
计算公式:
SER=错误句数/总句数
三、字错率(WER/CER)
WER,Word error rate,词错率,但一般称为字错率,是语音识别领域的关键性评估指标,WER越低表示效果越好!
CER,Character Error Rate,字符错误率,中文一般用CER来表示字错率。
计算方式:
WER=(S+D+I)/N=(S+D+I)/(S+D+H)
S--被替换的字数
D--被删除的字数
I--被插入的字数
H--识别正确的字数
N=S+D+H
四、字成功率(W.Corr)和字正确率(W.Acc)
字正确率,Word Correct,一般国内宣传用的多,识别率(识别正确率)达到多少多少。
计算公式:
W.Corr=(N-S-D)/N=C-N
W.Acc=1-WER=(N-S-D-I)/N
五、问题
1、WER会大于1(100%),按照上述计算方式,I的字数较多情况下会出现、
之前手工测试的时候,N是按照实际句子总字符数算的,不知道合理不合理,沟通的时候就这么定的,哈哈哈~
2、字错率的概念,WER和CER,字错和字符错,这里是按照:一个汉字=一个word计算,天=day
之前手工测试的时候,一个英文字母等同于一个汉字,会议沟通确认过的,怎么要求怎么来呗~
3、字正确率,只计算了识别正确的字,没有管多出来的字
4、同理,因为有插入的字,所以计算结果会有负数
六、HTK之HResults的使用
开头有讲HTK的下载安装,但是没有模型训练,因为还没有接触,暂时先不了解,后续有机会在看
下面是使用方式,本地用一个小demo已经测试过了,可以直接使用,下面是使用步骤:
温馨提示:在使用shell终端命令行进行模拟比对ASR结果时,一定要确保你已经正确安装并配置了 HTK 工具链,这样 HResults 才能正常工作。
1、整理已有的txt文档,需要输入的指令,如下:今天天气怎么样
明天天气怎么样
保存为txt文件,命名src.txt
2、查看设备识别的ASR结果,整理到txt文档,如下:
惊天天气
明天天怎么啊
保存为txt文件,命名为testResult.txt
3、将上述两个txt文件转换为mlf文件,可以百度下,或写个python脚本
脚本可以从 语音识别ASR_Findexyou 写的脚本获取(自己写的链接在下面)
4、最终终端命令比对
HResults -t -I src.mlf NUL testResult.mlf
-t: 使输出更详细,包括每个测试项的错误统计。
-I src.mlf: 指定输入的 MLF (Master Label File) 文件路径,这是包含参考转录音本的文件。
NUL: 表示不使用语言模型或语法文件,在 Windows 上相当于 Unix/Linux 系统上/dev/null。
testResult.mlf: 包含 ASR 系统生成的识别结果的 MLF 文件。
解释如下:
SENT: %Correct=0.00 [H=0, S=2, N=2]
名词解释
%Correct: 句子正确率。
0.00: 表示句子完全不匹配。
[H=0, S=2, N=2]
H: 正确的句子数-0。
S: 插入错误的句子数-2。
N: 总句子数-2。
WORD: %Corr=66.67, Acc=60.00 [H=10, D=4, S=1, I=1, N=15]
名词解释
%Corr: 单词正确率。
66.67: 表示所有单词的识别率为 66.67%。
Acc: 准确率。
60.00: 表示整体准确率为 60.00%。
[H=10, D=4, S=1, I=1, N=15]
H: 正确的单词数-10。
D: 删除错误的单词数-4。
S: 替换错误的单词数-1。
I: 插入错误的单词数-1。
N: 总单词数-15。
最后,txt文件转换为mlf文件的脚本已经编辑完成,链接:TXT文件转MLF文件_python脚本
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)