语音数据的获取方法和系统与流程

文档序号:15391458发布日期:2018-09-08 01:12阅读:443来源:国知局

本发明涉及人工智能领域,特别涉及一种语音数据的获取方法和系统。



背景技术:

移动终端语音识别分为语义识别和说话人识别两大类

说话人识别通常称为声纹识别。一般分为文本相关(text-dependent)和文本不相关(text-independent)两类。

文本相关的语音识别通常要求用户重复跟读固定词句2-3遍。以记录相关的特征信息作为登记(enroll)。使用时,同样要求用户念读同样的固定词句用以语音判别(predict)。

非文本相关的语音识别则不要求用户跟读固定的语句。用户通过输入大量的语音数据作为机器学习的训练(train),用户的特征信息在大量数据的训练下获得高度的提纯。用以训练的语音数据需要包含本用户的语音数据(语音识别模型的应用对象)和其他人的语音数据。语音判别时也不需要念读固定词句。正常的语音数据就可以用来语音判别。

现有技术中,移动智能终端对语音识别尚不能进行用户身份的区分,对不同用户的声音特征值没有区分,导致同一台移动智能终端可以同时为不同用户的语音指令服务,保密性和专属性较差。

以语音助手为例,现有移动智能终端在启用语音助手服务时都需要有一个固定的唤醒过程。这是文本相关语音识别的缺陷,不能够脱离固定文本的限制,不能够做到对本用户(应用对象)任何的语音指令快速的响应。所有的语音指令都需要在语音助手被唤醒后才可以使用。任何用户都可以通过固定词句唤醒语音助手,并发出语音指令,语音助手无法对用户身份做语音识别,全部的语音指令都会被执行。

非文本相关的语音识别利用了机器学习技术,通过建立完整的学习模型,大量的语音数据输入训练来获得高度提纯的用户特征信息及模型参数。基于训练好的模型,用户可以通过任意的语音输入来实现高度正确率的说话人语音识别,不受固定文本的限制。

但是在移动智能终端上实现非文本相关的语音识别,需要获取大量的登记人和非登记人的语音数据。训练的过程漫长而枯燥。对用户的使用体验是很大的挑战。用户不希望花费时间和精力输入语音数据。另外获取非语音识别模型的应用对象的语音数据对终端用户来说也是一个尴尬的问题。没有充足的训练数据就无法达到识别的高准确率。所以现有的移动智能终端还没有出现非文本相关的语音识别系统。

针对上述问题,特别是终端应用的非文本语音识别模型时语音数据的获取方法,目前尚未提出有效的解决方案。



技术实现要素:

本发明提供一种语音数据的获取方法和系统,通过改善语音数据的获取过程,减轻用户负担。

本发明提供一种语音数据的获取方法,语音数据用于训练语音识别模型,该方法包括

步骤a-1:当用户进行语音通话时,保存智能终端系统内实时传输的语音数据流,将麦克风的输入语音数据流保存为第一语音数据,将听筒的输出语音数据流保存为第二语音数据;

步骤a-2:检测第一语音数据和第二语音数据是否符合语音识别模型训练要求,若是,执行步骤a-3;

步骤a-3:判断第一语音数据是否来自语音识别模型的应用对象,若是,执行步骤a-4,若否,执行步骤a-5;

步骤a-4:将第一语音数据标记为应用对象语音数据,将第二语音数据标记为非应用对象语音数据,应用对象语音数据用于语音识别模型中应用对象的语音特征学习;非应用对象语音数据用于语音识别模型中非应用对象的语音特征学习;

步骤a-5:将第一语音数据和第二语音数据标记为非应用对象语音数据。

本发明还提供一种语音数据的获取系统,语音数据用于训练语音识别模型,该系统包括:

保存模块:当用户进行语音通话时,保存智能终端系统内实时传输的语音数据流,将麦克风的输入语音数据流保存为第一语音数据,将听筒的输出语音数据流保存为第二语音数据;

检测模块:检测第一语音数据和第二语音数据是否符合语音识别模型训练要求,若是,执行用户判断模块;

