使用情境信号安全执行语音动作的制作方法

文档序号:13236199阅读:143来源:国知局
使用情境信号安全执行语音动作的制作方法

本说明书描述了与语音动作有关的技术。



背景技术:

声控装置可以响应于语音来执行语音动作。例如,一个人可以说“计算机,呼叫1-888-888-8888”,并且其移动计算装置可以呼叫号码1-888-888-8888,而无需来自这个人的进一步输入。



技术实现要素:

语音动作通常是要使用户能够方便地执行动作。例如,用户可以在烹饪的同时简单地说“计算机,设置一个一分钟的计时器”来创建一个一分钟的计时器,而不是与装置物理交互。然而,某些语音命令请求可能会造成严重影响的语音动作。例如,执行语音动作可能会解除家庭安全系统、以大货币成本订购物品或者极大地改变家中温度设置。另外,执行语音动作的装置可以由多人访问。例如,执行语音动作的装置可以在厨房操作台上并且可以接收来自在该装置附近的任何人的语音。因此,在执行语音动作时施加安全限制可能很重要。例如,可能需要系统响应于业主说“计算机,解除安全系统”来解除安全系统,并且不响应客人或者入侵者所说“计算机,解除安全系统”来接触安全系统。

因此,为了安全地执行语音动作,系统可以从其语音标识说话者并且使用附加情境信号(contextualsignal)来对该说话者进行鉴权。情境信号可以包括,例如,用户的移动计算装置在家中的指示、用户的移动计算装置自最后解锁以来一直在人身上的指示、或者一些其它信号。例如,系统可以接收发声“计算机,解除安全系统”,将说话者的声音标识为业主的语音,并且作为响应,进一步地确定业主的移动计算装置是否在家中。可以基于成功的语音标识和计算装置的物理存在来执行解除安全系统的命令。相比之下,系统可以配置为:如果所需的情境因素不存在,例如,如果语音标识失败或者如果业主的计算装置不在家中,那么命令将因为不符合安全要求而被禁止。这样,系统可以通过防止未获授权的人执行语音动作(诸如解除房屋的安全系统)来提高执行语音动作的安全性。

在一般方面的一种方法,该方法可以是一种计算机实现的方法,其包括:获取(i)表示说话者说出的语音命令的音频数据和(ii)指示该语音命令由该说话者说出的说话者标识结果,至少根据音频数据的转录文(transcription)选择语音动作,从多个不同的服务提供商选择对应于所选择语音动作的服务提供商,标识所选择服务提供商用来执行所选择语音动作的鉴权的一个或多个输入数据类型,以及向服务提供商提供(i)执行所选择语音动作的请求和(ii)对应于所标识的一个或多个输入数据类型的一个或多个数值。如上所述,“语音动作”(或语音发起动作)是由用户的语音命令(如语音发声)发起的。

该方面和其它方面的其它实施方式包括:编码在计算机存储装置上的配置为执行方法的动作的对应的系统、设备、和计算机程序。一个或多个计算机的系统可以借由软件、固件、硬件、或者其组合来如此配置,该软件、固件、硬件、或者其组合安装在该系统上,在运行时,使该系统执行动作。一个或多个计算机程序可以借由指令来如此配置,该指令在由数据处理设备执行时使该设备执行动作。在另一个方面中,一种存储计算机程序的计算机存储介质,该计算机存储介质可以是非暂时性计算机存储介质,该程序包括指令,该指令在由一个或多个计算机执行时使该一个或多个计算机执行操作,该操作包括:获取(i)表示说话者说出的语音命令的音频数据和(ii)指示该语音命令由该说话者说出的说话者标识结果;至少根据音频数据的转录文选择语音动作;从多个不同的服务提供商选择对应于所选择语音动作的服务提供商;标识所选择服务提供商用来执行所选择语音动作的鉴权的一个或多个输入数据类型;以及向服务提供商提供(i)执行所选择语音动作的请求和(ii)对应于所标识的一个或多个输入数据类型的一个或多个数值。

实施方式可以包括以下特征中的一个或多个特征。例如,在某些方面中,获取(i)表示说话者说出的语音命令的音频数据和(ii)指示该语音命令由该说话者说出的说话者标识结果可以包括:获取表示说话者说出的语音命令的音频数据,获取说话者的声纹(voiceprint),确定说话者的声纹与表示说话者说出的语音命令的音频数据匹配;以及响应于确定说话者的声纹与表示说话者说出的语音命令的音频数据匹配,生成指示该语音命令由该说话者说出的说话者标识结果。

在某些方面中,至少根据音频数据的转录文选择语音动作包括:获取一组语音动作,其中,每个语音动作标识对应于该语音动作的一个或多个词项,确定在转录文中的一个或多个词项与对应于语音动作的一个或多个词项匹配,以及响应于确定在转录文中的一个或多个词项与对应于语音动作的一个或多个词项匹配,从该一组语音动作选择语音动作。

在某些实施方式中,从多个不同的服务提供商选择对应于所选择语音动作的服务提供商包括:获取语音动作到多个服务提供商的映射,其中,针对每个语音动作,映射描述了可以执行该语音动作的服务提供商,确定语音动作的映射指示服务提供商可以执行所选择语音动作,以及响应于确定语音动作的映射指示服务提供商可以执行所选择语音动作,选择服务提供商。

在某些方面中,标识所选择服务提供商用来执行所选择语音动作的鉴权的一个或多个输入数据类型包括:向所选择服务提供商提供对所选择服务提供商用来执行所选择语音动作的鉴权的一个或多个输入数据类型的标识的请求,从所选择服务提供商接收对标识的请求的响应,以及根据对标识的请求的响应,标识所选择服务提供商用来执行所选择语音动作的鉴权的一个或多个输入数据类型。

