diff --git a/deep_speech_2/decoder.py b/deep_speech_2/decoder.py index 2ee89cbd028553421d6b5aa02017fb7d20f03e16..37640aff36fd2688127dd4022833772d444294ca 100755 --- a/deep_speech_2/decoder.py +++ b/deep_speech_2/decoder.py @@ -222,8 +222,11 @@ def ctc_beam_search_decoder(probs_seq, beam_result = [] for (seq, prob) in prefix_set_prev.items(): - if prob > 0.0: + if prob > 0.0 and len(seq) > 1: result = seq[1:] + # score last word by external scorer + if (ext_scoring_func is not None) and (result[-1] != ' '): + prob = prob * ext_scoring_func(result) log_prob = np.log(prob) beam_result.append([log_prob, result])