🚀 HIYACCENT: 対照学習に基づく改良型ナイジェリアアクセントの音声認識システム
この研究の全体的な目的は、母語の影響を強く受けて英語の発音が大きく変化するナイジェリアの英語話者向けに、より堅牢なモデルを開発することです。そのために、Novel Facebook Wav2vecに新しいレイヤーを導入し、ベースラインモデルとナイジェリア英語の音声の差異を捉えるWav2Vec - HIYACCENTモデルが提案されました。また、モデルの上部にCTC損失を挿入し、音声とテキストのアラインメントに柔軟性を追加しました。これにより、ナイジェリア英語(NAE.T)の性能が20%以上向上しました。
UISpeechコーパスを使用して、英語に関してfacebook/wav2vec2 - largeをファインチューニングしました。このモデルを使用する際には、音声入力が16kHzでサンプリングされていることを確認してください。
トレーニングに使用されたスクリプトはこちらで見つけることができます: https://github.com/amceejay/HIYACCENT - NE - Speech - Recognition - System
🚀 クイックスタート
このモデルは、言語モデルを使用せずに直接利用することができます。
💻 使用例
基本的な使用法
ASRecognitionライブラリを使用する場合
from asrecognition import ASREngine
asr = ASREngine("fr", model_path="codeceejay/HIYACCENT_Wav2Vec2")
audio_paths = ["/path/to/file.mp3", "/path/to/another_file.wav"]
transcriptions = asr.transcribe(audio_paths)
独自の推論スクリプトを書く場合
import torch
import librosa
from datasets import load_dataset
from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor
LANG_ID = "en"
MODEL_ID = "codeceejay/HIYACCENT_Wav2Vec2"
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("Reference:", test_dataset[i]["sentence"])
print("Prediction:", predicted_sentence)
## 🔧 技術詳細
この研究の全体的な目的は、母語の影響を強く受けて英語の発音が大きく変化するナイジェリアの英語話者向けに、より堅牢なモデルを開発することです。そのために、Novel Facebook Wav2vecに新しいレイヤーを導入し、ベースラインモデルとナイジェリア英語の音声の差異を捉えるWav2Vec - HIYACCENTモデルが提案されました。また、モデルの上部にCTC損失を挿入し、音声とテキストのアラインメントに柔軟性を追加しました。これにより、ナイジェリア英語(NAE.T)の性能が20%以上向上しました。
UISpeechコーパスを使用して、英語に関してfacebook/wav2vec2 - largeをファインチューニングしました。このモデルを使用する際には、音声入力が16kHzでサンプリングされていることを確認してください。
```markdown
> ⚠️ **重要提示**
>
> このモデルを使用する際には、音声入力が16kHzでサンプリングされていることを確認してください。