在某些方面中,动作包括:使用自动语音识别器生成音频数据的转录文。在某些实施方式中,动作包括:从服务提供商接收所选择语音动作已被执行的指示。在某些方面中,动作包括:从服务提供商接收需要附加鉴权来执行所选择语音动作的指示,以及响应于从服务提供商接收到需要附加鉴权来执行所选择语音动作的指示,提供对附加鉴权的请求。在某些方面中,标识所选择服务提供商用来执行所选择语音动作的鉴权的一个或多个输入数据类型包括:标识所选择服务提供商使用以下输入数据类型中的一个或多个:指示说话者的移动计算装置自最后解锁以来是否一直在身上的输入数据类型、指示说话者的移动计算装置是否与特定装置进行近距离通信的输入数据类型、指示说话者的移动计算装置是否在特定地理区域内的输入数据类型、或者指示说话者的人脸是否在装置的视野中的输入数据类型。

在某些方面中,在向服务提供商提供(i)执行所选择语音动作的请求和(ii)对应于所标识的一个或多个输入数据类型的一个或多个数值之前,可能存在该一个或多个数值是否满足对服务提供商的一个或多个已知的最低要求的初步确定。如果该确定是肯定的,则将请求发送至服务提供商,但是如果该确定是否定的,则不将请求发送至服务提供商。

在附图和以下描述中陈述了本说明书中所描述的主题的一个或多个实施例的细节。其它潜在特征、方面和优点将通过描述、附图及权利要求书变得显而易见。应理解,各方面和实现可以组合,并且在一个方面或者一种实现的背景下描述的特征可以在其它方面或者实现的背景下实施。

附图说明

图1是示出了与用于安全地执行语音动作的系统的示例交互的框图。

图2是用于安全地执行语音动作的示例系统的框图。

图3是用于安全地执行语音动作的示例语音动作服务器的框图。

图4是示出了与用于安全地执行语音动作的过程的示例的流程图。

图5是计算装置的示例的示意图。

在各个附图中的相同的参考数字和标志指示相同的元件。

具体实施方式

图1是示出了与用于安全地执行语音动作的系统的示例交互100的框图。交互100是在用户110与系统120之间。在该示例中,系统120包括电视机,该电视机包括可以收听来自用户110的语音的麦克风和可以将合成语音输出至用户110的扬声器。在其它示例中,系统120可以包括可以执行语音动作的附加的或者替代的装置。如在该示例中所示出的,系统120根据语音命令的性质和语音命令的情境来强制对语音命令的不同级别的安全要求,并且还把语音标识用作是否执行语音动作的判定的部分。

如图所示,用户110最初说“改变温度至70度”。系统120接收来自用户110的发声(utterance),确定当前温度为69度,并且作为响应,确定把温度改变为70度是不需要任何鉴权的小变化。系统120然后将家里的温度设置改变为70度,并且输出合成语音:“已经把温度从68度改变为70度”。

继续该示例,用户110稍后说“改变温度至80度”。系统120接收来自用户110的发声,确定当前温度为70度,并且作为响应,确定把温度改变为80度是需要低级别鉴权的大变化。系统120然后通过把所存储的“johndoe”的声纹与该发声匹配,把说话者标识为“johndoe”,并且确定利用“johndoe”注册的移动计算装置是在家中。因为系统120确定语音标识和/或移动计算装置的物理存在性满足该“低”级别鉴权要求,所以系统120把家里的温度设置改变为80度,并且输出合成语音“已经把温度从70度改变为80度”。所存储的声纹可以指示用户的语音的声音,包括:音高、速度、音调、发音、口音、抑扬、或者其它方面中的一个或者多个。

用户110稍后说“解除安全系统”。系统120接收来自用户110的发声,确定解除安全系统需要高级别的鉴权,与图2所示的其它命令相比较,该高级别鉴权具有更高的安全要求。为了确定是否执行命令,系统120通过将所存储的“johndoe”的声纹与发声匹配来将说话者标识为“johndoe”,确定用“johndoe”注册的移动计算装置在家里,并且确定用“johndoe”注册的移动计算装置自最后解锁以来一直在人身上。系统120确定这些因素都满足该“高”级别鉴权,并且作为响应,解除安全系统并且输出合成语音“安全系统已解除”。

一般而言,装置可以通过使用一个或者多个传感器来确定该装置自解锁以来是否一直由用户戴着。例如,装置可以包括电容式传感器、电阻式传感器、光学传感器、温度传感器、压力传感器、ekg传感器、或者用于检测用户的身体的存在和/或特性的其它传感器。传感器可以按照一定的间隔(例如,每100毫秒、每秒、或者每10秒等)生成数据,并且数据可以指示装置是否与用户的身体接触或者在用户的身体的预定距离内。作为一个示例,手表可以包括面向穿戴者的手腕或者与穿戴者的手腕接触的传感器。传感器可以基于检测电容来检测与用户的皮肤的接触或者不接触。另外,或者作为替代,传感器可以测量在面向用户手腕的手表的背面检测到的光,例如,以表明手表的背面被盖住,或者测量对来自装置的将光引导至用户手腕的led的光反射或者吸收。可以随着时间追踪来自传感器的数据,并且将该数据与预定阈值和范围进行比较,以确定手表自解锁以来是否一直被戴着。可以使用相似的技术来检测项链、帽子、戒指和其它可穿戴装置在一段时间内是否一直被戴着。

图2是用于安全地执行语音动作的示例系统200的框图。在某些实施方式中,系统200可以是图1所示的系统120。用于安全地执行语音动作的示例系统200可以包括本地装置210、语音动作服务器220、移动计算装置230、和服务提供商240a、240b、240c(统称为240)。

