🚀 哈萨克语自动语音识别模型 - Whisper-base.kk
本项目是针对资源稀缺的哈萨克语设计的自动语音识别(ASR)模型 Whisper-base。该模型在拥有超 1000 小时标注数据的 哈萨克语语音语料库 2 上进行了微调,在测试集上的字错率(WER)达到了 15.36%。
🚀 快速开始
本项目提供了一个专门用于哈萨克语语音识别的模型,以下是使用该模型的基本步骤。
✨ 主要特性
- 针对性强:专为哈萨克语语音识别设计,是仅支持哈萨克语的模型。
- 数据丰富:在拥有超 1000 小时标注数据的哈萨克语语音语料库 2 上进行微调。
- 效果良好:在测试集上取得了 15.36% 的字错率(WER)。
📦 安装指南
文档未提及具体安装步骤,可参考 transformers
库的官方安装说明进行安装。
💻 使用示例
基础用法
>>> from transformers import WhisperProcessor, WhisperForConditionalGeneration
>>> import librosa
>>>
>>> processor = WhisperProcessor.from_pretrained("akuzdeuov/whisper-base.kk")
>>> model = WhisperForConditionalGeneration.from_pretrained("akuzdeuov/whisper-base.kk")
>>>
>>> audio, sampling_rate = librosa.load("path_to_audio", sr=16000)
>>> input_features = processor(audio, sampling_rate=sampling_rate, return_tensors="pt").input_features
>>>
>>> predicted_ids = model.generate(input_features)
>>>
>>> transcription = processor.batch_decode(predicted_ids, skip_special_tokens=False)
>>> transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)
可以通过设置 skip_special_tokens=True
从转录开始处移除上下文令牌。
高级用法
Whisper 模型本质上设计用于处理时长最长 30 秒的音频样本。不过,通过使用分块算法,它可以用于转录任意长度的音频样本。这可以通过 Transformers 的 pipeline
方法实现。在实例化管道时设置 chunk_length_s = 30
即可启用分块。启用分块后,管道可以进行批量推理。
>>> import torch
>>> from transformers import pipeline
>>> device = "cuda:0" if torch.cuda.is_available() else "cpu"
>>> pipe = pipeline(
>>> "automatic-speech-recognition",
>>> model="akuzdeuov/whisper-base.kk",
>>> chunk_length_s=30,
>>> device=device,
>>> )
>>> prediction = pipe("path_to_audio", batch_size=8)["text"]
📚 详细文档
属性 |
详情 |
模型类型 |
Whisper-base 用于哈萨克语自动语音识别 |
训练数据 |
哈萨克语语音语料库 2(KSC2),拥有超 1000 小时标注数据 |
任务类型 |
自动语音识别(Automatic Speech Recognition) |
数据集 |
哈萨克语语音语料库 2(KSC2),类型为 librispeech_asr,配置为 clean,分割为测试集 |
评估指标 |
测试集字错率(Test WER),值为 15.36% |
🔗 参考资料
- Whisper, OpenAI.
📄 许可证
本项目采用 Apache-2.0 许可证。