用户判断模块:判断第一语音数据是否来自语音识别模型的应用对象,若是则执行语音对象标记模块1,若否则执行语音对象标记2;

语音对象标记1:将第一语音数据标记为应用对象语音数据,将第二语音数据标记为非应用对象语音数据,应用对象语音数据用于语音识别模型中应用对象的语音特征学习;非应用对象语音数据用于语音识别模型中非应用对象的语音特征学习;

语音对象标记2:将第一语音数据和第二语音数据标记为非应用对象语音数据。

本发明通过保存用户语音通话时的语音数据,将麦克风的输入语音数据(第一语音数据)用于语音识别模型中应用对象的语音特征学习,将听筒的输出语音数据(第二语音数据)用于语音识别模型中非应用对象的语音特征学习,在移动智能终端后台以“静默”的方式将训练语音数据传递给语音识别模型,用户无需做枯燥繁杂的输入工作,减轻了用户的训练负担,提高了用户体验。同时本申请的方法和系统可应用于任一基于神经网络的语音识别模型,适用范围广。基于本申请的语音数据获取方法和获取系统,使得非文本相关的语音识别可以在移动智能终端上得以实现,突破现有的文本相关语音识别的限制,可以让终端更智能理解各个用户的特征、使用习惯,增强专属性和安全性。

附图说明

图1为本发明语音数据的获取方法的流程图;

图2为图1的一个实施例;

图3为本发明语音数据的获取系统的结构图;

图4为图3的一个实施例。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

图1为本发明语音数据的获取方法的流程图,包括以下步骤:

步骤a-1(s101):当用户进行语音通话时,保存智能终端系统内实时传输的语音数据流,将麦克风的输入语音数据流保存为第一语音数据,将听筒的输出语音数据流保存为第二语音数据;

步骤a-2(s102):检测第一语音数据和第二语音数据是否符合语音识别模型训练要求,若是,执行步骤a-3;

步骤a-3(s103):判断第一语音数据是否来自语音识别模型的应用对象,若是,执行步骤a-4,若否,执行步骤a-5;

步骤a-4(s104):将第一语音数据标记为应用对象语音数据,将第二语音数据标记为非应用对象语音数据,应用对象语音数据用于语音识别模型中应用对象的语音特征学习;非应用对象语音数据用于语音识别模型中非应用对象的语音特征学习;

步骤a-5(s105):将第一语音数据和第二语音数据标记为非应用对象语音数据。

在步骤a-1中,语音通话不仅包括音频通话,也包含voip、volte等视频通话;同时包括其他即时通讯app的实时音视频通话,如微信的“视频聊天”或“语音聊天”。

当用户启动语音通话,即触发执行图1的方法。应用于微信、qq时,当检测到相应的动作,如“视频聊天”或“语音聊天”按钮按下或生效,即触发执行图1的方法。

步骤a-1保存语音数据流的工作,可以设置在移动智能终端操作系统中的硬件设备操作层,当用户开始语音通话时,在系统的硬件操作层,实时备份并保存麦克风的输入语音数据和听筒的输出语音数据,其中,麦克风的输入语音数据代表终端用户的语音数据,听筒的输出语音数据代表对端实时传送给终端用户的语音数据。

以安卓系统为例,硬件设备操作层为androidhal,通话的状态判断可以参考audiohal中tiny_audio_device中的call_connected的相关属性,当adev->call_connected为真,表示用于开启并处于语音通话中。

在audiohal中,当audio_hw_device为audio_device_in_builtin_mic,则表示当前麦克风设备处于工作状体。当audio_hw_device为audio_device_out_earpiece,则表示当前听筒设备处于工作状态。

进一步地,在audiohal的out_write()函数中备份并保存听筒输出前的语音数据,write对应播放过程。同样地,在in_read()函数中备份并保存麦克风输入的语音数据,read对应录音过程。

另外,在步骤a-1中,可以将第一语音数据和第二语音数据保存在移动智能终端的rom或ram中。

神经网络语音识别模型的语音特征值提取技术需要预先输入大量个人语音进行训练以获得说话人的声纹特征。现有的方法,是由指定程序让用户一句句录入语音数据进行训练,需要耗费用户额外的时间专门进行个人语音特征训练,且过程繁杂枯燥。