本地装置210可以是包括在说出语音命令的用户的可听见的听力范围内的麦克风的装置。例如,本地装置210可以是支持语音动作的电视机、工作台面家庭语音自动化装置、或者具有语音自动化功能的家庭安全系统。语音命令可以指触发系统200尝试执行语音动作的语音。例如,请求解除安全系统的语音动作的语音命令可以包括“解除安全系统”、“关闭安全系统”、或者“使安全系统进入解除状态”。语音动作可以指由语音触发的动作。例如,解除安全系统的语音动作可以指由语音触发的解除安全系统的动作。

本地装置210可以接收来自用户的发声并且将表示该发声的音频数据提供至语音动作服务器220。音频数据可以包括表示该发声的mel频率倒谱系数(mfcc)。例如,本地装置210可以使用麦克风来检测包括用户正在说出“解除安全系统”的声音,并且作为响应,将表示该发声的音频数据提供至语音动作服务器220。本地装置210可以另外或者替代地接收来自语音动作服务器220的信息,以提供至用户。例如,本地装置210可以接收合成语音“安全系统已解除”的音频数据,并且然后通过扬声器将该合成语音输出至用户。

语音动作服务器220可以从本地装置210接收表示发声的音频数据,从所接收到的数据提取发声,并且确定是否执行对应于该发声的语音动作。例如,语音动作服务器220可以接收表示发声“解除安全系统”的音频数据,并且确定要执行解除家庭安全系统的语音动作。语音动作服务器220也利于与服务器提供商240的通信,并且利于收集允许服务提供商240确定是否已经满足对语音动作的安全要求的情境信息。例如,语音动作服务器220可以接收来自本地装置210的情境信息,并且将该信息传递至服务提供商240。当需要来自用户的附加信息时,或者当发生错误时,可以通过语音动作服务器220在用户与服务提供商240之间传输信息。

在确定执行语音动作时,语音动作服务器220可以选择服务提供商来执行语音动作。服务提供商240中的每一个可以与其处理的特定动作或者特定类型的动作相关联,并且语音动作服务器220可以将每个请求路由至适当的服务提供商240。例如,在确定执行解除家庭安全系统的语音动作时,语音动作服务器220可选择可与家庭安全系统相关联的服务提供商a240a。在另一示例中,响应于确定要执行预订餐厅的语音动作,语音动作服务器220可以选择可以与餐厅预订管理应用或者网站相关联的服务提供商b240b。

语音动作服务器220可以标识所选择的服务提供商用来执行鉴权的输入数据类型和这些数据类型的值。不同的服务提供商240可以使用不同类型的输入数据来确定是否已经满足适当的应用或者安全要求。相似地,单个服务提供商所支持的不同的语音动作可能需要不同类型的输入数据。语音动作服务器220可以使每个语音动作请求格式化以包括评估对被请求的特定语音动作的安全要求和对语音动作请求所要发送的特定服务提供商的安全要求所需的数据。例如,语音动作服务器220可以确定服务提供商a240a使用语音匹配置信度的数据类型、对应于用户的移动计算装置的地理位置的数据类型、和对应于用户的自最后解锁以来一直在人身上的移动计算装置的状态的数据类型。然后,语音动作服务器220确定这些数据类型的值,例如,指示存在90%的语音匹配置信度、用户的移动计算装置在特定地理区域内、并且用户的移动计算装置自最后解锁以来一直在人身上的数据。在另一示例中,语音动作服务器220可以确定服务提供商b240b使用语音匹配置信度和关于移动计算装置自最后解锁以来一直在人身上的状态,并且然后确定指示存在80%的语音匹配置信度并且用户的移动计算装置自最后解锁以来一直在人身上的值。

输入数据类型可表示可用来对用户进行鉴权的情境信号,而无需要求用户提供明确的鉴权信息。输入数据类型可以包括以下输入数据类型中的一个或多个:指示说话者的移动计算装置自最后解锁以来是否一直在身上的输入数据类型、指示说话者的移动计算装置是否与特定装置进行近距离(short-range)通信的输入数据类型、指示说话者的移动计算装置是否在特定地理区域内的输入数据类型、或者指示说话者的人脸是否在装置的视野中的输入数据类型。

例如,为了进行鉴权,在不要求用户提供附加语音的情况下,可以基于使用表示语音命令的音频数据来确定语音匹配置信度的值。在另一示例中,在不让用户提供附加信息的情况下,可以基于确定从表示语音命令的音频数据标识出的用户的移动计算装置是否在地理区域内,来确定用户的移动计算装置处于物理上很近的地方的值。在又一示例中,语音动作服务器220可以接收来自在本地装置210的视野内的联网摄像头的说话者的图像,并且针对指示说话者的人脸是否经过联网摄像头验证的输入数据类型,确定指示说话者的人脸是否经过验证的值。

语音动作服务器220可以基于用户的移动计算装置230来确定标识出的输入数据类型的值。例如,语音动作服务器220可以确定用户的移动计算装置230在家里,例如,装置230的位置恰与用户指定为用户的家的位置一致,或者计算装置230与已知位于用户的家中的装置210进行近距离通信。语音动作服务器220然后可以确定指示用户的移动计算装置230在家中的值,并且在服务提供商配置为接收该类型的数据时,将该值提供至服务提供商。

