上下文热词的制作方法

文档序号:18456857发布日期:2019-08-17 01:41阅读:270来源:国知局
上下文热词的制作方法

本说明书一般涉及自动语音处理。



背景技术:

使能语音的家庭或其他环境的现实——也就是说,其中用户只需要大声说出询问或命令,并且基于计算机的系统将在场并回答询问和/或使得执行命令的环境——就在我们身上。使能语音的环境(例如,家庭、工作场所、学校等)可以使用分布在环境的各个房间或区域中的连接的麦克风设备的网络来实施。通过这种麦克风的网络,用户有权利基本上从环境中的任何地方口头询问系统,而无需在他/她面前或甚至附近有计算机或其他设备。例如,在厨房烹饪的同时,用户可以问系统“三杯是多少毫升?”并且作为响应,从系统接收例如以合成的语音输出形式的回答。替换性地,用户可以问系统问题,诸如“我最近的加油站什么时候关门”,或者在准备离开房子时,问“我今天应该穿外套吗?”。

进一步,用户可以对系统进行询问和/或发出与用户的个人信息相关的命令。例如,用户可以问系统“我什么时候与约翰会面?”或者命令系统“提醒我回家后给约翰打电话”。



技术实现要素:

对于使能语音的系统,用户与系统交互的方式被设计为主要(如果不是唯一的话)是借助于语音输入。因此,潜在地拾取在周围环境中进行的所有话语(包括不指向系统的那些话语)的系统必须在任何给定话语指向系统时具有一些辨别的方式,而不是例如指向环境中存在的个体。实现这一点的一个方式是使用热词(hotword),该热词通过环境中的用户之间的协议被保留为被说出以引起系统的注意的预定词。在示例环境中,用于引起系统注意的热词是词语“好的,计算机”。因此,每当说出词语“好的,计算机”时,它就被麦克风拾取,传送到系统,该系统执行语音建模技术以确定是否说出了热词,并且如果是,则等待随后的命令或询问。因此,指向该系统的话语采取一般形式[热词][询问],其中这个示例中的“热词”是“好的,计算机”,并且“询问”可以是可以由该系统单独或经由网络与服务器结合语音识别、解析并对其进行操作的任何问题、命令、声明或其他请求。

在用户向使能语音的系统(诸如移动电话)提供若干基于热词的命令的情况下,用户与电话的交互可能变得笨拙。用户可以说“好的,计算机,播放我的家庭作业播放列表”。电话可以开始播放播放列表中的第一首歌曲。用户可能希望推进到下一首歌曲并说“好的,计算机,下一首”。为了推进到又一首歌曲,用户可以再次说出“好的,计算机,下一首”。为了减轻不断重复热词的需要,电话可以被配置为仅将“下一首”识别为热词和询问两者,或者在这种情况下识别为命令。利用这个特征,用户与电话和音乐应用的交互变得更加自然,因为代替“好的,计算机,下一首”,用户只需要说“下一首”就可以推进到下一首歌曲。

为了实现这一点,使能语音的系统确定系统的当前上下文并标识相关热词。上下文可以基于系统上运行的应用、系统的位置、系统的移动或任何其他类似情形。系统可以使用系统的上下文来标识附加的热词。例如,当音乐正在播放时,系统可以标识热词“下一首(next)”、“停止(stop)”和“后退(back)”以用于控制音乐。系统可以为标识的热词中的每一个请求热词模型。该系统可以使用热词模型以通过处理与用户语音相对应的音频数据的音频特性并将热词模型应用于该音频特性来识别新的热词。系统识别说出的热词,并执行相应的操作。如果用户说“停止”,并且因为系统正在播放音乐,“停止”是有效的热词,那么系统可能停止播放音乐。

根据本申请中所描述的主题的创新性方面,一种用于抗回滚安全性的方法包括以下动作:由计算设备确定与该计算设备相关联的上下文;基于与计算设备相关联的上下文确定热词;在确定热词之后,接收与话语相对应的音频数据;确定音频数据包括热词;以及响应于确定音频数据包括热词,执行与热词相关联的操作。

这些和其他实施方式可以各自可选地包括以下特征中的一个或多个。确定音频数据包括热词的动作包括:确定音频数据包括热词,而不对音频数据进行语音识别。确定音频数据包括热词的动作包括:提取与话语相对应的音频数据的音频特征;通过处理音频特征生成热词置信度得分;确定热词置信度得分满足热词置信度阈值;以及,基于确定热词置信度得分满足热词置信度阈值,确定与话语相对应的音频数据包括热词。动作进一步包括在确定热词之后,接收与热词相对应的热词模型。确定音频数据包括热词的动作包括:使用热词模型确定音频数据包括热词。

由计算设备标识在计算设备上运行的应用的动作。上下文是基于在计算设备上运行的应用的。动作进一步包括由计算设备确定上下文不再与计算设备相关联;并且确定包括热词的随后接收的音频数据不会触发操作。动作进一步包括提供标识热词的数据用于输出。动作进一步包括由计算设备标识计算设备的移动。上下文是基于计算设备的移动的。动作进一步包括由计算设备标识计算设备的位置。上下文是基于计算设备的位置的。执行与热词相关联的操作的动作包括对音频数据不包括热词的一部分执行语音识别。该操作基于音频不包括热词的部分的转录。音频数据仅包括热词。音频数据的初始部分包括热词。

