CTC:空格和空格有什么区别?

时间:2019-03-21 16:01:05

标签: speech-recognition speech-to-text speech labeling ctc

在2006年的article中,关于连接主义者的时间分类,Alex Graves&co。引入了一种带有 27 标签的语音解码模型:26用于字母,而空白,这意味着没有标签(我理解为沉默 >)。

但是,我看到很多使用 28 标签的CTC实现,一个是空白,另一个是空格。到目前为止,我仍无法找到需要同时使用这两个标签的解释,对我来说,它们代表的是同一件事。

您能否解释一下CTC中空白和空格之间的区别,以及为什么同时需要这两个标签?

1 个答案:

答案 0 :(得分:0)

在连接主义者的时间分类中,空间只是一个 空格和空格为“-”,用于解决重复 数据再次出现。例如,“披萨”将被编码为 “ piz-za”。

TLDR;

ref:https://towardsdatascience.com/beam-search-decoding-in-ctc-trained-neural-networks-5a889a3d85a7

在CTC中,存在一个如何编码重复字符的问题。通过引入伪字符(称为空格,但不要将其与“真实”空格(即空格字符)混淆)来解决该问题。在文本中,此特殊字符将表示为“-”。我们使用聪明的编码方案来解决重复字符问题:对文本进行编码时,我们可以在任意位置插入任意多个空格,在解码时将其删除。但是,我们必须在重复的字符之间插入空格,例如“ hello”。此外,我们可以根据需要重复每个字符。 让我们看一些例子: “至”→“ --- ttttttooo”或“ -t-o-”或“至” “太”→“ --- ttttto-o”或“ -t-o-o-”或“ to-o”,但不是“ too” 如您所见,这种模式还使我们能够轻松地为同一文本创建不同的对齐方式,例如“ t-o”,“ too”和“ -to”都表示相同的文本(“ to”),但与图像的对齐方式不同。训练神经网络输出编码文本(在神经网络输出矩阵中编码)。