paddlespeech.s2t.decoders.ctcdecoder.decoders_deprecated 模块

包含各种CTC解码器。

paddlespeech.s2t.decoders.ctcdecoder.decoders_deprecated.ctc_beam_search_decoder(probs_seq, beam_size, vocabulary, cutoff_prob=1.0, cutoff_top_n=40, ext_scoring_func=None, nproc=False)[来源]

CTC束搜索解码器。

它利用束搜索大致选择最佳解码标签,并以降序返回结果。该实现基于前缀束搜索 (https://arxiv.org/abs/1408.2873),并对不清晰的部分进行了重新设计。两个重要的修改:1) 在概率的迭代计算中,赋值操作已更改为累积,因为一个前缀可能来自不同的路径;2) 概率计算后的if条件“if l^+ not in A_prev then”被弃用,因为它难以理解且似乎没有必要。

Parameters:
  • probs_seq (二维列表) -- 每个时间步骤的概率分布的二维列表,每个元素是一个关于词汇和空白的归一化概率的列表。

  • beam_size (int) -- 搜索波束的宽度。

  • 词汇 (列表) -- 词汇表。

  • cutoff_prob (float) -- 剪枝时的截断概率,默认值为 1.0,不进行剪枝。

  • ext_scoring_func -- 外部评分函数,用于部分解码的句子,例如单词计数或语言模型。

  • nproc (bool) -- 解码器是否在多进程中使用。

Returns:

解码结果的元组列表,包括对数概率和句子,按概率降序排列。

Return type:

列表

paddlespeech.s2t.decoders.ctcdecoder.decoders_deprecated.ctc_beam_search_decoder_batch(probs_split, beam_size, vocabulary, num_processes, cutoff_prob=1.0, cutoff_top_n=40, ext_scoring_func=None)[来源]

使用多个进程的CTC束搜索解码器。

Parameters:
  • probs_seq (3-D 列表) -- 3-D 列表,每个元素都是一个 2-D 概率列表的实例,由 ctc_beam_search_decoder() 使用。

  • beam_size (int) -- 搜索波束的宽度。

  • 词汇 (列表) -- 词汇表。

  • num_processes (int) -- 并行进程的数量。

  • cutoff_prob (float) -- 剪枝中的截止概率,默认值为 1.0,表示不进行剪枝。

  • num_processes -- 并行进程的数量。

  • ext_scoring_func -- 外部评分函数,用于部分解码的句子,例如单词计数或语言模型。

Returns:

解码结果的对数概率和句子元组列表,以概率降序排列。

Return type:

列表

paddlespeech.s2t.decoders.ctcdecoder.decoders_deprecated.ctc_greedy_decoder(probs_seq, vocabulary)[来源]

CTC 贪婪(最佳路径)解码器。

由最可能的标记组成的路径进一步经过后处理,以去除连续的重复和所有空格。

Parameters:
  • probs_seq (list) -- 每个字符在词汇表上的概率的二维列表。每个元素是一个浮点数概率的列表,表示一个字符。

  • 词汇 (列表) -- 词汇表。

Returns:

解码结果字符串。

Return type:

基线