🚀 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)
📄 許可證
官方許可證可在 這裡 找到。
🔗 相關鏈接