许可协议:apache-2.0
数据集:
- common_voice
语言:
- 日语
标签:
- 音频
基于XLSR-53大模型微调的日语语音识别Wav2Vec2模型
本模型是在facebook/wav2vec2-large-xlsr-53基础上,使用Common Voice、JVS和JSUT日语数据集微调而成。使用时请确保语音输入采样率为16kHz。
使用方式
无需语言模型即可直接使用:
import torch
import librosa
from datasets import load_dataset
from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor
LANG_ID = "ja"
MODEL_ID = "Ivydata/wav2vec2-large-xlsr-53-japanese"
SAMPLES = 10
test_dataset = load_dataset("common_voice", LANG_ID, split=f"test[:{SAMPLES}]")
processor = Wav2Vec2Processor.from_pretrained(MODEL_ID)
model = Wav2Vec2ForCTC.from_pretrained(MODEL_ID)
def speech_file_to_array_fn(batch):
speech_array, sampling_rate = librosa.load(batch["path"], sr=16_000)
batch["speech"] = speech_array
batch["sentence"] = batch["sentence"].upper()
return batch
test_dataset = test_dataset.map(speech_file_to_array_fn)
inputs = processor(test_dataset["speech"], sampling_rate=16_000, return_tensors="pt", padding=True)
with torch.no_grad():
logits = model(inputs.input_values, attention_mask=inputs.attention_mask).logits
predicted_ids = torch.argmax(logits, dim=-1)
predicted_sentences = processor.batch_decode(predicted_ids)
for i, predicted_sentence in enumerate(predicted_sentences):
print("-" * 100)
print("原文:", test_dataset[i]["sentence"])
print("识别结果:", predicted_sentence)
测试结果
下表为模型在TEDxJP-10K数据集上的字符错误率(CER)表现:
模型 |
CER |
Ivydata/wav2vec2-large-xlsr-53-japanese |
27.87% |
jonatasgrosman/wav2vec2-large-xlsr-53-japanese |
34.18% |
vumichien/wav2vec2-large-xlsr-japanese |
37.72% |
测试示例
原文 |
识别结果 |
ただ選択するのではなくどう考えて選択をするのか |
ただ洗濯するのではなくどう考えて洗択をするのか |
この巨大な構造物を宇宙に作ることができた人間 |
この巨大な構造物を宇宙に作ることができた人間 |
何かしら嫌いになっていってしまったわけですよね |
何にかしら気段になっっていってしまったおけどすね |
そんな僕だからこそ言えることは筋肉を変えれば自分が変わってくるし |
んな僕らからこスえることは筋肉を変えれば自分が変わってくし |
そうするとその言葉を使って未来のイメージを形作っていくことができると |
そうするとその言葉を使って未来のイメーージを形作っていことができると |
引用
如需引用本模型,请使用以下格式:
@misc{Ivydata2023-wav2vec2-xlsr53-large-japanese,
title={基于XLSR-53大模型微调的日语语音识别Wav2Vec2模型},
author={铃木浩介},
howpublished={\url{https://huggingface.co/Ivydata/wav2vec2-large-xlsr-53-japanese/}},
year={2023}
}