speech-recognition - CTC:空格和空白有什么区别?
问题描述
在 2006 年关于连接主义时间分类的文章中,Alex Graves & co。介绍了一种解码语音的模型,有27个标签:26 个用于字母,一个用于空白,表示没有标签(我理解为静音)。
但是,我看到很多使用28个标签的 CTC 实现,一个是空白,另一个是空格。到目前为止,我还没有找到需要使用这两个标签的解释,对我来说,它们代表的是同一件事。
您能否解释一下 CTC 上下文中空白和空格之间的区别以及为什么需要这两个标签?
解决方案
在连接主义时间分类中,空间只是一个空格,空白是“-”,我们用它来解决数据的重复出现。例如“pizza”将被编码为“piz-za”。
TLDR;
参考:https ://towardsdatascience.com/beam-search-decoding-in-ctc-trained-neural-networks-5a889a3d85a7
在 CTC 中存在如何对重复字符进行编码的问题。它通过引入一个伪字符(称为空白,但不要将其与“真正的”空白,即空白字符混淆)来解决。该特殊字符在正文中将用“-”表示。我们使用一种巧妙的编码模式来解决重复字符问题:在对文本进行编码时,我们可以在任意位置插入任意多个空格,这些空格在解码时会被删除。但是,我们必须在重复字符之间插入一个空格,例如“hello”。此外,我们可以随意重复每个字符。让我们看一些例子:“to”→“---ttttttooo”,或“-to-”,或“to”,“too”→“---ttttto-o”,或“-too-”,或“ to-o”,但不是“too” 如您所见,此模式还允许我们轻松创建相同文本的不同对齐方式,例如 “to”、“too”和“-to”都表示相同的文本(“to”),但与图像的对齐方式不同。NN 被训练以输出编码文本(在 NN 输出矩阵中编码)。
推荐阅读
- docker - 安装 jenkins 和 jupyter 时无法访问端口 8080、50000 和 8888
- amazon-web-services - aws cognito - 是否可以在不使用身份池的情况下使用基于角色的权限控制
- django - 在 Django Web 应用程序中设置 DEBUG=False 时出错
- https - ESP8266 https 证书连接失败
- python - 如何连接具有 2 个不同维度的 2d 张量
- python - 未解决的导入
- centos - 登录 Piranha CMS Manager 时出现问题
- node.js - 如何将 SQL 转换为 Mongoose 查询 api
- python - 在excel上合并多个工作表
- google-cloud-platform - 是什么导致此 GCP GAE [RESOURCE_EXHAUSTED] 配额错误?