在某些实施方式中,语音动作服务器220可以从音频数据确定用户的身份,标识用户的移动计算装置230,确定移动计算装置的状态,并且然后从移动计算装置的状态确定所标识的输入数据类型的值。例如,语音动作服务器220可以基于在与所存储的“johndoe”的声纹匹配的语音命令中的语音来确定语音命令来自“johndoe”,确定针对“johndoe”使用的移动计算装置230所存储的装置标识符,向对应于装置标识符的装置230请求信息,接收来自装置230的所请求的信息,并且通过使用来自装置230的信息来生成值。在另一示例中,语音动作服务器220可以基于在与所存储的“johndoe”的声纹匹配的语音命令中的语音来确定语音命令来自“johndoe”,确定针对“johndoe”所使用的移动计算装置230所存储的装置标识符,标识已经由对应于装置标识符的语音动作服务器220存储的信息,并且通过使用标识出的已经存储的信息来生成值。

来自装置230的信息可以包括以下中的一个或者多个:基于在装置230中的gps传感器的装置230的位置、与装置230进行近距离无线通信的其它装置、装置230自从最后解锁以来是否一直在人身上、装置230的当前视野的图像或者一些其它信息。

在另一示例中,语音动作服务器220可以基于在与所存储的“johndoe”的声纹匹配的语音命令中的语音来确定语音命令来自“johndoe”,确定针对“johndoe”所使用的移动计算装置230所存储的装置标识符,向另外装置请求关于对应于装置标识符的装置230的信息,接收来自该另外装置的所请求的信息,并且通过使用来自该另外装置的信息来生成数值。来自装置230的信息可以包括以下中的一个或者多个:该另外装置与装置230进行近距离无线通信或者通过该另外装置在地理区域内检测到装置230的指示。

在某些实施方式中,语音动作服务器220附加或者替代地接收来自本地装置210的可用于生成输入数据类型的值的信息。本地装置210可提供具有表示语音命令的发声的音频数据的信息,或者响应于语音动作服务器220向本地装置210请求信息而提供该信息。

语音动作服务器220可以向所选择的服务提供商提供执行语音动作的请求以及所选择的服务提供商用来执行鉴权的所标识的输入数据类型的值。例如,语音动作服务器220可以向服务提供商a240a提供解除安全系统的请求以及指示(i)存在用户是“johndoe”的80%的语音匹配置信度和(ii)“johndoe”的移动计算装置在特定地理区域内并且自最后解锁以来一直在人身上的值。

由于服务提供商可具有语音动作服务器220可能不具有的用于确定适当级别的鉴权的附加信息或者规则,所以语音动作服务器220可以向所选择的服务提供商提供所标识的输入数据类型的值。例如,改变家中温度的鉴权级别可以取决于变化量,例如,小变化可能不需要鉴权或者需要很少的鉴权,但是可能导致大量费用的大变化可能需要越来越高的鉴权,并且语音动作服务器220可能不知道家中的当前温度设置,而服务提供商知道。因此,这种布置可以实现供服务提供商确定鉴权规则的灵活性,并且可以通过对提供至语音动作服务器220的信息进行限制来实现安全性。此外,在该实施方式中,不需要说话者提供明确的鉴权信息(诸如,提供鉴权pin代码),从而使该方法对于说话者而言较为方便。

响应于将请求和值提供至所选择的服务提供商,语音动作服务器220可以接收执行了所选择的语音动作的指示。例如,语音动作服务器220可以接收来自服务提供商a430a的完成指示。响应于执行了所选择的语音动作的指示,语音动作服务器220可以将执行了语音动作的指示提供至本地装置210。

另外或者可替代地,响应于将请求和值提供至所选择的服务提供商,语音动作服务器220可以接收需要附加鉴权来执行所选择的语音动作的指示。例如,语音动作服务器220可以从服务提供商a430a接收服务提供商a430a所需的附加鉴权的指示。

响应于需要附加鉴权的指示,语音动作服务器220可以将因为需要附加鉴权而未执行语音动作的指示提供至本地装置210。在某些实施方式中,来自所选择的服务提供商的指示可以指示所需附加鉴权的输入数据类型,并且语音动作服务器220可以把请求提供至本地装置210,以供用户提供附加鉴权所需的输入数据类型的信息。在某些实施方式中,附加鉴权可以包括请求,该请求可以是明确的鉴权代码、密码、附加语音验证短语、或者用于同意在将来使用附加类型的情境信息来进行鉴权。

在某些实施方式中,语音动作服务器220可以附加地或者替代地执行某些鉴权。例如,语音动作服务器220可以获取对特定服务提供商或者由特定服务提供商执行的特定语音动作的最低鉴权要求,并且可以做出是否满足这些最低鉴权要求的判定。在该示例中,如果不满足最低要求,则语音动作服务器220可以不将请求发送至所选择的服务提供商,而是向用户指示附加鉴权信息是必需的。这通过消除在建议用户附加鉴权信息是必需的之前因为语音动作服务器把请求发送至所选择的服务提供商并且从服务提供商接收其尚未接受该请求的通知而造成的延迟,来减少对用户进行鉴权所需的时间。

服务提供商240可以包括以下实体中的一个或者多个:装置如恒温器或者家庭安全系统、应用如日历应用或者语音拨号应用、或者网站如网上银行或者网上购物网站、或者注册来执行某些动作或者某些类型的动作的其它实体。如上所述,服务提供商240可以具有对语音动作服务器220不可用的信息,并且可以基于来自服务器的用于鉴权的信息并且通过对语音动作服务器220不可用但是对服务提供商240可用的信息,来评估是否可以执行语音动作。

在某些实施方式中,说话者的声纹可能不可用,并且系统200可以使用输入数据类型而不是基于语音验证的数据类型来进行鉴权。例如,系统200可以仅仅使用人脸识别,而不是人脸识别和语音验证。

