🚀 UniSpeech-Large-plus 法语版
UniSpeech-Large-plus 法语版模型基于微软的 UniSpeech 架构,在 16kHz 采样的语音音频和音素标签上进行预训练,并在 1 小时的法语音素数据上进行微调。该模型可用于语音识别任务,能有效提升跨语言和跨领域的泛化能力。
🚀 快速开始
此模型是在音素分类任务上进行微调的语音模型。在使用模型时,请确保输入的语音采样率为 16kHz,并且文本已转换为音素序列。
✨ 主要特性
- 基于微软的 UniSpeech 架构,结合有标签和无标签数据进行统一预训练。
- 在公共 CommonVoice 语料库上进行跨语言表示学习评估,结果显示在语音识别任务中,相对于自监督预训练和有监督迁移学习,分别最多可降低 13.4% 和 17.8% 的相对音素错误率(所有测试语言的平均值)。
- 在领域转移语音识别任务中也表现出良好的可迁移性,相对于之前的方法,相对词错误率降低了 6%。
📚 详细文档
论文信息
- 论文标题:UniSpeech: Unified Speech Representation Learning with Labeled and Unlabeled Data
- 作者:Chengyi Wang, Yu Wu, Yao Qian, Kenichi Kumatani, Shujie Liu, Furu Wei, Michael Zeng, Xuedong Huang
- 摘要:本文提出了一种名为 UniSpeech 的统一预训练方法,用于结合有标签和无标签数据学习语音表示。该方法以多任务学习的方式进行有监督的语音 CTC 学习和基于音素感知的对比自监督学习。学习得到的表示能够捕捉与语音结构更相关的信息,并提高跨语言和跨领域的泛化能力。我们在公共 CommonVoice 语料库上评估了 UniSpeech 用于跨语言表示学习的有效性。结果表明,在语音识别任务中,UniSpeech 相对于自监督预训练和有监督迁移学习,分别最多可降低 13.4% 和 17.8% 的相对音素错误率(所有测试语言的平均值)。在领域转移语音识别任务中,相对于之前的方法,UniSpeech 也表现出良好的可迁移性,相对词错误率降低了 6%。
原始模型
原始模型可在 https://github.com/microsoft/UniSpeech/tree/main/UniSpeech 找到。
💻 使用示例
基础用法
import torch
from datasets import load_dataset
from transformers import AutoModelForCTC, AutoProcessor
import torchaudio.functional as F
model_id = "microsoft/unispeech-1350-en-353-fr-ft-1h"
sample = next(iter(load_dataset("common_voice", "fr", split="test", streaming=True)))
resampled_audio = F.resample(torch.tensor(sample["audio"]["array"]), 48_000, 16_000).numpy()
model = AutoModelForCTC.from_pretrained(model_id)
processor = AutoProcessor.from_pretrained(model_id)
input_values = processor(resampled_audio, return_tensors="pt").input_values
with torch.no_grad():
logits = model(input_values).logits
prediction_ids = torch.argmax(logits, dim=-1)
transcription = processor.batch_decode(prediction_ids)
📄 许可证
官方许可证可在 这里 找到。
🔗 相关链接