编辑距离与语音识别中WER的计算

编辑距离(edit distance)

做语音识别算法工程师好几年,最近才弄清楚wer与插入错误,删除错误和替换错误的统计算法,真是惭愧。

编辑距离,又称Levenshtein Distance,是一位俄罗斯的科学家Vladimir Levenshtein 在1965年在1965年提出来的。编辑距离指的是在两个字符串S1和S2 之间,将S1转换为S2所需要的最少编辑操作次数。

有三种且仅有三种字符编辑操作:

[En]

There are three and only three character editing operations:

  • 插入(Insertion)
  • 删除(Deletion)
  • 替换(Substitution)

编辑距离的算法公式:

我们将两个字符串 a,b 的编辑距离表示为

编辑距离与语音识别中WER的计算,其中编辑距离与语音识别中WER的计算编辑距离与语音识别中WER的计算分别对应字符串a,b的长度。两个字符串 a,b 的编辑距离即可用如下的数学语言表示:

编辑距离与语音识别中WER的计算

编辑距离与语音识别中WER的计算是指字符串a的前编辑距离与语音识别中WER的计算个字符和字符串b的前编辑距离与语音识别中WER的计算个字符之间的编辑距离。这里的编辑距离与语音识别中WER的计算的上限是编辑距离与语音识别中WER的计算的长度编辑距离与语音识别中WER的计算。注意,字符串的第一个字符的index从 1 开始。

编辑距离与语音识别中WER的计算,表示字符串a或者b有一个是空字符串,所以,将a转化成b就需要编辑距离与语音识别中WER的计算次编辑。

编辑距离与语音识别中WER的计算, 表示a和b都不是空字符串,a和b的编辑距离等于三种情况下编辑距离的最小值。其中,
  • 编辑距离与语音识别中WER的计算 表示插入编辑,(个人理解:编辑距离与语音识别中WER的计算从末尾删除一个字符后的编辑距离与语音识别中WER的计算编辑距离与语音识别中WER的计算的编辑距离只需做一次插入操作就和编辑距离与语音识别中WER的计算相等)
  • 编辑距离与语音识别中WER的计算 表示删除编辑,
  • 编辑距离与语音识别中WER的计算编辑距离与语音识别中WER的计算 表示替换编辑,
  • 编辑距离与语音识别中WER的计算编辑距离与语音识别中WER的计算 表示跳过不做编辑

算法举例:

a: “This great machine can recognize speech”

b: “This machine can wreck a nice beach”

  1. 首先列一个表格,表格的长度和宽度分别等于|a|+2和|b|+2,行列开头分别填充一个0.

0 this machine can wreck a nice beach 0 this great machine can recognize speech

  1. 计算当编辑距离与语音识别中WER的计算

0 this machine can wreck a nice beach 0 0 1 2 3 4 5 6 7 this 1 great 2 machine 3 can 4 recognize 5 speech 6

  1. 计算第一行:

0 this machine can wreck a nice beach 0 0 1 2 3 4 5 6 7 this 1 0 1 2 3 4 5 6 great 2 machine 3 can 4 recognize 5 speech 6

计算技巧:只需要计算单元格的上+1,左+1,左上+1(或+0)的值,再进行比较即可。比如计算(1,2)时,上面单元2+1=3,左面单元0+1=1,左上单元,由于this = machine,所以是1+0=1。三者取最小值是1
0 this machine 0 0 1 2 this 1 0 1

  1. 以此类推,填满整个表格,最右下角的值就是a和b的编辑距离5。
    0 this machine can wreck a nice beach 0 0 1 2 3 4 5 6 7 this 1 0 1 2 3 4 5 6 great 2 1 1 2 3 4 5 6 machine 3 2 1 2 3 4 5 6 can 4 3 2 1 2 3 4 5 recognize 5 4 3 2 2 3 4 5 speech 6 5 4 3 3 3 4 5

编辑距离与语音识别中WER的计算

如,红色路径,对应的回溯路径是c-d-c-c-s-s-i-i.

那么:ref :This great machine can recognize speech

hyp:This machine can wreck a nice beach

再比如绿色路径,对应的额回溯路径是:c-d-c-c-s-i-i-s

那么:ref :This great machine can recognize speech

hyp:This machine can wreck a nice beach

橙色和蓝色回溯路径,同样会导致ref和hyp对应方式不同。但是这些不同的回溯方式不影响最终的识别率wer的值。

上面的例子,不同的回溯路径恰好会使I-D-S相同,但是,有的时候,不用的回溯路径会导致不同的I-D-S。例如:

ref: x, y, z;

hyp: a,b,c,y

回溯路径1:

ref: x y z

hyp: a b c y

回溯路径2:

ref: x y z

hyp:a b c y

上面两种不同的对齐方式,编辑距离一样,wer也一样,但是I-D-S一个是2-1-1,另外一个是 1-0-3。可见,在语言识别wer统计过程中,不同的对其方式会产生不同的I-D-S统计结果。

Original: https://blog.csdn.net/yishujixiaoxiao/article/details/114373775
Author: HELLO BUGs
Title: 编辑距离与语音识别中WER的计算

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/515466/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球