在某些实施方式中,移动计算装置230可以执行语音验证。例如,移动计算装置230和本地装置210均检测到相同的发声。在该示例中,移动计算装置230标识说话者并且确定语音匹配置信度,并且然后向语音动作服务器220提供该标识和语音匹配置信度。语音动作服务器220然后使用来自移动计算装置230的标识和语音匹配置信度,而不是去标识说话者并且确定语音匹配置信度。在另一示例中,移动计算装置230标识说话者并且确定语音匹配置信度,并且然后向本地装置210提供该标识和语音匹配置信度,以连同表示语音命令的音频数据一起提供至语音动作服务器220。在又一示例中,本地装置210将表示语音命令的音频数据提供至移动计算装置230,以标识说话者并且确定语音匹配置信度,并且移动计算装置230然后把说话者的标识和语音匹配置信度提供至本地装置210以提供至语音动作服务器220,或者直接提供至语音动作服务器220。

在本地装置210、语音动作服务器220、移动计算装置230和装置提供商240a、240b、240c(统称为240)的功能可以组合在一起、进一步分离、分布或者互换的情况下,可以使用系统200的不同配置。可以将系统200实施在单个装置中或者分布到多个装置。

可以通过在系统200中的各个装置中的任何一个装置来执行说话者验证。例如,本地装置210可以标识命令的说话者,语音动作服务器220可以标识命令的说话者,或者两者均可以单独地或者协作地执行说话者标识。可以通过使用其自己的命令的语音、通过使用刚好在命令之前说出的热门词或者关注词、或者通过使用在命令之前或者在命令之后的其它语音,来确定说话者的身份。

图3是用于安全地执行语音动作的示例语音动作服务器300的框图。在某些实施方式中,服务器300可以是图2所示的语音动作服务器220。在其它实施方式中,服务器300可以是另一语音动作服务器。

语音动作服务器300可以包括对话管理器310、自动语音识别器320、提供商选择引擎330、语音动作数据库332、说话者标识器340、说话者声纹数据库342、输入数据值确定器350、和提供商接口360。

对话管理器310可以管理与用户的对话。例如,对话管理器310可以接收表示用户的语音的音频数据,并且响应于来自用户的语音来提供合成语音。对话管理器310可以接收来自本地装置的音频数据并且将该音频数据提供至自动语音识别器320和说话者标识器340。例如,对话管理器310可以接收表示“改变温度至80度”的音频数据,并且将把音频数据提供至自动语音识别器320和说话者标识器340。对话管理器310可以接收来自提供商接口360的是否执行了语音命令的指示,并且然后将该提示提供至本地装置。例如,对话管理器310可以接收执行了改变温度的语音命令以把温度从70度改变为80度的指示,并且作为响应,生成合成语音“温度已经从70度变为80度”。

自动语音识别器320可以接收表示语音命令的音频数据,并且生成音频数据的转录文(transcription)。例如,自动语音识别器320可以接收表示语音命令“改变温度至80度”的音频数据,并且作为响应,生成“改变温度至80度”的转录文。自动语音识别器320可以把转录文提供至提供商选择引擎330。例如,自动语音识别器320可以把转录文“改变温度至80度”提供至提供商选择引擎330。

提供商选择引擎330可以接收转录文并且基于该转录文来选择语音动作。例如,提供商选择引擎330可以接收转录文“改变温度至80度”,并且作为响应,基于转录文来选择语音动作“改变温度”。

在选择语音动作时,提供商选择引擎330可以对指示来自语音动作数据库332的一组语音动作的数据进行评估,其中,每个语音动作标识对应于该语音动作的一个或者多个词项。例如,语音动作数据库332可以指示一组语音动作,该一组语音动作包括:与词项“改变温度”、“温度改变”、“设置温度”、或者其它词项相关联的语音动作“改变温度”所指示的另一语音动作可以是与词项“解除安全系统”、“未设置安全系统”、“把安全系统设置为解除”、或者其它词项相关联的动作“解除安全系统”。提供商选择引擎330可以确定在转录文中的一个或者多个词项与对应于语音动作的一个或者多个词项匹配。例如,提供商选择引擎330可以确定转录文“改变温度至80度”包括词项“改变温度”。响应于确定在转录文中的一个或多个词项与对应于语音动作的一个或多个词项匹配,提供商选择引擎330可以从该一组语音动作选择语音动作。例如,响应于确定转录文“改变温度至80度”包括词项“改变温度”,提供商选择引擎330可以选择语音动作“改变温度”。

提供商选择引擎330可以将所选择的语音动作的指示提供至提供商接口360。例如,提供商选择引擎330向提供商接口360提供选择了语音动作“改变温度”的指示。

说话者标识器340可以获取表示说话者说出的语音命令的音频数据和指示语音命令由说话者说出的说话者标识结果。例如,说话者标识器340可以获取表示由“johndoe”说出的语音命令“改变温度至80度”的音频数据,并且生成指示语音命令由“johndoe”说出的说话者标识结果。

说话者标识器340可以把表示语音命令的音频数据或者语音命令前置的热门词与用户的声纹匹配,来生成说话者标识结果。例如,基于确定语音命令的音频数据与所存储的“johndoe”的声纹匹配,说话者标识器340可以生成指示“johndoe”说出语音命令的说话者标识结果。说话者标识器340可以从存储在说话者声纹数据库342中的一组声纹获取用户的声纹。

在某些实施方式中,说话者标识器340可以确定表示在用户的声纹与表示语音命令的音频数据之间的匹配度的匹配置信度,并且将匹配置信度包括在说话者标识结果中。例如,说话者标识器340可以确定80%的匹配置信度,并且将80%的匹配置信度的指示包括在说话者标识结果中。

