🚀 AISHELL + wav2vec2(中国語普通話)用のTransformer
このリポジトリでは、SpeechBrainにおいて、AISHELL + wav2vec2(中国語普通話)で事前学習されたエンドツーエンドシステムを使用して自動音声認識を行うために必要なすべてのツールを提供しています。より良い体験を得るために、SpeechBrainについてさらに詳しく調べることをおすすめします。
このモデルの性能は以下の通りです。
バージョン公開日 |
開発セットの文字誤り率(CER) |
テストセットの文字誤り率(CER) |
GPU構成 |
完全な結果 |
2021年3月5日 |
5.19 |
5.58 |
2xV100 32GB |
Googleドライブ |
🚀 クイックスタート
この自動音声認識(ASR)システムは、2つの異なるが相互に関連するモジュールで構成されています。
- トークナイザー(unigram):単語をサブワード単位に変換し、LibriSpeechの学習用転記データを使用して学習されます。
- 音響モデル:wav2vec2エンコーダと、CTC + Transformerを組み合わせた結合デコーダで構成されています。したがって、デコード過程ではCTCの確率も考慮されます。
このシステムを最初から学習させるには、SpeechBrainのレシピを参照してください。
このシステムは、サンプリングレート16kHz(モノラル)の録音を使用して学習されています。transcribe_file
を呼び出すと、コードは必要に応じて自動的に音声を正規化(リサンプリングとモノラル選択)します。
✨ 主な機能
- エンドツーエンドシステム:事前学習されたAISHELL + wav2vec2モデルに基づいて、自動音声認識を実現します。
- 優れた性能:開発セットとテストセットの両方で低い文字誤り率を達成しています。
- 高い柔軟性:GPU推論とバッチ並列推論をサポートしています。
- 学習が容易:詳細な学習手順とコード例を提供しています。
📦 インストール
まず、以下のコマンドを使用してSpeechBrainをインストールしてください。
pip install speechbrain
SpeechBrainについてさらに詳しく知るために、チュートリアルを読むことをおすすめします。
💻 使用例
基本的な使用法
以下は、自分の音声ファイル(英語)を文字起こしするサンプルコードです。
from speechbrain.inference.ASR import EncoderDecoderASR
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-wav2vec2-transformer-aishell", savedir="pretrained_models/asr-wav2vec2-transformer-aishell")
asr_model.transcribe_file("speechbrain/asr-wav2vec2-transformer-aishell/example_mandarin.wav")
高度な使用法
GPUで推論を行う場合は、from_hparams
メソッドを呼び出すときにrun_opts={"device":"cuda"}
を追加してください。
from speechbrain.inference.ASR import EncoderDecoderASR
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-wav2vec2-transformer-aishell", savedir="pretrained_models/asr-wav2vec2-transformer-aishell", run_opts={"device":"cuda"})
asr_model.transcribe_file("speechbrain/asr-wav2vec2-transformer-aishell/example_mandarin.wav")
バッチ並列推論
事前学習モデルを使用して入力文のバッチを並列に文字起こしする方法については、このColabノートブックを参照してください。
🔧 技術詳細
学習手順
このモデルはSpeechBrainを使用して学習されています(コミットハッシュ:'480dde87')。最初から学習させるには、以下の手順に従ってください。
- SpeechBrainリポジトリをクローンします。
git clone https://github.com/speechbrain/speechbrain/
- 依存関係をインストールします。
cd speechbrain
pip install -r requirements.txt
pip install -e .
- 学習スクリプトを実行します。
cd recipes/AISHELL-1/ASR/transformer/
python train.py hparams/train_ASR_transformer_with_wav2vect.yaml --data_folder=your_data_folder
学習結果(モデル、ログなど)はこちらで見ることができます。
制限事項
SpeechBrainチームは、このモデルが他のデータセットでの性能を保証するものではありません。
📄 ライセンス
このプロジェクトはApache-2.0ライセンスの下で提供されています。
SpeechBrainについて
- 公式サイト:https://speechbrain.github.io/
- コードリポジトリ:https://github.com/speechbrain/speechbrain/
- HuggingFaceページ:https://huggingface.co/speechbrain/
SpeechBrainを引用する場合
研究やビジネスでSpeechBrainを使用した場合は、以下の文献を引用してください。
@misc{speechbrain,
title={{SpeechBrain}: A General-Purpose Speech Toolkit},
author={Mirco Ravanelli and Titouan Parcollet and Peter Plantinga and Aku Rouhe and Samuele Cornell and Loren Lugosch and Cem Subakan and Nauman Dawalatabad and Abdelwahab Heba and Jianyuan Zhong and Ju-Chieh Chou and Sung-Lin Yeh and Szu-Wei Fu and Chien-Feng Liao and Elena Rastorgueva and François Grondin and William Aris and Hwidong Na and Yan Gao and Renato De Mori and Yoshua Bengio},
year={2021},
eprint={2106.04624},
archivePrefix={arXiv},
primaryClass={eess.AS},
note={arXiv:2106.04624}
}