一种误唤醒语料确定方法、装置、电子设备和存储介质与流程
本申请涉及人工智能技术领域,尤其语音识别领域,特别涉及一种误唤醒语料确定方法、装置、电子设备和存储介质。
背景技术:
语音助手是通过智能对话与即时问答的智能交互,帮助用户解决问题的应用,随着人工智能技术的发展,语音助手已被广泛用于汽车上。
汽车上的语音助手常出现被误唤醒的情况,因此需要对误唤醒语音助手的语料进行收集。目前,在收集误唤醒车机语音助手的语料时,通常采用外部工具(人工嘴、喇叭),随机播放音频,车机通过麦克风采集外部工具播放的音频数据,或车机在不同的环境(如开车环境、安静的环境、多人说话的场景)开启麦克风采集音频数据保存到本地,进而通过人工挑选的方式从本地录制的音频确定触发误唤醒的音频数据(即语料)。
技术实现要素:
本申请实施例提供了一种误唤醒语料确定方法、装置、设备和存储介质。
根据第一方面,提供了一种误唤醒语料确定方法,包括:
通过至少一个音频采集器采集干扰音频数据;其中,音频采集器所在的音频采集区域中包括与音频采集器关联的唤醒引擎;
将音频采集器采集的干扰音频数据输入关联的唤醒引擎;
在唤醒引擎被输入的干扰音频数据成功唤醒情况下,将该干扰音频数据作为唤醒引擎的误唤醒语料。
根据第二方面,提供了一种误唤醒语料确定装置,包括:
语音采集模块,用于通过至少一个音频采集器采集干扰音频数据;其中,音频采集器所在的音频采集区域中包括与音频采集器关联的唤醒引擎;
数据输入模块,用于将音频采集器采集的干扰音频数据输入关联的唤醒引擎;
误唤醒语料确定模块,用于在唤醒引擎被输入的干扰音频数据成功唤醒情况下,将该干扰音频数据作为唤醒引擎的误唤醒语料。
根据第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本申请任意实施例的误唤醒语料确定方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行本申请任意实施例的误唤醒语料确定方法。
根据本申请的技术,实现了自动收集误唤醒语料的目的,提升了确定误唤醒语料的效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例的误唤醒语料确定方法的流程示意图;
图2是根据本申请实施例的误唤醒语料确定方法的流程示意图;
图3是根据本申请实施例的误唤醒语料确定方法的流程示意图;
图4是根据本申请实施例的误唤醒语料确定方法的流程示意图;
图5是根据本申请实施例的误唤醒语料确定方法的流程图;
图6是根据本申请实施例的误唤醒语料确定装置的结构示意图;
图7是用来实现本申请实施例的误唤醒语料确定方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例-做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请实施例的误唤醒语料确定方法的流程示意图,本实施例可适用于车机从音频采集器所采集的音频数据中确定误唤醒语音助手的语料的情况。该方法可由一种误唤醒语料确定装置来执行,该装置采用软件和/或硬件的方式实现,优选是配置于电子设备。
参见图1,误唤醒语料确定方法具体如下:
s101、通过至少一个音频采集器采集干扰音频数据。
其中,音频采集器可选的为麦克风,在汽车上预先设定有多个音频采集区域(即音区),每个音区都设置有麦克风,用于采集麦克风所在音区的音频数据。干扰音频数据为非用户输入语音的数据,可选的为通过外部工具(人工嘴、喇叭)播放的音频数据。
s102、将音频采集器采集的干扰音频数据输入关联的唤醒引擎。
本申请实施例中,音频采集器所在的音频采集区域中包括与音频采集器关联的唤醒引擎,示例性的,音区1中设置有麦克风mic1,mic1关联唤醒引擎a;音区2中设置有麦克风mic2,mic2关联唤醒引擎b。因此通过某一音频采集器采集到干扰音频数据后,直接将采集的干扰音频数据输入与该音频采集器关联的唤醒引擎中,例如mic1采集到干扰音频数据后,直接将干扰音频数据传输到唤醒引擎a中,并不会传输到其他唤醒引擎中。需要说明的是,本申请实施例中通过将采集的音频数据直接输入到搜索引擎中,而不需要先将采集的音频数据保存到本地,再由人工从本地中挑选误唤醒语料,可保证后续误唤醒语料确定的效率。
s103、在唤醒引擎被输入的干扰音频数据成功唤醒情况下,将该干扰音频数据作为唤醒引擎的误唤醒语料。
本申请实施例中,设置有唤醒监听机制,用于实时监听各唤醒引擎是否被成功唤醒。由于输入到唤醒引擎中的音频为干扰音频数据,而用户不发出任何语音指令,因此只要在监听到唤醒引擎被输入的干扰音频数据成功唤醒情况下,将该干扰音频数据作为唤醒引擎的误唤醒语料。
本申请实施例中,通过将采集的干扰语音直接传输到对应唤醒引擎中,只要唤醒引擎被唤醒,则将该干扰音频数据作为误唤醒语料,由此实现了误唤醒物料的自动确认收集,避免了先将采集的所有音频保存在本地,进而通过人工从本地录音中挑选误唤醒语料,提升了误唤醒语料确认收集的效率。
图2是根据本申请实施例的误唤醒语料确定方法的流程示意图,本实施例是在上述实施例的基础上进行优化,参见图2,误唤醒语料确定方法具体如下:
s201、通过至少一个音频采集器采集干扰音频数据。
其中,音频采集器所在的音频采集区域中包括与音频采集器关联的唤醒引擎。
s202、将音频采集器采集的干扰音频数据输入关联的唤醒引擎。
s203、在唤醒引擎被输入的干扰音频数据成功唤醒情况下,将该干扰音频数据中在成功唤醒前预设时长的干扰音频数据,作为唤醒引擎的误唤醒语料。
现有技术中,通过人工挑选误唤醒语料时,通常是将麦克风录制的完整音频文件作为误唤醒语料,使得误唤醒预料中无关数据过多,例如一个误唤醒语料(例如8小时的录音数据)中,成功使唤醒引擎被唤醒的只有最后10秒的音频数据,因此该误唤醒语料中除了最后10秒音频外都是无关的音频。而且将完整的音频文件作为误唤醒语料存储时,还会占用较大的存储空间。
基于此,发明人提出了在唤醒引擎被输入的干扰音频数据成功唤醒情况下,将该干扰音频数据中在成功唤醒前预设时长的干扰音频数据,作为唤醒引擎的误唤醒语料。可选的,通过监听机制确定唤醒引擎被唤醒的时间,进而将在该时间之前的预设时长内输入的音频数据作为误唤醒语料,其中,预设时长可以根据实际需要进行设定,示例性的为10秒。
本申请实施例中,将该干扰音频数据中在成功唤醒前预设时长的干扰音频数据,作为唤醒引擎的误唤醒语料,不但可以减少误唤醒语料中的无关数据,在保存误唤醒语料时,还能节省存储空间。
图3是根据本申请实施例的误唤醒语料确定方法的流程示意图,本实施例是在上述实施例的基础上进行优化,参见图3,该误唤醒语料确定方法具体如下:
s301、通过至少一个音频采集器采集干扰音频数据。
其中,音频采集器所在的音频采集区域中包括与音频采集器关联的唤醒引擎。
s302、将音频采集器采集的干扰音频数据输入关联的唤醒引擎。
s303、将干扰音频数据输入到与唤醒引擎关联的缓存单元中,其中,缓存单元被配置为存储输入的干扰音频数据中最后预设时长的干扰音频数据。
本申请实施例中,每个唤醒引擎都关联的一个缓存单元,其中,缓存单元被配置为存储输入的干扰音频数据中最后预设时长的干扰音频数据,也即缓存单元采用先进先出的缓存机制,在将干扰音频数据输入到与唤醒引擎关联的缓存单元的过程中,缓存单元始终保存最新输入的预设时长的干扰音频数据,其中预设时长可以根据实际需要进行设定,例如10秒,也即缓存单元中保存的是预设时长的干扰音频数据。
需要说明的是,s302和s303是同步执行的,也即在将音频采集器采集的干扰音频数据输入关联的唤醒引擎的同时,同步将采集的干扰音频数据输入到该唤醒引擎关联的缓存单元中。而之所以同步存入缓存单元,是为了保证唤醒引擎被成功唤醒时,导致唤醒引擎被成功唤醒的干扰音频数据当前正在缓存单元中。
在一种可选的实施方式中,缓存单元示例性的为lru(leastrecentlyused)缓存队列,lru缓存队列的容量是根据预设时长、采样率和位深度计算得到的,在这三个参数确定时,lru缓存队列的缓存容量是有限的,使得在将采集的音频数据实时保存到lru缓存队列时,如果缓存满了则基于先进先出的缓存机制,删除先存进的部分音频数据,以便给后续新输入的音频数据留下缓存位置。
s304、响应于任一唤醒引擎被成功唤醒,将该唤醒引擎关联的缓存单元中所缓存的干扰音频数据作为唤醒引擎的误唤醒语料。
本申请实施例中,唤醒监听机制监听某一唤醒引擎被成功唤醒时,由于传输到唤醒引擎的干扰音频数据被同步的保存在该唤醒引擎关联的lru缓存队列中,因此可直接将该时刻下与该唤醒引擎关联的缓存单元中所缓存的干扰音频数据作为唤醒引擎的误唤醒语料。示例性的,缓存单元用于保存最新的10秒的干扰音频数据,若某一时刻唤醒引擎被成功唤醒,则将该时刻下,缓存单元中保存的10秒的干扰音频数据作为误唤醒语料。需要说明的是,若在初始阶段,缓存单元中保存的干扰音频数据小于10秒时,例如在保存6秒的干扰音频数据时,监听到唤醒引擎被成功唤醒,则将保存的6秒的干扰音频数据作为误唤醒语料。
本申请实施例,在任一唤醒引擎被成功唤醒情况下,从与该唤醒引擎关联的缓存单元中直接获取干扰音频数据作为误唤醒语料,可以提升获取误唤醒语料的效率。
图4是根据本申请实施例的误唤醒语料确定方法的流程示意图,本实施例是在上述实施例的基础上进行优化,参见图4,该误唤醒语料确定的方法具体如下:
s401、通过至少一个音频采集器采集干扰音频数据.
其中,音频采集器所在的音频采集区域中包括与音频采集器关联的唤醒引擎。
s402、将音频采集器采集的干扰音频数据输入关联的唤醒引擎。
s403、在唤醒引擎被输入的干扰音频数据成功唤醒情况下,将该干扰音频数据作为唤醒引擎的误唤醒语料。
s404、识别误唤醒语料中包括的唤醒词,且按照唤醒词对误唤醒语料进行命名。
在得到误唤醒语料之后,可对误唤醒语料进行识别,确定误唤醒语料中包括的唤醒词,并按照唤醒词对误唤醒语料进行命名,以便后续用户可直接根据误唤醒语料的名称直观的确定哪个唤醒词导致唤醒引擎被误唤醒。而且在按照唤醒词对误唤醒语料进行命名后,可将误唤醒语料存储在车机的本地。而在一种可选的实施方式中,可通过文件写入工具完成误唤醒语料的命名和保存。
s405、根据命名后的误唤醒语料,确定唤醒词的误唤醒率。
进一步的,在误唤醒压测之后,也即是在外部工具停止播放干扰音频数据之后,根据本地存储的所有误唤醒语料的名称,确定唤醒词在单位时间内的误唤醒率,进而使用户知道哪个唤醒词导致的误唤醒率最高,后续用户输入语音指令时可以规避。
s406、将唤醒引擎的误唤醒语料作为唤醒引擎中唤醒模型的负样本,对唤醒模型进行训练。
车机可将本地存储的误唤醒语料作为唤醒引擎中唤醒模型的负样本,对唤醒模型进行训练,以达到优化唤醒引擎的目的。需要说明的是,还可以将车机本地存储的误唤醒语料发送到云端,在云端完成唤醒模型的修正训练。
图5是根据本申请实施例的误唤醒语料确定方法的流程图,参见图5,本申请实施例中的汽车示例性的设置有四个音区,如5中的mic1-mic4是设置在车机上的四个设置在不同音区的用于采集音频数据的因音频采集器,例如麦克风,每个麦克风关联一个唤醒引擎,同时设置有4个lru缓存队列,每个音区的唤醒引擎关联一个lru缓存队列。同时还设置有唤醒监听机制,以实时监听唤醒引擎是否被成功唤醒。
具体工作时,外部工具在汽车内播放干扰音频数据,麦克风mic1、mic2、mic3和mic4分别采集各自所在音区的干扰音频数据。进一步的,各麦克风将采集的干扰音频数据灌入唤醒引擎,并同步将干扰音频数据根据预设时长存入唤醒引擎对应的lru缓存队列中。在监听到某一唤醒引擎被成功唤醒后,回调确认是哪个音区的唤醒引擎被唤醒,进而确定该唤醒引擎关联的lru缓存队列,并将该lru缓存队列中当前缓存的干扰音频数据作为误唤醒语料。而为了保存误唤醒语料,将确定的误唤醒语料弹出lru缓存队列,并传输到文件写入工具,通过文件写入工具将误唤醒语料保存在车机本地,由此实现了自动收集误唤醒语料的目的。
图6是根据本申请实施例的误唤醒语料确定装置的结构示意图,本实施例可适用于通过语音查询耳机电量的情况。如图6所示,该装置600具体包括:
语音采集模块601,用于通过至少一个音频采集器采集干扰音频数据;其中,音频采集器所在的音频采集区域中包括与音频采集器关联的唤醒引擎;
数据输入模块602,用于将音频采集器采集的干扰音频数据输入关联的唤醒引擎;
误唤醒语料确定模块603,用于在唤醒引擎被输入的干扰音频数据成功唤醒情况下,将该干扰音频数据作为唤醒引擎的误唤醒语料。
在上述实施例的基础上,可选的,误唤醒语料确定模块,包括:
误唤醒语料确定单元,用于在唤醒引擎被输入的干扰音频数据成功唤醒情况下,将该干扰音频数据中在成功唤醒前预设时长的干扰音频数据,作为唤醒引擎的误唤醒语料。
在上述实施例的基础上,可选的,该装置还包括:
缓存模块,用于将干扰音频数据输入到与唤醒引擎关联的缓存单元中,其中,缓存单元被配置为存储输入的干扰音频数据中最后预设时长的干扰音频数据;
误唤醒语料确定单元具体用于:
响应于任一唤醒引擎被成功唤醒,将该唤醒引擎关联的缓存单元中所缓存的干扰音频数据作为唤醒引擎的误唤醒语料。
在上述实施例的基础上,可选的,该装置还包括:
识别与命名模块,用于将该干扰音频数据作为唤醒引擎的误唤醒语料之后,识别误唤醒语料中包括的唤醒词,且按照唤醒词对误唤醒语料进行命名。
在上述实施例的基础上,可选的,该装置还包括:
计算模块,用于在按照唤醒词对误唤醒语料进行命名之后,根据命名后的误唤醒语料,确定唤醒词的误唤醒率。
在上述实施例的基础上,可选的,该装置还包括:
训练模块,用于将该干扰音频数据作为唤醒引擎的误唤醒语料之后,将唤醒引擎的误唤醒语料作为唤醒引擎中唤醒模型的负样本,对唤醒模型进行训练。
本申请实施例提供的误唤醒语料确定装置600可执行本申请任意实施例提供的误唤醒语料确定方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本申请任意方法实施例中的描述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图7所示,是根据本申请实施例的误唤醒语料确定方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的误唤醒语料确定方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的误唤醒语料确定方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的误唤醒语料确定方法对应的程序指令/模块(例如,附图6所示的语音采集模块601、数据输入模块602、误唤醒语料确定模块603)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的误唤醒语料确定方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据实现本申请实施例的误唤醒语料确定方法的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至实现本申请实施例的误唤醒语料确定方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现本申请实施例的误唤醒语料确定方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与实现本申请实施例的误唤醒语料确定方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
根据本申请实施例的技术方案,实现了自动收集误唤醒语料的目的,提升了确定误唤醒语料的效率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除