语言: 克罗地亚语
数据集:
- 克罗地亚议会语音数据集
标签:
- 音频
- 自动语音识别
- 议会语音
交互示例:
- 示例标题: 示例1
音频链接: https://huggingface.co/classla/wav2vec2-xls-r-parlaspeech-hr/raw/main/1800.m4a
- 示例标题: 示例2
音频链接: https://huggingface.co/classla/wav2vec2-xls-r-parlaspeech-hr/raw/main/00020578b.flac.wav
- 示例标题: 示例3
音频链接: https://huggingface.co/classla/wav2vec2-xls-r-parlaspeech-hr/raw/main/00020570a.flac.wav
基于斯拉夫语系的大规模克罗地亚议会语音识别模型
本克罗地亚语自动语音识别模型基于facebook/wav2vec2-large-slavic-voxpopuli-v2预训练模型,使用300小时的克罗地亚议会语音数据集ParlaSpeech-HR v1.0的录音及转写文本进行微调。
若使用本模型,请引用以下论文:
Nikola Ljubešić, Danijel Koržinek, Peter Rupnik, Ivo-Pavao Jazbec. ParlaSpeech-HR——基于ParlaMint语料库构建的克罗地亚语开源语音识别数据集. http://www.lrec-conf.org/proceedings/lrec2022/workshops/ParlaCLARINIII/pdf/2022.parlaclariniii-1.16.pdf
评估指标
在ParlaSpeech-HR v1.0数据集的开发和测试集上进行评估:
数据集 |
字符错误率(CER) |
词错误率(WER) |
开发集 |
0.0311 |
0.0921 |
测试集 |
0.0222 |
0.0679 |
我们提供了多个模型版本,其中在CER和WER指标上表现最优的模型是带语言模型的斯拉夫语系议会语音识别模型。
在transformers
中的使用方法
from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
import soundfile as sf
import torch
import os
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
processor = Wav2Vec2Processor.from_pretrained("classla/wav2vec2-large-slavic-parlaspeech-hr")
model = Wav2Vec2ForCTC.from_pretrained("classla/wav2vec2-large-slavic-parlaspeech-hr")
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.to(device)
os.system("rm 00020570a.flac.wav")
logits = model.to(device)(input_values).logits
predicted_ids = torch.argmax(logits, dim=-1)
transcription = processor.decode(predicted_ids[0]).lower()
训练超参数
微调过程中使用的关键参数:
参数 |
取值 |
单设备训练批次大小 |
16 |
梯度累积步数 |
4 |
训练轮次 |
8 |
学习率 |
3e-4 |
预热步数 |
500 |