是否可以从 Python 端在 TensorFlow CTC 实现中自定义 Beam Scorer?我在 CTCBeamSearchDecoder C++ 类构造函数的评论中看到了这种可能性,但想知道如何为 Python 用户提供此功能?
我们遇到的具体问题是将语言模型插入基于 CTC 的语音解码器。语言模型可以是预训练的 TensorFlow 子图,能够输出波束分数调整的概率。但我们需要一种方法将其注入光束刻划器中。
目前,Python 还没有 API 可以将语言模型与自定义评分器结合使用。欢迎贡献,但在 Python API 中实现这一点存在一些困难,因为它需要在解码器操作内的独立会话中运行 TF LM 子图,而这些不能很好地融合在一起。
最简单的方法是在 C++ 中,需要扩展 BaseBeamScorer 类以及 BeamState(类似于测试中看到的),并在通常进入的张量流图的输出之上进一步运行 CTCBeamSearchDecoder::Decode ctc_beam_search_decoder 操作。
通过这样做,您的 BeamScorer 实现可以利用您手头的任何语言模型,并且只需在将波束从一种状态扩展到另一种状态时返回适当的分数即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)