本申请图1的训练方法,通过智能终端采集用户在日常工作、生活中产生的即时通讯语音数据,并将采集到的语音数据用于训练语音识别模型,以不断提高语音识别模型的识别准确率。与现有技术相比,用户无需做枯燥繁杂的输入工作,减轻了用户的训练负担,提高了用户体验。

同时,使用本申请图1的训练方法,日积月累,使得非文本相关的语音识别可以在移动智能终端上得以实现,突破现有的文本相关语音识别的限制,可以使终端更智能理解各个用户的特征、使用习惯,增强专属性和安全性。

以语音助手为例,增加了非文本语音识别功能后,可实现对用户身份的识别,进而只处理语音识别模型应用对象的语音指令,增强安全性和专属性。

在本申请图1的步骤a-2中,检测第一语音数据和第二语音数据是否符合模型训练要求,举例说明,可以检测第一语音数据和第二语音数据中是否包含非静音特征,如果否,说明第一语音数据和第二语音数据中没有记录人声,则不符合模型训练要求,如果是,则继续检测第一语音数据和第二语音数据中的语音是否清晰,如果不清晰,对模型训练无益,也不符合模型训练要求。

可选地,在图1的步骤a-2中,执行步骤a-3之前,还可以进一步对第一语音数据和第二语音数据进行语音清洗,语音清洗后,再执行步骤a-3。语音清洗包括去噪、降噪等处理,可以使第一语音数据和第二语音数据具有更好的品质,进而提高模型训练效果。

在本申请图1的步骤a-3中,判断第一语音数据的语音是否来自语音识别模型的应用对象,可以采用人脸识别或指纹判定或输出对话框让用户确认身份。以人脸识别为例,通过摄像头主动收集用户人脸信息,通过比较判定是否为语音识别模型的应用对象,若收集失败,则提示用户输入。指纹判定,一般需提示用户输入指定手指的指纹,通过比较判断是否为语音识别模型的应用对象。

在本申请图1中,为了节省语音识别模型的训练时间,其中语音识别模型中的通用特征模块,特别是非应用对象语音特征模块,可以预先经过训练。

另一方面,为了避免占用终端系统资源和泄露用户隐私,在步骤a-4或步骤a-5之后,立即将第一语音数据和第二语音数据用于训练语音识别模型,训练结束后,如果第一语音数据、第二语音数据未更新,则清除第一语音数据、第二语音数据并退出图1流程。或者说,训练结束后,清除相关的语音数据并退出图1流程。

图2对图1的方法进行了扩展,给出了一个具体应用的实施例,包括以下步骤:

步骤a-11(s201):当用户进行语音通话时,将麦克风的输入语音数据流保存为第三语音数据,将听筒的输出语音数据流保存为第四语音数据;

步骤a-12(s202):当第三语音数据达到预设时长时,令第一语音数据等于第三语音数据,同时令第三语音数据为空,执行步骤a-2,同时返回步骤a-11。

步骤a-13(s203):当第四语音数据的语音达到预设时长时,令第二语音数据等于第四语音数据,同时令第四语音数据为空,执行步骤a-2,同时返回步骤a-11。

步骤a-2(s204):检测第一语音数据和第二语音数据是否符合语音识别模型训练要求,若是,执行步骤a-3;

步骤a-31(s205):利用语音识别模型判断第一语音数据是否来自语音识别模型的应用对象,并输出(判断)结果的置信度;如果置信度小于阈值,则执行步骤a-32;如果判断结果是语音识别模型的应用对象且置信度大于等于阈值,则执行步骤a-4;如果判断结果不是语音识别模型的应用对象且置信度大于等于阈值,则执行步骤a-5;

步骤a-32(s206):在本次语音通话中,用户是否已确认身份,如果否,让用户确认是否是语音识别模型的应用对象,并记录用户确认结果,如果是语音识别模型的应用对象,执行步骤a-4,如果不是语音识别模型的应用对象,执行步骤a-5。

