🚀 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分词器