本发明属于超声调控领域,涉及一种支持多任务多模型的语音识别引擎及方法。
背景技术:
随着语音识别技术的日益成熟,主流语音识别产品都达到了很高的识别准确率。然而,主流技术都会采集用户的语音数据,并传到云端进行分析,处理,以及对模型进行训练,这在一定程度上侵犯了对用户隐私的保障。在科技飞速发展的今日,人们的隐私意识也在不断增长。因此,如何能在进行语音识别的同时又保障用户数据的隐私性是一个值得研究问题。
技术实现要素:
本发明提出一种支持多任务多模型的语音识别引擎及方法,该语音识别引擎不侵犯用户隐私,不私下收集用户语音数据,所有训练都在用户的私人设备上完成,而在需要进行识别服务时,将各个用户的语音识别模型和声纹模型上传,从而使中心设备(如会议记录仪)能使用每个参与用户的模型进行语音识别,在服务结束时,中心设备将删去已加载的用户模型,从而起到对用户私人数据和模型的保护作用。
本发明解决上述问题的技术方案是:一种支持多任务多模型的语音识别引擎,其特殊之处在于:
包括中心设备;
所述中心设备包括容器、语音获取模块、声纹识别模块、结果输出模块;所述容器加载有语音识别模型;
所述语音获取模块用于获取用户的语音信息,声纹识别模块用于对语音信息进行声纹识别,并根据声纹识别结构确定对应的语音识别模型,语音识别模型对语音信息进行识别后,通过结果输出模块对识别结果进行输出。
优先地,所述容器的数量至少为两个。
优先地,所述每个容器加载不同的语音识别模型。
优先地,所述容器和声纹识别模块可以处于中心设备(即本地),也可以处于云端。
优先地,所述中心设备的底层系统为安卓系统。
一种支持多任务多模型的语音识别方法,其特殊之处在于,包括以下步骤:
1)获取用户语音信息;
2)对语音信息进行声纹识别;
3)识别出对应用户后,将该语音信息传输至用户对应的容器,用对应用户的语音识别模型进行语音识别;
4)记录并输出识别结果。
优先地,还包括步骤5),输出识别结果后,删除对应用户的语音识别模型。
优先地,所述对应用户的语音识别模型是指所述用户自己上传的语音识别模型。
本发明的优点:
本发明提出一种支持多任务多模型的语音识别引擎及方法,其优点在于企业或其他用户无法获得该用户的语音数据和模型,使用户的私人数据得到保护;用户可以自行决定是否授权使用自己语音训练而得的模型;分布式语音识别容器也使得用户得以上传不同的、最适合自己的语音模型;整个引擎做到了隐私化,个性化。
附图说明
图1为本发明提出的多任务多模型语音识别服务流程图;
图2为本发明中的中心设备架构图;
图3为本发明中的中心设备运行流程图;
图4为本发明多任务多模型云端识别架构图。
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。
一种支持多任务多模型的语音识别方法,包括以下步骤:
1)获取用户语音信息;
2)对语音信息进行声纹识别;
3)识别出对应用户后,将该语音信息传输至该用户对应的容器,用对应用户的语音识别模型进行语音识别;
4)记录并输出识别结果。
优先地,还包括步骤5),输出识别结果后,用户断开连接,删除对应用户的语音识别模型。
优先地,所述对应用户的语音识别模型是指所述用户自己上传的语音识别模型。
基于上述方法,本发明提出一种支持多任务多模型的语音识别引擎,如图1所示,包括中心设备;所述中心设备包括容器、语音获取模块、声纹识别模块、结果输出模块;所述容器加载有语音识别模型;所述语音获取模块用于获取用户的语音信息,声纹识别模块用于对语音信息进行声纹识别,并根据声纹识别结构确定对应的语音识别模型,语音识别模型对语音信息进行识别后,通过结果输出模块对识别结果进行输出。
优先地,所述容器的数量可以为多个。
优先地,所述每个容器加载不同的语音识别模型,或者,每个容器加载相同的语音识别模型,每个语音识别模型的参数不同。
优选地,上述用户的语音识别模型和声纹模型都在用户私人设备上完成。当中心设备/系统需要使用用户的模型时,通过用户手动授权的模式,将各用户的语音和声纹模型上传至中心设备,设备中的每个加载模型所使用的容器互相隔离,互不影响,且可加载不同类型的模型。所需的语音服务结束后,中心设备中的各个容器将分别删除各自加载的用户模型。
本发明中的中心设备架构为:
所述中心设备的底层系统为安卓系统,参见图2,在安卓系统之上,运行多个docker容器,具体容器数量由连接用户数量决定,每个容器分配有等量的gpu和cpu资源。这样做保证了容器之间的隔离性,保证了各容器之间无法获得对方正在运行的模型。每个容器中有各自的tensorflowlite。每个tensorflowlite负责加载一个用户的模型。以下(架构)图为例,连接用户数为三个,在设备主系统(安卓)中便会建立三个容器,每个容器中各自装有tensorflowlite,每个tensorflowlite将加载各自对应用户的语音识别模型。
本发明中的用户手机与中心设备交互为:
用户手机与中心设备在同一网络环境下时,用户可以使用手机上的app将自己的.pb模型文件授权传输给中心设备。因为中心设备给每位用户开放了独立的容器空间,所以用户可以使用不同的语音识别模型,或是相同的模型而参数是根据用户自身数据定制化训练出来的。达到个性化或多模型的效果。整个步骤为:
连接(与中心设备相同的)无线网络;
打开app,确认并授权传输.pb模型文件;
等所有用户传输完毕后,向中心设备发送开始识别记录的指令。
本发明中的中心设备的识别与记录:
当识别服务开始时,语音信号将通过麦克风被中心设备获取,中心设备通过对比所有参与用户所上传的声纹模型,识别出此段语音所对应的用户,并通过哈希表查找该用户所对应的容器。
中心设备将该段语音推送到其所对应用户的容器,并使用容器中的模型进行语音识别,容器将识别完成的语音推送回中心设备,并在中心设备中记录“xxx:xxxx”的文字记录,并保存,具体流程如图3所示。
多任务多模型
a)多任务:
由于针对每个用户创建的容器系统有相对的独立性,各个容器分别负责处理其对应的单个用户的语音数据;
b)多模型:
用户可以自由上传模型。用户a上传的模型可与用户b上传的模型拥有不一样的模型结构,或是有一样的模型结构但有不一样的参数,即为多模型。模型可以是用户使用其个人数据训练出来,针对个人进行优化的模型,使得识别效果尽量达到最佳。
优先地,所述中心设备的容器、声纹识别模块设置在云端。
中心设备中的架构可以在云端实现(如图4):
1)用户仍通过手机授权的方式与中心设备连接并授权使用用户声纹与语音识别模型;
2)中心设备通过网络与云端连接,在云端建立与本发明中相同的中心设备与容器,并向云端传送用户模型;
3)开始服务后,中心设备将语音输入传到云端,云端先进行声纹识别,声纹模块再将语音传送到声纹识别结果所对应的容器进行语音识别;
4)云端将声纹识别和语音识别的结果结合成“xxx(某人):xxxxx(语音具体内容)”的形式发送回中心设备;
5)中心设备对接收到的识别结果进行保存。
以上所述仅为本发明的实施例,并非以此限制本发明的保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的系统领域,均同理包括在本发明的保护范围内。
1.一种支持多任务多模型的语音识别方法,其特征在于,包括以下步骤:
1)获取用户语音信息;
2)对语音信息进行声纹识别;
3)识别出对应用户后,将该语音信息传输至用户对应的容器,用对应用户的语音识别模型进行语音识别;
4)记录并输出识别结果。
2.根据权利要求1所述的一种支持多任务多模型的语音识别方法,其特征在于,
还包括步骤5),输出识别结果后,删除对应用户的语音识别模型。
3.根据权利要求1或2所述的一种支持多任务多模型的语音识别引擎,其特征在于:
所述对应用户的语音识别模型是指所述用户自己上传的语音识别模型。
4.一种支持多任务多模型的语音识别引擎,其特征在于:
包括中心设备;
所述中心设备包括容器、语音获取模块、声纹识别模块、结果输出模块;所述容器加载有语音识别模型;
所述语音获取模块用于获取用户的语音信息,声纹识别模块用于对语音信息进行声纹识别,并根据声纹识别结构确定对应的语音识别模型,语音识别模型对语音信息进行识别后,通过结果输出模块对识别结果进行输出。
5.根据权利要求4所述的一种支持多任务多模型的语音识别引擎,其特征在于:
所述容器的数量至少为两个。
6.根据权利要求5所述的一种支持多任务多模型的语音识别引擎,其特征在于:
所述每个容器加载不同的语音识别模型。
7.根据权利要求4-6任一所述的一种支持多任务多模型的语音识别引擎,其特征在于:
所述容器、声纹识别模块处于中心设备或者云端。
8.根据权利要求7所述的一种支持多任务多模型的语音识别引擎,其特征在于:
所述中心设备的底层系统为安卓系统。
技术总结