这个方面的其他实施例包括相应的系统、装置和记录在计算机存储设备上的计算机程序,该系统、装置和计算机程序各自被配置为执行该方法的操作。

本申请中所描述的主题可以具有以下优点中的一个或多个。计算设备可以识别比传统系统中更短的命令并响应于该比传统系统中更短的命令而行动,传统系统通常要求用户在命令之后说出热词。因此,要求对识别的命令进行更少的处理,并且因此要求更低的资源消耗(包括功耗和用于存储输入项的存储器)以用于计算设备将能够进行响应,并且计算设备可以更快和更有效地响应。计算设备能够识别不同的命令并响应于该不同的命令而行动,而无需对命令执行语音识别。需要识别询问和命令所要求的计算资源和电池电量也可以减少,因为利用计算设备可以在一个项中识别询问和命令,从而避免了在分离的操作步骤中处理两个或多个不同项的需要。

本说明书中所描述的主题的一个或多个实施例的细节在附图和以下描述中阐述。从描述、附图和权利要求中,主题的其他特征、方面和优点将变得显而易见。

附图说明

图1示出了用于标识和处理上下文热词的示例系统。

图2示出了用于标识和处理上下文热词的示例过程。

图3示出了计算设备和移动计算设备的示例。

在附图中,相同的附图标记始终表示相应的部分。

具体实施方式

图1示出了用于标识和处理上下文热词的示例系统100。简而言之,并且如下面更详细描述的,响应于话语106“好的,计算机,播放音乐”,计算设备104开始播放音乐。计算设备104开始播放音乐,并且计算设备104能够将附加的热词“下一首”识别为用于推进到下一首歌的指令。

更详细地并且从图1中的阶段a处开始,用户102在计算设备104附近说出话语106“好的,计算机,播放音乐”。计算设备104的麦克风接收话语104并处理与话语相对应的音频数据。音频数据的初始处理可以包括过滤音频数据并将音频数据从模拟信号转换成数字信号。

在计算设备104处理音频数据时,计算设备可以将音频数据存储在缓冲器中用于附加处理。利用缓冲器中的音频数据,计算设备104可以标识音频数据是否包括任何说出的词语。计算设备104标识说出的词语的一种方式是使用热词检测器108。热词检测器108被配置为标识音频数据中包括的热词。

在一些实施方式中,热词检测器108可以被配置成标识在话语106的初始部分中的热词。在这个示例中,如果热词检测器108检测到作为有效热词112的特性的音频数据中的声学特征,则热词检测器108可以确定话语106“好的,计算机,播放音乐”包括热词110“好的,计算机”。声学特征可以是作为话语的短期功率谱的表示的mel频率倒谱系数(mel-frequencycepstralcoefficient,mfcc),或者可以是话语106的mel域滤波器组能量。例如,热词检测器108可以基于根据音频数据生成mfcc并分类mfcc包括类似于作为热词模型114中存储的热词“好的,计算机”的特性相似的mfcc的mfcc,来检测话语106“好的,计算机,播放音乐”包括热词110“好的,计算机”。作为另一示例,热词检测器108可以基于根据音频数据生成mel域滤波器组能量并分类mel域滤波器组能量包括类似于作为热词模型114中存储的热词“好的,计算机”的特性相似的mel域滤波器组能量的mel域滤波器组能量,来检测话语106“好的,计算机,播放音乐”包括热词110“好的,计算机”。

热词检测器108确定与话语106相对应的音频数据包括热词110,并且计算设备104可以对与话语106相对应的音频数据执行语音识别或语义解释。语音识别器116可以对音频数据的热词110之后的部分执行语音识别。在这个示例中,语音识别器116可以标识词语118“播放音乐”

在一些实施方式中,语音识别器116可以不位于计算设备104上。代替地,计算设备104将与话语106的热词110之后的部分相对应的音频数据提供给服务器,例如服务器120。服务器120执行语音识别并将音频数据的转录返回给计算设备104。计算设备104标识话语106中的词语,并且计算设备执行语义解释并标识任何语音命令。计算设备104标识命令并执行该命令。在这个示例中以及在阶段b中,计算设备104在标识“播放音乐”命令118时开始播放音乐122。

随着音乐播放122,计算设备104正在前台或后台运行音乐应用。计算设备104可以包括上下文标识器124和有效热词选择器126。上下文标识器124可以被配置为标识计算设备104的当前上下文。有效热词选择器126可以使用计算设备104的当前上下文来选择有效热词。在这个示例中,设备的上下文可以与播放音乐122和运行音乐应用相关。有效热词选择器126可以检查音乐应用的代码,以标识音乐应用的开发者希望用户能够说出以与音乐应用交互的任何热词以及用于每个热词的各个动作。音乐应用可以标识诸如“播放”、“下一首”、“停止”和“后退”的热词。基于主动播放的音乐的上下文,有效热词选择器126可以选择“下一首”、“停止”和“后退”的热词,并将它们存储在有效热词112中。

