speechbrain.inference.SLU 模块

指定语音理解 (SLU) 模块的推理接口。

作者
  • Aku Rouhe 2021

  • Peter Plantinga 2021

  • Loren Lugosch 2020

  • Mirco Ravanelli 2020

  • Titouan Parcollet 2021

  • Abdel Heba 2021

  • Andreas Nautsch 2022, 2023

  • Pooneh Mousavi 2023

  • Sylvain de Langen 2023

  • Adel Moumen 2023

  • Pradnya Kandarkar 2023

总结

EndToEndSLU

一个端到端 SLU 模型。

参考

class speechbrain.inference.SLU.EndToEndSLU(*args, **kwargs)[source]

基类:Pretrained

一个端到端 SLU 模型。

此类可用于仅运行编码器 (encode()) 以提取特征,或运行整个模型 (decode()) 以将语音映射到其语义。

参数:
  • *args (tuple)

  • **kwargs (dict) – 参数转发给 Pretrained 父类。

示例

>>> from speechbrain.inference.SLU import EndToEndSLU
>>> tmpdir = getfixture("tmpdir")
>>> slu_model = EndToEndSLU.from_hparams(
...     source="speechbrain/slu-timers-and-such-direct-librispeech-asr",
...     savedir=tmpdir,
... )
>>> slu_model.decode_file("tests/samples/single-mic/example6.wav")
"{'intent': 'SimpleMath', 'slots': {'number1': 37.67, 'number2': 75.7, 'op': ' minus '}}"
HPARAMS_NEEDED = ['tokenizer', 'asr_model_source']
MODULES_NEEDED = ['slu_enc', 'beam_searcher']
decode_file(path, **kwargs)[source]

将给定的音频文件映射到表示该话语语义字典的字符串。

参数:
  • path (str) – 要解码的音频文件路径。

  • **kwargs (dict) – 转发给 load_audio 的参数。

返回:

预测的语义。

返回类型:

str

encode_batch(wavs, wav_lens)[source]

将输入音频编码为隐藏状态序列

参数:
  • wavs (torch.Tensor) – 波形批次 [batch, time, channels] 或 [batch, time],取决于模型。

  • wav_lens (torch.Tensor) – 相对于批次中最长波形的波形长度,张量形状为 [batch]。最长的波形相对长度应为 1.0,其他波形为 len(waveform) / max_length。用于忽略填充。

返回:

编码后的批次

返回类型:

torch.Tensor

decode_batch(wavs, wav_lens)[source]

将输入音频映射到其语义

参数:
  • wavs (torch.Tensor) – 波形批次 [batch, time, channels] 或 [batch, time],取决于模型。

  • wav_lens (torch.Tensor) – 相对于批次中最长波形的波形长度,张量形状为 [batch]。最长的波形相对长度应为 1.0,其他波形为 len(waveform) / max_length。用于忽略填充。

返回:

  • list – 批次中每个波形的解码结果。

  • tensor – 每个预测的 token ID。

forward(wavs, wav_lens)[source]

运行完整解码 - 注意:解码过程中没有梯度