步骤a-4(s207):将第一语音数据标记为应用对象语音数据,将第二语音数据标记为非应用对象语音数据,应用对象语音数据用于语音识别模型中应用对象的语音特征学习;非应用对象语音数据用于语音识别模型中非应用对象的语音特征学习;

步骤a-5(s208):将第一语音数据和第二语音数据标记为非应用对象语音数据。

本申请图1的方法可以将一次语音通话所有数据都保存为第一语音数据和第二语音数据,然后基于该数据训练语音识别模型,也可以如图2的方法所示设置为边保存边训练,同时,图2的步骤a-11至a-13也可以替换为图1的a-1,根据实际需要选用。

在图2的步骤a-12和a-13中,预设时间大于10秒,或大于执行图2中步骤a-2至步骤a-5所耗费的时间。

本申请图2的步骤a-31,未采用人脸识别或指纹识别进行用户身份认证,而是采用语音识别模型自身进行用户认证,考虑到语音识别模型训练初始,判断错误大,辅助用户人工确认身份,待模型识别精度越来越高,则无需人工参与,本申请图2的方法可以实现以“静默”的方式,在后台运行,在用户没有感知的前提下,持续不断地训练语音识别模型。

本发明还包括一种语音数据的获取系统,如图3所示,包括:

保存模块:当用户进行语音通话时,保存智能终端系统内实时传输的语音数据流,将麦克风的输入语音数据流保存为第一语音数据,将听筒的输出语音数据流保存为第二语音数据;

检测模块:检测第一语音数据和第二语音数据是否符合语音识别模型训练要求,若是,执行用户判断模块;

用户判断模块:判断第一语音数据是否来自语音识别模型的应用对象,若是则执行语音对象标记模块1,若否则执行语音对象标记2;

语音对象标记1:将第一语音数据标记为应用对象语音数据,将第二语音数据标记为非应用对象语音数据,应用对象语音数据用于语音识别模型中应用对象的语音特征学习;非应用对象语音数据用于语音识别模型中非应用对象的语音特征学习;

语音对象标记2:将第一语音数据和第二语音数据标记为非应用对象语音数据。

可选地,如图4所示,记录模块或者包括:循环记录模块、传递模块1和传递模块2。

循环记录模块:将麦克风的输入语音数据流保存为第三语音数据,将听筒的输出语音数据流保存为第四语音数据;

传递模块1:当第三语音数据达到预设时长时,令第一语音数据等于第三语音数据,同时令第三语音数据为空,执行检测模块,同时返回循环记录模块。

传递模块2:当第四语音数据的语音达到预设时长时,令第二语音数据等于第四语音数据,同时令第四语音数据为空,执行检测模块,同时返回循环记录模块。

可选地,如图4所示,用户判断模块或者包括:语音识别模型用户判断模块和用户确认模块,

语音识别模型用户判断模块:利用语音识别模型判断第一语音数据是否来自语音识别模型的应用对象,并输出结果的置信度;如果置信度小于阈值,则执行用户确认模块;如果判断结果是语音识别模型的应用对象且置信度大于等于阈值,则执行语音对象标记1;如果判断结果不是语音识别模型的应用对象且置信度大于等于阈值,则执行语音对象标记2;

用户确认模块:在本次语音通话中,用户是否已确认身份,如果否,让用户确认是否是语音识别模型的应用对象,并记录用户确认结果,如果是语音识别模型的应用对象,执行语音对象标记1,如果不是语音识别模型的应用对象,执行语音对象标记2。

可选地,在检测模块中,检测第一语音数据和第二语音数据是否符合语音识别模型训练要求包括:

检测第一语音数据和第二语音数据中是否包含非静音特征,如果否,则不符合模型训练要求,如果是,则继续检测第一语音数据和第二语音数据中的语音是否清晰,如果不清晰,也不符合模型训练要求。

可选地,在检测模块中,若是,执行用户判断模块包括:

若是,则对第一语音数据和第二语音数据进行语音清洗后,执行用户判断模块。

需要说明的是,本发明的语音数据的获取系统的实施例,与语音数据的获取方法的实施例原理相同,相关之处可以互相参照。

以上所述仅为本发明的较佳实施例而已,并不用以限定本发明的包含范围,凡在本发明技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1