与语言无关的唤醒词检测的技术的制作方法
背景技术:
系统可以是支持语音的,从而使得用户能够经由语音与系统进行交互,例如,通过使得用户能够说出命令来控制系统。接入(engaging)支持语音的系统常常需要用户向支持语音的系统发信号通知用户打算通过说话来与系统进行交互。例如,支持语音的系统可以被配置为在如下情况之后开始识别语音:提供手动触发(诸如推动按钮(例如,物理设备的按钮和/或语音识别软件应用的用户界面内的按钮))、应用的启动或与系统的其它手动交互以唤醒设备或者使系统意识到紧跟手动触发之后的语音是针对该系统的。然而,手动触发使得与支持语音的系统的交互变复杂,并且在一些情况下,可能不方便或不能使用(例如,当用户的手以其它方式占用时(诸如当操作车辆时),或当用户距离系统太远而无法手动地接入系统或其界面时)。
当移动设备在低功率模式下(例如,在睡眠、休眠或空闲模式下)工作时,接入话音响应系统所需要的动作通常变得甚至更加广泛。具体地,在可使用手动动作或显式话音触发来接入话音响应系统之前,用户需要首先唤醒移动设备本身。例如,用户可能必须按压按钮以开启显示器和/或启用一个或更多个处理器,可能必须操纵一个或更多个控件以使移动设备为使用做好准备,和/或可能必须在移动设备已在一定时段内不活动的情况下输入密码。为了解决手动触发的不便(以及经常造成的不适用性),一些支持语音的系统使得能够通过说出话音触发来开始接入系统,从而消除至少一些(若非全部的话)手动动作并且通常促进对支持语音的系统的免提访问。话音触发可以包括指定的词或短语(例如,“hellodragon”),该指定的词或短语由用户说出,以向支持语音的系统指示用户打算与系统进行交互(例如,以向系统发出一个或更多个命令)。
话音触发在本文中还被称为“唤醒词(wake-upword)”或“wuw”。在已经检测到唤醒词之后,系统开始识别由用户所说的后续语音。在大多数情况下,除非且直到系统检测到唤醒词为止,否则系统将假定从环境接收到的声学输入不是针对系统的或者并不意在供系统使用,并且不会进一步处理该声学输入。如果设备(例如,诸如智能电话的移动设备)在低功率模式下工作,则该设备将保持不活动,直到该设备检测到唤醒词为止。
技术实现要素:
一些实施方式包括一种在用户设备上启用目标语言的唤醒词检测的方法。所述方法包括以下步骤:接收用户用所述目标语言说出唤醒词的声学输入;把从所述声学输入获取的声学特征提供给存储在所述用户设备上的声学模型,以获得与由所述用户用所述目标语言说出的唤醒词相对应的语音单元序列,所述声学模型针对与所述目标语言不同的源语言的训练数据的语料库进行了训练;以及将所述语音单元序列存储在所述用户设备上,以在后续唤醒词检测中使用。
一些实施方式包括被配置为启用目标语言的唤醒词检测的用户设备,所述用户设备包括:至少一个麦克风,所述至少一个麦克风被配置为从所述用户设备的环境获得声学信息;至少一个计算机可读介质,所述至少一个计算机可读介质存储声学模型,该声学模型针对与所述目标语言不同的源语言的训练数据的语料库进行了训练;以及至少一个处理器,所述至少一个处理器联接到所述至少一个计算机可读介质并且被编程为执行以下操作:从所述至少一个麦克风接收所述用户用所述目标语言说出唤醒词的声学输入;把从所述声学输入获取的声学特征提供给所述声学模型,以获得与由所述用户用所述目标语言说出的唤醒词相对应的语音单元序列;以及将所述语音单元序列存储在所述用户设备上,以在后续唤醒词检测中使用。
一些实施方式包括一种被配置为执行目标语言的唤醒词检测的用户设备。所述用户设备包括:至少一个麦克风,所述至少一个麦克风被配置为从所述用户设备的环境获得声学信息;至少一个计算机可读介质,所述至少一个计算机可读介质存储针对与所述目标语言不同的源语言的训练数据的语料库进行了训练的声学模型,并且存储通过把从包括所述用户用所述目标语言说出唤醒词的音频获取的声学特征提供给所述声学模型而获得的第一语音单元序列;以及至少一个处理器,所述至少一个处理器联接到所述至少一个计算机可读介质,并且被编程为执行以下操作:当所述用户设备在低功率模式下工作时,从所述至少一个麦克风接收所述用户用所述目标语言说话的声学输入;把从所述声学输入获取的声学特征应用于所述声学模型,以获得与所述声学输入相对应的第二语音单元序列;至少部分地通过将所述第一语音单元序列与所述第二语音单元序列相比较来确定所述用户是否说出了所述唤醒词;以及如果确定了所述用户说出了所述唤醒词,则退出所述低功率模式。
一些实施方式包括一种在用户设备上执行唤醒词检测的方法,所述方法包括以下步骤,当所述用户设备在低功率模式下工作时:接收用户用目标语言说话的声学输入;把从所述声学输入获取的声学特征提供给存储在所述用户设备上的声学模型,以获得与所述声学输入相对应的第一语音单元序列,所述声学模型针对与所述目标语言不同的源语言的训练数据的语料库进行了训练;至少部分地通过将所述第一语音单元序列与存储在所述用户设备上的第二语音单元序列相比较来确定所述用户是否说出了所述唤醒词,所述第二语音单元序列是通过把从包括所述用户用所述目标语言说出所述唤醒词的音频获取的音频特征应用于所述声学模型而获得的;以及如果确定了所述用户说出了所述唤醒词,则退出所述低功率模式。
附图说明
将参考下图描述各个方面和实施方式。这些图不一定按比例绘制。
图1例示了根据从声学输入获取的声学特征来提供序列数据的声学模型的示例;
图2例示了根据一些实施方式的用于启用与语言无关的唤醒词检测的方法;
图3例示了根据一些实施方式的执行用户语言的唤醒词检测的方法;
图4a和图4b例示了根据一些实施方式的可在上面启用和执行与语言无关的唤醒词检测的示例性移动设备;以及
图5例示了可以在上面执行本文描述的技术的示例性计算机系统。
具体实施方式
如上面所讨论的,唤醒词检测促进设备(例如,在低功率模式下工作的移动设备)的话音激活。然而,唤醒词检测在由给定用户所说的语言中可能是不可用的。具体地,自动语音识别通常涉及处理语音信号,以从该语音信号中提取相关声学特性(例如,梅尔频率倒谱系数(mfcc:mel-frequencycepstralcoefficient))并将这些声学特性应用于声学模型,该声学模型被配置为提供与语音信号中包含的基本语音单元(例如,音素、音位等)的可能序列有关的假设。通常使用训练数据的相对大的语料库来训练声学模型,以便正确地识别所说话语的语音学(phonetic)内容。例如,可以利用声学训练来训练一个或更多个声学模型。经由训练,声学模型“学习”所利用的训练数据的声学特性,以便在随后部署经训练的asr系统时能够对所接收的语音数据中的语音单元序列进行准确的识别。为了实现适当的训练,通常需要给定语言的相对大量的训练数据(例如,数百或数千小时的语音数据)来学习对应语言的特性和统计。
已经使用多种机器学习技术来实现声学模型,包括但不限于多层神经网络、隐马尔可夫模型(hmm)、高斯混合模型(gmm)等。然后根据与通过声学模型确定的基本语音单元序列有关的假设,来确定诸如词或短语这样的较大语音单元。通常,被训练用于捕获语言统计以提供特定词序列的可能性的语言模型然后用于假设通过由声学模型产生的语音单元序列所表示的最可能的词序列。这样,可将语音输入转换成包含在语音信号中的词序列,从而将音频信号转换为其语言内容。
现代系统经常在云中提供自动语音识别服务。具体地,经常通过可经由一个或更多个网络(例如,经由因特网)访问的自动语音识别服务器来提供语音识别服务。网络连接设备(例如,个人计算机、诸如膝上型电脑和智能电话这样的移动设备等)因此可访问语音识别服务,以使得经由云对网络连接设备接收到的语音输入的内容进行识别。语音识别服务通常将提供多种语言的全面语音识别服务,例如,通过训练各种期望语言的声学模型和语言模型。这样,可使用能够通过网络进行通信(例如,能够访问因特网)并且被配置为与自动语音识别服务进行通信的任何设备来执行多种语言的复杂自动语音识别。在移动环境中,用户可以对用户移动设备(例如,智能电话、个人数字助理、可穿戴设备或任何其它移动设备)说话,并且由移动设备捕获的语音可通过网络发送,以通过经由云提供的自动语音识别服务进行识别。
然而,移动设备通常是功率有限的,因为经常期望它们在不具备电池电源时在相对延长的时段内工作。为了保存电力,移动设备经常在持续处于不活动状态一段时间之后进入低功率模式(例如,睡眠、空闲或休眠模式)。低功率模式通常指如下的任何模式或状态:进入该模式或状态,以保存一个或更多个唤醒动作照惯常所需的用于退出(例如,以激活移动设备)的电力。移动设备可以具有多于一种低功率模式,并且在进入低功率模式时,不同的移动设备可以将不同的部件断电。然而,移动设备通常将具有低功率模式的某种变化,其照惯常需要动作以退出低功率模式并变换到活动模式。
进入低功率模式可以包括关掉显示器、关闭一个或更多个处理器(例如,禁用与一个或更多个处理器相关联的时钟树)和/或停用在保持工作的情况下将以其它方式汲取电力的部件。在指定的时间间隔之后自动进入低功率模式可以显著地延长移动设备在需要再充电之前在电池电源情况下工作的时段。鉴于保存移动设备中的电力的相对重要性,许多移动设备在断电并进入睡眠之前默认在相对短的持续时间内处于不活动状态,使得当用户想要访问移动设备上的功能时,移动设备可以经常处于低功率模式下。
因此,当在低功率模式下工作时,移动设备通常将不能访问在云中提供的自动语音识别服务,因为建立网络连接以每当移动设备接收到声学输入时(例如,当麦克风检测到声学活动时)利用云资源来评估是否已说出了唤醒词能利用明显足够的处理功率来阻挠(frustrate)首先将移动设备断电到低功率模式的努力。因此,使用网络资源的唤醒词检测通常是不可用的并且在许多情况下可能是不可行的。结果,通常使用可被在低功率模式下工作的移动设备(例如,话音活动检测器、电话回路部件、用于执行小词汇识别的低功率处理器等)利用的有限资源来执行唤醒词检测。因此,对于寻求唤醒词检测的语言的范围来说,适当训练的声学模型在移动设备上可能是不可用的,至少部分地因为许多语言或甚至多种语言的声学模型在移动设备本身上通常是不可用的。因此,对于希望此特征能够用于他们的母语的各式各样的扬声器而言,唤醒词检测可能是不可用的。
发明人已经认识到,可使用针对第一语言训练的声学模型来对用与第一语言不同的第二语言所说的话语的音素内容进行识别。如本文所使用的,针对第一语言训练或者经由第一语言训练的声学模型指使用主要地、基本上或排他地是第一语言的训练数据来训练的声学模型。这样,可使用针对第一语言训练的声学模型来协助执行任何期望语言的唤醒词检测,而不管对于该期望语言而言,经训练的声学模型是否可被移动设备利用。因此,可以使用任何可用的且经适当训练的声学模型(例如,在移动设备上和/或可被处于低功率模式下的移动设备利用的声学模型)来执行与语言无关(languageindependent)的唤醒词检测。
根据一些实施方式,用户说出包括期望语言(目标语言)的期望唤醒词的或者由该唤醒词构成的登记话语(enrollmentutterance),针对该登记话语,例如,经训练的声学模型可能是不可用的。例如,寻求期望语言的唤醒词检测的移动设备可能尚未存储有针对期望语言训练的声学模型,和/或虽然可以经由云获得这样的声学模型,但是当移动设备在低功率模式下工作时这样的声学模型可能是不可用的。然而,针对第二语言(源语言)训练的声学模型可以是可用的(例如,可以被存储在移动设备上和/或在移动设备在低功率模式下工作时是可访问的)。可以把从登记言语获取的声学特征用作可用声学模型的输入,以获得被认为与所接收的声学特征相对应的语音单元(例如,音位、双音素、三音素、hmm状态或任何其它适合的子词语音单元)序列。得到的语音单元序列然后可被存储为由用户用期望语言说出的唤醒词的发音(例如,可以作为期望唤醒词的扬声器的发音存储在用户词典中)。也就是说,可以存储发音并使其与期望唤醒词相关联以用于后续的唤醒词检测。
根据一些实施方式,登记话语用于使声学模型适应扬声器。具体地,可以对声学模型应用扬声器适应以获得扬声器适应的声学模型,该声学模型可用于扬声器以执行唤醒词检测。例如,登记话语和来自声学模型的所得的语音单元序列可以用于使声学模型适应用户。以这种方式,例如已经基于源语言的训练数据的大语料库进行了训练的声学模型可被使用并进行适应,以执行期望目标语言的唤醒词检测。因此,可以通过执行在上面讨论并在下面进一步详细描述的处理来实现与语言无关的唤醒词检测。根据一些实施方式,可以将一个或更多个噪声模型添加到登记话语,以改善唤醒词检测在存在噪声的情况下的鲁棒性并且促进扬声器适应。
下文是关于与语言无关的唤醒词检测的技术的各种构思的更详细描述以及与语言无关的唤醒词检测的技术的实施方式。应当理解,可以许多方式中的任一种来实现本文描述的各个方面。仅出于例示性目的,本文提供了具体实现方式的示例。另外,在下面的实施方式中描述的各个方面可以单独或按照任何组合使用,并且不限于本文显式地描述的组合。
图1例示了经由训练数据105(例如,给定语言(例如,英语)的语音数据的大语料库)训练的声学模型150。声学模型150被配置为接收从语音数据获取和/或提取的声学特征110(例如,从输入语音数据的期望数量的相邻和/或重叠帧中提取的mfcc或其它期望声学特征)作为输入。在训练期间,声学特征110与从训练数据105获取的声学特征相对应,并且,在继训练之后的部署期间,特征110与从语音数据获取的待识别的声学特征相对应。声学模型150包括多个可配置参数,其值可以在训练期间迭代地进行调整。所述多个参数的性质将取决于正在使用的声学模型的类型(例如,神经网络、hmm、gmm等)。
声学模型150响应于接收到的声学特征110而以由指派给相应多个可配置参数的值的当前集支配的方式输出序列数据120。序列数据120通常包括被认为与接收到的声学特征110相对应的语音单元(例如,音位、双音素、三音素或任何其它适合的子词语音单元)序列的假设。在训练期间,可以将所输出的序列数据120与预期序列数据(在本文中还称为“基础事实”)相比较,并且基于该比较,相应地调整所述多个参数的值的当前集(或值的当前集的一部分)。
可以以许多方式获得所预期的序列数据,例如,通过使用已知给出足够准确/质量的结果的现有经训练的声学模型,并且将训练数据应用于现有经训练的声学模型、使用先前针对训练数据获得的存储的序列数据、专家生成的序列数据(如果可行的话)或其某种组合。使用可用的训练数据来重复以下步骤的处理:产生序列数据、将该序列数据与预期序列数据相比较并且更新声学模型的参数值。在完成训练之后,经训练的声学模型具有针对如下多个参数建立的值集:所述多个参数根据声学模型从处理训练数据“学习”到的东西来产生序列数据。当被部署用于执行自动语音识别(asr:automaticspeechrecognition)时,从用户语音输入获取的声学特征被提供给经训练的声学模型,该声学模型输出与由用户所说的词序列的假设相对应的序列数据。
如上面所讨论的,针对用户的所说语言训练的声学模型可能不可被移动设备用于执行唤醒词检测(例如,针对用户语言的训练数据进行了训练的声学模型可以不位于移动设备上,以便在低功率模式下使用)。因此,移动设备的话音激活对用户而言可能是不可用的。发明人已经开发了如下技术:利用使用源语言的训练数据进行了训练的声学模型来促进目标语言的唤醒词检测,针对该唤醒词检测,针对目标语言训练的声学模型是不可用的,如在下面进一步详细地讨论的。因此,可被处于低功率模式下的移动设备利用的任何声学模型可用于执行用户语言的唤醒词检测,如在下面进一步详细地讨论的。
图2例示了根据一些实施方式的、利用针对源语言训练的声学模型来对目标语言的语音数据执行唤醒词检测的方法。如本文所使用的,源语言是指声学模型训练所针对的训练数据的支配的、主要的或排他性的语言,并且目标语言是指与寻求唤醒词检测的源语言不同的语言。在动作210中,从用目标语言说话的用户获得登记话语。例如,用户可以说出包括用目标语言说的唤醒词的登记话语,或者登记话语可以由唤醒词排他地构成。可以提示用户用目标语言说出由系统预先确定的唤醒词,或者用户能够说出用户选择的唤醒词。后者情况使得用户能够定制与其设备进行交互的唤醒词,和/或使得用户能够将唤醒词用作命令,如在下面进一步详细讨论的。
在动作220中,与包含在登记话语中的唤醒词相对应的语音数据被提供给针对源语言进行了训练的声学模型(例如,已经针对源语言的语音数据的大语料库进行了训练的训练有素的声学模型)。具体地,声学特征可以从登记话语获取并且由经训练的声学模型进行处理,以对与用目标语言说出的唤醒词相对应的语音单元序列(例如,音位序列)进行识别。以这种方式,经由源语言训练的声学模型用于产生音位序列,该音位序列表征用目标语言说出的唤醒词的声音。
在动作230中,把通过处理用目标语言说出的唤醒词而产生的语音单元序列,存储(例如,在用户移动设备上的词典中)作为对唤醒词进行表征的语音单元的参考序列。例如,语音单元序列可以包括对用目标语言说出的唤醒词进行表征的源语言音位序列。然后可在部署时使用语音单元的此参考序列来检测用户何时用目标语言说出了唤醒词(例如,通过将使用声学模型获得的与用户对在低功率模式下工作的移动设备说出的语音数据有关的语音单元的输入序列与语音单元的参考序列相比较),如在下面进一步详细地讨论的。
在动作240中,将一种或更多种类型的噪声添加到登记话语以获得有噪声的登记话语,进而改善对应声学环境中的唤醒词检测的性能。具体地,当用户在寻求话音激活移动设备时,用户和设备可以处于与登记期间不同的声学环境中。具体地,用户可以在相对无噪声的环境中执行登记,但是可能希望在驾驶、步行的同时或者在具有杂散声学噪声的其它声学环境中执行话音激活。因此,发明人已经领会到,通过添加一种或更多种类型的噪声,可以改善唤醒词检测。具体地,可以将用户说出唤醒的常见环境中存在的噪声添加到登记话语,以在被用在那些常见环境中时改善唤醒词检测。例如,汽车噪声、街道噪声或任何其它期望的噪声可以被添加到登记话语并应用于声学模型,以获得与有噪声的登记话语相对应的相应音位序列。此后,使用登记话语、有噪声的登记话语和对应的相应音位序列来使声学模型适应与添加到登记话语的一个或更多个噪声模型相对应的噪声环境(即,在下面进一步详细地描述的动作250中)。然后可以此后使用噪声适应的声学模型来改善对应噪声环境中的唤醒词检测的性能。应该领会的是,可以使用任何组合的任何期望类型的噪声来破坏登记话语,以使声学模型适应对应噪声环境,因为在这方面,各方面是不受限制的。应该进一步领会的是,在一些实施方式中,可以不执行动作240。
在动作250中,登记话语(即,包括唤醒词的音频信号)、有噪声的登记话语(例如,在执行动作240的实施方式中)以及对登记话语的声学特征进行处理的声学模型的输出(例如,与唤醒词相对应的语音单元的参考序列)用于对声学模型执行扬声器适应。存在使用来自用户的语音数据来使声学模型适应扬声器的许多技术。对特定适应技术的选择可以由被适应的声学模型的类型来驱动。例如,某些适应技术可能相比于适用于基于神经网络的声学模型更适用于基于gmm或hmm的声学模型。适合的适应技术包括但不限于最大后验(map:maximumaposteriori)适应、最大似然线性回归(mllr:maximumlikelihoodlinearregression)适应、线性输入网络(lin:alinearinputnetwork)层(例如,针对基于神经网络的声学模型)、声道长度归一化(vtln:vocaltractlengthnormalization)、聚类适应技术、特征话音技术等。可以执行任何适合的扬声器相关适应来为特定用户提供适应声学模型,因为在这方面,各方面是不受限制的。然后可使用适应声学模型来改善针对目标语言的用户的唤醒词检测的性能,如在下面进一步详细地讨论的。
应该领会的是,虽然使用登记话语和/或使用一个或更多个噪声模型来适应声学模型促进了改善的唤醒词检测,但是这样的技术是可选的并且不需要执行(例如,执行动作240和/或250是可选的),因为执行与语言无关的唤醒词检测在这方面不受限制。另外,一个或更多个任务可以与由用户登记的唤醒词相关联。例如,除了或者代替当检测到唤醒词时从低功率转换,用户可能想要执行一个或更多个任务。例如,用户可以提供包括由用户用目标语言说出的唤醒词“现在是几点?”的登记话语,并且移动设备用时间进行响应(例如,通过将时间显示在显示器上或者合成话音响应)的任务可以与通过使用经由源语言训练的声学模型,来处理此唤醒词而获得的参考序列相关联。提供温度或者提供可听警报(例如,嘟嘟声、铃声)或触觉警报(例如,振动)以帮助用户定位他们的移动设备是可以与唤醒词相关联的任务的另外示例。任何合适的任务可以与唤醒词相关联,因为在这方面,各方面是不受限制的。此外,应该领会的是,可以重复动作210-230(以及可选地动作240)以获得针对任何数量的唤醒词的参考序列。根据一些实施方式,可采用方法200来提供将移动设备转换到各种不同的功率模式的唤醒词、在不用离开当前低功率模式的情况下执行任务和/或其组合。以这种方式,可创建用户语言的命令词汇,其可用于激活移动设备和/或执行与相同或不同的唤醒词相关联的各种任务,从而使得用户能够定制用户设备的话音激活能力。
应该领会的是,本文描述的技术不依赖于任何特定源语言或目标语言。只要经由第一语言训练的声学模型是可用的,就可使得设备能够执行用户期望的任何语言的唤醒词检测,因此可实现与语言无关的唤醒词检测。也就是说,本文描述的技术不限于与任何特定源语言、目标语言或源语言和目标语言的组合一起使用。
图3例示了使用针对与目标语言不同的源语言的训练数据训练的声学模型来执行目标语言的唤醒词检测的方法。具体地,声学模型可以是用来获得与由用户用与源语言不同的目标语言所说的唤醒词相对应的语音单元的参考序列(例如,通过执行关于图2所描述的方法200而获得并存储的语音单元的参考序列)的声学模型。可以例如在以低功率模式工作的用户移动设备上执行唤醒词检测,其中,移动设备具有可在不用退出低功率模式的情况下(例如,在不用激活或者唤醒移动设备的情况下)利用的本地声学模型。
在动作310中,从用户接收声学输入。例如,移动设备可以从它所位于的环境接收声学输入。在动作320中,声学输入通过经由源语言训练的声学模型进行处理以获得与声学输入相对应的语音单元的输入序列。例如,声学特征(例如,mfcc)可以从声学输入获取并且作为输入提供给声学模型,该声学模型转而生成与声学输入相对应的语音单元序列(例如,生成与声学输入中存在的声音相对应的音位序列)。
在动作330中,将语音单元的输入序列与语音单元的参考序列(例如,存储在用户移动设备上的词典中)相比较。具体地,使用经由源语言训练的声学模型来对包括由用户用目标语言说出的唤醒词的登记话语进行处理而获得的语音单元的参考序列可以用于评估语音单元的输入序列是否匹配(例如,评估单位的语音的输入序列还与说出唤醒词的用户相对应的可能性)。可以以任何合适的方式比较输入序列和参考序列,这会产生输入序列与参考序列之间的相似性的指示、提供输入序列与用目标语言说出唤醒词的用户相对应的可能性的指示、和/或产生与语音单元的输入序列是否被认为来自于说出唤醒词的用户有关的判定。在动作340中,如果确定了在语音单元的输入序列与参考序列之间存在匹配(即,如果确定了语音单元的输入序列与已说出了唤醒词的扬声器相对应),则启动从低功率模式转换的处理和/或可以执行与唤醒词相关联的一个或更多个任务。例如,当确定了用户已说出了唤醒词时,可以启动唤醒用户移动设备的处理(例如,可以将移动设备激活成通过唤醒词指示的程度,诸如将移动设备转换到活动状态)。结果,可以将移动设备转换到活动模式以便与用户进一步交互。
作为另一示例,当确定了用户已说出了唤醒词时,可以确定是否已使任何任务与被确定为已由用户说过的唤醒词相关联,并且,如果是这样的话,则可以执行一个或更多个关联任务的启动和/或执行。可以是如下情况:在一些实例中,与唤醒词相关联的任务不要求移动设备从低功率模式转换(例如,其中电话发嘟嘟声、振动或者以其它方式发出声学、触觉或其它输出以向用户报警其位置的任务;呈现时间、日期、温度的任务等)。在这样的实例中,移动设备可以保持在低功率模式下并且在低功率模式下执行一个或更多个任务。在其它实例中,执行任务可能要求移动设备退出低功率模式。在这样的情况下,可以退出低功率模式,然后执行与所检测到的唤醒词相关联的任务。应该领会的是,可以对照已被存储的语音单元的多个参考序列来执行动作330,所述语音单元与已经获得参考序列的多个有效唤醒词相对应。以这种方式,可执行与语言无关的唤醒词检测和/或话音激活任务,从而促进移动设备的由用户所说的任何语言的话音激活和/或控制。
图4a和图4b例示了移动设备,该移动设备可以被配置为执行与语言无关的唤醒词检测以进行任何期望语言的话音激活和/或控制。移动设备400被例示为具有“智能电话”的许多部件特性,但是应该领会的是,移动设备400通常可以是:能够进行无线通信(和/或有线通信)并且包括能够接收声学输入的输入端(例如,一个或更多个麦克风)的任何便携式设备。移动设备400包括用于将声能转换为电能并且反之亦然的一个或更多个换能器430。例如,换能器430可以包括布置在移动设备上以允许声学信息的输入/输出(i/o)的一个或更多个扬声器和/或一个或更多个麦克风。不同的移动设备可以包括不同数量和布置的换能器,该换能器中的任一个可以适用于促进声学i/o。
移动设备400还可以包括一个或更多个无线通信部件460。例如,诸如蜂窝电话这样的移动通信设备通常将具有能够与一个或更多个蜂窝网络进行通信的无线收发器。另选地或另外地,无线通信部件460可以包括能够与一个或更多个其它网络或外部设备进行通信的无线收发器。例如,无线通信部件460可以包括被配置为经由ieee802.11标准(wi-fi)进行通信以连接到局域网(lan)、诸如因特网的广域网(wan)的部件,和/或可以包括用于连接到
为了简化示例性移动设备400的例示,无线通信部件460用于表示在移动设备400上实现的任何无线通信部件460,并且可以包括可以是分离部件或集成部件、可以是独立系统部件或者可以是与一个或更多个其它无线部件进行通信的不同系统部件的一个或更多个部件。也就是说,无线通信部件460表示可以在移动设备上实现的部件中的一个或任何组合,其使得移动设备400能够以无线方式与一个或更多个网络、系统和/或其它设备进行通信。以这种方式,当移动设备400活动时,移动设备400可以经由连接到网络的一个或更多个自动语音识别服务器(例如,经由云提供的自动语音识别服务)访问自动语音识别服务。
移动设备400还可以包括用于在视觉上向用户呈现信息(例如,向用户呈现一个或更多个提示)的显示器410。还可以将显示器410配置为输入设备,例如,通过对触摸、笔输入等做出响应。移动设备400可以包括使得用户能够与移动设备对接的一个或更多个其它输入部件420。例如,按钮420可以用于在移动设备已进入诸如睡眠模式的低功率模式时启动移动设备的唤醒,和/或可以在移动设备活动时被用作选择按钮或者可以包括任何其它功能。按钮420可以是电源按钮、音量按钮,或具有任何期望功能的任何其它输入部件。取决于移动设备的设计,不同的移动设备可以具有不同数量和布置的输入部件420。
移动设备400还可以包括其它部件,诸如一个或更多个摄像头450、一个或更多个发光二极管(led)470、一个或更多个运动检测器和/或任何其它部件。移动设备400还可以包括:用于将移动设备连接到电源(例如,墙上电源)的电源端口490,和/或用于向经由数据线缆连接的另一设备提供数据/从经由数据线缆连接的另一设备接收数据的数据端口。根据一些移动设备设计,数据端口和电源端口是同一端口并且可用于电源和数据二者。应该领会的是,移动设备400仅仅是适合于与本文描述的话音激活技术中的任何一种或组合一起使用的移动设备的示例。描述移动设备部件,以例示智能电话的公共特征,但是不要求这些部件中的特定一个或组合。本文描述的技术不限于与具有任何特定数量或布置的部件的任何特定移动设备一起使用,并且具有接收声学输入的能力的任何移动设备可以是合适的,因为在这方面,本文描述的各方面是不受限制的。
图4b例示了移动设备(诸如图4a中例示的移动设备400)内部的系统部件的示例配置。移动设备的示例性系统部件可以包括主处理器415、辅处理器425和音频编解码器405,为了例示的方便和清楚,该示例性系统部件被例示为经由公共总线455互连。移动设备400还包括用于对数据(例如,可由处理器执行的指令或程序)、状态数据或由移动设备利用的任何其它信息进行存储的至少一个计算机可读介质435。应该领会的是,给定移动设备可以包括使用任何类型的互连以许多方式中的任一种互连的更多或更少的处理部件,并且提供图4b例示的特定配置,以演示根据一些实施方式的通常与低功率功能有关的一些构思。
应该领会的是,可以在具有单个处理器的移动设备上实现(或者即使当多个处理器可用时也在单个处理器上执行)本文描述的技术中的任一种,并且提供关于图4b的以下讨论,以对被配置为在一种或更多种低功率模式下工作的移动设备的示例进行描述。因此,图4b的配置仅仅用于对具有能够处理信息并且经由某种类型的互连或一系列的互连或联接来交换信息的主处理器和辅处理器的移动设备进行例示,而不限制可以实现本文描述的技术的移动设备的类型。具体地,图4b例示的移动设备用于描述如下示例:启用并执行与语言无关的唤醒词检测(即,声学模型在诸如移动设备的低功率模式的当前模式下通常不能使用的语言唤醒词检测)以使得能够进行用户语言的话音激活和/或控制。
处理器415可以是系统的主处理器或主要处理器,并且通常作为移动设备的中央处理单元来工作,因此可以包括可以在工作时(例如,当时钟树被启用并且处理器在执行指令时)消耗相对大量功率的高速处理器。因此,当移动设备进入低功率模式(例如,断电进入睡眠或空闲模式)时,主处理器可以被断电到期望程度(例如,可以禁用时钟树中的一个或更多个时钟以保存电力)。当移动设备唤醒(例如,进入活动模式)时,可以激活或者加电主处理器以执行所需的处理任务。一般地说,当移动设备400进入活动模式时,设备被启用以进行网络通信并且可访问云服务(例如,经由因特网的自动语音识别服务)。
处理器425可以是诸如用于处理由移动设备执行的处理任务的某个部分或方面的数字信号处理器(dsp)、协处理器和/或专用处理器这样的辅助处理器,以协助主处理器执行某个功能、处理某些专门处理任务、和/或当移动设备400在低功率模式下工作时执行某些处理任务。因此,辅处理器可以是比主处理器更低功率的处理器,因为辅处理器被启用并工作(例如,执行指令)时可以消耗更少的功率。在一些实施方式中,辅处理器可被配置为以较低的功率工作,和/或可以是较简单的并且需要较少的功率来加电和/或保持启用/加电,或者从功率观点来看可能通常在其它方面有吸引力。在一些实施方式中,处理器425不是分离的处理器而替代地是处理器415的一部分,当移动设备400处于睡眠、空闲和/或休眠模式下(例如,处于低功率模式下)时,该部分在低功率模式下保持可用,以执行某些处理任务。
为了使得能够在低功率模式下工作时话音激活移动设备,可能需要在低功率模式下监视移动设备的声学环境以获得声学输入并且确定该声学输入是否包括唤醒词或者该声学输入是否由杂散的声学活动引起。术语“杂散的声学活动”通常指在移动设备的声学环境中检测到的任何声学活动(包括语音),其不与使得话音响应系统能够或者应该起作用的唤醒词相对应。因此,当移动设备400在低功率模式下工作时,移动设备400可能无法访问网络和/或从功率角度来看每当移动设备400接收到声学输入时建立网络连接以进行与用户是否已说出了唤醒词有关的评估可能没有意义。因此,执行唤醒词检测可以限于移动设备400本地的和/或驻留在移动设备400上的资源。在这方面,移动设备400可以包括本地自动语音识别资源(例如,有限的asr资源),其包括声学模型以及对词(例如,一个或更多个唤醒词)的小词汇、小命令词汇等的发音信息进行存储的词典。声学模型可能例如已经针对主要或者完全用源语言(例如,英语)的训练数据进行了训练。本地自动语音识别资源可以存储在计算机可读介质435中并且部署为可由处理器415和/或处理器425执行的一个或更多个程序。
移动设备400的用户可以说与用于训练声学模型的源语言不同的语言。为了启用用户语言的唤醒词检测,可以执行本文描述的技术。例如,可以执行关于图2描述的方法200,以使得移动设备400能够执行与用于训练可用声学模型的源语言不同的目标语言的唤醒检测。具体地,可以提示用户用目标语言(例如,由用户所说的语言)说出包括期望唤醒词的登记话语。可以经由移动设备(例如,使用显示界面)、经由通过扬声器提供的合成语音或者经由界面要素中的任何一个或组合提示用户。移动设备400可以经由设备上提供的一个或更多个麦克风130(例如,通过执行关于图2描述的示例性动作210)获得登记话语。单独或者使用网络资源的移动设备400可以通过将由用户说出的唤醒词应用于声学模型(例如,通过执行关于图2描述的示例性动作220)来处理登记话语。例如,可以把从用目标语言说唤醒词的用户的音频获取的声学特征作为输入提供给用源语言训练的声学模型以获得与唤醒词相对应的语音单元序列。
从声学模型获得的语音单元序列可以存储在移动设备400上的词典(例如,存储在计算机可读介质435上的词典)中作为与用目标语言所说的唤醒词相对应的参考序列(例如,通过执行关于图2描述的示例性动作230)。此后可将所存储的语音单元序列用作参考序列来执行唤醒词检测,如在上面且在下面进一步详细地讨论的。另外,可以使用登记话语和语音单元的参考序列来使移动设备400本地的声学模型适应用户(例如,通过执行关于图2描述的示例性行为240),以改善针对特定用户的唤醒检测。此外,可以使用一个或更多个噪声模型来进一步适应声学模型以使声学模型适应一个或更多个对应的声学环境(例如,通过执行关于图2描述的示例性行为250)。
以这种方式,可使用移动设备400上的可用的(或者可被处于低功率模式下的移动设备400利用的)声学模型,来启用针对由用户所说的目标语言的一个或更多个唤醒词的唤醒词检测。应该领会的是,可针对任何数量的唤醒词重复该处理。具体地,用户可能期望使不同的唤醒词执行不同的功能。例如,用户可能想要具有用于唤醒移动设备的唤醒词以及移动设备执行关联任务的唤醒词。一些任务可能要求移动设备离开低功率模式,然而其它任务可能不要求。因此,通过重复该处理,用户可使用移动设备上的可用声学模型来创建用户语言的唤醒词命令词汇。因此,可以启用与语言无关的唤醒词检测,以实现用户语言的话音激活和/或控制。
继登记之后,由用户所说的语言的唤醒检测可由移动设备400执行。具体地,当移动设备400在低功率模式下工作时,移动设备可以监视声学环境以接收声学输入(例如,通过执行关于图3描述的示例性动作310)。例如,在低功率模式下,麦克风430可以继续接收可被执行低级处理(例如,话音活动检测、电话循环、频谱分析等)的声学输入。根据一些实施方式,通过麦克风430接收到的声学输入通过移动设备400本地的和/或可被处于低功率模式下的移动设备400利用的声学模型来处理以获得与声学输入相对应的语音单元序列(例如,通过执行关于图3描述的示例性动作320)。例如,声学特征可以从声学输入获取并且作为输入被提供给本地声学模型以获得对声学输入的声音进行表征的语音单元的输入序列。
进而可以将语音单元的输入序列与存储在移动设备400上(例如,存储在计算机可读介质435上)的语音单元的参考序列相比较,以评估用户是否说了唤醒词(例如,通过执行关于图3描述的示例性动作330)。如上面所讨论的,可以使用任何合适的比较来获得与用户是否用目标语言说了唤醒词有关的确定。当确定了用户说了唤醒词时,可以执行从低功率模式转换的启动、与唤醒词相关联的一个或更多个任务的启动或执行、或其组合(例如,通过执行关于图3描述的示例性动作340)。如上面所讨论的,可把从声学输入获得的语音单元的输入序列与存储在移动设备上的任何参考序列相比较以确定用户是否说了任何有效唤醒,并且当确定说了有效唤醒词时,可以执行对应的动作。以这种方式,即使经由用户语言训练的声学模型可能不可被移动设备400利用(例如,当在低功率模式下或者以其它方式工作时),也可实现移动设备400的用户语言的话音激活和/或控制。
可以连同此处提供的本公开的实施方式中的任一个一起使用的计算机系统500的例示性实现方式被示出在图5中,例如,以实现本文描述的技术中的任一种。计算机系统500可以包括一个或更多个处理器510以及一个或更多个产品,所述产品包括非暂时性计算机可读存储介质(例如,存储器520以及一个或更多个非易失性存储介质530)。处理器510可以以任何合适的方式控制将数据写入到存储器520和非易失性存储设备530以及从存储器520和非易失性存储设备530读取数据,因为在这方面,此处提供的本公开的各方面是不受限制的。为了执行本文描述的任何功能,处理器510可以执行存储在一个或更多个非暂时性计算机可读存储介质(例如,存储器520)中的一个或更多个处理器可执行指令,所述一个或更多个非暂时性计算机可读存储介质可以用作存储由处理器510执行的处理器可执行指令的非暂时性计算机可读存储介质。
为了执行本文描述的功能和/或技术,处理器510可以执行存储在一个或更多个计算机可读存储介质(例如,存储器520、存储介质等)中的一个或更多个指令,所述一个或更多个计算机可读存储介质可以用作存储由处理器510执行的指令的非暂时性计算机可读存储介质。计算机系统500还可以包括路由数据、执行计算、执行i/o功能等所需的任何其它处理器、控制器或控制单元。例如,计算机系统500可以包括用于接收数据的任何数量和类型的输入功能,和/或可以包括用于提供数据的任何数量和类型的输出功能,并且可以包括用于执行i/o功能的控制装置。例如,可以通过计算机系统500来实现处理器415和/或处理器425以及计算机可读介质435。
处理器510可以通过在本地存储在计算机系统500上或者可通过网络访问,来执行可被处理器利用的程序中的任何一个或组合。还可以通过计算机系统500来存储和执行本文描述的任何其它软件、程序或指令。计算机系统500可以是移动设备上的计算机系统。计算机系统500还可以作为独立计算机、服务器、分布式计算系统的一部分实现,并且可以连接到网络并能够通过网络访问资源和/或与连接到网络的一个或更多个其它计算机进行通信(例如,计算机系统500可以是可被在移动设备上实现的话音响应系统利用的网络资源的一部分)。
本文在一般意义上使用术语“程序”或“软件”指任何类型的计算机代码或处理器可执行指令集,可应用该计算机代码或处理器可执行指令集对计算机或其它处理器进行编程以实现如上面所讨论的实施方式的各个方面。另外,应该领会的是根据一个方面,当被实施时,执行此处提供的本公开的方法的一个或更多个计算机程序不必驻留在单个计算机或处理器上,而是可以以模块化方式分布在不同的计算机或处理器之间,以实现此处提供的本公开的各个方面。
处理器可执行指令可以具有许多形式(诸如程序模块),可以由一个或更多个计算机或其它设备执行。通常,程序模块包括执行特定任务或者实现特定抽象数据类型的例行程序、程序、对象、部件、数据结构等。通常,可以视需要在各种实施方式中组合或者分布程序模块的功能。
另外,数据结构可以以任何合适的形式存储在一个或更多个非暂时性计算机可读存储介质中。为了例示的简单,可以将数据结构示出为具有数据结构中的位置而相关的字段。可以同样地通过为具有非暂时性计算机可读介质中的传达字段之间的关系的位置的字段指派存储部,来实现这样的关系。然而,可以使用任何合适的机制来建立数据结构的字段中的信息间的关系,该机制包括借助使用指针、标签或建立数据要素间的关系的其它机制。
另外,可以将各种发明构思具体实现为一个或更多个处理,已经提供了该处理的示例。作为每个处理的一部分而执行的动作可以以任何合适的方式排序。因此,可以构造这样的实施方式:在该实施方式中,以不同于例示的顺序执行动作,这可以包括同时执行一些动作,即使这些动作在例示性实施方式中被示出为顺序动作。
如本文所定义和使用的,所有定义应该被理解为控制所定义的术语的词典定义和/或普通含义。
如此处在说明书中和在权利要求书中所使用的,在对一个或更多个要素的列表的引用中,短语“至少一个”应该被理解为意指从要素列表的要素中的任何一个或更多个中选择的至少一个要素,但是不一定包括在要素列表内具体列举的每一个要素中的至少一个并且不排除要素列表中的要素的任何组合。此定义还使得能够除在短语“至少一个”指代的要素的列表内具体识别的要素以外还可以可选地存在要素,而无论是与具体识别的那些要素有关还是无关。因此,作为非限制性示例,“a和b中的至少一个”(或者,等同地“a或b中的至少一个”,或者,等同地“a和/或b中的至少一个”)可在一个实施方式中指代至少一个a,可选地包括多于一个a,同时b不存在(以及可选地包括除b以外的要素);在另一实施方式中,指代至少一个b,可选地包括多于一个b,同时a不存在(以及可选地包括除a以外的要素);在又一实施方式中,指代至少一个a,可选地包括多于一个a,以及至少一个b,可选地包括多于一个b(以及可选地包括其它要素);等。
如此处在说明书中和在权利要求书中使用的短语“和/或”应该理解为意指如此结合的要素中的“任一者或两者”,即,在一些情况下结合地存在而在其它情况下分离地存在的要素。应该以相同的方式解释用“和/或”列举的多个要素,即,如此结合的要素中的“一个或更多个”。除通过“和/或”子句具体识别的要素以外还可以可选地存在其它要素,而无论是与具体识别的那些要素有关还是无关。因此,作为非限制性示例,当与诸如“包括”的开放式语言相结合地使用时,对“a和/或b”的引用可在一个实施方式中指代仅a(可选地包括除b以外的要素);在另一实施方式中,指代仅b(可选地包括除a以外的要素);在又一实施方式中,指代a和b两者(可选地包括其它要素);等。
在权利要求书中使用诸如“第一”、“第二”、“第三”等的序数术语来修饰权利要求要素本身并不意味着一个权利要求要素相对于另一权利要求要素的任何优先权、优先级或顺序或执行方法的动作的时间顺序。这样的术语仅仅用作标记,以将具有某个名称的一个权利要求要素与具有相同名称的另一要素区分开(针对序数术语的使用)。
本文使用的措辞和术语是出于描述的目的,并且不应该被视为限制性的。“包括”、“含有”、“具有”、“包含”、“涉及”及其变型的使用意在包含此后列举的项目和附加项目。
在已详细地说明本文所描述的技术的若干实施方式后,本领域技术人员将容易地想到各种修改和改进。这样的修改和改进旨在处于本公开的精神和范围内。因此,前面的描述仅作为示例,而不旨在是限制性的。这些技术仅像通过以上权利要求书及其等同物所规定的那样被限制。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除