🚀 哈薩克語自動語音識別模型 - 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 許可證。