多说话人ASR的衡量指标和有效计算工具包

WER (Word Error Rate)

  1. 定义:预测的识别语音序列于groundtruth抄本之间的编辑距离 除以 ground truth抄本的单词数量

编辑距离 (预测的识别语音序列,groundtruth 抄本)/ ground truth抄本的单词数量

英文定义:It is given by the Levenshtein distance between the recognized word sequence and the ground truth transcription divided by the number of words in the ground truth transcription.

编辑距离的定义:

  1. 从一个字符串到另外一个字符串的最小的替代,插入和删除的操作次数

  2. TheLevenshtein distance is defined as the minimal number of substitution, insertion and deletion operations required to turn one word string into another.

多说话人的ASR系统的一些概念

  1. 单个说话人的输入和单个抄本输入 single speaker at the input and output a single transcription 叫SISO

  2. 多个说话人的合并音频(有可能存在overlap)的输入和多个输出序列的系统称为 MIMO

    containing multiple speakers at their input and that produce multiple output word sequences (MIMO)

  3. MIMO抄本转录系统的目标是回答问题:谁什么时候说了什么,既转录的内容包括时间戳信息,说话人label和抄本单词

不同的WER衡量指标

|-------------------------------------------------|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|
| Concatenated Minimum Permutation WER 串联最小排列词错误率 | cpWER | 1. 将每个说话者的所有语音连接起来作为reference(groundtruth)和hypothesis 文件(预测序列) 2. 计算参考值与假设的所有可能的说话人排列之间的 WER。有 24 种这样的排列。 3. 从中挑选出 WER 最低的(这被认为是最佳排列)。 | cpWER 直接受说话人切分结果的影响。除了显示整个录音的错误率的 cpWER 之外,我们还通过从参考中恢复话语信息来报告每个话语的详细错误。 |
| Optimal Reference Combination WER | ORC WER | 1. 多个参考转录: 可能有多个参考转录用于同一个语音片段,来自不同的来源或经过不同的处理。ORC WER 旨在处理这种多参考的情境,选择最能代表语音内容的参考转录。 2. 最优参考组合: 对于每个语音单元(utterance),ORC WER 通过计算并比较每个参考与系统输出的词错误率,选择一个具有最低错误率的参考转录。这使得 ORC WER 能够反映出在多参考情况下,系统表现的最优情况。 3. 提高准确性: 通过选择多个参考转录中的最佳组合,ORC WER 在评估时能够更精确地反映系统的性能,避免由于参考转录的不完全或不一致性带来的偏差 | ORC WER 引入多个参考转录,并采用一种最优组合策略来减少对单一参考转录的依赖。这意味着,对于每个输入的语音片段,ORC 会选择多个参考转录中的"最佳"一个进行比较,而不是仅依赖于一个固定的参考。 |
| Multiple Input Multiple Output (MIMO) WER | MIMO WER | 1. 定义参考和假设序列 * 参考序列:有 III 个参考语音序列,每个序列对应一个真实的转录。 * 假设通道:有 JJJ 个假设通道,每个通道对应一个 ASR 系统的转录输出。 2. 语音段落的分配(Utterance Assignment) * 对于每个参考语音序列 RiR_iRi,找到与之匹配的假设通道 HjH_jHj,以确保每个说话人的语音段落连续保留在一个通道中。这一过程涉及: * 避免通道切换:保证同一说话人的语音在同一个假设通道中处理。 * 遵循顺序约束:保证同一说话人说话的顺序不被打乱。 3. 计算每个通道的 SISO WER * 对于每个假设通道 HjH_jHj,计算其与参考序列 RiR_iRi 之间的单一输入单一输出(SISO)词错误率( WER 。这个步骤按如下公式计算: WERSISO=S+D+IN\text{WER}_{\text{SISO}} = \frac{S + D + I}{N}WERSISO=NS+D+I 其中: * SSS 是替换错误数(substitutions) * DDD 是删除错误数(deletions) * III 是插入错误数(insertions) * NNN 是参考文本中的总词数(number of reference words) 4. 最优参考通道匹配 * 对于所有可能的参考与假设通道的匹配组合,选择一个最优匹配 ,即选择那个能够最小化总的 MIMO WER 的参考-假设通道配对。由于参考序列和假设通道的数量很大,这一过程是一个计算密集型的任务,通常通过动态规划或其他优化算法来实现。 5. 计算最终的 MIMO WER * 最终的 MIMO WER 是所有参考与假设通道匹配的 SISO WER 的加权平均值。它仅计算转录错误,不考虑说话人归属错误(即不考虑是否有正确的说话人识别信息)。 | MIMO WER 是一种评估多通道自动语音识别(ASR)系统的指标,通过最优匹配参考和假设通道,计算多说话人环境中词错误率,同时避免通道切换,确保同一说话人的连续语音保持在一个通道中。 |
| greedy_orcwer | greedy_orcwer | 使用贪心算法计算最优参考组合词错误率(ORC WER 使用一种贪心算法计算 最优参考组合词错误率(ORC WER) ,这种算法比最优算法更快速,但不保证产生相同的结果。 | |
| tcpwer | tcpwer | 计算时间约束最优参考组合词错误率(tcORC WER 计算时间约束最优参考组合词错误率(tcORC WER),类似于 ORC WER,但考虑了时间约束条件,即在评估时需要遵守语音的时间顺序。 | |
| greedy_dicpwer | greedy_dicpwer | 计算时间约束去识别说话人连接最小置换词错误率(greedy DI-tcpWER) 使用贪心算法计算时间约束去识别说话人连接最小置换词错误率(greedy DI-tcpWER),在多说话人环境下,结合了去识别说话人技术和时间约束条件。 | |
| greedy_tcorcwer | greedy_tcorcwer | 计算时间约束最优参考组合词错误率(tcORC WER 使用贪心算法计算时间约束最优参考组合词错误率(tcORC WER),类似于 tcORC WER,但使用了更快速的贪心算法。 | |

开源计算工具meeteval (也是chime竞赛指标代码依赖库)

  1. 参考文献:ON WORD ERROR RATE DEFINITIONS AND THEIR EFFICIENT COMPUTATION FOR MULTI-SPEAKER SPEECH RECOGNITION SYSTEMS

  2. 代码库地址:https://github.com/popcornell/meeteval/tree/2b06cead668a26d153ee9618950a6ac80445307c

  3. 安装步骤和注意事项

  1. pip install meeteval

  2. 如果出现x86_64-linux-gnu-g++编译不过的情况,先更新g++

(a) sudo apt update sudo; apt install g++

(b) sudo apt install build-essential

(c) g++ --version

更新完g++之后再安装步骤 1)pip install meeteval

3) 安装成功后

4)配置~/.bashrc

首先是找到安装位置

find ~/.local -name 'meeteval-wer'

假设搜索到的位置是:/home/xxx/.local/bin/meeteval-wer

在~/.bashrc 写入:export PATH=$PATH:/home/xxx/.local/bin

source ~/.bashrc

  1. 在shell环境测试meeteval-wer

meeteval-wer cpwer -h example_files/hyp.stm -r example_files/ref.stm

测试过程中有可能需要其他的包?,直接pip install ?就可以

相关推荐
2401_841495643 天前
【语音识别】语音识别的发展历程
人工智能·神经网络·语音识别·商业应用·概率模型·早期探索·未来发展趋势
kalvin_y_liu3 天前
ManySpeech —— 使用 C# 开发人工智能语音应用
开发语言·人工智能·c#·语音识别
深思慎考3 天前
调用百度云语音识别服务——实现c++接口识别语音
c++·语音识别·百度云
海特伟业4 天前
医院数字IP广播系统:基于内部局域网的分布式数字化医院IP广播
网络·音频
uncle_ll5 天前
Sherpa 语音识别工具链安装指南(Linux CPU 版)
linux·nlp·语音识别·tts·sherpa
熊猫钓鱼>_>5 天前
基于知识图谱的智能会议纪要系统:从语音识别到深度理解
人工智能·语音识别·知识图谱
Cool-浩5 天前
【征文计划】Rokid 语音指令开发教程 【包含工程源码 和体验包APK】
unity·ar·语音识别·rokid·语音指令
渡我白衣6 天前
《未来的 AI 操作系统(四)——AgentOS 的内核设计:调度、记忆与自我反思机制》
人工智能·深度学习·机器学习·语言模型·数据挖掘·人机交互·语音识别
从孑开始6 天前
ManySpeech.MoonshineAsr 使用指南
人工智能·ai·c#·.net·私有化部署·语音识别·onnx·asr·moonshine
涛涛讲AI6 天前
一段音频多段字幕,让音频能够流畅自然对应字幕 AI生成视频,扣子生成剪映视频草稿
人工智能·音视频·语音识别