🚀 Whisper large for Ugandan languages
このモデルは、ウガンダで広く話されている以下の言語に対応した whisper-large-v3 の適応版です。
ルガンダ語、アチョリ語、ルグバラ語、アテソ語、ルニャンコレ語、ルトゥーロ語、ルマサバ語、スワヒリ語、ルソガ語、キニヤルワンダ語、英語(ウガンダ方言)です。
✨ 主な機能
このモデルは、ウガンダで広く話されている複数の言語に対応しており、自動的に言語を検出して文字起こしを行うことができます。
📦 インストール
このドキュメントにはインストール手順が記載されていないため、このセクションをスキップします。
📚 ドキュメント
トレーニング
このモデルは、SALT データセット、Common Voice(ルガンダ語、スワヒリ語、キニヤルワンダ語)、Google FLEURS、Makerere Yogera データセットを使用してトレーニングされました。
実際の設定での汎化能力を向上させるために、トレーニングではランダムノイズの追加と 8kHz へのランダムダウンサンプリングを使用して、電話音声をシミュレートしました。
ウガンダの都市部からサンプリングされた路上雑音を追加して、頑健性を向上させました。
性能指標
SALT テキスト、Common Voice(スワヒリ語、キニヤルワンダ語)および Yogera(ルトゥーロ語、ルソガ語)のホールドアウト分割で評価されました。
指標 |
詳細 |
eval_WER_eng |
0.018 |
eval_WER_lug |
0.142 |
eval_WER_ach |
0.195 |
eval_WER_lgg |
0.189 |
eval_WER_teo |
0.202 |
eval_WER_nyn |
0.234 |
eval_WER_myx |
0.461 |
eval_WER_xog |
0.453 |
eval_WER_swa |
0.069 |
eval_WER_kin |
0.111 |
eval_WER_mean |
0.207 |
eval_CER_eng |
0.009 |
eval_CER_lug |
0.029 |
eval_CER_ach |
0.045 |
eval_CER_lgg |
0.045 |
eval_CER_teo |
0.051 |
eval_CER_nyn |
0.043 |
eval_CER_myx |
0.092 |
eval_CER_xog |
0.081 |
eval_CER_swa |
0.015 |
eval_CER_kin |
0.031 |
eval_CER_mean |
0.044 |
💻 使用例
基本的な使用法
import transformers
import datasets
import torch
processor = transformers.WhisperProcessor.from_pretrained(
"Sunbird/asr-whisper-large-v3-salt")
model = transformers.WhisperForConditionalGeneration.from_pretrained(
"Sunbird/asr-whisper-large-v3-salt")
SALT_LANGUAGE_TOKENS_WHISPER = {
'eng': 50259,
'swa': 50318,
'ach': 50357,
'lgg': 50356,
'lug': 50355,
'nyn': 50354,
'teo': 50353,
'xog': 50352,
'ttj': 50351,
'kin': 50350,
'myx': 50349,
}
ds = datasets.load_dataset('Sunbird/salt', 'multispeaker-lug', split='test')
audio = ds[0]['audio']
sample_rate = ds[0]['sample_rate']
lang = 'lug'
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
input_features = processor(
audio, sampling_rate=sample_rate, return_tensors="pt").input_features
input_features = input_features.to(device)
predicted_ids = model.to(device).generate(
input_features,
language=processor.tokenizer.decode(SALT_LANGUAGE_TOKENS_WHISPER[lang]),
forced_decoder_ids=None)
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)
print(transcription)
高度な使用法
このドキュメントには高度な使用法に関する記載がないため、このサブセクションをスキップします。
🔧 技術詳細
このドキュメントには技術的な詳細が十分に記載されていないため、このセクションをスキップします。
📄 ライセンス
このドキュメントにはライセンス情報が記載されていないため、このセクションをスキップします。