如何评估ASR(自动语音识别)中的WER(单词错误率)?

问题描述 投票:0回答:4

如何评估 ASR(自动语音识别)中的 WER(单词错误率)?

例如,如果我有 ASR 的句子和输出(人工参考翻译)。

我知道方程式,但不知道如何计算。计算WER时是否输入逗号、句号等标点符号?

以及单词的 sub、ins 和 del。有具体重量吗?他们每个人在等式中计算时?

任何知道如何计算 ASR 的 WER 的人都可以吗?请给我一个例子,以便我可以在应用程序中的多个句子中计算 ASR 的 WER

speech-recognition speech-to-text performance-measuring
4个回答
5
投票

计算WER时是否输入逗号、句号等标点符号?

在计算之前去掉标点符号并将所有内容转换为小写。

任何知道如何计算 ASR 的 WER 的人都可以吗?请给我一个例子,以便我可以在我的应用程序中的多个句子中计算 ASR 的 WER

您可以使用这个Python包:

https://pypi.org/project/jiwer/

如果您需要其他语言,请告诉我们哪些语言。


0
投票

基于 Levenshtein 距离的简单 C++ 实现, 只是一个文件,没有任何库。

https://github.com/alokprasad/asr-wer


0
投票

参考此存储库,使用 Colab 计算两个字符串的字错误率 (WER)。

您还可以通过勾选remote_punctuation复选框来删除计算WER时的标点符号。

Colab 的单词错误率可视化:https://github.com/duckyngo/Word-Error-Rate-Visualization-with-Colab


0
投票

字错误率的计算公式为:

单词错误率 =(替换 + 插入 + 删除)/说出的单词数

如果我们分析这个非常简单,我们首先通过与实际转录数据(地面真实数据)进行比较,得到 ASR 输出中插入、删除和替换的总数。现在插入可以发生在字符级别或单词级别,也可以是多个字符的组合,同样删除也可以发生在多个字符级别,类似地,代替字符或单词,新字符也可能被错误地推断出来,这基本上是替换错误。

现在的问题是如何识别这些类型的错误,以识别这些错误。对于这个编辑距离度量被使用。

编辑距离是两个“字符串”之间差异的度量。这些字符串是组成转录中单词的字母序列。

让我们看一些例子来更好地理解

  1. “快乐”和“间隙”。这里只改变了一个字母,编辑距离只有 1。
  2. 对于“cat”和“kake tea”,因为在转录中“ca”通过 1 次替换、2 次插入变成“kake”,“t”通过添加 2 变成“tea”。所以这里的编辑距离为 5。

在此之后获取总单词数并完成除法,这将给你WER

© www.soinside.com 2019 - 2024. All rights reserved.