在一些实施方式中,上下文标识器124可以使用计算设备104的位置来确定上下文。例如,上下文标识器124可以确定该位置对应于计算设备104的用户102的家。有效热词选择器126可以使用设备在用户102家中的上下文来标识诸如“更热”和“更冷”的热词,以允许用户控制家的温度。类似于上述示例,在用户102在家的同时,有效热词选择器126可以将“更热”和“更冷”的热词存储在有效热词112中。

在一些实施方式中,上下文标识器124可以使用计算设备104的运动来确定上下文。例如,上下文标识器124可以确定计算设备104的移动对应于典型车辆的速度和运动。上下文标识器124还可以比较计算设备104的速度和运动,以确定计算设备104是否正在沿着道路移动,从而增加计算设备104在车辆中的置信度。在这种情况下,有效热词选择器126可以使用计算设备的上下文来标识热词“方向”,以允许用户请求到特定位置的方向。在计算设备104在车辆中的同时,有效热词选择器126可以将热词“方向”存储在有效热词112中。

在一些实施方式中,上下文标识器124可以使用日期或时间或者两者来确定上下文。例如,上下文标识器124可以确定上下文对应于晚上时间,诸如晚上9:00和午夜之间的时间。在这种情况下,有效热词选择器126可以使用晚上时间的上下文来标识热词“设置闹钟”,以允许用户102设置闹钟。有效热词选择器126可以在晚上9:00到午夜时间段期间将热词“设置闹钟”存储在有效热词112中。

在一些实施方式中,上下文标识器124可以使用用户102的过去动作和模式来标识热词。上下文标识器124可以标识用户通常可能在一天的不同时间执行的动作,并基于那些动作确定上下文。有效热词选择器126可以标识相关热词,并在相应的时间段期间将那些热词存储在有效热词112中。例如,上下文标识器124可以确定用户102在上午8:00到上午10:00的时间期间在计算设备104上阅读新闻。有效热词选择器126可以选择“新闻”作为有效热词112。利用“新闻”作为热词,用户102可以说“新闻”,以在上午8:00到上午10:00的时间期间打开新闻应用。新闻应用可以具有自己相应的热词。当新闻应用在计算设备104上打开时,有效热词选择器126可以将诸如“体育”、“本地”和“国家”的热词标识为有效热词112。

在一些实施方式中,上下文标识器124可以标识过去的动作,该过去的动作不一定是时间相关的。例如,用户102可以习惯性地检查计算设备102上的天气。上下文标识器124可以确定计算设备的上下文几乎总是对应于用户102已检查天气的时间。在这种情况下,有效热词选择器126可以标识热词“天气”,并将该热词存储在有效热词112中。利用“天气”作为有效热词,用户102仅仅说出“天气”以打开天气应用并检查天气。

在一些实施方式中,上下文标识器124可以基于计算设备104的状态来确定上下文。例如,计算设备104的状态可以是“锁定的”。在这种情况下,当设备被锁定时,有效热词选择器126可以标识热词“解锁”并将该热词存储在有效热词112中。利用“解锁”作为有效热词,用户说出说“解锁”来解锁电话。为了提高安全性,计算设备104可以使用说话者识别技术来验证说话者是用户102。在这种情况下,将使用用户102的语音来训练相应的热词模型。例如,计算设备104可以提示用户102说几次“解锁”,使得计算设备104或服务器120可以利用语音样本构建特定于用户102的热词模型。

有效热词112包括新的热词,并且计算设备104可以检查热词模型114以确定计算设备104是否针对具有新添加的热词的热词。例如,当有效热词选择器126在有效热词112中存储“下一首”时,计算设备104可以检查热词模型114是否包括用于“下一首”的热词模型。如果用于“下一首”的热词模型在热词模型114中,则热词检测器108可以开始检测热词“下一首”,并且计算设备104可以跳过阶段c、d和e。如果用于“下一首”的热词模型不在热词模型114中,则计算设备104在阶段c中向服务器120发送针对用于“下一首”的热词模型请求128。

在一些实施方式中,计算设备104可以对在热词模型114中已经具有相应热词模型的热词请求热词模型。计算设备104可以周期性(诸如每周一次)地请求热词模型以确保本地存储的热词模型尽可能准确。响应于来自用户102的反馈,计算设备104还可以请求热词模型。在一些情况下,用户102可以说出诸如“下一首”的热词,并且计算机可以不推进歌曲。热词检测器108可以处理对应于“下一首”的音频数据,但是可以不标识热词,因为热词置信度得分不满足阈值。

用户102可以通过选择计算设备104上的下一首歌曲按钮来推进歌曲。当计算设备104检测到这一系列动作时,计算设备104可以请求用于“下一首”的更新的热词模型。替换性地,计算设备104可以使用不生成满足阈值但高于较低热词置信度阈值的热词置信度得分的音频数据来更新用于“下一首”的热词模型。在一些实施方式中,计算设备104可以为没有生成满足阈值的热词置信度得分的音频数据计算噪声水平。如果噪声水平大于噪声阈值,则计算设备104可以不利用相应的音频数据更新热词模型,因为它可能具有太多的背景噪声。

