用于提供定制唤醒短语训练的系统和方法与流程

文档序号:24156306发布日期:2021-03-05 11:56阅读:116来源:国知局
[0001]本公开涉及用于提供定制唤醒短语(customwakephrase)训练的系统和方法,并且更具体地,提供了用于从训练自动生成可执行程序(executable)以用于部署在设备上以识别定制唤醒短语的系统和方法。
背景技术
::[0002]唤醒短语识别通常涉及在连续且可能有噪声的音频信号中发现特定口述唤醒短语的出现,同时忽略音频信号中的所有其他词语、短语、声音、噪声和其他声学事件。例如,用户可以利用唤醒词语或短语来说出命令以控制设备(例如,移动设备、家用电器、汽车、机器人或其他设备)的操作。通常,自然语言处理被用于理解和执行与唤醒短语相关联的语音输入命令。例如,语音识别可以被用于将输入音频识别为具有相应文本,使得随后可以分析该文本以确定要在设备上执行的特定命令。[0003]在一些情况下,开发者具有专有的设备设计(例如,具有“智能”能力的汽车),并且想要创建与他们的品牌相关联并且易于被他们的智能设备发现的定制唤醒短语。然而,语音使能的虚拟助手平台的提供者为每个开发者的设备设计手动定制唤醒短语是不可行的。另外,即使实施了这种手动定制,也可能导致虚拟助手设备中的定制唤醒短语识别不正确,这通常是用户无法接受的。相反,开发者被迫利用平台提供的预定义的定制唤醒短语,例如“okalexa”。[0004]因此,需要消除或减轻用于定制唤醒短语训练和发现的现有系统和方法的上述缺点中的至少一些缺点。特别地,需要一种训练定制唤醒短语识别的自动化过程和系统,用于在语音使能的虚拟助手设备上使用以识别开发者定义的定制唤醒短语。本公开的实施例是针对此考虑和其他考虑的。技术实现要素:[0005]所公开的实施例提供了用于为计算机实现的模型提供定制唤醒短语训练的系统和方法,该计算机实现的模型用于后续在被部署在诸如自然语言控制的虚拟助手设备之类的语音使能的计算设备上时发现定制唤醒短语。[0006]在一个方面,提供了一种用于训练针对虚拟助手的定制短语发现器(spotter)可执行程序的计算系统,该计算系统包括处理器和与处理器通信的存储器,存储器存储指令,指令在由处理器执行时,将计算系统配置为:接收针对训练定制短语发现器可执行程序的请求和特定虚拟助手的标识;响应于接收到该请求,接收与定制唤醒短语的口述音频相对应的一个或多个正音频样本;使用正音频样本来训练用于定制唤醒短语音频的模型;以及编译包括该模型的定制短语发现器可执行程序,使得当该模型被部署在由标识所标识的特定虚拟助手上时,定制短语发现器可执行程序识别定制唤醒短语。[0007]在另一方面,提供了一种用于训练定制短语发现器可执行程序的计算机实现的方法,该方法包括:接收针对训练定制短语发现器可执行程序的请求;接收与定制唤醒短语的口述音频相对应的一个或多个正音频样本;使用正音频样本来训练用于定制唤醒短语的模型;以及编译包括该模型的定制短语发现器可执行程序,使得当为虚拟助手部署该模型时,定制短语发现器可执行程序识别定制唤醒短语。[0008]在又一方面,提供了一种非暂时性计算机可读介质,其存储用于训练针对虚拟助手的定制短语发现器可执行程序的软件开发工具包(sdk)的代码,代码能够由处理器执行,并且代码在由处理器执行时,使得sdk:接收针对训练定制短语发现器可执行程序的请求;接收与定制唤醒短语的口述音频相对应的一个或多个正音频样本;使用正音频样本来训练用于定制短语发现器可执行程序的模型;以及编译包括该模型的定制短语发现器可执行程序,使得当该模型被部署在虚拟助手上时,定制短语发现器可执行程序识别定制唤醒短语。[0009]在又一方面,提供了一种用于训练针对虚拟助手的定制短语发现器可执行程序的计算系统,该计算系统包括处理器和与处理器通信的存储器,存储器存储指令,指令在由处理器执行时,将计算系统配置为:接收针对训练定制短语发现器可执行程序的请求和特定虚拟助手的标识;响应于接收到该请求,接收与定制唤醒短语相对应的文本;在存储在计算系统的数据库上的音频样本的语料库内搜索与文本相对应的一个或多个存储的正音频样本;以及使用正音频样本来训练用于定制唤醒短语音频的模型;以及编译包括该模型的定制短语发现器可执行程序,使得当该模型被部署在由标识所标识的特定虚拟助手上时,定制短语发现器可执行程序识别定制唤醒短语。[0010]这些方面和其他方面将是显而易见的,包括以非暂时性方式存储指令(例如,存储在存储设备中)的计算机程序产品,该指令在由计算设备执行时,将设备配置为执行如本文所述的操作。[0011]在下文中,将参考附图中示出的特定实施例更详细地解释所公开的系统和方法的其他特征以及由此提供的优点,其中,相同的元件由相同的附图标记和指示符指示。附图说明[0012]参考附图,附图未必按比例绘制,并且被并入本公开中且构成本公开的一部分,示出了所公开技术的各种实现方式和各个方面,并且与描述一起用于解释所公开技术的原理。在附图中:[0013]图1a是示出根据一个实施例的代表性计算机环境的各个部分的框图;[0014]图1b示出了根据一个实施例的在图1a的计算机环境中的示例计算设备的细节;[0015]图2是示出根据一个实施例的图1b中用于生成训练数据的训练数据处理模块的示例计算机组件的框图;[0016]图3是示出根据一个实施例的图1b的短语发现器可执行程序生成模块的示例计算机组件的框图;[0017]图4是根据一个实施例的用于动态地训练针对发现定制唤醒短语的可执行程序的计算机化模型(例如,计算机化机器学习模型)的示例性过程的流程图;以及[0018]图5a-图5c是示出根据一个或多个实施例的由图3的短语发现器可执行程序308提供的基于神经网络的唤醒短语检测器500、510、520的示例功能的示意图。[0019]尽管在本文中使用了对“实施例”的引用,但是除非另有说明,否则不应暗示或理解一个实施例的特征不能与另一实施例的特征一起使用或组合。除非另有说明,否则本文所示和所述的各种系统、方法和设备可以一起使用。具体实施方式[0020]通常,在至少一些实施例中,本公开针对用于通过使用输入正和/或负音频和/或文本样本训练计算机化模型以提高训练的准确性来允许定制用于识别的唤醒短语和控制虚拟助手计算设备的系统和方法。[0021]作为背景,虚拟助手计算设备是被动收听设备,其被配置为理解自然语言并且被预先配置为在听到其名字(例如,“heysiri”、“okgoogle”或“alexa”)后被“唤醒”或激活。然而,如本文所讨论的,需要训练和自动配置虚拟助手以识别定制唤醒短语。[0022]根据一个实施例,图1a示出了代表性计算机环境100的高级架构的框图。计算机环境100包括示例计算设备102,其与网络104通信并且被配置为动态地训练用于短语发现器可执行程序的计算机化模型,该短语发现器可执行程序可操作用于发现由请求计算设备106的开发者选择的定制唤醒短语。根据本公开的一个或多个方面,由计算设备102生成的短语发现器可执行程序被用于部署在语音使能的虚拟助手计算设备108上。在图1b中示出和放大了计算设备102的简化组件细节。参考图1a和图1b,计算设备102正在使用一个或多个网络104与一个或多个其他请求计算设备106进行通信。计算设备102从请求计算设备106接收针对定制唤醒短语训练的请求107的相应数据,包括定制唤醒短语细节(例如,以音频和/或文本格式)。作为响应,计算设备102被配置为生成和输出相应短语发现器可执行程序到请求计算设备106和/或虚拟助手计算设备108,以用于短语发现器可执行程序(例如,参见图3中的308)在虚拟助手计算设备108上的后续部署。[0023]再次参考图1a和图1b,特定的请求107可以包括对唤醒短语定制以及针对定制唤醒短语的由开发者提供的细节的请求(例如,参见图2中的输入数据214),其可以包括与用于训练用于唤醒短语识别的计算机化模型的正和/或负样本有关的音频和/或文本数据。可以经由响应于请求107的发起而显示的请求计算设备106上的开发者界面来提供细节。计算设备102还可以包括一个或多个服务器。[0024]计算设备102的其他示例是单个计算机、云计算服务、膝上型计算机、台式计算机、触摸计算设备或另一类型的计算设备。在图1a的示例中,请求计算设备106是膝上型计算机,但是也可以是能够传送定制唤醒短语请求(例如,经由图形界面)并从计算设备102接收响应的任何计算设备,例如蜂窝电话、台式计算机或至少包括处理器、存储器和通信接口的另一类型的计算设备。此外,在图1a的示例实施例中,虚拟助手计算设备108是蜂窝电话,但是也可以是能够进行语音交互和控制其计算机服务和/或一个或多个关联的智能设备的任何语音使能的计算设备。现有的示例虚拟助手计算设备108包括移动电话、汽车、智能扬声器、家用电器、信息亭、自动售货机和助手机器人。[0025]计算设备102、请求计算设备106和虚拟助手计算设备108被耦合以经由网络104彼此通信,网络104可以是诸如互联网之类的广域网(wan)。附加网络也可以被耦合到网络104的wan,例如,在wan与计算设备102之间或在wan与任何请求计算设备106和虚拟助手计算设备108之间的无线网络和/或局域网(lan)。[0026]图1b示出了根据本公开的一个或多个方面的计算设备102的示例计算机组件,例如,以提供一种系统和执行一种方法来训练用于定制唤醒短语发现器可执行程序的模型,该定制唤醒短语发现器可执行程序可操作用于发现(如由图1a的请求计算设备106的开发者选择的)定制唤醒短语的口述实例(例如,一旦可执行程序被部署在设备108上)。[0027]计算设备102包括一个或多个处理器122、一个或多个输入设备124、一个或多个通信单元126和一个或多个输出设备128。计算设备102还包括一个或多个存储设备130,该存储设备130存储一个或多个计算机模块,例如图形用户界面110、操作系统模块112、短语发现器可执行程序生成模块114、训练数据处理模块116、音频数据存储库118(例如,标记有其相关联的转录的音频样本的语料库)和负音频数据存储库120(例如,负音频数据(例如,与定制唤醒短语音频数据相似但不同的口述短语、背景噪音、环境声音、非语音音乐等)的语料库)。[0028]通信通道144可以耦合组件122、124、126、128和130(以及其中包含的计算机模块)中的每一个,以进行组件间通信。在一些示例中,通信通道144可以包括系统总线、网络连接和进程间通信数据结构,或者用于传送数据的任何其他方法。[0029](一个或多个)处理器122可以在计算设备102内实现功能和/或执行计算机指令。例如,处理器122可以被配置为从存储设备130接收指令和/或数据以执行图1b中所示的模块110、112、114、116、118和120的功能。[0030]一个或多个通信单元126可操作以允许通过在一个或多个网络104上发送和/或接收网络信号来经由一个或多个网络104与包括请求计算设备106和虚拟助手计算设备108的外部计算设备进行通信。通信单元126可以包括用于与外部计算设备和网络104进行无线和/或有线通信的各种天线和/或网络接口卡等。[0031]输入设备124和输出设备128可以包括以下各项中的任何一项:一个或多个按钮、开关、定点设备、一个或多个相机、键盘、定点设备、麦克风、一个或多个传感器(例如,生物特征传感器等)、扬声器、铃铛、一个或多个灯、显示屏(其可以是提供i/o能力的触摸屏设备)等。它们中的一个或多个可以经由通用串行总线(usb)、蓝牙或其他通信单元(例如,126)进行耦合。即,输入设备124和输出设备128可以在计算设备102上或经由有线或无线通信耦合到计算设备102。[0032]参考图1a、图1b和图2,计算设备102可以将数据/信息存储到存储设备130,这些数据/信息可以包括例如提供定制唤醒短语的细节(例如,定制唤醒短语的正音频样本208)的输入数据(例如,参见图2的214)、由训练数据处理模块生成的输出训练数据(例如,图2中的216)、机器学习训练的过程、具有被用于标记输入数据的转录(例如,存储音频数据到转录的映射)的音频数据存储库和负音频数据存储库(例如,包含负数据的样本)中,该负音频数据存储库被用于生成训练数据216以训练模型,以供短语发现器可执行程序生成模块114为虚拟助手计算设备108生成短语发现器可执行程序。一些功能在下文中进一步描述。一个或多个存储设备130可以存储用于在计算设备102的操作期间进行处理的指令和/或数据。一个或多个存储设备130可以采取不同的形式和/或配置,例如,作为短期存储器或长期存储器。存储设备130可以作为易失性存储器被配置用于信息的短期存储,该易失性存储器在断电时不保留所存储的内容。易失性存储器的示例包括随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)等。在一些示例中,存储设备130还包括一个或多个计算机可读存储介质,例如用于存储比易失性存储器更多的信息量和/或长期存储此类信息,其在断电时保留信息。非易失性存储器的示例包括磁性硬盘、光盘、软盘、闪存或电可编程存储器(eprom)或电可擦除和可编程(eeprom)存储器的形式。[0033]再次参考图1a、图1b和图2,在计算设备102处接收到请求107之后,计算设备102被配置为在请求计算设备106上提供开发者界面的显示以用于收集定制唤醒短语的细节(例如,输入数据214)。输入数据214是输入正音频样本208中的一个或多个的形式。另外,输入数据214可以包括以下各项中的一项或多项:输入正文本样本210和输入负音频样本212。输入数据214在与数据存储库118和120通信的训练数据处理模块116处被接收和处理,以生成训练数据216,用于随后在训练用于如由短语发现器可执行程序生成模块114生成的短语发现器可执行程序的计算机化模型中使用。[0034]训练数据处理模块116通常被配置为生成用于后续机器学习模型(参见图3)的训练的一组正和/或负音频样本作为训练数据216并且生成用于在特定虚拟助手设备(例如,108)上发现定制唤醒短语的可执行程序。训练数据处理模块116包括文本到音频转换模块202、存储库搜索模块204(用于在相关联的存储库118和120内搜索)和数据操纵模块206,用于促进在训练数据216中生成正样本和负样本。通常,任何包含定制唤醒短语的确切短语的音频都被视为正样本(例如,208、210)。[0035]本文所述的计算设备(例如,102、106、108)中的每一个均可以包括处理器和非暂时性计算机可读介质。计算机可读介质可以存储计算机程序代码,该计算机程序代码可由设备的处理器中的每一个处理器执行,并且该计算机程序代码在由处理器执行时,使得计算设备(例如,102、106和108)中的每一个在其中执行归因于它们的功能。[0036]下面参考图2来描述描绘示例输入数据214场景以及对这种输入数据214的处理以生成训练数据216的示例实施例。以下实施例也可以被组合,使得输入数据214的各种组合可以被设想用于改善训练数据216的准确性。[0037]示例1–包括输入正音频样本208的输入数据[0038]在一个实施例中,训练数据处理模块116被配置为从请求计算设备106接收输入数据214,该输入数据214包括与说出定制唤醒短语的人(例如,说出“hey,mercedes”或“hey,pandora”的人)的音频相对应的输入正音频样本208数据。可以经由请求计算设备106的开发者界面(例如,通过上传预先存在的音频文件或通过对请求计算设备106的麦克风进行讲话并且记录输入正样本)来提供这种输入正音频样本208。在该实施例中,输入正音频样本208被输出为用于训练模型(参见图3)的训练数据216。[0039]示例2–包括输入正文本样本210的输入数据[0040]在另一实施例中,训练数据处理模块116还被配置为接收输入数据214,该输入数据214包括与定制唤醒短语的文本表示或转录(例如,文本=“heymercedes”或“heypandora”)相对应的输入正文本样本210。输入正文本样本210可以通过以下方式获得:开发者输入(例如,经由用于定制唤醒短语数据收集的界面的键盘输入),或者预先存储在计算设备106上和/或上传到计算设备106上。训练数据处理模块116然后被配置为处理文本以生成相应存储的正音频样本信号。一方面,这包括经由存储库搜索模块204在具有文本转录的音频数据存储库118内进行搜索以确定与样本210中提供的文本相对应的存储的正音频样本,并且将其提供为训练数据216。可选地,从输入正文本样本210生成音频包括使用文本到音频转换模块202,该文本到音频转换模块202应用文本到语音转换(tts)来生成定制唤醒短语的音频信号并且输出为训练数据216。又一方面,经由音频数据存储库118提供文本到音频的映射的来自文本到音频转换模块202的输出和来自存储库搜索模块204的输出二者均被包括为训练数据216,用于训练图3中的计算机化模型。值得注意的是,音频数据存储库118包含标记有文本转录或与文本转录相关联的音频数据的集合,并且当开发者提供其他输入正音频样本208和/或输入正文本样本210时,可以被扩展为包括附加音频数据。[0041]示例3-包括输入负音频样本212的输入数据[0042]在又一实施例中,训练数据处理模块116被配置为从请求计算设备106接收输入数据214,来自请求计算设备106的输入数据214包括与类似于说出定制唤醒短语的人(例如,说出“okalexandra”而不是“okalexa”的人;或者说出“heydoodle”而不是“heygoogle”的人)的音频发声相对应的输入负音频样本212数据。该输入负音频样本212(在发音上(如由音素表示)和/或声学上(如由样本或频谱图的时间序列表示)类似于输入正音频样本208,但是为定制唤醒短语的不正确表示)被视为“诱饵”短语,并且被输出为训练数据216中的负样本。训练数据216中的诱饵数据被用于训练计算机化模型,以区分诱饵短语和定制唤醒短语的实际口述实例。可以经由请求计算设备106的界面来提供这种包括诱饵样本的输入负音频样本212(例如,通过上传预先存在的音频文件或通过对请求计算设备106的麦克风进行讲话并且记录输入负样本)。[0043]示例4–包括存储的负音频样本的训练数据[0044]在又一实施例中,除了使用输入正音频样本208作为训练数据216之外,训练数据处理模块116使用输入正音频样本208来经由存储库搜索模块204搜索存储库(例如,118和120),以寻找与输入正音频样本208具有可听相似性但具有定制唤醒短语的不正确表示的存储的负音频样本。然后,将存储的负音频样本提供为训练数据216。[0045]示例5–包括从输入正文本样本210生成的存储的负音频样本的训练数据[0046]在又一实施例中,除了使用输入正音频样本208作为训练数据216之外,输入正文本样本210被用于取回存储的负音频样本。具体地,被提供给训练数据处理模块116的输入正文本样本210由存储库搜索模块204用于在音频数据存储库118内搜索具有与表示定制唤醒短语的输入正文本样本210不同但在发音上和/或在声学上相似的转录的存储的负音频样本。在该实施例中,然后,将存储的负音频样本提供为训练数据216(例如,作为定制唤醒短语的不正确表示的示例)。[0047]示例6–包括从负音频数据存储库生成的存储的负音频样本的训练数据[0048]在又一实施例中,除了使用输入正音频样本208作为训练数据216之外,存储库搜索模块204在负音频数据存储库120中搜索,以寻找表示非语音音频的存储的负音频样本。负音频数据存储库120包含例如:典型环境噪声的非语音音频,以及与语音无关的负音频样本(例如,音乐)的集合。[0049]示例7–包括虚拟助手设备标识218的输入数据[0050]在至少一些实施例中并且参考图1a、图1b、图2和图3,请求107涉及多个不同的虚拟助手计算设备108。因此,虚拟助手计算设备108中的每一个均经由计算设备102被提供有相应的定制短语发现器可执行程序308,例如以分别识别用于特定虚拟助手计算设备108的定制唤醒短语。因此,在请求107之后提供的输入数据214还包括虚拟助手设备标识218,其唯一地标识环境100中的不同虚拟助手计算设备108中的每一个。因此,一旦生成短语发现器可执行程序308,其就经由标识218通过短语发现器可执行程序生成模块114与特定虚拟助手计算设备108链接在一起。另外,在一些方面,在存在多个不同的虚拟助手计算设备108的情况下,训练数据处理模块116被配置为经由存储库搜索模块204来访问存储库120内特定于特定虚拟助手计算设备108的负音频样本(例如,其环境、预期的背景声音类型...)。例如,如果标识218将虚拟助手计算设备108标识为在汽车内,则数据操纵模块206利用如存储在存储库120中的汽车的典型环境噪声的非语音音频来扩充训练数据216。[0051]在图2和图3所示的示例中,通过训练数据处理模块116处理的正音频样本和负音频样本可以通过向音频样本添加声音效果(例如,白噪声、嘈杂声、无线电/汽车噪声)来进一步扩充并且被提供为训练数据216,例如以提高训练后的模型306的准确性,并且使短语发现器可执行程序308可以区分的音频数据的类型多样化。[0052]参考图2和图3,在通过各种正音频样本和/或负音频样本(包括诱饵样本)生成训练数据216之后,计算设备102的处理器122协调将训练数据216输入到短语发现器可执行程序生成模块114中。短语发现器可执行程序生成模块114被配置为经由训练模块302来执行训练,并且生成可以在虚拟助手计算设备(例如,108)上运行的短语发现器可执行程序308,以用于检测定制唤醒短语以“唤醒”虚拟助手计算设备108。[0053]图3中的训练模块302使用训练数据216并且生成训练后的模型306,以供短语发现器可执行程序生成模块114用来生成短语发现器可执行程序308。训练模块302接收训练数据216作为对机器学习算法304的输入。训练数据216是正音频样本(指示定制唤醒短语的正确音频表示)和负音频样本(指示定制唤醒短语的不正确表示)的集合。机器学习算法304可以是回归或分类方法。机器学习算法304利用正和/或负样本集合并且生成最佳训练后的模型306。训练后的模型306提供下述功能:将训练数据216中的正音频样本识别为定制唤醒短语,并且不考虑训练数据216中与定制唤醒短语不匹配的负音频样本。然后,处理器122使用训练后的模型306来生成短语发现器可执行程序308,以将该短语发现器可执行程序308本地部署在虚拟助手计算设备108上(或可选地作为软件开发工具包(sdk)平台的一部分,该sdk平台是用于开发特定设备或操作系统的应用的软件的集合)。[0054]在图3的可选实施例中,在部署短语发现器可执行程序308之后,计算设备102可以从请求计算设备106的开发者接收反馈,该反馈指示用于短语发现器可执行程序308的模型将不正确的音频样本识别为定制唤醒短语。响应于该反馈,处理器122被配置为将不正确的音频样本作为负样本包括在训练数据216中,并且动态地重新训练模型306以生成新训练后的过程和新短语发现器可执行程序以用于后续部署。[0055]在一个实施例中,再次参考图1a、图1b-图3,在所示的示例中,响应于针对上传正和/或负音频样本数据(可能是.wav或.mp3文件的.zip文件)并且将短语发现器可执行程序(例如,图3中的308)下载到请求计算设备106和/或虚拟助手计算设备108上的请求107,在请求计算设备106上提供开发者界面(例如,web界面)。在可选实施例(未示出)中,响应于请求107,软件开发工具包(sdk)(例如,包含训练数据处理模块116、短语发现器可执行程序生成模块114、具有转录的音频数据存储库118、负音频数据存储库120中的一个或多个)被提供给请求计算设备106以允许开发者独立地在其期望的计算设备(例如,106)上运行图3的训练模块302中提供的训练过程。[0056]图4是示出根据本公开的一个方面的图1a、图1b-图3的计算设备102的示例操作400的流程图。操作400接收开发者定义的用于唤醒特定语音控制的虚拟助手设备的定制唤醒短语,并且训练定制唤醒短语的模型以在音频信号中发现定制唤醒短语。值得注意的是,在至少一些实施例中,图1a的计算环境100包括多个不同的虚拟助手计算设备108,每个虚拟助手计算设备108都需要唯一的定制短语发现器可执行程序308,以识别如由开发者(例如,经由请求计算设备106的开发者界面)选择的特定定制唤醒短语。[0057]在402处,计算设备102从请求计算设备(例如,106)接收用于训练定制短语发现器可执行程序以发现定制唤醒短语的请求。在步骤404处,响应于该请求,在开发者界面处接收唤醒短语定制细节(例如,输入数据214)以用于使用机器学习算法304来训练模型306。输入数据214包括用于标识特定虚拟助手设备108(用于在其上部署定制短语发现器可执行程序308)的标识数据218。在步骤404处,细节(输入数据214)还包括与说出定制唤醒短语的至少一个人相对应的至少一个正音频样本。输入正音频样本可以是被上传和提供给计算设备102的声音记录或特性。在一些情况下,计算设备102还可以处理接收到的定制细节(例如,提供定制唤醒短语的正和/或负文本和/或音频数据样本)以生成用于训练模块302的正训练数据和/或负训练数据。这种处理可以包括例如利用与特定虚拟助手设备108相关联的环境声音或噪声特性来操纵(一个或多个)正样本。一些细节(例如,输入数据214)可能不需要任何变换。[0058]在406处,使用(一个或多个)正音频样本(例如,208)以及在适用时使用输入数据214中的其他正和/或负音频/文本样本来执行针对定制唤醒短语音频的模型的训练。训练后的模型被用于生成短语发现器可执行程序308,当将该短语发现器可执行程序308被部署在特定虚拟助手计算设备(例如,108)上时,基于训练来识别定制唤醒短语的后续音频输入实例。优选地,在步骤408处,短语发现器可执行程序(例如,图3中的308)然后被发送到请求计算设备106。[0059]现在参考图5a-图5c,根据一个或多个实施例,示出了说明由图3的短语发现器可执行程序308提供的唤醒短语检测器500、510、520的示例功能的示意图,这些检测器可以同时检测一个或多个定制唤醒短语以“唤醒”图1a的虚拟助手计算设备108。[0060]图5a示出了基于神经网络的唤醒短语检测器500,其识别单个定制唤醒短语。图5b和图5c分别示出了基于神经网络的唤醒短语检测器510和520,其被配置为收听和识别多个唤醒短语,使得同一模型被触发以指示对多个唤醒短语(例如,“heyhound”和“hihound”)中的任何一个的正检测。[0061]现在参考图5a,示出了具有神经网络的单个唤醒短语检测器500,其用于检测单个定制唤醒短语。检测器500包括一组输入音频特征501和一组输出502,它们是在最近的语音序列中已经被说出的最有可能的子短语单元或部分短语单元。子短语单位可以是音素或多个音素的序列,包括多词唤醒短语的词语。另外,子短语单元可以是小于一个音素的单元(例如,多元音素(senone)),或者大于一个音素的单元(例如,双音素或三音素或多音素)。一方面,图5a中描绘的神经网络可以在输入节点501和输出节点502之间具有一个或多个隐藏层。优选地,检测器500包括递归神经网络(例如,长短期记忆(lstm)神经网络)以用于识别时变序列。单个唤醒短语检测器500还包括匹配块503,该匹配块503标识在输出502处提供的子短语单元的序列何时与用于唤醒短语的预定义序列相匹配,并且提供关于匹配是否存在的指示504(例如,单个定制唤醒短语已经被检测到)。[0062]参考图5b,示出了多个唤醒短语检测器510,其包括类似于图5a的基于神经网络的唤醒短语检测器但是被配置为识别两个唤醒短语的神经网络。检测器510包括一组输入音频特征511和一组输出512,它们是在用于两个唤醒短语中的每一个的最近的子短语单元序列中已经被说出的最有可能的子短语单元。第一匹配块513标识子短语单元的序列何时与用于第一唤醒短语的序列相匹配,并且提供关于匹配是否存在的第一指示515。第二匹配块514标识子短语单元的序列何时与用于第二唤醒短语的序列相匹配,并且提供关于针对第二唤醒短语匹配是否存在的第二指示516。第一匹配块513和第二匹配块514共享一些子短语单元但是也具有一些唯一的子短语单元作为输入。因此,匹配块513和514被配置为支持例如具有一些重叠的子短语单元的两个唤醒短语(例如,“heyhound”和“okayhound”),它们具有一些共同的子短语单元(例如,“hound”)。检测器510还包括判定块517,判定块517执行逻辑或运算以确定第一指示515或第二指示516中的任何一个是否指示正匹配,并且输出最终指示518,该最终指示512指示对于两个唤醒短语中的至少一个是否存在正匹配。正匹配518用于指示相关联的虚拟助手设备108“唤醒”并响应后续口述请求。[0063]参考图5c,示出了用于发现任何数量的口述唤醒短语的完全基于神经网络的唤醒短语检测器520。检测器520包括一组输入音频特征521、特征的隐藏层522以及最终输出节点523,其指示短语检测器520何时已识别出多个口述唤醒短语中的任何一个,并且将关于识别的指示提供为输出524。优选地,图5c的神经网络是递归的,以捕获唤醒短语的语音音频的时变性质。在一些方面,隐藏层可能不是必需的,但是可能表示类似于子短语单元的特征。通过使用每个期望的唤醒短语的正示例的训练数据集,可以针对任何数量的唤醒短语来训练图5c中描绘的这种神经网络。该方法对类似的唤醒短语和非常不同的唤醒短语(例如,在不同的人类语言中有意义的唤醒短语)起作用。对于数量非常多的唤醒短语,较高的准确性将受益于显示为隐藏特征522的较大数量的隐藏节点或隐藏层。[0064]尽管本说明书包括许多细节,但是这些细节不应当被解释为限制,而应当被理解为对特定于具体实现方式的特征的描述。在本说明书中,在单独的实现方式的上下文中描述的某些特征也可以在单个实现方式中以组合方式实现。相反,在单个实现方式的上下文中描述的各种特征也可以分别在多个实现方式中实现或者以任何合适的子组合方式实现。而且,尽管以上可以将特征描述为以特定组合的方式起作用并且甚至最初要求如此,但是在一些情况下,来自所要求保护的组合中的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以涉及子组合或者子组合的变型。[0065]类似地,虽然在附图中以特定顺序描绘了操作,但是这不应当被理解为要求以所示的特定顺序或以连续的顺序来执行这种操作,或者执行所有示出的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,在上述实现方式中的各种系统组件的分离不应当被理解为在所有实现方式中都需要这种分离,并且应当理解的是,所描述的程序组件和系统通常可以一起被集成在单个软件产品中或者被打包在多个软件产品中。[0066]本文中已经参考附图描述了各种实施例。然而,将显而易见的是,在不脱离如所附权利要求书中阐述的所公开的实施例的较宽范围的情况下,可以对其进行各种修改和改变,并且可以实现附加的实施例。此外,通过考虑说明书和对本公开的一个或多个实施例的实践,其他实施例对于本领域技术人员将是显而易见的。因此,旨在将本公开和本文的示例仅视为示例性的,其中所公开的实施例的真实范围和精神由示例性权利要求的以下列表指示。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1