本发明涉及语音指令识别的,尤其涉及一种语音指令的多语环境支持的方法及系统。
背景技术:
1、目前已知的与该专利申请所涉及的产品或软件最相似的技术包括边缘智能与云端协作的语音识别系统、可配置唤醒词的智能设备以及多语言支持的语音识别系统。
2、这些相似技术的常规步骤如下:首先,用户通过 app 或相关界面配置设备的唤醒词和命令词,这些词可以是提前预定义的,也可以由用户自定义设置;接着,设备(固件)加载这些配置好的唤醒词和命令词;之后,用户用语音唤醒设备,设备对唤醒词进行识别;识别到唤醒词后,设备捕获用户的语音输入,并将其上传至云端进行识别;云端对语音输入进行模型推断后,返回识别结果;最后,设备根据云端返回的信息执行相应操作。
3、然而,这些相似技术存在诸多缺陷。在灵活性方面,很多设备在出厂时就预先加载了唤醒词和命令集,采用硬编码的方式,导致用户没有实时动态配置的能力。多语言支持存在局限性,多语种模型通常需要针对每种语言或方言训练专门的模型,这使得存储空间占用大,且难以灵活切换,在多语环境中切换语言需要复杂配置,无法实现 “无缝” 切换,用户体验较差。配置和管理流程也较为繁琐,用户需要经过多次配置、调试才能实现多语言、多命令支持,同时设备固件和云端模型的版本难以同步,可能导致识别失误或不兼容。此外,识别结果的准确性和鲁棒性不足,在嘈杂环境下,唤醒词和命令词容易误识别或漏识别,而在多语环境中,由于缺乏有效的区分机制,也容易出现误识别和切换错误。
4、这些缺陷的产生源于相似技术中的具体内容,且存在明确的因果关系。其一,硬编码与静态配置导致缺陷:许多设备预置唤醒词和命令集,配置是静态且预定义的,不支持动态调整或用户自定义,这是因为设备固件存储的是固定命令,缺乏灵活的配置机制,最终导致在多语言、多命令场景下,设备难以快速适应和满足多样性需求,用户体验差且配置繁琐,该问题在行业内长期存在,早期大部分设备均采用预置硬编码命令,直到支持远程更新或智能配置后才有所改善。其二,模型训练和切换机制设计缺乏灵活性:多语种模型要么是多个预训练模型,要么需要针对某一语言专门训练,无法在不同语言间灵活无缝切换,使得用户必须预先选择语言或切换配置,不能实时自动识别多语言环境,导致多语支持不便、切换繁琐,这也是行业长期存在的难题,早期多语支持技术多基于单一模型,不具备高效动态切换能力。其三,对云端的依赖导致延迟和不稳定性:采用云端服务进行语音识别时,上传录音、等待识别结果是必要步骤,这对网络稳定性和带宽有较高要求,否则会影响体验,造成识别延迟大、交互流畅性受影响,且网络不佳时功能受限,这是云端语音识别的基本缺陷,虽随技术发展有所改善,但作为普遍问题仍未完全解决。其四,配置和管理流程繁琐:多语言、多命令集的配置依赖用户通过多步骤操作(如 app 或云端平台),没有集成在固件或硬件内部的动态配置机制,导致用户操作繁琐、配置更新不及时,缺乏便捷的动态管理能力,这一问题在早期设备中尤为突出,是行业长期存在的难题。
5、综上,这些缺陷是该领域长期存在的问题。多数缺陷源于早期设备的设计限制和技术局限,尤其在多语言、多命令集的灵活支持方面表现明显。尽管近年来部分技术有所改善,但完全解决这些问题仍具有挑战性,尤其是在低成本、低功耗设备上的推广,这些问题的积累和复杂性也促使行业不断寻求创新方案,以打造更灵活、便捷、安全的智能语音交互系统。
技术实现思路
1、针对上述问题,本发明的目的在于提供一种语音指令的多语环境支持的方法及系统,通过云端动态训练多语种模型并下发配置,实现设备多语言无缝切换、唤醒词与命令词灵活调整,同时提升复杂环境下语音识别准确率,增强设备适应性与用户体验。
2、本发明的上述发明目的是通过以下技术方案得以实现的:
3、一种语音指令的多语环境支持的方法,包括以下步骤:
4、s1:小程序端与固件端建立蓝牙连接,所述小程序端向所述固件端发送命令词获取请求,获取所述固件端存储的多语种基础命令词及唤醒词配置; s2:用户在所述小程序端界面选择待修改的目标命令词,通过所述小程序端麦克风采集多语种语音数据,并将所述语音数据上传至云端; s3:所述云端调用多语种多命令识别模型对所述语音数据进行训练和推断,生成对应语种的命令词配置数据; s4:云端将所述命令词配置数据回传至所述小程序端,所述小程序端通过蓝牙将多语种的所述命令词配置数据传输至所述固件端;s5:固件端接收所述命令词配置数据并更新命令词,使设备支持对新命令词的多语种识别与响应,所述固件端在语音交互时,自动检测输入语音的语种,调用对应语种模型完成命令识别与执行。
5、进一步地,在步骤s1中,小程序端与固件端建立蓝牙连接,所述小程序端向所述固件端发送命令词获取请求,获取所述固件端存储的多语种基础命令词及唤醒词配置,具体为:
6、所述固件端在初始化阶段预定了多语种的基础命令词和唤醒词,并支持后续动态更新;
7、利用所述小程序端作为用户交互平台,实现固件信息的动态获取和配置管理,所述小程序端在蓝牙连接上之后向所述固件端发送一个字符串get_device_info,所述固件端在收到所述字符串get_device_info之后向所述小程序段返回包括命令词、唤醒词在内的固件信息,所述小程序端收到所述固件信息后会显示在小程序页面上进行管理。
8、进一步地,在步骤s2中,用户在所述小程序端界面选择待修改的目标命令词,通过所述小程序端麦克风采集多语种语音数据,并将所述语音数据上传至云端,具体为:
9、所述小程序端设置有用户配置界面,在所述用户配置界面上能够选择待修改的多语言、多命令集的目标命令词,或者进行唤醒词的自定义;
10、通过所述小程序端麦克风采集多语种语音数据作为命令词或唤醒词,并将所述语音数据上传到所述云端,用于在所述云端进行模型参考和存储。
11、进一步地,在步骤s3中,所述云端调用多语种多命令识别模型对所述语音数据进行训练和推断,生成对应语种的命令词配置数据,具体为:
12、在所述云端需要预先训练所述多语种多命令识别模型以对所述语音数据进行训练和推断,支持多场景、多语种、多命令的识别,具体的训练过程为:
13、进行训练所述多语种多命令识别模型的数据准备,在所述云端构建覆盖包括中、英、法、德在内的目标语种,以及包括打开、关闭、下一首在内的命令的初始数据集,并对所述数据集执行包括添加背景噪声、语音变速、语调变换在内的数据增强操作,以提升模型泛化能力,同时针对包括小众语言、方言在内的低资源语种,采用迁移学习复用已有模型参数,或通过语音合成tts生成补充数据,以解决数据稀缺;
14、进行模型选择与训练,所述云端选取conformer、wav2vec 2.0作为基础模型,基于经增强处理后的所述数据集,开展多任务训练,使模型学习多语种语音特征与命令的识别规律,训练后的模型需要能够实时判断当前语种以及解决相似发音在不同语种中的冲突;
15、进行所述多语种多命令识别模型的识别算法设计,包括:
16、语种检测lid:采用基于lstm的帧级分类轻量级模型,输入语音首预设时间片段,输出各语种的概率分布;
17、语音识别asr:为每个语种独立微调 wav2vec 2.0模型,构建语种专用模型,当检测到语音语种后,仅动态加载当前语种对应语种专用模型,以优化内存占用;
18、命令匹配:通过snips nlu算法提取语音文本中的动作和动作对象信息,对易混淆命令,增设置信度阈值判断逻辑;
19、基于已经训练好的所述多语种多命令识别模型,所述小程序端在收集到用户的语音后,会将语音数据传到所述云端,所述云端收到语音数据后通过所述多语种多命令识别模型进行多语言、多命令的识别,输出对应语种命令词的指令或响应结果的data文件,所述小程序端再将data文件传输给所述固件端,以实现根据实际场景和用户需求,实时下发唤醒词和命令词信息到固件,实现多语言、多命令的实时支持。
20、进一步地,在步骤s4中,云端将所述命令词配置数据回传至所述小程序端,所述小程序端通过蓝牙将多语种的所述命令词配置数据传输至所述固件端,具体为:
21、进行云端回传,所述云端通过https 协议,将包含多语种命令词、识别规则及易混淆命令置信度阈值的配置数据封装为数据报文,回传至所述小程序端;
22、进行小程序解析与封装,所述小程序端解析所述数据报文,提取多语种命令词配置信息,将其封装为符合蓝牙ble通信协议的数据包;
23、进行蓝牙传输,所述小程序端通过蓝牙ble接口,将所述数据包传输至所述固件端;
24、进行固件处理与多语支持,所述固件端接收数据包后,将多语种命令词配置数据写入flash存储区域完成命令集更新,同时所述固件端基于所述云端预先下发的多语种唤醒词和命令集,实现多语言、多场景下的语音呼叫识别与控制操作。
25、进一步地,在步骤s5中,固件端接收所述命令词配置数据并更新命令词,使设备支持对新命令词的多语种识别与响应,所述固件端在语音交互时,自动检测输入语音的语种,调用对应语种模型完成命令识别与执行,具体为:
26、进行语音捕获与唤醒检测,所述固件端通过麦克风捕获语音信号,采用多唤醒词检测机制对所述语音信号进行唤醒词匹配,若唤醒词匹配成功,则进入后续处理流程;
27、进行语种检测,截取所述语音信号的首预设时间片段,输入基于lstm的帧级分类轻量级模型,输出语种概率分布;
28、进行语种判断与模型调用,若所述语种概率分布中,最高概率的语种为云端预先配置的包括中、英、法、德在内的目标语种,则加载对应语种的独立微调wav2vec 2.0专用模型,若未匹配到云端配置的目标语种,则返回语种不支持的错误提示;
29、进行命令识别与执行,利用snips nlu算法对语音文本进行意图槽位填充,提取动作和动作对象信息,对易混淆命令执行置信度阈值判断,所述固件端根据最终识别结果执行对应操作。
30、进一步地,语音指令的多语环境支持的方法,还包括设置通信机制让所述固件端、所述云端和所述小程序端紧密配合,实现从所述固件端获取唤醒词和命令词,到用户语音上传,最后到识别反馈的完整交互流程,具体为:
31、进行所述小程序端与所述固件端的通信:通过蓝牙ble协议实现交互,包括:所述小程序端向所述固件端发送字符串指令get_device_info,以获取所述固件端存储的唤醒词、命令词信息,所述小程序端将所述云端返回的命令词配置数据的data 文件通过蓝牙ble传输至所述固件端;
32、所述小程序端与所述云端的通信:通过https协议实现交互,包括:所述小程序端将用户语音数据转换为buffer格式文件,通过https协议上传至所述云端,所述云端对语音数据处理后生成的命令词配置数据的data文件,通过https协议回传至小程序端;
33、进行所述固件端的数据存储,所述固件端接收所述小程序端通过蓝牙ble传输的data文件后,将其写入特定的flash存储区域,完成命令词的更新与切换。
34、一种用于执行如上述的语音指令的多语环境支持的方法的语音指令的多语环境支持的系统,包括:
35、配置获取模块,用于提供给小程序端与固件端建立蓝牙连接,所述小程序端向所述固件端发送命令词获取请求,获取所述固件端存储的多语种基础命令词及唤醒词配置;语音采集模块,用于提供给用户在所述小程序端界面选择待修改的目标命令词,通过所述小程序端麦克风采集多语种语音数据,并将所述语音数据上传至云端; 模型训练模块,用于提供给所述云端调用多语种多命令识别模型对所述语音数据进行训练和推断,生成对应语种的命令词配置数据; 数据传输模块,用于提供给云端将所述命令词配置数据回传至所述小程序端,所述小程序端通过蓝牙将多语种的所述命令词配置数据传输至所述固件端;命令执行模块,用于提供给固件端接收所述命令词配置数据并更新命令词,使设备支持对新命令词的多语种识别与响应,所述固件端在语音交互时,自动检测输入语音的语种,调用对应语种模型完成命令识别与执行。
36、一种计算机设备,包括存储器和一个或多个处理器,所述存储器中存储有计算机代码,所述计算机代码被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上述的方法。
37、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如上述的方法被执行。
38、与现有技术相比,本发明包括以下至少一种有益效果是:
39、(1)本发明通过云端训练多语种识别模型,并将唤醒词和命令词动态下发到设备固件,实现设备支持多语言、多场景的无缝切换。结果:用户可以在不同语言环境下自然交互,无需反复固件升级或复杂配置,极大增强设备的适应性与使用便捷性。
40、(2)设备无需预先硬编码所有唤醒词和命令集,而是通过小程序实时获取配置,并由云端模型支持动态调整。结果:用户可以根据场景需求,自由添加、删除或修改唤醒词和命令,无需重启设备或进行固件升级,从而大幅提升系统的灵活性和扩展性。
41、(3)利用云端集中训练的多语种、多命令模型,提供更高的识别准确率,特别是在复杂、多噪声环境中以及面对各种方言各种不同外语的情况下表现更优。结果:显著减少误识别和漏识别情况,提高交互效率,增强用户满意度。