服务器120接收对热词模型的请求128并在阶段d中标识相应的热词模型130。服务器120可以对应于可通过诸如互联网的网络132访问的一个或多个服务器。可由一个服务器访问的数据可由其他服务器访问。除了标识和提供热词模型之外,服务器120被配置为接收音频数据并基于接收的音频数据生成热词模型130。

为了生成热词模型130,服务器120接收并收集语音数据134。服务器120可以从执行语音识别的服务器接收语音数据134。服务器可以执行语音识别并将音频数据提供给服务器120以生成热词模型。利用收集的语音数据134,语音识别器136标识收集的语音数据中的词语。

语音识别器136向语音数据分词器(tokenizer)138提供转录和语音数据。语音数据分词器138将音频数据分割成与不同词语相对应的部分。例如,如果收集的语音数据134对应于词语“playthenextsong(播放下一首歌曲)”,则语音识别器生成“playthenextsong(播放下一首歌曲)”的转录,并且语音数据分词器138将音频数据标记(tokenize)为四个部分。一部分是“play(播放)”,另一部分是“the”,另一部分是“next(下一首)”,以及另一部分是“song(歌曲)”。

语音识别器136和语音数据分词器138可以标记许多语音样本,并将标记的语音样本提供给热词模型生成器140。热词模型生成器140处理同一词语的多个样本,以生成用于该词语的热词模型。例如,热词模型生成器140可以接收对应于词语“下一首”的多个语音样本。热词模型生成器140提取语音样本的音频特性以生成用于“下一首”的热词模型。热词模型生成器140在热词模型130中存储用于“下一首”的热词模型。

热词模型130准备好供服务器120提供给计算设备来识别那些特定热词。在一些实施方式中,服务器120可以在热词模型130中不具有所请求的热词。在这种情况下,服务器120可以使用语音识别器136和语音数据分词器138来分析收集的语音数据134,以标识对应于所请求词语的音频样本。可替换地,服务器120可以请求计算设备104收集样本。计算设备104可以请求用户重复词语若干次。计算设备104可以向服务器120提供音频数据以用于处理以生成热词模型。在一些实施方式中,所请求的热词可以多余一个词语。在这种情况下,热词模型生成器140可以组合热词模型130,以生成用于多词语热词的热词模型。

在一些实施方式中,热词模型生成器140可以生成包括特定于具体上下文的噪声的热词模型。热词模型生成器140可以不选择对应于目标热词的所有语音令牌(token)。代替地,热词模型生成器140选择包括可能存在于相应上下文中的背景噪声的语音令牌。例如,热词模型生成器140可以生成用于“下一首”的热词模型,该热词模型具有包括“下一首”并具有背景音乐的语音令牌。如果服务器120接收对热词模型“下一首”的请求,并且该请求指示上下文是播放的音乐,则服务器120可以提供为背景音乐配置的“下一首”的热词模型。如果服务器120接收对热词模型“下一首”的请求,并且该请求指示上下文是观看的照片,则服务器120可以提供为没有背景噪音配置的“下一首”的热词模型。

在阶段e,服务器120提供包括所请求的热词模型的响应142。在图1中所示的示例中,服务器120将用于“下一首”的热词模型提供到计算设备104。计算设备104将热词模型存储在热词词语模型114中,并且可以更新有效热词112中的指示符以指示在计算设备104上存储有对应的热词模型。

在一些实施方式中,有效热词选择器126可以从有效热词112中移除热词。当上下文标识器124指示上下文已经改变时,有效热词选择器126可以基于新的上下文更新有效热词112。遵循来自上文的一些示例,有效热词选择器126可以在上午10:00之后从有效热词112中移除热词“新闻”。类似地,有效热词选择器126可以在午夜之后移除热词“设置闹钟”,并且在晚上9:00之后将热词“设置闹钟”添加回有效热词112。在一些实施方式中,当有效热词选择器126移除热词有效热词112时,相应的热词模型保留在热词模型114中。

在一些实施方式中,即使同一应用正在计算设备104上运行,有效热词选择器126也可以从有效热词112中移除热词。当计算设备104执行音乐应用时,有效热词选择器126可以标识热词“播放”、“下一首”、“停止”和“后退”,并将相应的热词模型加载到热词模型114中。在这种情况下,对于计算设备104来说不需要将热词添加到有效热词112以请求热词模型。随着音乐播放,有效热词选择器126可以包括热词“下一首”、“停止”和“后退”作为有效热词。如果音乐停止并且音乐应用保持打开,则有效热词选择器126可以将有效热词112更新为“下一首”、“播放”和“后退”。

在一些实施方式中,用户界面生成器144生成用于在计算设备104上显示的用户界面。用户界面可以指示有效热词112。例如,当歌曲开始播放时,用户界面可以指示用户102说“下一首”、“停止”或“后退”来控制音乐。当音乐停止时,用户界面可以指示用户102可以说“下一首”、“播放”和“后退”来控制音乐。当热词有效时,用户界面生成器144也可以生成通知。

