paddlespeech.s2t.decoders.scorers.ctc_prefix_score module

class paddlespeech.s2t.decoders.scorers.ctc_prefix_score.CTCPrefixScore(x, blank, eos, xp)[source]

Bases: object

Compute CTC label sequence scores

which is based on Algorithm 2 in WATANABE et al. "HYBRID CTC/ATTENTION ARCHITECTURE FOR END-TO-END SPEECH RECOGNITION," but extended to efficiently compute the probabilities of multiple labels simultaneously

Methods

__call__(y, cs, r_prev)

Compute CTC prefix scores for next labels

initial_state()

Obtain an initial CTC state

initial_state()[source]

Obtain an initial CTC state

Returns:

CTC state

class paddlespeech.s2t.decoders.scorers.ctc_prefix_score.CTCPrefixScorePD(x, xlens, blank, eos, margin=0)[source]

Bases: object

Batch processing of CTCPrefixScore

which is based on Algorithm 2 in WATANABE et al. "HYBRID CTC/ATTENTION ARCHITECTURE FOR END-TO-END SPEECH RECOGNITION," but extended to efficiently compute the label probabilities for multiple hypotheses simultaneously See also Seki et al. "Vectorized Beam Search for CTC-Attention-Based Speech Recognition," In INTERSPEECH (pp. 3825-3829), 2019.

Methods

__call__(y, state[, scoring_ids, att_w])

Compute CTC prefix scores for next labels

extend_prob(x)

Extend CTC prob.

extend_state(state)

Compute CTC prefix state.

index_select_state(state, best_ids)

Select CTC states according to best ids

extend_prob(x)[source]

Extend CTC prob.

Parameters:

x (paddle.Tensor) -- input label posterior sequences (B, T, O)

extend_state(state)[source]

Compute CTC prefix state.

:param state : CTC state :return ctc_state

index_select_state(state, best_ids)[source]

Select CTC states according to best ids

:param state : CTC state :param best_ids : index numbers selected by beam pruning (B, W) :return selected_state