WeNet使用初体验
背景
开源系统WeNet
出门问问联合西北工业大学推出端到端语音识别工具WeNet,面向产品和工业界的端到端语音识别开源工具WeNet,WeNet致力于消除从端到端模型研究到产品落地中的鸿沟,探索更适合工业级产品的端到端解决方案。
西北工业大学计算机学院教授、博士生导师、音频语音与语言处理研究组(ASLP@NPU)负责人谢磊表示:WeNet基于高效的U2端到端语音识别方案,集成流式和非流式解码为一体,工具包多层架构同时满足面向科研和工业化部署双重需求,是一套易用高效的端到端语音识别工具包,极大地降低了大家学习、科研和工程化门槛。
出门问问CTO Mike Lei表示:WeNet是业界第一个面向工业级产品的开源端到端语音识别解决方案,同时支持流式及非流式识别,并能高效运行于云端及嵌入式端。
WeNet在效果上超越部分商业服务
Leaderboard中现有的两个开源模型 Kaldi multi-cn 和 WeNet multi-cn在 SpeechIO 测试集上性能互有胜负。如下图所示。
a)WeNet multi-cn 的训练只应用了开源语料,而 SpeechIO Leaderboard 中的Kaldi multi-cn 模型额外使用了现有开源语音数据库以外的纯文本语料,在语言知识层面有绝对优势。依据小编的经验该优势表现在识别率上大概应在3-8个百分点。若刨去此部分,WeNet multi-cn 模型应会大部分占优,但如何在端到端系统中更有效的使用额外纯文本语料,也一直是端到端算法研究中的热点问题。
b) Kaldi multi-cn 模型的全部资源大小约 15GB, WeNet multi-cn 模型的全部资源大小约 200MB。上述两点,对于传统系统与端到端系统,非常具有代表意义,供读者朋友们参考。
开源引擎方向
从数据上,目前中文开源语料库的数据量、场景多样性等方面,与商业平台还存在质的差距。因此在一些数据覆盖不足的高难度场景下,识别率差距明显。
可以说,公开领域仍需要更多样化的海量开源数据;同时在非监督自学习、鲁棒数据增广算法方面,行业技术也仍需要突破。
初体验
1分钟demo
使用预训练模型和 docker 进行语音识别,1分钟(如果网速够快)搭建一个语音识别系统
下载官方提供的预训练模型,并启动 docker 服务,加载模型,提供 websocket 协议的语音识别服务。
wget http://mobvoi-speech-public.ufile.ucloud.cn/public/wenet/aishell2/20210602_unified_transformer_server.tar.gz
tar -xf 20210602_unified_transformer_server.tar.gz
model_dir=$PWD/20210602_unified_transformer_server
docker run --rm -it -p 10086:10086 -v $model_dir:/home/wenet/model mobvoiwenet/wenet:mini bash /home/run.sh
wenet_multi_cn模型
在speechio的leaderboard中提供了wenet_multi_cn模型,这里拿来做个人测试。
按照官方上的提示,从oss上下载下来模型文件。
在windows下启动识别
docker run --rm -it -p 10086:10086 -v /c/asr/speechio-leaderboard/models/wenet_multi_cn/assets:/home/wenet/model mobvoiwenet/wenet:mini bash /home/run.sh
模型 | 文件名 | 大小 |
---|---|---|
wenet_multi_cn | final.zip | 219MB |
20210602_unified_transformer_server | final.zip | 141MB |