例如,在当前时间达到晚上9点时,用户界面可以指示热词“设置闹钟”是有效的。类似地,在当前时间达到午夜时,用户界面可以指示热词“设置闹钟”不再有效。用户界面还可以指示说出每个热词的效果。例如,当音乐应用有效并且音乐正在播放时,用户界面可以指示“下一首”推进到播放列表中的下一首歌曲,“停止”使当前歌曲停止播放,并且“后退”使返回播放列表中的前一首歌曲。

在一些实施方式中,用户界面生成器144还可以生成用户界面来控制不同热词何时有效。控制界面可以包括热词有效时的上下文,并且允许用户更新热词有效时的上下文。附加地或可替换地,控制界面可以允许用户102指示对于每个上下文有效的热词。例如,控制界面可以指示热词“新闻”从上午8:00到上午10:00是有效的。用户102可以调整该上下文,使得“新闻”热词从上午8:00到中午是有效的。

控制界面还可以指示当音乐正在播放时热词“下一首”、“停止”或“后退”是有效的。用户102可以将用于音乐播放上下文的热词更新为“下一首”和“停止”。在一些实施方式中,控制界面还可以向用户102提供为现有或定制上下文添加定制热词的能力。例如,用户102可以将“呼叫妈妈”作为热词输入到控制界面中,总是使该热词有效,并且在检测到该热词时呼叫联系人“妈妈”。用户102还可以将“向上”和“向下”添加到音乐播放上下文中,并指定热词控制音量。用户还可以添加对应于上午11:00到下午1:00时间段的新上下文。用户可以添加热词“订购午餐”以在该时间段期间有效,并指示该热词将打开食物订购应用。

在阶段f,用户102说出包括热词148的话语146。计算设备104通过麦克风接收话语146,并处理相应的音频数据。热词检测器108比较有效热词112的热词模型114,以标识话语146是否包括任何有效热词。如果热词检测器108标识了热词,则计算设备执行相应的命令。在图1所示的示例中,用户102说出“下一首”。有效热词112可以是“停止”、“下一首”和“后退”热词检测器108将对应于话语146的音频数据与对应于“停止”、“下一首”和“后退”的热词模型114进行比较,并确定话语146包括热词“下一首”。基于检测到与推进到下一首歌曲的指令相对应的热词“下一首”,计算设备在阶段g处推进到下一首歌曲150。

在一些实施方式中,热词检测器108可以检测不在有效热词112当中但其模型仍然存储在热词模型中的热词。在这种情况下,热词检测器108可以向用户界面生成器144提供指示,以生成指示热词当前不是有效的用户界面。例如,当音乐正在播放时,用户102可以说“播放”。热词检测器108可以标识热词“播放”。因为热词不是有效的,所以计算设备104不执行动作。然而,用户界面生成器144可以生成指示热词“播放”不是有效的并且指示有效热词是“停止”、“下一首”和“后退”的界面。

在一些实施方式中,计算设备104仍然可以被配置为标识默认热词“好的,计算机”。在这种情况下,计算设备104可以使用语音识别来处理“好的,计算机”之后的音频数据,并且基于随后的音频数据的转录执行适当的动作。例如,如果用户102在正在播放音乐的同时说“好的,计算机,下一首”,则计算设备104在标识“好的,计算机”热词并转录音频数据的包括命令“下一首”的后续部分之后推进到下一首歌曲。

类似地,上下文热词后面可以跟着命令。继续“订购午餐”的示例,用户102可以在热词有效的时间期间说“从三明治熟食店订购午餐”。在这种情况下,热词检测器108标识“订购午餐”热词。语音识别器116生成“从三明治熟食店”的转录。计算设备104可以打开食物订购应用并打开三明治熟食店菜单。

在一些实施方式中,热词检测器108为处理后的音频数据的每个初始部分生成热词置信度得分。如果热词置信度得分满足阈值,则热词检测器108确定音频数据包括热词。例如,如果热词置信度得分为0.9,且热词置信度阈值为0.8,则热词检测器108确定音频数据包括热词。

在一些实施方式中,如果热词置信度得分在低于阈值的范围内,则用户界面生成器144可以生成请求确认用户102说出热词的界面。例如,热词置信度得分可以是0.7。如果范围在0.6和0.8之间,则用户界面生成器144可以生成请求用户102确认或重复热词的用户界面。在一些实施方式中,并且如果用户102确认用户102说出了该热词,则计算设备104可以使用音频数据来更新该热词模型以提高未来的性能。如果音频数据中有太多噪声,则计算设备104可以不使用音频数据。

图2示出了用于标识和处理上下文热词的示例过程200。一般来说,过程200基于设备的上下文来标识热词,并且向热词分配动作,使得当用户说出该热词时,过程执行相应的动作。过程200将被描述为由计算机系统执行,该计算机系统包括一个或多个计算机,例如图1所示的系统100。