在某些实施方式中,说话者标识器340可以仅仅用说话者标识结果来标识单个用户。例如,说话者标识器340可以确定具有指示最高匹配度的匹配置信度的用户,并且用说话者标识结果和该说话者的匹配置信度来标识该用户。在其它实施方式中,说话者标识器340可以在说话者标识结果中标识多个用户。例如,说话者标识器340可以标识具有满足匹配置信度阈值(例如,50%、60%、75%)的匹配置信度或者一些其它匹配置信度的用户,并且用说话者标识结果和其对应的匹配置信度来标识这些用户。在另一示例中,说话者标识器340可以标识具有指示二、三或者一些其它数字的最高匹配度的匹配置信度的用户,并且用说话者标识结果和其对应的匹配置信度来标识这些用户。说话者标识器340可以将说话者标识结果提供至输入数据值确定器350。

在某些实施方式中,代替说话者标识器340或者除了说话者标识器340之外,本地装置(诸如在用户的家或者工作地点中的装置)可以执行说话者验证。例如,本地装置可以存储源于用户在注册时提供的语音样本的信息,这允许本地装置确定说话者的语音是否与在注册期间观察到的特性匹配。本地装置可以向服务器300提供说话者验证置信度分值和/或说话者是否可能是授权用户的分类结果。除了说话者验证信息之外,本地装置可以提供各种其它情境信息。通常,本地装置可以提供尽可能多的可用情境信息,并且自动与语音命令一起提供情境信息。服务器300然后确定需要哪一种信息并且哪一种格式是适当的,以在语音动作请求中传递至服务提供商。

输入数据值确定器350可以基于所标识的用户来确定服务提供商所使用的输入数据类型的值。例如,输入数据值确定器350可以确定在说出语音命令时标识的用户的移动计算装置是否在用户家中的二进制值。输入数据类型可以包括以下中的一个或者多个:基于装置230中的gps传感器用户的移动计算装置是否处于可信区域中、用户的移动计算装置是否与可信装置进行无线通信、装置230自最后解锁以来是否一直被戴在人身上、在装置230的当前视野中的用户是否与所存储的用户的人脸匹配、或者一些其它输入值数据类型。可信区域可以是用户已经指定用户想要提供语音命令的区域。可信装置可以是用户已经指定的在用户的移动计算装置与可信装置进行通信时用户想要提供命令的装置。

与语音动作服务器220的上述方式相似,输入数据值确定器350可以标识由所标识的用户使用的移动计算装置的所存储的装置标识符,向所标识的移动计算装置请求信息,接收来自所标识的移动计算装置的所请求的信息,并且然后基于该信息生成输入数据类型的值。如上所述,输入数据值确定器350可以替代地标识由所标识的用户使用的移动计算装置的所存储的装置标识符,向其它装置请求关于所标识的移动计算装置的信息,接收来自该其它装置的所请求的信息,并且然后基于该信息生成输入数据类型的值。

输入数据值确定器350可以将确定的数据类型提供至提供商接口360。例如,输入数据值确定器350可以向提供商接口360提供如下指示:用户的移动计算装置不在可信区域中并且用户的移动计算装置自最后解锁以来一直在人身上。

提供商接口360可以接收来自提供商选择引擎330的所选服务提供商和所选语音动作的指示,并且可以接收来自输入数据值确定器350的输入数据类型的值,并且作为响应,把执行所选语音动作的请求提供至所选服务提供商,并且提供输入数据类型的一个或者多个值。例如,提供商接口360可以接收用于供热、通风与空气调节(hvac)控制的所选服务提供商的指示、和改变温度的所选语音动作的指示、以及输入数据类型的值,该输入数据类型的值指示(i)存在用户是“johndoe”的80%的语音匹配置信度、(ii)“johndoe”的移动计算装置在特定的地理区域内、以及(iii)移动计算装置自最后解锁以来一直在人身上。利用这种信息,提供商接口360向所选服务提供商提供改变温度的所选语音动作的指示,并且提供指示以下的值:(i)存在用户是“johndoe”的80%的语音匹配置信度、以及(ii)“johndoe”的移动计算装置在特定的地理区域内。当所选服务提供商可能不使用该输入数据类型时,提供商接口360可以省略提供指示移动计算装置自最后解锁以来一直在人身上的值。

基于确定所选服务提供商用来对所选语音动作进行鉴权的输入数据类型的子集,提供商接口360可以提供对应于所标识的一个或者多个输入数据类型的一个或者多个值。例如,基于确定:针对改变温度的所选语音动作,用于hvac控制的所选服务提供商使用这些输入数据类型来进行鉴权,提供商接口360可以提供指示语音匹配置信度和该匹配用户的移动计算装置是否在特定地理区域内的值。根据选择哪一个提供商来处理语音动作请求,可以提供不同的情境信息。在另一示例中,如果hvac控制系统使用与移动计算装置有关的状态信息,则提供商接口360还可以提供指示移动计算装置自最后解锁以来是否一直在人身上的值。在又一示例中,基于确定:针对改变温度的所选语音动作,用于hvac控制的另一个不同的所选服务提供商使用这些输入数据类型来进行鉴权,提供商接口360可以提供指示语音匹配置信度的输入数据类型和在移动计算装置的摄像头的当前视野中的人脸与语音匹配用户匹配的值。

提供商接口360可以接收来自服务提供商的指示是否执行了语音动作或者是否需要附加信息进行鉴权的响应。例如,提供商接口360可以接收来自用于hvac控制的所选服务提供商的完成了改变温度的语音动作的指示。在另一示例中,提供商接口360可以接收来自用于hvac控制的所选服务提供商的尚未完成改变温度的语音动作并且需要特定附加类型的鉴权信息的指示。如上所述,提供商接口360可以把指示提供至对话管理器310,并且对话管理器310可以将该指示提供至用户。

