多说话人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 ?就可以

相关推荐
唯创知音1 天前
基于W2605C语音识别合成芯片的智能语音交互闹钟方案-AI对话享受智能生活
人工智能·单片机·物联网·生活·智能家居·语音识别
mnwl12_01 天前
AI大模型语音识别转文字
人工智能·语音识别
明快de玄米612 天前
百度PaddleSpeech识别大音频文件报错
java·百度·语音识别
py小王子2 天前
离线语音识别+青云客语音机器人(幼儿园级别教程)
人工智能·语音识别
唯创知音2 天前
4G报警器WT2003H-16S低功耗语音芯片方案开发-实时音频上传
人工智能·单片机·物联网·音视频·智能家居·语音识别
钒星物联网3 天前
北斗终端与低码率语音压缩算法融合,提供高效语音通信新方案
语音识别·卫星通信·北斗三号卫星导航系统·语音压缩·语音算法·低码率语音算法
Luke Ewin3 天前
解决安装pynini和WeTextProcessing报错问题
python·大模型·llm·语音识别·语音合成·tts·asr
wuhanwhite3 天前
2025:OpenAI的“七十二变”?
人工智能·openai·语音识别
委员3 天前
Arduino中借助LU-ASR01实现语音识别
单片机·嵌入式·语音识别·arduino·nodemcu·lu-asr01·天问block
逐星ing3 天前
【AIGC】使用Java实现Azure语音服务批量转录功能:完整指南
java·人工智能·aigc·语音识别·azure