【问题标题】:CTC: What is the difference between space and blank?CTC:空格和空白有什么区别?
【发布时间】:2019-08-12 13:16:36
【问题描述】:

在 2006 article 关于连接主义时间分类,Alex Graves & co。引入了一个解码语音的模型,带有 27 个标签:26 个用于字母,一个用于 blank,表示没有标签(我理解为 silence >)。

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

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

【问题讨论】:

  • 空白是CTC内部使用的特殊字符,它在世界上没有真实的表示。另一方面,空格是用于分隔单词的普通空白字符。这里我写了一个关于CTC的简短介绍:towardsdatascience.com/3797e43a86c

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


【解决方案1】:

在联结主义时间分类中空间只是一个 空格和空白是 '-' 我们用来解决重复的 数据的重现。例如“pizza”将被编码为 “披萨”。

TLDR;

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

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

【讨论】:

    猜你喜欢
    • 2021-11-14
    • 2023-02-25
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    • 2011-04-04
    • 2011-05-03
    • 2010-11-16
    • 2021-03-17
    相关资源
    最近更新 更多