🚀 Wav2Vec2-Base-Vietnamese-270h
このモデルは、Common Voice、VIVOS、VLSP2020 などの複数のデータセットから約270時間のラベル付きデータを組み合わせて、ベトナム語の音声認識タスクでWav2Vec2モデルをファインチューニングしたものです。モデルは、カスタムトークナイザーを使用してSpeechBrainツールキットでファインチューニングされました。より良い体験を得るために、SpeechBrain についてもっと学ぶことをお勧めします。
このモデルを使用する際は、音声入力が16kHzでサンプリングされていることを確認してください。
特定の言語でWav2Vec2モデルをファインチューニングする方法については、huggingface blog または speechbrain を参照してください。
🚀 クイックスタート
このモデルは、ベトナム語の音声認識タスクに特化してファインチューニングされています。以下の手順で簡単に使用できます。
✨ 主な機能
- 複数のデータセットを組み合わせた約270時間のラベル付きデータでファインチューニング。
- SpeechBrainツールキットとカスタムトークナイザーを使用。
- 16kHzの音声入力に最適化。
📦 インストール
このモデルを使用するには、speechbrain > 0.5.10をインストールする必要があります。
💻 使用例
基本的な使用法
from speechbrain.pretrained import EncoderASR
model = EncoderASR.from_hparams(source="dragonSwing/wav2vec2-base-vn-270h", savedir="pretrained_models/asr-wav2vec2-vi")
model.transcribe_file('dragonSwing/wav2vec2-base-vn-270h/example.mp3')
高度な使用法
GPUで推論を行うには、from_hparams
メソッドを呼び出す際に run_opts={"device":"cuda"}
を追加します。
評価
このモデルは、Common Voice 8.0のベトナム語テストデータで以下のように評価できます。
import torch
import torchaudio
from datasets import load_dataset, load_metric, Audio
from transformers import Wav2Vec2FeatureExtractor
from speechbrain.pretrained import EncoderASR
import re
test_dataset = load_dataset("mozilla-foundation/common_voice_8_0", "vi", split="test", use_auth_token=True)
test_dataset = test_dataset.cast_column("audio", Audio(sampling_rate=16_000))
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
wer = load_metric("wer")
extractor = Wav2Vec2FeatureExtractor.from_pretrained("dragonSwing/wav2vec2-base-vn-270h")
model = EncoderASR.from_hparams(source="dragonSwing/wav2vec2-base-vn-270h", savedir="pretrained_models/asr-wav2vec2-vi", run_opts={'device': device})
chars_to_ignore_regex = r'[,?.!\-;:"“%\'�]'
def speech_file_to_array_fn(batch):
audio = batch["audio"]
batch["target_text"] = re.sub(chars_to_ignore_regex, '', batch["sentence"]).lower()
batch['speech'] = audio['array']
return batch
test_dataset = test_dataset.map(speech_file_to_array_fn)
def evaluate(batch):
inputs = extractor(
batch['speech'],
sampling_rate=16000,
return_tensors="pt",
padding=True,
do_normalize=False
).input_values
input_lens = torch.ones(inputs.shape[0])
pred_str, pred_tokens = model.transcribe_batch(inputs, input_lens)
batch["pred_strings"] = pred_str
return batch
result = test_dataset.map(evaluate, batched=True, batch_size=1)
print("WER: {:2f}".format(100 * wer.compute(predictions=result["pred_strings"], references=result["target_text"])))
テスト結果: 12.155553%
📚 ドキュメント
ベンチマークWER結果
言語モデルは、OSCAR データセットを約32GBのクロールテキストで学習させました。
引用
@misc{SB2021,
author = {Ravanelli, Mirco and Parcollet, Titouan and Rouhe, Aku and Plantinga, Peter and Rastorgueva, Elena and Lugosch, Loren and Dawalatabad, Nauman and Ju-Chieh, Chou and Heba, Abdel and Grondin, Francois and Aris, William and Liao, Chien-Feng and Cornell, Samuele and Yeh, Sung-Lin and Na, Hwidong and Gao, Yan and Fu, Szu-Wei and Subakan, Cem and De Mori, Renato and Bengio, Yoshua },
title = {SpeechBrain},
year = {2021},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\\\\url{https://github.com/speechbrain/speechbrain}},
}
SpeechBrainについて
SpeechBrainは、オープンソースの総合音声ツールキットです。シンプルで非常に柔軟性が高く、使いやすいように設計されています。様々なドメインで競争力のある、または最先端のパフォーマンスが得られます。
ウェブサイト: https://speechbrain.github.io
GitHub: https://github.com/speechbrain/speechbrain
📄 ライセンス
このモデルは、cc-by-nc-4.0ライセンスの下で提供されています。