speechbrain.inference.SLU 模块

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

Authors:
  • 阿库·罗赫 2021

  • 彼得·普兰廷加 2021

  • 洛伦·卢戈斯奇 2020

  • Mirco Ravanelli 2020

  • Titouan Parcollet 2021

  • 阿卜杜勒·赫巴 2021

  • 安德烈亚斯·诺茨 2022, 2023

  • Pooneh Mousavi 2023

  • Sylvain de Langen 2023

  • 阿德尔·穆门 2023

  • 普拉迪亚·坎达尔卡 2023

摘要

类:

EndToEndSLU

一个端到端的SLU模型。

参考

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

基础类:Pretrained

一个端到端的SLU模型。

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

Parameters:
  • *args (元组)

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

Example

>>> 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]

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

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

  • **kwargs (dict) – 传递给 load_audio 的参数。

Returns:

预测的语义。

Return type:

str

encode_batch(wavs, wav_lens)[source]

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

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

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

Returns:

编码的批次

Return type:

torch.Tensor

decode_batch(wavs, wav_lens)[source]

将输入的音频映射到其语义

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

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

Returns:

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

  • tensor – 每个预测的令牌ID。

forward(wavs, wav_lens)[source]

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