系统确定与计算设备相关联的上下文(210)。在一些实施方式中,系统标识正在系统上运行的应用。系统基于正在系统上运行的应用来确定上下文。例如,该应用可以是音乐应用。在这种情况下,上下文可以是播放音乐。系统还可以区分在后台和前台运行的应用。例如,在后台或前台运行和播放音乐的音乐应用可以仍然具有播放音乐的相同上下文。正在后台运行的应用(诸如浏览器)可以不影响上下文。在一些实施方式中,上下文也可以与设备的状态(诸如当设备被锁定时)相关。上下文也可以与屏幕上显示的内容相关,例如,“主屏幕”

在一些实施方式中,上下文可以基于系统的移动。例如,如果系统以类似于汽车的速度移动,则系统可以确定上下文是“在汽车中”。在一些实施方式中,上下文可以基于计算设备的位置。例如,系统可以位于用户的家中。在这种情况下,设备的上下文可以是“在家”。在一些实施方式中,上下文可以是上下文的组合。例如,针对系统被锁定并且在用户家中时,上下文可以是“锁定在家中”。

系统基于与系统相关联的上下文来确定热词(220)。在一些实施方式中,系统基于在软件中标识的热词来确定热词。例如,音乐应用可以标识针对上下文是“音乐播放”时以及音乐停止并且音乐应用打开时的热词。

在一些实施方式中,系统可以基于在先使用来确定热词。例如,如果用户通常在某个时间范围内阅读新闻,则系统可以确定针对上下文在该时间范围内时的热词“新闻”。在一些实施方式中,系统可以显示热词并在显示器中指示由热词执行的动作。系统可以在热词变为有效时以及系统使其无效时提供通知。

在确定该热词之后,系统接收与话语相对应的音频数据(230)。在一些实施方式中,系统从服务器请求用于热词的热词模型,并且系统确定热词。例如,如果系统确定热词“下一首”,则系统可以从服务器请求用于“下一首”的热词模型。

系统确定音频数据包括热词(240)。在一些实施方式中,系统确定音频数据包括热词,而不对音频数据执行语音识别。在一些实施方式中,系统通过提取与话语相对应的音频数据的音频特征来确定音频数据包括热词。系统通过处理音频特征并可能地通过将该音频特征与热词模型中的那些音频特征进行比较来生成热词置信度得分。

如果热词置信度得分满足热词置信度阈值,则系统确定音频数据包括该热词。如果热词置信度得分不满足热词置信度阈值,则系统确定音频数据不包括该热词。例如,如果热词置信度阈值为0.8,则具有高于0.8的热词置信度得分的音频数据将被标记为包括该热词,并且具有低于0.8的热词置信度得分的音频数据将被标记为不包括热词。

在一些实施方式中,音频数据仅包括热词。例如,用户可以只说出作为热词的“下一首”。在一些实施方式中,音频数据的初始部分包括热词。例如,热词可以是“订购午餐”,并且用户可以说出“从三明治熟食店订购午餐”。在这种情况下,系统标识热词“订购午餐”,并使用语音识别处理音频数据的热词之后的部分。

响应于确定音频数据包括热词,系统执行与该热词相关联的操作(250)。在一些实施方式中,系统使用热词标识动作。例如,当音乐正在播放并且用户说出“下一首”时,系统推进歌曲。

在一些实施方式中,当上下文不再有效时,系统从有效热词列表中移除热词。例如,如果用户停止播放音乐,则系统从有效热词列表中移除热词“下一首”。如果用户在这种情况下说出“下一首”,则响应于“下一首”,系统不执行动作。

在一些实施方式中,操作可以基于热词和该热词之后的任何音频数据,或者仅基于该热词之后的音频数据。例如,有效热词可以是“方向”,并且用户可以说出“回家的方向”。在这种情况下,系统可以打开地图应用,并开始向用户提供到用户的家的用户方向。

在一些实施方式中,操作可以取决于热词之后的音频数据。存在其中取决于热词之后的音频数据、有效热词可以有不同的操作的实例。例如,用户可能在家,并且系统可能正在播放音乐。用户在家可以使得系统使热词“增加”有效,以增加恒温器的温度。系统播放音乐也可以使得系统使热词“增加”有效,以增加音乐的音量。在这种情况下,系统可以通过以下方式中的一个或多个缓解这种冲突。

系统可以将热词更新为“增加温度”和“增加音量”。如果用户说“增加”,则系统可以在屏幕上显示用户应该说“增加音量”以增加音量或“增加温度”以增加恒温器的温度的指示。可替换地,系统可以将“增加”保持为热词,并且在“增加”之后要求参数(argument),其中系统对在“增加”之后的任何音频数据执行语音识别或者请求来自用户的澄清。例如,用户可以说“增加”。系统可以显示请求或播放该请求的合成语音,以便用户澄清要增加什么。

