paddlespeech.s2t.utils.ctc_utils模块

paddlespeech.s2t.utils.ctc_utils.forced_align(ctc_probs: Tensor, y: Tensor, blank_id=0) List[int][来源]

ctc 强制对齐。

https://distill.pub/2017/ctc/

Args:

ctc_probs (paddle.Tensor): 隐藏状态序列, 2维张量 (T, D) y (paddle.Tensor): 标签ID序列张量, 1维张量 (L) blank_id (int): 空符号索引

Returns:

列表[int]: 最佳对齐结果, (T).

paddlespeech.s2t.utils.ctc_utils.insert_blank(label: ndarray, blank_id: int = 0) ndarray[来源]

在每两个标签标记之间插入空白标记。

"abcdefg" -> "-a-b-c-d-e-f-g-"

Args:

标签 ([np.ndarray]): 标签 ID, List[int], (L). 空白 ID (int, 可选): 空白 ID. 默认值为 0.

Returns:

[np.ndarray]: (2L+1).

paddlespeech.s2t.utils.ctc_utils.remove_duplicates_and_blank(hyp: List[int], blank_id=0) List[int][来源]

ctc 对齐到 ctc 标签 ID。

"abaa-acee-" -> "abaace"

Args:

hyp (List[int]): 假设的ID, (L) blank_id (int, optional): 空白ID. 默认值为0.

Returns:

List[int]: 移除重复的ID,然后移除空白ID。