模型:

nguyenvulebinh/wav2vec2-base-vietnamese-250h

英文

Vietnamese end-to-end speech recognition using wav2vec 2.0

Facebook's Wav2Vec2

模型描述

Our models 在 13k 小时越南 YouTube 音频(无标签数据)上进行预训练,并在 250 小时标记的 VLSP ASR dataset 上进行了微调,采用 16kHz 采样的语音音频。

我们使用 wav2vec2 architecture 进行预训练模型。按照 wav2vec2 论文的方法:

首次证明仅从语音音频中学习强大的表示,然后在转录语音上进行微调,可以超越最佳半监督方法,同时在概念上更简单。

在微调阶段,使用 Connectionist Temporal Classification(CTC)对 wav2vec2 进行微调,CTC 是一种用于解决序列到序列问题的神经网络训练算法,主要用于自动语音识别和手写识别。

Model #params Pre-training data Fine-tune data
1238321 95M 13k hours 250 hours

正式 ASR 系统需要两个组件:声学模型和语言模型。在这里,ctc-wav2vec 微调模型充当声学模型。对于语言模型,我们提供了一个在 2GB 的口语文本上训练的 4-grams model

关于训练和微调过程的详细信息,观众可以参考 fairseq github huggingface blog

基准 WER 结果:

12312321 12313321 12314321 12315321
without LM 10.77 18.34 13.33 51.45
with 4-grams LM 6.15 11.52 9.11 40.81

示例用法

使用模型时,请确保语音输入采样率为 16KHz。音频长度应该小于 10 秒。请点击下面的 Colab 链接,使用 CTC-wav2vec 和 4 克拉姆 LM 的组合。

from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
from datasets import load_dataset
import soundfile as sf
import torch

# load model and tokenizer
processor = Wav2Vec2Processor.from_pretrained("nguyenvulebinh/wav2vec2-base-vietnamese-250h")
model = Wav2Vec2ForCTC.from_pretrained("nguyenvulebinh/wav2vec2-base-vietnamese-250h")

# define function to read in sound file
def map_to_array(batch):
    speech, _ = sf.read(batch["file"])
    batch["speech"] = speech
    return batch

# load dummy dataset and read soundfiles
ds = map_to_array({
    "file": 'audio-test/t1_0001-00010.wav'
})

# tokenize
input_values = processor(ds["speech"], return_tensors="pt", padding="longest").input_values  # Batch size 1

# retrieve logits
logits = model(input_values).logits

# take argmax and decode
predicted_ids = torch.argmax(logits, dim=-1)
transcription = processor.batch_decode(predicted_ids)

模型参数许可证

ASR 模型参数仅供非商业用途使用,遵循知识共享署名-非商业性使用 4.0 国际许可协议 (CC BY-NC 4.0) 的条款。详细信息请访问: https://creativecommons.org/licenses/by-nc/4.0/legalcode

引用

@misc{Thai_Binh_Nguyen_wav2vec2_vi_2021,
  author = {Thai Binh Nguyen},
  doi = {10.5281/zenodo.5356039},
  month = {09},
  title = {{Vietnamese end-to-end speech recognition using wav2vec 2.0}},
  url = {https://github.com/vietai/ASR},
  year = {2021}
}

当该存储库用于帮助生成已发表结果或并入其他软件时,请引用我们的 repo。

联系方式

nguyenvulebinh@gmail.com / binh@vietai.org