在对话管理器310、自动语音识别器320、提供商选择引擎330、语音动作数据库332、语音标识符340、说话者声纹数据库342、输入数据值确定器350、和提供商接口360的功能可以组合在一起、进一步分开、分布或者互换的情况下,可以使用服务器300的不同配置。例如,提供商接口360可以执行输入数据值确定器350的功能,以仅仅确定所选服务提供商用来对选择语音动作进行鉴权的输入数据类型的值。可以将系统200实施在单个装置中或者分布到多个装置。

图4是示出了与用于安全地执行语音动作的过程的示例的流程图。过程400的操作可以通过一个或者多个计算系统(诸如图3的服务器300)来执行。

接收表示语音命令的音频数据和说话者标识(410)。例如,对话管理器310可以接收表示“janedoe”说出“解除安全系统”的音频数据。接收音频数据和说话者标识可以包括:获取表示说话者说出的语音命令的音频数据,获取说话者的声纹,确定说话者的声纹与表示说话者说出的语音命令的音频数据匹配,以及响应于确定说话者的声纹与表示说话者说出的语音命令的音频数据匹配,生成指示语音命令由说话者说出的说话者标识结果。

可以选择语音动作(420)。例如,自动语音识别器320可以生成转录文“解除安全系统”并且将该转录文提供至提供商选择引擎330,该提供商选择引擎330可以确定这些词项和与词项“解除安全系统”相关联的解除安全系统的语音动作匹配。选择语音动作可以包括:获取一组语音动作,其中,每个语音动作标识对应于该语音动作的一个或多个词项,确定在转录文中的一个或多个词项与对应于语音动作的一个或多个词项匹配,以及响应于确定在转录文中的一个或多个词项与对应于语音动作的一个或多个词项匹配,从该一组语音动作选择语音动作。

可以选择对应于语音动作的服务提供商(430)。例如,提供商选择引擎330可以确定家庭安全系统的服务提供商可以执行解除安全系统的语音动作,并且作为响应,选择家庭安全系统的服务提供商。选择对应于语音动作的服务提供商包括:获取语音动作到多个服务提供商的映射,其中,对每个语音动作,映射描述了可以执行该语音动作的服务提供商,确定语音动作的该映射指示服务提供商可以执行所选择的语音动作,以及响应于确定语音动作的映射指示服务提供商可以执行所选择语音动作,选择服务提供商。

可以标识所选服务提供商用来执行鉴权的输入数据类型(440)。例如,提供商接口360可以标识家庭安全系统的所选服务提供商使用语音匹配置信度的输入数据类型并且用户的移动计算装置是否连接至家中的wi-fi网络以对解除安全系统的语音动作进行鉴权。标识输入数据类型可以包括:向所选服务提供商提供对所选服务提供商用来执行所选语音动作的鉴权的一个或者多个输入数据类型的标识的请求,从所选服务提供商接收对标识的请求的响应,以及根据对标识的请求的响应,标识所选服务提供商用来执行所选语音动作的鉴权的一个或者多个输入数据类型。

可以提供执行所选语音动作的请求和对应于所标识输入数据类型的一个或者多个值(450)。例如,提供商接口360可以向家庭安全系统的所选服务提供商提供如下指示:所选语音动作是解除家庭安全系统和针对“janedoe”的90%的语音匹配的值,并且janedoe的移动计算装置连接至家庭的wi-fi网络。

图5示出了可以用于实施此处所描述的技术的计算装置500和移动计算装置550的示例。计算装置可以例如包含或者实施图3的语音动作服务器。计算装置500旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、主机和其它适当的计算机。移动计算装置550旨在表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话和其它相似的计算装置。此处所示的组件、它们的连接和关系以及它们的功能仅仅意谓示例性的,而并不意谓限制性的。

计算装置500包括处理器502、存储器504、存储装置506、连接至存储器504和多个高速扩展端口510的高速接口508、以及连接至低速扩展端口514和存储装置506的低速接口512。处理器502、存储器504、存储装置506、高速接口508、高速扩展端口510和低速接口512中的每一个通过使用各种总线互相连接,并且在适当的时候,可以安装在公共主板上或者以其它方式安装。处理器502可以处理在计算装置500内执行的指令,包括存储在存储器504中或者在存储装置506上的针对在外部输入/输出装置上的图形用户界面(gui)(诸如,耦合至高速接口508的显示器516)显示图形信息。在其它实施方式中,在适当的时候,可以使用多个处理器和/或多个总线连同多个存储器和多种类型的存储器。同样,多个计算装置可以与必要操作的每个装置提供部分(例如,服务器银行、一组刀片服务器或者多处理器系统)连接。

存储器504将信息存储在计算装置500内。在某些实施方式中,存储器504是易失性存储单元(多个)。在某些实施方式中,存储器504是非易失性存储单元。存储器504也可以是另一种形式的计算机可读介质,诸如,磁盘或者光盘。

存储装置506能够为计算装置500提供海量存储。在某些实施方式中,存储装置506可以是或者包含计算机可读介质,诸如,软盘装置、硬盘装置、光盘装置或者磁带装置、闪存或者其它相似的固态存储装置、或者装置阵列,包括在存储区域网络或者其它配置中的装置。指令可以存储在信息载体中。指令在由一个或者多个处理装置(例如,处理器502)执行时执行一种或者多种方法,诸如,上述方法。指令也可以由一个或者多个存储装置(诸如,计算机可读介质或者机器可读介质(例如,存储器504、存储装置506、或者在处理器502上的存储器))存储。

