speechbrain.lobes.models.g2p.dataio 模块
G2P 管道的数据管道元素
- Authors
洛伦·卢戈斯奇 2020
Mirco Ravanelli 2020
Artem Ploujnikov 2021(仅进行了少量重构)
摘要
类:
一个懒初始化的包装器 |
函数:
向提供的序列中添加BOS和EOS标记 |
|
对音素执行波束搜索。 |
|
构建一个将任意令牌映射到任意选择字符的映射表。 |
|
返回一个函数,该函数可以从使用字符映射进行标记化的序列中恢复原始序列 |
|
生成一个连续的字符列表 |
|
清理传入的文本,移除不在接受列表中的字符并将其转换为大写 |
|
使用EOS/BOS序列初始化音素编码器 |
|
交换字典中的键和值 |
|
根据命名约定确定用于序列(例如字素/音素)的键。 |
|
编码一个字形序列 |
|
一个包装器,用于确保指定的对象只初始化一次(主要用于在调用构造函数时进行训练的标记器) |
|
解码一系列音素 |
|
使用提供的编码器对一系列音素进行编码 |
|
将一批音素序列(单个张量)转换为空格分隔的音素标签字符串列表(例如["T AY B L", "B UH K"]),并移除任何特殊标记。 |
|
从序列中移除任何特殊标记。 |
|
使用分词器解码一个序列。 |
|
使用预训练分词器的管道元素 |
|
如果适用,应用词嵌入。 |
参考
- speechbrain.lobes.models.g2p.dataio.clean_pipeline(txt, graphemes)[source]
清理传入的文本,移除不在接受的字符列表中的任何字符,并将其转换为大写
- Parameters:
- Returns:
item – 一个包装的转换函数
- Return type:
- speechbrain.lobes.models.g2p.dataio.grapheme_pipeline(char, grapheme_encoder=None, uppercase=True)[source]
编码一个字形序列
- Parameters:
char (str) – 要编码的字符列表。
grapheme_encoder (speechbrain.dataio.encoder.TextEncoder) – 用于字素的文本编码器。如果未提供,
uppercase (bool) – 是否将项目转换为大写
- Yields:
grapheme_list (list) – 一个原始的字素列表,不包括任何不匹配的标签
grapheme_encoded_list (列表) – 一个以整数编码的字素列表
grapheme_encoded (torch.Tensor)
- speechbrain.lobes.models.g2p.dataio.tokenizer_encode_pipeline(seq, tokenizer, tokens, wordwise=True, word_separator=' ', token_space_index=512, char_map=None)[source]
一个使用预训练分词器的管道元素
- Parameters:
seq (list) – 要编码的标记列表。
tokenizer (speechbrain.tokenizer.SentencePiece) – 一个分词器实例
tokens (str) – 可用的令牌
wordwise (str) – 是否对整个序列进行分词 或一次一个词。分词可以产生一个标记可能跨越多个词的标记序列
word_separator (str) – 用作单词之间分隔符的子字符串。
token_space_index (int) – 空格标记的索引
char_map (dict) – 一个从字符到标记的映射。这在将音素序列而不是字符序列进行标记化时使用。音素序列通常是一个由一个或两个字符组成的标记列表(例如 [“DH”, “UH”, “ “, “S”, “AW”, “N”, “D”])。字符映射使得可以将这些映射到任意选择的字符。
- Yields:
token_list (list) – 原始标记的列表
encoded_list (list) – 一个标记列表,编码为整数列表
encoded (torch.Tensor) – 一个标记列表,编码为张量
- speechbrain.lobes.models.g2p.dataio.enable_eos_bos(tokens, encoder, bos_index, eos_index)[source]
使用EOS/BOS序列初始化音素编码器
- Parameters:
- Returns:
encoder – 编码器
- Return type:
- speechbrain.lobes.models.g2p.dataio.phoneme_pipeline(phn, phoneme_encoder=None)[source]
使用提供的编码器对音素序列进行编码
- Parameters:
phn (list) – 音素列表
phoneme_encoder (speechbrain.datio.encoder.TextEncoder) – 一个文本编码器实例(可选,如果未提供,将创建一个新的实例)
- Yields:
phn (list) – 原始的音素列表
phn_encoded_list (list) – 编码的音素,作为一个列表
phn_encoded (torch.Tensor) – 编码的音素,作为张量
- speechbrain.lobes.models.g2p.dataio.add_bos_eos(seq=None, encoder=None)[source]
向提供的序列添加BOS和EOS标记
- Parameters:
seq (torch.Tensor) – 源序列
encoder (speechbrain.dataio.encoder.TextEncoder) – 一个编码器实例
- Yields:
seq_eos (torch.Tensor) – 序列,已添加EOS标记
seq_bos (torch.Tensor) – 序列,已添加BOS标记
- speechbrain.lobes.models.g2p.dataio.beam_search_pipeline(char_lens, encoder_out, beam_searcher)[source]
对音素执行波束搜索。此函数旨在用作解码管道中的一个组件。
- Parameters:
char_lens (torch.Tensor) – 字符输入的长度
encoder_out (torch.Tensor) – 原始编码器输出
beam_searcher (speechbrain.decoders.seq2seq.S2SBeamSearcher) – 一个 SpeechBrain 波束搜索实例
- Returns:
hyps (list) – 假设
scores (list) – 与每个假设相关的置信度分数
- speechbrain.lobes.models.g2p.dataio.phoneme_decoder_pipeline(hyps, phoneme_encoder)[source]
解码一系列音素
- speechbrain.lobes.models.g2p.dataio.build_token_char_map(tokens)[source]
构建一个将任意标记映射到任意选择字符的映射。 这是为了克服SentencePiece的限制所必需的。
- speechbrain.lobes.models.g2p.dataio.text_decode(seq, encoder)[source]
使用分词器解码一个序列。 此函数旨在用于hparam文件中
- Parameters:
seq (torch.Tensor) – 令牌索引
encoder (sb.dataio.encoder.TextEncoder) – 一个文本编码器实例
- Returns:
output_seq – 一个包含多个标记列表的列表
- Return type:
- speechbrain.lobes.models.g2p.dataio.char_map_detokenize(char_map, tokenizer, token_space_index=None, wordwise=True)[source]
返回一个函数,该函数可以从使用字符映射进行标记化的序列中恢复原始序列
- Parameters:
char_map (dict) – 一个字符到输出标记的映射
tokenizer (speechbrain.tokenizers.SentencePiece.SentencePiece) – 一个分词器实例
token_space_index (int) – “space” 标记的索引
wordwise (bool) – 是否按单词进行去标记化。
- Returns:
f – 分词器函数
- Return type:
可调用的
- class speechbrain.lobes.models.g2p.dataio.LazyInit(init)[source]
基础:
Module一个懒初始化的包装器
- Parameters:
init (可调用) – 用于初始化底层对象的函数
- speechbrain.lobes.models.g2p.dataio.lazy_init(init)[source]
一个包装器,用于确保指定的对象只初始化一次(主要用于在构造函数调用时进行训练的标记器)
- Parameters:
init (callable) – 一个构造函数或创建对象的函数
- Returns:
instance – 对象实例
- Return type:
- speechbrain.lobes.models.g2p.dataio.phonemes_to_label(phns, decoder)[source]
将一批音素序列(单个张量)转换为以空格分隔的音素标签字符串列表, (例如 [“T AY B L”, “B UH K”]),并移除任何特殊标记
- Parameters:
phns (torch.Tensor) – 一批音素序列
decoder (Callable) – 将张量转换为音素标签字符串。
- Returns:
result – 与提供的音素对应的字符串列表
- Return type:
- speechbrain.lobes.models.g2p.dataio.word_emb_pipeline(txt, grapheme_encoded, grapheme_encoded_len, grapheme_encoder=None, word_emb=None, use_word_emb=None)[source]
如果适用,应用词嵌入。此函数旨在作为编码管道的一部分使用。
- Parameters:
txt (str) – 原始文本
grapheme_encoded (torch.Tensor) – 编码的字素
grapheme_encoded_len (torch.Tensor) – 编码的字素长度
grapheme_encoder (speechbrain.dataio.encoder.TextEncoder) – 用于字素的文本编码器
word_emb (callable) – 生成词嵌入的模型
use_word_emb (bool) – 一个标志,表示是否应用词嵌入
- Returns:
char_word_emb – 词嵌入,扩展到字符维度
- Return type:
torch.Tensor