Whisper对于中文语音识别与转写中文文本优化的实践(Python3.10)

Whisper对于中文语音识别与转写中文文本优化的实践(Python3.10)

💡 原文中文,约4900字,阅读约需12分钟。
📝

内容提要

阿里的FunAsr对Whisper中文领域的转写能力造成挑战,但通过中文文本标注优化,Whisper可以斗过FunAsr。使用transformers库可以提高中文识别准确度和效率。BELLE-2/Belle-whisper-large-v2-zh模型微调提升中文语音识别能力。通过标点模型对转写文本加标点是另一解决方案。Whisper开源模型通过transformers微调提高中文NLP性能。

🔎

延伸解读

引导词优化标点的实用技巧

文章演示了通过为Whisper的DecodingOptions添加中文引导词(如“生于忧患,死于欢乐。不亦快哉!”),可以显著改善转写文本的标点符号标注。这种方法简单易行,无需微调模型,适合快速提升中文转写可读性。但需注意,引导词效果可能因音频内容而异,且对语气强烈的素材原本就有标点,优化空间有限。

微调模型的中文识别优势与标点短板

BELLE-2/Belle-whisper-large-v2-zh模型在多个中文ASR基准测试中表现出30-70%的相对改进,说明针对中文微调能有效提升识别准确度。然而,该模型弱化了标点能力,无法通过引导词标注标点。这提示读者:若需要标点,可结合标点模型后处理,或等待更多带标点中文开源数据以支持进一步微调。

transformers库的集成与扩展性

文章使用transformers库的pipeline调用中文微调模型,并设置forced_decoder_ids指定中文转写任务。这种方式便于快速部署和切换模型,同时支持PyTorch和TensorFlow。对于开发者而言,transformers提供了灵活的微调接口,可针对特定中文NLP任务进一步优化模型性能。

❓

Q&A

Whisper在中文语音转写中有什么常见问题?

Whisper对中文语音转写后标点符号的支持不够完备,大部分转写结果没有标点符号。

如何通过引导词改善Whisper的中文标点标注?

在DecodingOptions中设置prompt参数,例如prompt="生于忧患,死于欢乐。不亦快哉!",可以引导Whisper为中文文本添加逗号、句号、感叹号等标点。

BELLE-2/Belle-whisper-large-v2-zh模型在中文语音识别上有什么改进?

该模型在Whisper large-v2基础上针对中文微调,在中国ASR基准测试(AISHELL1、AISHELL2、WENETSPEECH和HKUST)上表现出30-70%的相对改进。

BELLE-2模型在标点方面有什么缺陷?如何解决?

BELLE-2模型弱化了标点能力,无法通过引导词打标。解决方案是使用标点模型对转写文本加标点,例如基于damo/punc_ct-transformer_cn-en-common-vocab471067-large模型。

transformers库是什么?它如何帮助Whisper优化中文NLP任务?

transformers是一个用于自然语言处理的开源库,由Hugging Face开发和维护,支持多种预训练模型和深度学习框架。通过transformers微调Whisper,可以将预训练模型应用于特定中文NLP任务,提高性能。

除了large-v2模型,还有哪些针对中文优化的Whisper模型?

还有针对small模型的中文优化版本,例如Jingmiao/whisper-small-chinese_base。

🏷️

标签

➡️

继续阅读