在一些实施方式中,系统可以在存在说出的热词的参数或后缀的情况下(有时在仅存在说出的热词的参数或后缀的情况下)执行检测有效热词。例如,有效热词可以是“设置闹钟”。系统可以只在热词“设置闹钟”后面跟有诸如“早上6:00”或“明天早上”的参数时才确认该热词。在这种情况下,系统可以对音频数据的热词之后的部分执行语音识别,并且不确认热词,除非热词之后是附加的说出的项。在一些实施方式中,附加的说出的项是热词所接受的参数。热词“设置闹钟”可以接受诸如“早上6点”的参数,但不接受诸如“金枪鱼三明治”的参数。

在一些实施方式中,系统可以确定音频数据包括一个以上的热词。这可以是发生因为当前有效的热词听起来相似。例如,两个有效热词可以是“下一首(next)”和“文本(text)”。在一些实施方式中,系统可以仅确定音频数据包括热词,不一定是哪个热词。如果系统确定两个或多个热词模型匹配音频数据,则系统可以对音频数据的包括热词的部分执行语音识别,以确定用户说出了什么热词。

图3示出了可以用于实施本文描述的技术的计算设备300和移动计算设备350的示例。计算设备300意图表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片式服务器、大型计算机和其他合适的计算机。移动计算设备350意图表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。这里示出的组件、它们的连接和关系以及它们的功能意味着仅仅是示例,而不是限制性的。

计算设备300包括处理器302、存储器304、存储设备306、连接到存储器304和多个高速扩展端口310的高速接口308、以及连接到低速扩展端口314和存储设备306的低速接口312。处理器302、存储器304、存储设备306、高速接口308、高速扩展端口310和低速接口312中的每一个都使用各种总线互连,并且可以安装在公共主板上或者视情况以其他方式安装。处理器302可以处理用于在计算设备300内执行的指令(包括存储在存储器304中或存储设备306上的指令),以在外部输入/输出设备(诸如耦合到高速接口308的显示器316)上显示用于gui的图形信息。在其他实施方式中,可以视情况使用多个处理器和/或多个总线,以及多个存储器和多种类型的存储器。而且,可以连接多个计算设备,其中每个设备(例如,作为服务器组、刀片式服务器群组或多处理器系统)提供必要操作的一部分。

存储器304将信息存储在计算设备300内。在一些实施方式中,存储器304是一个或多个易失性存储单元。在一些实施方式中,存储器304是一个或多个非易失性存储单元。存储器304也可以是另一形式的计算机可读介质,诸如磁盘或光盘。

存储设备306能够为计算设备300提供大容量存储。在一些实施方式中,存储设备306可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储器设备、或者包括存储区域网络中的设备或其他配置的设备阵列。指令可以存储在信息载体中。当由一个或多个处理设备(例如,处理器302)执行时,该指令执行一个或多个方法,诸如以上描述的那些方法。指令也可以由一个或多个存储设备存储,诸如计算机或机器可读介质(例如,存储器304、存储设备306或处理器302上的存储器)。

高速接口308管理计算设备300的带宽密集型操作,而低速接口312管理较低带宽密集型操作。这种功能分配仅是示例。在一些实施方式中,高速接口308耦合到存储器304、显示器316(例如,通过图形处理器或加速器),并且耦合到可以接受各种扩展卡的高速扩展端口310。在实施方式中,低速接口312耦合到存储设备306和低速扩展端口314。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口314可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或诸如交换机或路由器的联网设备。

如图所示,计算设备300可以以多种不同的形式实施。例如,它可以实施为标准服务器320,或者在一组这样的服务器中实施多次。此外,它可以在诸如膝上型计算机322的个人计算机中实施。它也可以被实施为机架式服务器系统324的一部分。可替换地,来自计算设备300的组件可以与诸如移动计算设备350的移动设备中的其他组件相结合。这样的设备中的每一个可以包含计算设备300和移动计算设备350中的一个或多个,并且整个系统可以由彼此通信的多个计算设备构成。

移动计算设备350包括处理器352、存储器364、诸如显示器354的输入/输出设备、通信接口366和收发器368以及其他组件。移动计算设备350还可以被提供为具有存储设备(诸如微驱动器或其他设备)以提供附加的存储。处理器352、存储器364、显示器354、通信接口366和收发器368中的每一个都使用各种总线互连,并且组件中几个可以安装在公共主板上或者视情况以其他方式安装。

处理器352可以执行移动计算设备350内的指令,包括存储在存储器364中的指令。处理器352可以被实施为芯片的芯片组,该芯片包括分离的多个模拟和数字处理器。处理器352可以提供例如移动计算设备350的其他组件的协调,诸如用户界面的控制、移动计算设备350的应用运行以及移动计算设备350的无线通信。

处理器352可以通过耦合到显示器354的控制接口358和显示接口356与用户通信。显示器354可以是例如tft(thin-film-transistorliquidcrystaldisplay,薄膜晶体管液晶显示器)显示器或oled(organiclightemittingdiode,有机发光二极管)显示器,或其他合适的显示技术。显示接口356可以包括用于驱动显示器354以向用户呈现图形信息和其他信息的适当电路系统。控制接口358可以从用户接收命令,并将它们转换以提交给处理器352。此外,外部接口362可以提供与处理器352的通信,以便使得移动计算设备350能够与其他设备进行近区域通信。外部接口362可以例如在一些实施方式中提供有线通信,或者在其他实施方式中提供无线通信,并且也可以使用多个接口。

