🚀 wav2vec2-xls-r-parlaspeech-hr-lm
このクロアチア語の自動音声認識(ASR)モデルは、facebook/wav2vec2-xls-r-300mモデルに基づいており、ASRクロアチア議会データセットParlaSpeech-HR v1.0の300時間分の録音と文字起こしデータでファインチューニングされています。
このモデルを使用する場合は、以下の論文を引用してください。
@inproceedings{ljubevsic2022parlaspeech,
title={ParlaSpeech-HR-a Freely Available ASR Dataset for Croatian Bootstrapped from the ParlaMint Corpus},
author={Ljube{\v{s}}i{\'c}, Nikola and Kor{\v{z}}inek, Danijel and Rupnik, Peter and Jazbec, Ivo-Pavao},
booktitle={Proceedings of the Workshop ParlaCLARIN III within the 13th Language Resources and Evaluation Conference},
pages={111--116},
year={2022},
url={http://www.lrec-conf.org/proceedings/lrec2022/workshops/ParlaCLARINIII/pdf/2022.parlaclariniii-1.16.pdf}
}
✨ 主な機能
📊 メトリクス
評価は、ParlaSpeech-HR v1.0データセットの開発データとテストデータで行われています。
分割 |
文字誤り率 (CER) |
単語誤り率 (WER) |
開発 |
0.0448 |
0.1129 |
テスト |
0.0363 |
0.0985 |
複数のモデルが利用可能で、CERとWERの観点から最も性能の良いモデルはwav2vec2-large-slavic-parlaspeech-hr-lmです。
💻 使用例
基本的な使用法
このコードはtransformers==4.18.0
、torch==1.11.0
、SoundFile==0.10.3.post1
でテストされています。
from transformers import Wav2Vec2ProcessorWithLM, Wav2Vec2ForCTC
import soundfile as sf
import torch
import os
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
processor = Wav2Vec2ProcessorWithLM.from_pretrained(
"classla/wav2vec2-xls-r-parlaspeech-hr-lm")
model = Wav2Vec2ForCTC.from_pretrained("classla/wav2vec2-xls-r-parlaspeech-hr-lm")
os.system("wget https://huggingface.co/classla/wav2vec2-large-slavic-parlaspeech-hr/raw/main/00020570a.flac.wav")
speech, sample_rate = sf.read("00020570a.flac.wav")
input_values = processor(speech, sampling_rate=sample_rate, return_tensors="pt").input_values.cuda()
inputs = processor(speech, sampling_rate=sample_rate, return_tensors="pt")
with torch.no_grad():
logits = model(**inputs).logits
transcription = processor.batch_decode(logits.numpy()).text[0]
os.system("rm 00020570a.flac.wav")
transcription
🔧 技術詳細
トレーニングのハイパーパラメータ
ファインチューニング時には、以下の引数が使用されました。
引数 |
値 |
per_device_train_batch_size |
16 |
gradient_accumulation_steps |
4 |
num_train_epochs |
8 |
learning_rate |
3e-4 |
warmup_steps |
500 |