高速接口508管理计算装置500的带宽密集型操作,然而低速接口512管理较低带宽密集型操作。这种功能分配仅仅是示例性的。在某些实施方式中,高速接口508耦合至存储器504和显示器516(例如,通过图形处理器或者加速器),并且耦合至可以接受各种扩展卡(未示出)的高速扩展端口510。在该实施方式中,低速接口512耦合至存储装置506和低速扩展端口514。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口514可以例如通过网络适配器耦合至一个或者多个输入/输出装置,诸如,键盘、指向装置、扫描器或者组网装置,诸如,交换机或者路由器。

计算装置500可以按照多种不同形式来实施,如图所示。例如,计算装置可以被实施为标准服务器520,或者可以多次被实施为一组这种服务器。另外,可以用个人计算机(诸如膝上型计算机522)来实施计算装置。计算装置也可以实施为机架式服务器系统524的部分。可替代地,可以将计算装置500的组件与在移动计算装置(未示出)(诸如移动计算装置550)中的其它组件结合在一起。这种装置中的每一个可以包含计算装置500和移动计算装置550中的一个或者多个,并且整个系统可以由彼此通信的多个计算装置构成。

移动计算装置550包括处理器552、存储器564、诸如显示器554等输入/输出装置、通信接口566、收发器568等。移动计算装置550也可以提供有提供附加存储的存储装置(诸如,微驱动器或者其它装置)。处理器552、存储器564、显示器554、通信接口566和收发器568中的每一个通过使用各种总线来互相连接,并且在适当的时候,组件中的几个可以安装在公共主板上或者以其它方式来安装。

处理器552可以执行在移动计算装置550内的指令,包括存储在存储器564中的指令。处理器552可以实施为包括分开的和多个模拟与数字处理器的芯片的芯片组。处理器552可以例如针对移动计算装置550的其它组件的协调(诸如,用户界面的控制)提供由移动计算装置550运行的应用和由移动计算装置550进行的无线通信。

处理器552可以通过耦合至显示器554的控制接口558和显示接口556与用户通信。显示器554可以是,例如,tft(薄膜晶体管液晶显示器)显示器或者oled(有机电致发光二极管)显示器,或者其它适当的显示技术。显示接口556可以包括用于驱动显示器554向用户呈现图形和其它信息的适当的电路系统。控制接口558可以接收来自用户的命令并且对它们进行转换以提交给处理器552。另外,外部接口562可以提供与处理器552的通信,以使移动计算装置550能够与其它装置进行近场通信。外部接口562可以在一些实施方式中提供,例如,有线通信,或者在其它实施方式中提供无线通信,并且也可以使用多个接口。

存储器564将信息存储在计算装置550内。存储器564可以实施为计算机可读介质或者媒体、易失性存储单元(多个)、或者非易失性存储单元(多个)中的一个或者多个。扩展存储器574也可以被提供,并且通过扩展接口572连接至移动计算装置550,该扩展接口572可以包括,例如,simm(单列直插存储器模块)卡接口。扩展存储器574可以为移动计算装置550提供额外存储空间,或者也存储移动计算装置550的应用或者其它信息。具体地,扩展存储器574可以包括执行或者补充上述过程的指令,并且也可以包括安全信息。由此,例如,扩展存储器574也可以提供为移动计算装置550的安全模块,并且可以利用允许安全使用移动计算装置550的指令来编程。另外,可以经由simm卡提供安全应用连同附加信息(诸如,以非可控制方式将标识信息放置在simm卡上)。

存储器可以包括,例如,闪存和/或nvram存储器(非易失性随机存取存储器),如下面所讨论的。在某些实施方式中,指令存储在信息载体中,其中,该指令在由一个或者多个处理装置(例如,处理器552)执行时执行一个或者多个方法(诸如上述方法)。指令也可以由一个或者多个存储装置(诸如计算机可读介质或者机器可读介质(例如,存储器564、扩展存储器574、或者在处理器552上的存储器))存储。在某些实施方式中,可以在传播信号中接收指令,例如,通过收发器568或者外部接口562。

移动计算装置550可以通过通信接口566进行无线通信,必要时,该通信接口566可以包括数字信号处理电路系统。通信接口566可以提供在各种模式或者协议(诸如,gsm语音呼叫(移动通信的全球系统)、sms(短消息服务)、ems(增强消息服务)、或者mms消息(多媒体消息服务)、cdma(码分多址)、tdma(时分多址)、pdc(个人数字蜂窝系统)、wcdma(宽带码分多址)、cdma2000或者gprs(通用分组无线业务)等)下的通信。这种通信可以例如通过使用射频的收发器568发生。另外,近距离通信可以发送,诸如,通过使用蓝牙、wifi、或者其它这种收发器(未示出)。另外,gps(全球定位系统)接收器模块570可以将附加导航和位置相关无线数据发送至移动计算装置550,在适当的时候,该移动计算装置550可以由在移动计算装置450上运行的应用使用。

移动计算装置550也可以通过使用音频编解码器560来进行可听见的通信,该音频编解码器560可以接收来自用户的所说出信息,并且将其转换为可用数字信息。音频编解码器560同样可以,例如,在移动计算装置550的耳机中,生成用户可听见的声音,诸如,通过说话者。这种声音可以包括来自语音电话呼叫的声音,可以包括录制声音(例如,语音信息、音乐文件等),并且还可以包括由在移动计算装置550上运行的应用生成的声音。

移动计算装置550可以按照多种不同的形式来实施,如图所示。例如,移动计算装置可以实施为蜂窝电话580。移动计算装置也可以实施为智能电话582、个人数字助理、或者其它相似的移动装置的部分。

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