🚀 stt_kr_conformer_transducer_large 韓語語音識別模型
這是一款用於韓語自動語音識別的模型,基於Conformer - Transducer架構,可在NeMo工具包中使用,能進行語音轉錄和微調訓練。
🚀 快速開始
要對該模型進行訓練、微調或使用,你需要安裝 NVIDIA NeMo。我們建議你在安裝最新版本的Pytorch之後再安裝它。
pip install nemo_toolkit['all']
✨ 主要特性
- 基於Conformer - Transducer架構,適用於韓語自動語音識別。
- 可在NeMo工具包中使用,支持作為預訓練檢查點進行推理或在其他數據集上微調。
- 接受16000 KHz單聲道音頻(wav文件)作為輸入,輸出轉錄後的語音字符串。
📦 安裝指南
要使用該模型,需安裝NVIDIA NeMo:
pip install nemo_toolkit['all']
💻 使用示例
基礎用法
自動實例化模型:
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.ASRModel.from_pretrained("eesungkim/stt_kr_conformer_transducer_large")
高級用法
使用Python進行轉錄
首先,獲取一個示例音頻文件:
wget https://dldata-public.s3.us-east-2.amazonaws.com/sample-kor.wav
然後進行轉錄:
asr_model.transcribe(['sample-kor.wav'])
轉錄多個音頻文件
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py pretrained_name="eesungkim/stt_kr_conformer_transducer_large" audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
📚 詳細文檔
輸入
該模型接受16000 KHz單聲道音頻(wav文件)作為輸入。
輸出
該模型為給定的音頻樣本提供轉錄後的語音字符串。
模型架構
Conformer - Transducer模型是Conformer模型 [2] 的自迴歸變體,用於自動語音識別,使用Transducer損失/解碼。你可以在 Conformer - Transducer模型 中找到關於該模型的更多詳細信息。
訓練
該模型基於預訓練的英語模型進行了多個epoch的微調。
韓語語音識別有幾種轉錄和子詞建模方法。該模型使用基於谷歌Sentencepiece分詞器 [3] 的語音轉錄,採用韓文字符的sentencepiece子詞。
數據集
此集合中的所有模型均在 Ksponspeech 數據集上進行訓練,這是一個由2000名韓語母語者在受控且安靜的環境中錄製的開放域對話語料庫。標準分割數據集包括965小時的訓練集、4小時的開發集、3小時的測試清潔集和4小時的測試其他集。
性能
版本 |
分詞器 |
eval_clean CER |
eval_other CER |
eval_clean WER |
eval_other WER |
v1.7.0rc |
SentencePiece Char |
6.94% |
7.38% |
19.49% |
22.73% |
侷限性
由於該模型是在公開可用的語音數據集上訓練的,對於包含技術術語或模型未訓練過的方言的語音,其性能可能會下降。對於帶有口音的語音,模型的表現可能也會更差。
該模型生成口語形式的標記序列。如果你想要書面形式,可以考慮應用逆文本歸一化。
🔧 技術細節
Conformer - Transducer模型結合了Conformer架構和Transducer損失/解碼,在自動語音識別任務中表現出色。它通過卷積增強的Transformer結構,更好地捕捉語音信號的時序特徵。在訓練過程中,基於預訓練的英語模型進行微調,並使用韓文字符的sentencepiece子詞進行建模,以適應韓語語音識別的需求。
📄 許可證
本模型採用CC - BY - 4.0許可證。
參考文獻
[1] NVIDIA NeMo工具包
[2] Conformer: Convolution - augmented Transformer for Speech Recognition
[3] 谷歌Sentencepiece分詞器