存储器364在移动计算设备350内存储信息。存储器364可以被实施为一个或多个计算机可读介质、一个或多个易失性存储单元或一个或多个非易失性存储单元中的一个或多个。扩展存储器374还可以被提供并通过扩展接口372连接到移动计算设备350,该扩展接口372可以包括例如simm(singleinlinememorymodule,单列直插式存储器模块)卡接口。扩展存储器374可以为移动计算设备350提供额外的存储空间,或者也可以为移动计算设备350存储应用或其他信息。具体而言,扩展存储器374可以包括执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器374可以被提供为用于移动计算设备350的安全模块,并且可以利用允许安全使用移动计算设备350的指令来编程。此外,可经由simm卡提供安全应用以及附加信息,诸如以不可破解的方式在simm卡上放置标识信息。

如下所讨论的那样,存储器可以包括例如闪存和/或nvram存储器(non-volatilerandomaccessmemory,非易失性随机存取存储器)。在一些实施方式中,指令存储在信息载体中。当由一个或多个处理设备(例如,处理器352)执行时,该指令执行一个或多个方法,诸如以上描述的那些方法。指令也可以由一个或多个存储设备存储,诸如一个或多个计算机或机器可读介质(例如,存储器364、扩展存储器374或处理器352上的存储器)。在一些实施方式中,指令可以例如通过收发器368或外部接口362以传播信号的形式被接收。

移动计算设备350可以通过通信接口366无线通信,该通信接口366在必要的情况下可以包括数字信号处理电路系统。通信接口366可以提供各种模式或协议下的通信,诸如gsm语音呼叫(globalsystemformobilecommunication,全球移动通信系统)、sms(shortmessageservice,短消息服务)、ems(enhancedmessagingservice,增强型消息收发服务)或mms消息收发(multimediamessagingservice,多媒体消息服务)、cdma(codedivisionmultipleaccess,码分多址)、tdma(timedivisionmultipleaccess,时分多址)、pdc(personaldigitalcellular,个人数字蜂窝)、wcdma(widebandcodedivisionmultipleaccess,宽带码分多址)、cdma2000或gprs(generalpacketradioservice,通用分组无线服务)等。这种通信可以例如通过使用射频的收发器368发生。此外,可以发生短程通信,诸如使用蓝牙、wifi或其他这样的收发器。此外,gps(globalpositioningsystem,全球定位系统)接收器模块370可以向移动计算设备350提供可以视情况被在移动计算设备350上运行的应用使用的附加的导航和位置相关的无线数据。

移动计算设备350还可以使用音频编解码器360可听见地通信,该音频编解码器360可以从用户接收说出的信息并将其转换成可用的数字信息。音频编解码器360同样地可以诸如通过扬声器为用户生成可听声音,例如在移动计算设备350的手机中。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等)并且还可以包括由在移动计算设备350上操作的应用生成的声音。

如图所示,移动计算设备350可以以许多不同的形式实施。例如,它可以被实施为蜂窝电话380。它也可以被实施为智能电话382、个人数字助理或其他类似移动设备的一部分。

这里描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专门设计的asic(applicationspecificintegratedcircuit,专用集成电路)、计算机硬件、固件、软件和/或他们组合中实现。这些不同的实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括至少一个可编程处理器,作为可以是专用的或通用的该可编程处理器耦合成从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。

这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编/机器语言来实施。如本文所使用的,术语机器可读介质和计算机可读介质指的是用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(programmablelogicdevices,pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语机器可读信号指的是用于向可编程处理器提供机器指令和/或数据的任何信号。

为了提供与用户的交互,这里描述的系统和技术可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备(例如crt(cathoderaytube,阴极射线管)或lcd(liquidcrystaldisplay,液晶显示器)以及用户可以通过其向计算机提供输入的键盘和指示设备(例如鼠标或轨迹球)。其他类型的设备也可以被用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈(例如视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声学输入、语音输入或触觉输入。

这里描述的系统和技术可以在计算系统中实施,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有用户可以通过其与这里描述的系统和技术的实施方式进行交互的图形用户界面或网络浏览器的客户端计算机),或者这种后端、中间件或前端组件的任意组合。系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网(localareanetwork,lan)、广域网(wideareanetwork,wan)和互联网。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系由于在各个计算机上运行并且彼此具有的客户端-服务器关系的计算机程序而产生。

尽管上面已经详细描述了几个实施方式,但是其他修改也是可能的。例如,虽然客户端应用被描述为访问(多个)代理,但是在其他实施方式中,(多个)代理可以被由一个或多个处理器实施的其他应用(诸如在一个或多个服务器上执行的应用)使用。此外,图中描绘的逻辑流程不要求所示的特定次序或顺序来实现期望的结果。此外,可以从所描述的流程中提供其他动作或消除动作,并且可以向所描述的系统添加其他组件或从所描述的系统中移除其他组件。因此,其他实施方式也在以下权利要求的范围内。

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