🚀 ベトナム語のエンドツーエンド音声認識(wav2vec 2.0を使用)
このプロジェクトは、wav2vec 2.0技術を利用してベトナム語のエンドツーエンド音声認識を実現しています。ベトナム語の音声データを効果的に処理でき、複数の公開データセットで良好な認識結果を得ています。
🚀 クイックスタート
このモデルを使用する際は、音声入力のサンプリングレートが16Khzで、音声の長さが10秒未満であることを確認してください。以下のColabリンクをクリックして、CTC - wav2vecと4-gram言語モデルの組み合わせを使用しましょう。

✨ 主な機能
- 豊富な事前学習データ:モデルは13000時間のベトナム語YouTubeオーディオ(無ラベルデータ)で事前学習され、250時間のラベル付きVLSP ASRデータセットで微調整されています。
- 先進的なアーキテクチャの採用:wav2vec2アーキテクチャを使用しており、音声表現学習において優れた性能を発揮します。
- 言語モデルの提供:音響モデルに加えて、2GBの口語テキストで学習された4-gram言語モデルも提供しています。
💻 使用例
基本的な使用法
from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
from datasets import load_dataset
import soundfile as sf
import torch
processor = Wav2Vec2Processor.from_pretrained("nguyenvulebinh/wav2vec2-base-vietnamese-250h")
model = Wav2Vec2ForCTC.from_pretrained("nguyenvulebinh/wav2vec2-base-vietnamese-250h")
def map_to_array(batch):
speech, _ = sf.read(batch["file"])
batch["speech"] = speech
return batch
ds = map_to_array({
"file": 'audio-test/t1_0001-00010.wav'
})
input_values = processor(ds["speech"], return_tensors="pt", padding="longest").input_values
logits = model(input_values).logits
predicted_ids = torch.argmax(logits, dim=-1)
transcription = processor.batch_decode(predicted_ids)
📚 ドキュメント
モデルの説明
当社のモデルは、13000時間のベトナム語YouTubeオーディオ(無ラベルデータ)で事前学習され、250時間のラベル付きVLSP ASRデータセットで微調整されています。音声オーディオのサンプリングレートは16kHzです。
我々はwav2vec2アーキテクチャを事前学習モデルとして使用しています。wav2vec2の論文によると:
初めて、音声オーディオから強力な表現を学習し、その後転写音声で微調整することで、概念的により単純でありながら、最良の半教師あり手法を上回ることができることを示しました。
微調整段階では、wav2vec2は接続主義時間分類(CTC)を使用して微調整されます。CTCは、シーケンス-to-シーケンス問題を解くためのニューラルネットワークを訓練するためのアルゴリズムで、主に自動音声認識や手書き文字認識に使用されます。
モデル |
パラメータ数 |
事前学習データ |
微調整データ |
基礎モデル |
95M |
13000時間 |
250時間 |
正式なASRシステムには、音響モデルと言語モデルの2つのコンポーネントが必要です。ここで微調整されたctc - wav2vecモデルは音響モデルとして使用されます。言語モデルについては、2GBの口語テキストで学習された4-gram言語モデルを提供しています。
学習と微調整のプロセスに関する詳細情報は、fairseq githubとhuggingfaceブログを参照してください。
基準単語誤り率(WER)の結果
モデルパラメータのライセンス
ASRモデルのパラメータは非商用目的でのみ使用でき、クリエイティブ・コモンズ表示 - 非営利4.0国際ライセンス(CC BY - NC 4.0)に従います。詳細はこちらを参照してください:https://creativecommons.org/licenses/by-nc/4.0/legalcode
引用
このリポジトリが公開された研究結果の作成に役立った場合、または他のソフトウェアに組み込まれた場合は、以下のように引用してください。
@misc{Thai_Binh_Nguyen_wav2vec2_vi_2021,
author = {Thai Binh Nguyen},
doi = {10.5281/zenodo.5356039},
month = {09},
title = {{Vietnamese end-to-end speech recognition using wav2vec 2.0}},
url = {https://github.com/vietai/ASR},
year = {2021}
}
🔧 技術詳細
このプロジェクトでは、wav2vec2アーキテクチャを使用して事前学習を行っています。このアーキテクチャは、生の音声オーディオから強力な表現を学習することができます。微調整段階では、接続主義時間分類(CTC)アルゴリズムを採用しており、このアルゴリズムはシーケンス-to-シーケンス問題に適しており、自動音声認識で優れた性能を発揮します。また、認識精度を向上させるために、2GBの口語テキストで学習された4-gram言語モデルも提供しています。
📄 ライセンス
このプロジェクトは、クリエイティブ・コモンズ表示 - 非営利4.0国際ライセンス(CC BY - NC 4.0)に従います。
お問い合わせ
何か質問がある場合は、以下の方法でお問い合わせください。
- メール:nguyenvulebinh@gmail.com / binh@vietai.org
- ツイッター:
