与设备关联的账户的制作方法


与设备关联的账户
1.相关申请的交叉引用
2.本技术要求于2019年12月09日提交的题为“与设备关联的账户(account association with device)”的美国专利申请第16/708,150号和于2019年12月09日提交的题为“亚历克莎漫游验证技术(alexa roaming authentication techniques)”的美国专利申请第16/708,229号的优先权,这两个专利都要求于2019年9月24日提交的美国临时专利申请第62/905,112号的优先权,其全部内容通过引用合并在此。


背景技术:



3.可以利用语音接口设备来提供信息和/或控制其它电子设备的操作。可以利用与语音接口设备相关联的账户来执行信息的提供和设备的控制。在此描述了用于管理语音接口设备的使用等技术的改进和技术问题的解决方案。
附图说明
4.下面参照附图给出详细说明。在附图中,附图标记的最左边数字标识附图标记首次出现的附图。在不同的附图中使用相同的附图标记表示相似或相同的物品。附图中所示的系统不按比例绘制,并且附图中的组件可以彼此不按比例绘制。
5.图1示出了用于与设备关联的账户的示例环境的示意图。
6.图2a示出了用于与设备关联的账户的示例组件的概念图。
7.图2b示出了用于确定用户话语是与访客账户相关联还是与主机账户相关联的示例组件的概念图。
8.图3a示出了用于由主机用户建立与设备关联的账户的示例用户界面。
9.图3b示出了用于由访客用户建立与设备关联的账户的示例用户界面。
10.图4示出了按照设备与账户数据连接的时间序列排列的交互示例流的序列图。
11.图5示出了按照访客会话验证的时间序列排列的交互示例流的序列图。
12.图6示出了按照访客会话利用的时间序列排列的交互示例流的序列图。
13.图7示出了用于与设备关联的账户的示例过程的流程图。
14.图8示出了用于与设备关联的账户的另一示例过程的流程图。
15.图9示出了用于处理由一个或更多个设备提供的音频数据的语音处理系统的组件的概念图。
16.图10示出了被配置为将账户与设备相关联的计算设备的示例组件的概念图。
17.图11示出了用于验证与设备关联的账户数据的示例过程的流程图。
18.图12示出了用于验证与设备关联的账户数据的另一示例过程的流程图。
19.图13是示出了根据本公开的实施例的处理的流程图,该处理可以被执行以准备用于asr处理和用户识别处理的音频数据。
20.图14是根据本公开的实施例的向量编码器的图。
21.图15是示出了根据本公开的实施例的用户识别的系统流程图。
具体实施方式
22.公开了用于与设备关联的账户的系统和方法。例如,可以与一个或更多个电子设备相关联的第一用户配置文件,一个或更多个电子设备例如语音接口设备(例如,echo设备、移动电话、平板电脑、个人计算机等)、视频接口设备(例如,电视、机顶盒、虚拟/增强现实耳机等)、触摸界面设备(平板电脑、电话、笔记本电脑、自助服务终端、广告牌等)和附件设备(例如灯、插头、锁、恒温器、电器、电视、时钟、烟雾探测器、门铃、相机、运动/磁性/其他安全系统传感器等)。这些电子设备例如可以位于与第一用户配置文件相关联的家中、企业、医疗机构(例如,医院、医生办公室、药房等)中、车辆(例如,飞机、卡车、汽车、公共汽车等)中、公共场所(例如,购物中心、商店等)中。例如,第二用户配置文件还可以与一个或更多个其他电子设备相关联,这些电子设备可以位于家中或与第二用户配置文件相关联的其他地方。每个用户都可以有他或她自己的用户账户,这些账户可以用来操作电子设备。例如,第一用户配置文件可以与使用与第一用户配置文件相关联的电子设备提供对某些功能和/或资源的访问的第一账户数据相关联,而第二用户配置文件可以与提供对相同或不同的功能和/或资源的访问的第二账户数据相关联。举例来说,第一账户数据可以指示第一用户配置文件可以利用语音接口设备从第一流媒体服务接收音乐、视频、播客或其他类型的内容,而第二账户数据可以指示第二用户配置文件可以从第二流媒体服务接收内容。例如,可能与给定账户数据相关联的其他功能可能包括使用应用程序的能力,例如智能家居应用程序、购物/购买的支付信息、医疗保健信息和/或使用联系人列表进行通信。虽然每个用户都可以使用他或她自己的语音接口设备,但允许用户使用与他们自己的账户相连接的彼此的电子设备可能是有益的。
23.例如,第一用户可以在与第二用户配置文件的设备相关联的环境中,例如在家庭中,并且可能希望利用这些设备来访问音乐服务,新闻服务,和/或操作与第一用户账户相关联的智能设备。为此,与第二用户配置文件相关联的语音接口设备可以与第一用户的账户数据相关联,使得第一用户可以利用语音接口设备来执行一个或更多个动作。该与语音接口设备关联的账户数据可以包括第一用户配置文件,其在这里可以被描述为“访客配置文件”;设置访客功能,例如通过利用位于与访客用户相关联的移动设备上和/或可由与访客用户相关联的移动设备访问的语音接口设备应用程序。
24.第二用户配置文件,在此可被描述为“主机用户配置文件”;还可以利用位于与第二用户相关联的移动设备上和/或以其它方式可访问与第二用户相关联的移动设备的应用来设置将账户数据与他或她的设备相关联的能力。例如,第二用户可以向移动设备提供指示启用与第二用户账户相关联的语音接口设备上的访客的请求的输入。该指示可以表示第二用户同意执行这里所述的操作。第二用户还可以指示启用哪个语音接口设备用于访客访问。一旦与可应用的用户配置文件相关联地建立了访客访问,所选择的语音接口设备和语音处理系统就可以被配置为(暂时或以其他方式)将第一用户的账户数据和/或功能中的至少一些与第二用户账户相关联。
25.例如,访客用户可以向一个或更多个主机用户配置文件的语音接口设备提供用户话语,用户话语指示将访客用户账户数据与语音接口设备相关联的意图。例如,用户可以说出短语“在此连接我”。语音接口设备的麦克风可以捕获该音频,生成相应的音频数据,并将音频数据发送到包括语音处理系统的远程系统。远程系统可以确定用户话语包括短语“在
此连接我”;或者其他单词/声音,并且可以使用被配置为处理与这样的话语相关联的操作的执行的访客语音小程序来发起账户数据关联。在其它示例中,可以接收指示关联账户数据的请求的除了音频数据之外的输入数据。在示例中,访客语音小程序可以查询设置组件以确定语音接口设备是否与账户数据相关联,所述账户数据指示已经使用语音接口设备启用访客访问。在该示例中,主机用户已经提供了启用访客访问的许可,并且访客语音小程序可以指示访客组件生成访客会话。
26.然后可以使用访客语音小程序来使语音接口设备输出表示识别与访客用户相关联的移动设备的信息的请求的音频。例如,音频可以包括说明“你的电话号码是什么?”的合成语音;访客用户可以提供包括所请求的识别信息的另一用户话语,例如与访客用户的移动设备相关联的电话号码。麦克风可以捕获该音频,生成相应的音频数据,并将音频数据发送到远程系统。访客语音小程序可以接收指示识别信息(例如,来自音频数据的声音的电话号码和说话者识别)的数据,并且可以向用户标识组件查询与访客用户相关联的账户数据信息。用户标识组件可以利用所提供的电话号码来识别与访客用户和访客用户账户相关联的移动设备标识。用户标识组件可以将该信息提供给访客语音小程序,该信息可以包括访客用户的标识,主机用户的标识和/或设置信息,这可以使访客组件发起访客会话。
27.访客组件可以利用访客语音小程序提供的信息向音频高速缓存查询表示访客用户提供的一个或更多个用户话语的音频数据,例如表示在上述操作中所请求的电话号码的音频数据。访客组件然后可以查询自动语音识别(asr)组件,以执行对应于访客用户语音的音频数据的分析,从而确定与音频数据相关联的语音配置文件是否对应于生成为访客设置过程的一部分的访客用户的参考语音配置文件。访客组件可以接收指示访客用户的语音验证成功并且账户数据关联可以继续的数据。应当理解,虽然如上所述的访客用户的验证包括使用语音识别过程,但是,也可以使用附加的和/或不同的处理,例如面部识别处理,使用来自个人设备(例如,可穿戴设备、电话)的ssid,使用不同于面部识别或除了面部识别之外的生物特征识别信息,例如眼睛和/或指纹扫描等。
28.访客组件可以更新访客会话以指示访客用户的语音验证成功,并且可以利用远程系统的工作流组件来建立访客会话的断开例程。例如,断开例程可以包括指示关于访客用户的账户数据何时将与主机用户的语音接口设备解离的选项。这些选项可以包括,例如,当远程系统确定接收到指示访客用户和/或主机用户将访客用户的账户数据与主机用户的语音接口设备解离的意图的用户话语时,当远程系统例如通过语音接口设备应用从访客用户和/或主机用户的移动设备接收到指示解离账户数据的输入数据时,当使用语音接口设备发起另一访客会话时,和/或在预定时间量到期之后,例如24小时。
29.已经接收到访客会话已经开始的确认的访客语音小程序可以被用于使语音接口设备查询远程系统的通知组件,以生成一个或更多个用于发送到访客用户设备和/或主机用户设备的通知。例如,通知组件可用于识别将由语音接口设备输出的通知。访客语音小程序可以接收通知,并使与通知相对应的音频由语音接口设备输出。例如,该请求可以包括短语“我已经向你的移动设备发送了消息”。通知组件可以识别和/或生成消息,并且可以例如通过利用在上述操作中提供的电话号码来将消息发送到移动设备。该消息可以包括深链接,该深链接可以使警报显示在移动设备的屏幕上。该警报可以是可选择的,以使语音接口设备应用启动并显示消息。该消息可以包括访客会话已经被发起的指示,并且可以请求用
户输入以进一步验证该用户希望将他或她的账户数据与主机用户的语音接口设备相关联。例如,用户可以向显示用户界面的屏幕的一部分提供触摸输入,该用户界面包括可选择部分,以确认访客用户的账户数据应当与主机用户的语音接口设备相关联。指示该确认的数据可以被发送到访客组件,访客组件可以确定双因素验证,这里是语音验证和来自语音接口设备应用的确认,是成功的。访客组件可以更新访客会话以指示两个因素验证成功。在其它实例中,在使用语音接口设备应用的验证过程中可能发生错误。例如,应用可以由多于一个账户持有者使用,并且在一些情况下,除了与访客用户相关联的账户之外的账户可以在接收到验证请求时登录。这可能导致个人识别不匹配,这可能导致应用提供指示不匹配的用户界面。访客用户可以利用该信息注销另一账户并登录到访客用户的账户以提供所请求的验证。在其它实例中,在这个验证过程中没有发现访客会话。例如,当对验证的请求被发送到移动设备时,该请求可以与预定义的验证发生的超时限制相关联,例如10分钟。如果预定义的超时限制已经到期,则访客机会话可以到期,并且移动设备可以呈现指示访客机会话已经到期的用户界面。
30.访客组件然后可以利用通知组件来发送主机用户的一个或更多个设备的通知,该通知指示访客用户的账户数据已经与主机用户的语音接口设备相关联。如果主机用户不知道访客用户连接到他或她的设备,则这可以允许主机用户启动解离过程。通知组件还可以用于向与访客用户相关联的移动设备发送通知。访客组件还可以更新超时信息,以将访客用户的账户数据与语音接口设备解离。访客组件还可以将访客会话事件发布到远程系统的事件总线,如下所述,可以利用该事件总线来确定随后的用户话语是与访客用户相关联还是与主机用户相关联。此时,访客会话可以是活动的,使得访客用户的账户数据与主机用户的语音接口设备相关联。
31.此后,用户可以向语音接口设备提供用户话语,并且可以利用远程系统来确定给定的用户话语是来自访客用户还是来自主机用户,并且至少部分地基于个人识别来执行操作。例如,用户之一可以说短语“播放我的播放列表”。语音接口设备的麦克风可以捕获该音频,生成相应的音频数据,并将音频数据发送到远程系统以进行处理。例如,远程系统的协调器可以接收表示该请求的数据,并且可以检索关于该请求的上下文的信息。该信息可以包括为所讨论的语音接口设备建立访客会话以及执行用户的识别以确定对该请求的响应的指示。然后,协调器可以向说话者识别组件查询主机用户的个人标识。协调器还可以向访客组件查询访客会话的标识,并且可以利用访客会话的标识向说话者识别组件查询访客用户的个人标识。此时,协调器可能已经接收到主机用户和访客用户的个人标识,并且协调器可以建立指示用户话语的潜在说话者的说话者候选者集合。
32.协调器然后可以连接到asr组件并发起说话者识别请求,该请求可以包括将候选集提供给asr组件。asr组件可以利用候选说话者的语音配置文件来确定候选说话者的哪个语音配置文件对应于用户话语的特征。如果asr组件返回访客用户是提供用户话语的最可能的人的结果,则可以更新与用户话语相关联的上下文以指示用户话语来自访客用户。例如,自然语言理解组件(nlu)可以接收上下文数据,该上下文数据指示说话者是访客用户和/或当由nlu组件确定意图时,该意图可以与访客用户账户可用的资源相关联。该数据还可以被发送到与访客用户账户相关联的一个或更多个技术。技术可以利用该信息来处理来自nlu组件的请求并返回结果。在实例中,更新上下文以指示该请求与访客用户相关联可以
在asr组件确定该请求是来自访客用户还是来自主机用户之前和/或与之并行执行。这可以减少向用户提供响应的等待时间。然而,在这些实例中,当asr组件确定该请求来自主机用户而不是访客用户时,协调器可以使与该请求相关联的上下文被更新,以反映说话者是主机用户。
33.返回到说话者被确定为访客用户的情况,nlu组件可以确定与用户话语相关联的意图。使用上述实例,对于“播放我的播放列表”的用户话语;nlu组件可以识别“播放音乐”意图并可将待播放的音乐识别为“我的播放列表”。nlu组件可以利用指示访客用户提供了确定哪个音乐对应于访客用户的播放列表的请求的数据。例如,访客用户的标识数据可以由实体识别组件使用,以确定与访客用户相关联的哪个播放列表被请求在语音接口设备上输出。nlu组件还可以利用访客用户的标识数据来确定访客用户账户可用哪些服务,诸如哪些流式音乐服务可用以促进播放音乐的请求。nlu组件可以确定一个或更多个语音小程序以促进该请求,并且可以将与该请求相关联的信息提供给语音小程序以进行处理。语音小程序可以从nlu组件接收信息,可以处理该请求,并且可以使语音接口设备执行与该请求相关联的一个或更多个动作,诸如输出与“我的播放列表”相关联的内容。
34.本公开提供了在此公开的系统和方法的结构、功能、制造和使用的原理的全面理解。本公开的一个或更多个示例在附图中示出。本领域的普通技术员将理解,在此具体描述并在附图中示出的系统和方法是非限制性实施例。结合一个实施例示出或描述的特征可以与其它实施例的特征相结合,包括在系统和方法之间。这些修改和变化旨在包括在所附权利要求的范围内。
35.下面参考几个示例实施例描述附加细节。
36.图1示出了账户数据与设备关联的示例系统100的示意图。系统100可以包括,例如,一种语音接口设备102。语音接口设备102可以被配置为例如接收与用户话语相对应的音频,生成相应的音频数据,执行与用户话语相关联的操作,以及向语音接口设备102所在的环境输出音频。在其它实例中,设备102可以不包括语音接口和/或可以包括除语音接口之外的接口,该接口可以包括诸如电视机、机顶盒、平板电脑和/或其中给定媒体基于在如本文所述关联访客账户之后识别用户而变得可用的其它设备。例如,语音接口设备102可以是一个或更多个电子设备,例如语音接口设备(例如,回波(echo)设备,移动电话,平板电脑,个人计算机等),视频接口设备(例如电视,机顶盒,虚拟现实/增强现实耳机等),触摸接口设备(平板电脑,电话,笔记本电脑,自助服务终端,广告牌等),以及附属设备(例如灯,插头,锁,恒温器,电器,电视,时钟,烟雾探测器,门铃,相机,运动/磁性/其它安全系统传感器等)。例如,这些电子设备可以位于与第一用户配置文件相关联的家中、企业、医疗机构(例如,医院、医生办公室、药房等)中、车辆(例如,飞机、卡车、汽车、公共汽车)中、公共场所(例如,购物中心、商店等)中。第二用户配置文件也可以与一个或更多个其它电子设备相关联,所述一个或更多个其它电子设备例如可以位于家中或与第二用户配置文件相关联的其它地方。系统100还可以包括一个或更多个移动设备104,其可被配置为利用与语音接口设备102相关联的应用132来向用户显示信息和/或允许从用户接收输入,诸如用于建立和/或管理语音接口设备102的使用的输入。系统100还可以包括一个或更多个附件设备(未示出),其可以被配置为利用语音接口设备102来控制。附件设备可以包括诸如锁,门铃,恒温器,扬声器,手表,器具,灯泡,插头,时钟等设备。系统100还可以包括远程系统106,其被配置为例
如经由网络108与语音接口设备102和/或移动设备104通信。远程系统106可以包括与一个或更多个语音接口设备102相关联的语音处理系统。语音接口设备102可以被配置为接收用户话语并响应于这样的用户话语来执行操作。在这些实例中,语音接口设备102可以是“免提”;从而通过可听的请求和响应来执行与语音接口设备102的交互。
37.语音接口设备102可以包括一个或更多个组件,例如一个或更多个处理器110,一个或更多个网络接口112,存储器114,一个或更多个麦克风116和/或一个或更多个扬声器118。麦克风116可以被配置为捕获音频,例如用户话语,并生成相应的音频数据。扬声器118可以被配置为输出音频,例如与从另一设备和/或系统106接收的音频数据相对应的音频。应当理解,尽管这里使用的几个示例包括允许用户通过用户话语与其交互的语音接口设备102,可以使用不包括语音接口的一个或更多个其它设备来代替语音接口设备102或作为语音接口设备102的补充。在这些示例中,设备可以被配置为通过网络108发送和接收数据,并与系统100中的其它设备通信。因此,在使用语音接口设备的每种情况下,也可以或可选地使用不包括语音接口的计算设备。
38.移动设备104可以包括一个或更多个组件,例如一个或更多个处理器120,一个或更多个网络接口122,存储器124,一个或更多个麦克风126,一个或更多个扬声器128和/或一个或更多个显示器130。麦克风126和扬声器128可以具有与语音接口设备102的麦克风116和扬声器118相同或相似的组件和/或可以分别以与语音接口设备102的麦克风116和扬声器118相同或相似的方式操作。显示器130可以被配置为向移动设备104的用户呈现信息和用户界面。显示器130还可以包括输入功能,诸如触摸屏,其可以允许用于接收用户输入。存储器124可包括一个或更多个组件,例如语音接口设备应用132,其可位于存储器124上和/或可由移动设备104访问。应用132可以被配置为使处理器120接收与语音接口设备102的交互相关联的信息,并使与交互相关联的表示(例如文本和/或图像)显示。在实例中,应用132还可以用于接收输入数据,例如来自移动设备104的用户的输入数据,并将输入数据和/或与输入数据相关联的指令发送到远程系统106。应用132还可以用于显示例如从远程系统106接收到的通知和/或警报。
39.远程系统106可以包括诸如语音处理系统134,访客系统136和/或用户注册表138的组件。应当理解,虽然语音处理系统134,访客系统136和用户注册表138在图1中被描绘为彼此分开,但是一些或所有组件可以是同一系统的一部分。语音处理系统134可以包括自动语音识别组件(asr)140,自然语言理解组件(nlu)142和/或文本到语音组件(tts)144。访客系统136可以包括一个或更多个组件,例如访客语音小程序146,访客组件148,访客应用150,说话者识别组件152,通知组件154,和/或一个或更多个域语音小程序156。这里相对于远程系统106描述的每个组件可以与它们自己的系统相关联,在这里它们共同被称作远程系统106,和/或这些组件中的一些或全部可以与单个系统相关联。另外,远程系统106可以包括一个或更多个应用,其可以被描述为技术,动作和/或舱。例如,技术可以接收表示意图的数据。例如,意图可以由nlu组件142确定和/或由通过计算设备的用户输入确定。技术可以被配置为利用将输入数据输出到tts组件144的意图,音频数据的链接或其它资源定位器,和/或到诸如语音接口设备102的设备的命令。
40.在使用语音接口设备102的情况下,技术可以扩展智能设备的功能,该智能设备可以由使用语音-用户接口的用户控制。在一些示例中,技术可以是一种类型的应用,其可以
与智能设备结合使用,并且可以被专门开发为与给定的智能设备连接工作另外,技术可以是一种类型的应用,其可以与电子设备结合使用,并且可以被专门开发以向电子设备提供给定的功能。在实例中,非技术应用可以是不包括技术的功能的应用。这里所述的语音小程序可以是这样一种类型的应用,其可以与电子设备结合使用并且可以专门开发用于与电子设备的语音接口连接工作。应用可以被配置为使处理器接收与语音接口设备102的交互相关联的信息。在实例中,应用程序还可以用于接收输入,例如来自移动设备104的用户的输入,并向一个或更多个其它设备发送与输入相关联的数据和/或指令。
41.远程系统106的组件将在下面详细描述。在实例中,远程系统106的一些或每个组件可以包括它们自己的处理器,网络接口和/或存储器。因此,作为示例,语音处理系统134可以包括和/或与处理器、网络接口和/或存储器相关联。访客系统136可以包括和/或与不同的处理器、网络接口和/或存储器相关联,或这些组件中的一个或更多个可以使用语音处理系统134所使用的一些或所有相同的处理器、网络接口和/或存储器。这些组件将在下面详细描述。另外,可以使用基于云的计算资源来执行与远程系统106的组件相关联和/或相对于远程系统106的组件描述的操作和/或功能。例如,诸如弹性计算云系统或类似系统的基于网络的系统可用于生成和/或呈现用于执行这里所述的一些或所有功能的虚拟计算环境。另外,或者可替换地,可以使用一个或更多个系统,所述一个或更多个系统可以被配置为执行操作而不需要提供和/或管理服务器,例如lambda系统或类似的系统。
42.现在将参考几个示例来描述如上所述的远程系统106的组件。应当理解,这里提供的示例是为了举例说明,而不应被解释为对本公开的限制。在示例中,第一用户可以行进到第二用户的设备的环境,例如家庭,并且可能希望利用第二用户的设备来访问音乐服务、新闻服务、和/或操作与第一用户的账户相关联的智能设备。为此,与第二用户账户相关联的语音接口设备可以与第一用户账户数据相关联,使得第一用户配置文件可以利用第二用户账户的接口设备来执行一个或更多个动作。该与语音接口设备关联的账户数据可以包括第一用户,其在这里可以被描述为“访客用户”,设置访客功能,例如通过利用位于与访客用户相关联的移动设备104上和/或可由其访问的语音接口设备应用132。设置访客功能可以包括,例如,提供对应于移动设备104的标识的输入,例如与移动设备104相关联的电话号码,以及启动语音-配置文件训练操作,其可允许与语音接口设备102相关联的远程系统106生成与访客用户相关联的语音配置文件。语音-配置文件训练操作可包括向用户呈现指令以提供可由移动设备104的麦克风126捕获的用户话语。用户话语可以是特定短语,其可以用于获取用户语音的区别特征。可以生成相应的音频数据,并可以将其发送到远程系统106,远程系统106可以分析音频数据以确定用户语音的区别特征。这些特征可以包括例如语音短语、强调、定时,语音强度等。
43.第二用户,在此可被描述为“主机用户”,还可以利用位于与第二用户账户相关联的移动设备上和/或可访问与第二用户账户相关联的移动设备的语音接口设备应用132的实例来设置将账户数据与他或她的语音接口设备相关联的能力。例如,第二用户可以向移动设备提供输入,该输入指示启用与第二用户账户相关联的语音接口设备上的访客访问的请求。该指示可以表示第二用户同意执行这里所述的操作。一旦由访客用户账户和主机用户账户建立了访客访问,语音接口设备102和语音处理系统134可以被配置为将访客用户账户数据与主机接口设备相关联。
44.例如,访客用户可以向一个或更多个主机用户的语音接口设备102提供用户话语,该话语指示将访客用户的账户数据与语音接口设备102相关联的意图。例如,用户可以说出短语“在此连接我”。语音接口设备102的麦克风116可以捕获该音频,生成相应的音频数据,并将音频数据发送到包括语音处理系统134的远程系统106。远程系统106可以确定用户话语包括短语“在此连接我”或者类似短语,并且可以使用被配置为处理与这样的话语相关联的操作的性能的访客语音小程序146来发起账户数据关联。例如,访客语音小程序146可以查询设置组件,以确定语音接口设备102是否与账户数据相关联,所述账户数据指示已经使用语音接口设备102启用访客访问。在这个实例中,主机用户已经提供了允许访客访问的许可,访客语音小程序146可以指示访客组件148产生访客会话。
45.然后可以使用访客语音小程序148来使语音接口设备102输出表示识别与访客用户相关联的移动设备104的信息的请求的音频。例如,音频可以包括说明“你的电话号码是什么?”的合成语音。访客用户可以提供包括所请求的识别信息的另一用户话语,例如与访客用户的移动设备104相关联的电话号码。麦克风116可以捕获该音频,生成相应的音频数据,并将音频数据发送到远程系统106。访客语音小程序146可以接收指示识别信息的数据,并且可以向个人识别组件查询与访客用户相关联的账户数据信息。个人识别组件可以利用所提供的电话号码来确定与访客用户和访客用户账户相关联的移动设备标识。个人识别组件可将该信息提供给访客语音小程序146,该信息可包括访客用户的识别,主机用户的识别和/或设置信息,这可使访客组件发起访客会话。
46.访客组件148可以利用访客语音小程序146提供的信息向说话者识别组件152查询与访客用户相关联的语音配置文件。访客组件148还可以向音频高速缓存查询表示访客用户提供的一个或更多个用户话语的音频数据,例如表示在上述操作中请求的电话号码的音频数据。访客组件148然后可以使用自动语音识别(asr)组件140执行对应于访客用户的语音的音频数据的分析,以确定与音频数据相关联的语音配置文件是否对应于访客用户的参考语音配置文件,该参考语音配置文件作为访客设置过程的一部分产生。asr组件140可以将音频数据的特征与参考语音配置文件的特征进行比较,以确定特征是否彼此对应,例如对应于阈值置信度。
47.可以以多种方式执行语音配置文件的生成和用户话语与语音配置文件的比较。例如,远程系统106可以确定表示用户输入的语音特征。系统106可以集与相似语音特征相关联的用户输入。例如,在系统接收到为与设备交互的一个或更多个用户生成语音配置文件的许可之后,单个用户可以向设备说出各种输入。即使用户的输入可能实质上不同(例如,可以请求系统106执行不同的动作),用户的不同输入也可以具有类似的或识别的语音特征(例如,音调,语气等)。因此,当系统通过对具有相同或类似语音特征的用户输入进行集来生成语音配置文件或者其他在本文中被描述为语音配置文件,即使系统106不知道哪个用户提供了输入,该系统有效地生成特定于用户的语音配置文件。这种类型的语音配置文件可以被称为匿名语音配置文件,因为它不与表示系统的已知用户的用户标识相关联。
48.系统106可以使用集技术来随时间更新语音配置文件。当系统106接收到表示说出的用户输入的音频数据时,系统106可以存储该音频数据以及可以表示发出该输入的用户的用户标识和/或可以表示捕获该输入的设备的设备标识。周期性地,系统106可以从存
储器中重新调用音频数据,例如表示先前用户输入的音频数据,与特定用户标识、设备标识、可与相同家庭或公共配置文件相关联的用户标识组或可与相同家庭配置文件相关联的设备标识组相关联。
49.系统106可以识别音频数据的集,每个集包括相似或相同的语音特征。该系统可以确定集基本上类似于现有的显式或匿名语音配置文件。如果发生这种情况,系统可以将音频数据的集添加到类似的显式或匿名语音配置文件中。将集添加到现有的语音配置文件有效地更新现有的语音配置文件,以解释在音频数据的集中表示的用户的改变的语音特征。
50.除了或代替执行集以确定表示用户输入的音频数据是否类似于现有的语音配置文件,该系统可以利用各种上下文信号来将特定的音频数据标记为与特定的用户标识相关联,并通过扩展特定的现有语音配置文件。例如,当用户说出用户输入时,系统106可能不置信度识别用户的语音。在用户说出用户输入之后,用户可以进一步与系统106交互,以向系统106提供执行响应于用户输入的动作所需的进一步信息。这种进一步的信息可以包括非口头的用户验证信息,例如到系统106的特定服务的用户登录信息等。基于这样的用户验证信息,系统106可以标记先前的口头用户输入,以指示它源自特定用户。例如,系统106可以将表示先前的口头用户输入的音频数据与对应于该用户的用户标识相关联。
51.系统使用历史还可以或可替代地用于将表示口头用户输入的音频数据与特定用户追溯关联。例如,用户可以说出请求输出特定类型音乐的用户输入。系统106可以保持相对于一组用户标识接收到的用户输入的记录。系统106可以处理先前用户输入的记录以识别诸如哪些用户标识常规地与对特定类型音乐的请求相关联的模式。例如,系统106可以识别组配置文件的第一用户标识常规地请求输出爵士音乐,组配置文件的第二用户标识常规地请求输出经典音乐等。基于所识别的模式,系统106可以确定当前用户输入可能是由特定用户说出的,并且可以将音频数据(表示用户输入)与用户的用户标识相关联。
52.asr组件140可以使用包括用户识别特征向量数据、表示显式和/或匿名语音配置文件的特征向量、asr置信度数据和/或其它数据的各种数据来执行用户识别。虽然这里参考图1提供了关于用户识别的细节,但是关于用户识别的附加细节下面参照图13-15描述。另外,当asr组件140被描述为执行用户识别时,可以由参照图9和13-15更全面描述的用户识别引擎执行相同或相似的功能。asr组件140可以输出用户识别数据,其反映用户输入是由一个或更多个特定用户说出的一定置信度。用户识别数据可以包括一个或更多个用户标识(例如,对应于一个或更多个显式语音配置文件和/或一个或更多个匿名语音配置文件)。用户识别数据中的每个用户标识可以与各自的置信度值相关联,该置信度值表示用户输入对应于用户标识的可能性。置信度值可以是数字值或二进制值。
53.输入到asr组件140的特征向量可以对应于一个或更多个匿名语音配置文件和/或一个或更多个显式语音配置文件。asr组件140可以使用特征向量与表示当前用户输入的用户识别特征向量进行比较,以确定用户识别特征向量是否对应于匿名和/或显式语音配置文件的一个或更多个特征向量。
54.每个特征向量可以是与用户识别特征向量相同的大小。例如,如果用户识别特征向量的大小为f(例如由编码器编码),特征向量的大小也可以为f。
55.为了执行用户识别,asr组件140可以确定音频数据源自的设备。例如,音频数据可
以与包括表示设备的设备标识的元数据相关联。设备或系统120可以生成元数据。系统106可以确定与设备标识相关联的组配置文件标识,可以确定与组配置文件标识相关联的用户标识,并且可以在元数据中包括组配置文件标识和/或用户标识。在其它实例中,访客组件148可以至少部分地基于相对于所讨论的语音接口设备102有效的访客会话来提供配置文件标识的候选列表。系统106可以将元数据与从音频数据产生的用户识别特征向量相关联。asr组件140可以将信号发送到语音配置文件存储器,信号只请求与元数据中表示的设备标识、组配置文件标识和/或用户标识相关联的音频数据和/或特征向量(取决于音频数据和/或相应的特征向量是否被存储)。这限制了asr组件140在运行时所考虑的所有可能的特征向量,因此通过减少所需处理的特征向量来减少执行用户识别处理的时间量。可选地,asr组件140可以访问asr组件140可用的所有(或其它一些子集)音频数据和/或特征向量。然而,访问所有音频数据和/或特征向量可能会增加基于要处理的音频数据和/或特征向量的大小来执行用户识别处理所需的时间量。
56.如果asr组件140从语音配置文件存储器接收音频数据,则asr组件140可以生成对应于所接收的音频数据的一个或更多个特征向量。
57.asr组件140可以试图通过将用户识别特征向量与参考特征向量进行比较来识别表示在音频数据中的说出语音的用户。asr组件140可以包括评分组件,该评分组件确定指示用户输入(由用户识别特征向量表示)是否由一个或更多个特定用户说出(由参考特征向量表示)的相应评分。asr组件140还可以包括置信度组件,置信度组件确定用户识别处理(例如评分组件的那些)的总体精度和/或关于由评分组件潜在地识别的每个用户的个体置信度值。来自评分组件的输出可以包括每个接收的特征向量的不同置信度值。例如,输出可以包括第一特征向量(表示第一匿名或显式语音配置文件)的第一置信度值,第二特征向量(表示第二匿名或显式语音配置文件)的第二置信度值等。
58.评分组件和置信度组件可以实现一个或更多个训练好的机器学习模型(例如神经网络,分类器等)。例如,评分组件可以使用概率线性判别分析(plda)技术。plda评分确定用户识别特征向量对应于特定参考特征向量的可能性有多大。plda评分可以为所考虑的每个参考特征向量生成置信度值,并且可以输出与各个用户标识、匿名语音配置文件标识和/或显式语音配置文件标识相关联的置信度值列表。评分组件还可以使用其它技术,例如gmms、生成贝叶斯模型等,来确定置信度值。
59.置信度组件可以输入包括关于asr置信度的信息、语音长度(例如,帧数或用户输入的其它测量长度)、音频条件/质量数据(例如信号干扰数据或其它度量数据)、指纹数据、图像数据或其它因素的各种数据,以考虑asr组件140对于将用户链接到用户输入的置信度值的置信度。置信度组件还可以考虑由评分组件输出的置信度值和相关标识。例如,置信度组件可确定较低的asr置信度,或较差的音频质量,或其它因素可导致asr组件140的置信度较低。而较高的asr置信度,或较好的音频质量,或其它因素可能导致asr组件140的较高置信度。置信度的精确确定可取决于置信度组件及其实现的模型的配置和训练。置信度组件可以使用诸如gmm,神经网络等多种不同的机器学习模型/技术来操作。例如,置信度组件可以是分类器,其被配置为将评分组件输出的得分映射到置信度值。
60.asr组件140可以输出专用于单个用户标识的用户识别数据,匿名语音配置文件标识,或显式语音配置文件标识(或一个或更多个用户标识,一个或更多个匿名语音配置文件
标识,和/或一个或更多个n-最佳列表形式的显式语音配置文件标识)。例如,asr组件140可以输出关于每个接收到的参考特征向量的用户识别数据。用户识别数据可以包括数字置信度值(例如0.0-1.0,0-1000,或系统被配置为操作的任何比例)。因此,用户识别数据可以输出具有数字置信度值(例如,用户标识符-0.2,匿名语音配置文件标识符-0.8)的潜在用户的n最佳列表。可选地,或者另外,用户识别数据可以包括绑定的置信度值。例如,第一范围(例如0.0-0.33)的计算识别分数可以被输出为“低”,;第二范围(例如0.34-0.66)的计算识别分数可以被输出为“中等”;并且第三范围(例如,0.67-1.0)的计算识别分数可以被输出为“高”。asr组件140可以输出具有绑定置信度值(例如,用户标识符-低,匿名语音配置文件标识符-高)的潜在用户的n-最佳列表。组合的分箱置信度值和数字置信度值输出也是可能的。除了标识列表和它们各自的置信度值之外,用户识别数据可以仅包括与asr组件140所确定的最高评分标识相关的信息。asr组件140还可以输出个体置信度值正确的总体置信度值,其中总体置信度值指示asr组件140在输出结果中的置信度。总体置信度值可以由置信度组件确定。
61.当确定用户识别数据时,置信度组件可以确定个体置信度值之间的差异。例如,如果第一置信度值和第二置信度值之间的差值大,并且第一置信度值高于阈值置信度值,然后,asr组件140能够将第一用户配置文件(与参考特征向量相关联,参考特征向量与第一置信度值相关的)识别为以比置信度值之间的差异更小的情况下高得多的置信度说出用户输入的用户。
62.asr组件140可以执行阈值化以避免输出不正确的用户识别数据。例如,asr组件140可以将置信度组件输出的置信度值与阈值置信度值进行比较。如果置信度值不满足(例如,不满足或不超过)阈值置信度值,则asr组件140可以不输出用户识别数据,或者可以仅在该数据中包括不能识别说出用户输入的用户的指示符。此外,asr组件140可以不输出用户识别数据,直到积累和处理足够的用户识别特征向量数据以证实用户超过阈值置信度值。因此,asr组件140可以在输出用户识别数据之前等待,直到已经处理了足够阈值量的用户输入的音频数据。所接收的音频数据量也可以由置信度组件来考虑。
63.asr组件140可以被默认为输出被绑定(例如,低,中,高)的用户识别置信度值。然而,在某些情况下,这可能是有问题的。例如,如果asr组件140为多个特征向量计算单个绑定置信度值,则系统可能不能有效地确定哪个用户发起用户输入。在这种情况下,asr组件140可以被配置为覆盖其缺省设置并输出数字置信度值。这使得系统能够确定与最高数值置信度值相关联的发起用户输入的用户。
64.asr组件140可以使用其它数据来通知用户识别处理。当执行用户识别处理时,可以训练asr组件140的训练模型或其它组件以将其它数据作为输入特征。其它数据可以包括取决于系统配置的各种数据类型,并且可以从其它传感器,设备或存储器获得。其他数据可以包括音频数据由设备102生成或从设备102接收的一天中的时刻,其中音频数据由设备102产生或从设备102接收的一周中的一天等。
65.其它数据可以包括图像数据或视频数据。例如,可以对从接收音频数据的设备102(或另一设备)接收的图像数据或视频数据执行面部识别。面部识别处理的输出可由asr组件140使用。也就是说,面部识别输出数据可以与用户识别特征向量和一个或更多个参考特征向量的比较结合使用,以执行更精确的用户识别处理。
66.其它数据可以包括设备102的位置数据。位置数据可以是设备102所在的建筑物所特有的。例如,如果设备102位于用户a的卧室中,这样的位置可以增加与用户a相关联的用户识别置信度值和/或减少与用户b相关联的用户识别置信度值。
67.其它数据可以包括指示设备102的类型的数据。不同类型的设备可以包括,例如,智能手表,智能电话,平板计算机和车辆。设备102的类型可以在与设备102相关联的配置文件中指示。例如,如果从其接收音频数据的设备102是属于用户a的智能手表或车辆,设备102属于用户a的事实可以增加与用户a相关联的用户识别置信度值和/或减少与用户b相关联的用户识别置信度值。
68.其它数据可以包括与设备102相关联的地理坐标数据。例如,与车辆相关联的组配置文件可以指示多个用户(例如,用户a和用户b)。所述车辆可包括全球定位系统(gps),当所述音频数据由所述车辆产生时,所述gps指示所述车辆的经纬度坐标。因此,如果车辆位于与用户a的工作位置/建筑物相对应的坐标处,则这可以增加与用户a相关联的用户识别置信度值和/或减少在与车辆相关联的组配置文件中指示的所有其它用户的用户识别置信度值。全球坐标和相关联的位置(例如,工作,家庭等)可以在与设备102相关联的配置文件中指示。全球坐标和相关联的位置也可以或可选地与一个或更多个用户配置文件相关联。
69.其它数据可包括表示特定用户的活动的数据,其可用于执行用户识别处理。例如,如果用户最近输入了一个代码以禁止家庭安全警报,并且从与家庭相关联的组配置文件中表示的设备102接收音频数据,关于禁用用户、禁用时间等的来自家庭安全警报的信号可以反映在其它数据中,并且由asr组件140考虑。如果检测到已知与特定用户相关联的移动设备(例如智能手机、图块、电子狗或其他设备)靠近(例如物理上靠近、连接到相同的wifi网络或以其他方式靠近)设备102,这可以反映在其他数据中并由asr组件140考虑。
70.根据系统配置,其它数据可以被配置为包括在用户识别特征向量数据(例如使用编码器)中,使得与要由评分组件处理的用户输入相关的所有数据可以包括在单个特征向量中。可选地,其它数据可以被反映在要由评分组件处理的一个或更多个不同的数据结构中。
71.可以使用各种机器学习技术来训练和操作模型以执行这里所述的各种步骤,例如用户识别特征提取,编码,用户识别评分,用户识别置信度确定等。可以根据各种机器学习技术来训练和操作模型。这样的技术可以包括例如神经网络(例如深度神经网络和/或递归神经网络),推理引擎,训练分类器等。训练分类器的实例包括支持向量机(svm)、神经网络、决策树、与决策树相结合的adaboost(简称“自适应增强”)和随机森林。以svm为例,svm是具有关联学习算法的受监督学习模型,其分析数据并识别数据中的模式,并且通常用于分类和回归分析。给定一组训练实例,每个训练实例被标记为属于两个类别之一,svm训练算法建立将新实例分配到一个类别或另一个类别中的模型,使其成为非概率二元线性分类器。可以用识别多于两个类别的训练集来建立更复杂的svm模型,其中svm确定哪个类别最类似于输入数据。svm模型可以被映射,使得分开的类别的实例被明显的间隙所划分。然后将新的实例映射到相同的空间中,并基于它们落在间隙的哪一侧来预测它们属于一个类别。分类器可以发出“得分”,该得分指示数据最接近匹配的类别。所述得分可以提供所述数据与所述类别匹配程度的指示。
72.为了应用机器学习技术,机器学习过程本身需要被训练。训练机器学习组件,例
如,在这种情况下,第一或第二模型之一,对于训练实例,需要建立“地面实况”。在机器学习中,术语“地面实况”是指用于受监督学习技术的训练集分类的准确性。各种技术可用于训练模型,包括反向传播、统计学习、监督学习、半监督学习、随机学习或其它已知技术。
73.上述示出了可以在运行时执行以识别说出用户输入的用户的过程。如前所述,系统可以被配置为在离线操作期间更新语音配置文件。这样的语音配置文件更新可以使用表示先前说出的用户输入的音频数据,其没有被系统请求。
74.在访客用户的参考语音配置文件的特征对应于所接收的用户话语的语音配置文件的特征的实例中,asr组件140可以向访客组件148返回指示访客用户的语音验证成功并且账户数据关联可以继续的数据。应当理解,虽然如上所述的访客用户的验证包括使用语音识别技术,但是,还可以使用附加的和/或不同的技术,例如在语音接口设备102和/或另一个相关设备包括相机并且访客用户同意捕获访客用户的图像以用于验证目的的情况下的面部识别技术。
75.访客组件148可以更新访客会话以指示访客用户的语音验证成功,并且可以利用远程系统106的工作流组件来建立访客会话的断开例程。例如,断开例程可以包括指示访客用户账户数据何时将与主机用户语音接口设备102解离的选项。这些选项可以包括,例如,当远程系统确定接收到指示访客用户和/或主机用户将访客用户的账户数据与主机用户的语音接口设备102解离的意图的用户话语时,当远程系统106从访客用户和/或主机用户的移动设备104通过语音接口设备应用132接受指示解离账户数据的输入数据时,当使用语音接口设备102发起另一访客会话时,和/或在预定时间量到期之后,例如,24小时。
76.在已经接收到访客会话已经开始的确认之后,访客话语146可以用于使语音接口设备102查询远程系统106的通知组件154,以生成一个或更多个用于发送到访客用户和/或主机用户的通知。例如,通知组件154可用于识别要由语音接口设备102输出的请求。访客语音小程序146可接收该请求,并使对应于该请求的音频由语音接口设备102输出。例如,该请求可以包括短语“我已经向你的移动设备发送了消息”。通知组件154可以识别和/或生成消息,并且可以例如通过利用在上述操作中提供的电话号码将消息发送到移动设备104。该消息可以包括深链接,该深链接可以使警报显示在移动设备104的屏幕上。警报可以是可选择的,以使语音接口设备应用132启动并显示消息。该消息可以包括访客会话已经启动的指示,并且可以请求用户输入以进一步验证用户希望将他或她的账户数据与主机用户的语音接口设备102相关联。例如,用户可以向显示用户界面的屏幕的一部分提供触摸输入,该用户界面包括可选择部分,以确认访客用户的账户数据应当与主机用户的语音接口设备102相关联。指示该确认的数据可以被发送到访客组件148,访客组件148可以确定双因素验证,这里是语音验证和来自语音接口设备应用132的确认,是成功的。访客组件148可以更新访客会话以指示双因素验证是成功的。在其它实例中,在使用语音接口设备应用132的验证过程中可能发生错误。例如,应用132可以由多于一个账户持有者使用,并且在一些情况下,除了与访客用户相关联的账户之外的账户可以在接收到验证请求时登录。这可能导致个人识别不匹配,这可能导致应用132呈现指示不匹配的用户界面。访客用户可以利用该信息注销另一账户并登录到访客用户的账户以提供所请求的验证。在其它实例中,在这个验证过程中没有发现访客会话。例如,当验证请求被发送到移动设备104时,该请求可以与预定义的验证发生的超时限制相关联,例如10分钟。如果预定义的超时限制已经到期,则访客机会话
可以到期,并且移动设备104可以呈现指示访客机会话已经到期的用户界面。
77.访客组件148然后可以利用通知组件154来发送主机用户的一个或更多个设备的通知,该通知指示访客用户的账户数据已经与主机用户的语音接口设备102相关联。如果主机用户不知道访客用户连接到他或她的设备,则这可以允许主机用户启动解离过程。通知组件154还可以用于向与访客用户相关联的移动设备104发送通知。例如,可以调用访客应用程序组件150来确定与移动设备104相关联的应用132,并利用与应用132相关联的用户界面来呈现通知。访客组件148还可以更新超时信息,用于将访客用户的账户数据与语音接口设备解离。访客组件148还可以向远程系统106的事件总线发布访客会话事件,如下所述,可以利用该事件总线来确定随后的用户话语是与访客用户相关联还是与主机用户相关联。此时,访客会话可以是活动的,使得访客用户的账户数据与主机用户的语音接口设备102相关联。
78.此后,用户可以向语音接口设备102提供用户话语,并且可以利用远程系统106来确定给定的用户话语是来自访客用户还是来自主机用户,并且至少部分地基于个人识别来执行操作。例如,用户之一可以说出短语“播放我的播放列表”。语音接口设备102的麦克风116可以捕获该音频,生成相应的音频数据,并将音频数据发送到远程系统106以进行处理。例如,远程系统106的协调器可以接收表示该请求的数据,并且可以检索关于该请求的上下文的信息。该信息可以包括为所讨论的语音接口设备102建立访客会话以及执行用户的识别以确定对该请求的响应的指示。然后,协调器可以向说话者识别组件152查询主机用户的个人标识。协调器还可以向访客组件148查询访客会话的标识,并且可以利用访客会话的标识向说话者识别组件152查询访客用户的个人标识。此时,协调器可能已经接收到主机用户和访客用户的个人标识,并且协调器可以建立指示用户话语的潜在说话者的说话者候选集。
79.协调器然后可以连接到asr组件140并发起说话者识别请求,该请求可以包括将候选集提供给asr组件140。asr组件140可以利用候选说话者的语音配置文件来确定候选说话者的哪个语音配置文件对应于用户话语的特征。如果asr组件140返回访客用户是提供用户话语的最可能的人的结果,则可以更新与用户话语相关联的上下文以指示用户话语来自访客用户。例如,nlu组件142可以接收上下文数据,该上下文数据指示说话者是访客用户和/或当由nlu组件142确定意图时,该意图可以与访客用户账户可用的资源相关联。该数据还可以被发送到与访客用户账户相关联的一个或更多个技术和/或域语音小程序156。技术和/或域语音小程序156可以利用该信息来处理来自nlu组件142的请求并返回结果。在实例中,更新上下文以指示该请求与访客用户相关联可以在asr组件140确定该请求是来自访客用户还是来自主机用户之前和/或与其并行执行。这可以减少向用户提供响应的等待时间。然而,在这些实例中,其中asr组件140确定该请求来自主机用户而不是访客用户,协调器可以使与该请求相关联的上下文被更新以反映说话者是主机用户。
80.返回到说话者被确定为访客用户的情况,nlu组件142可以确定与用户话语相关联的意图。使用上述实例,对于“播放我的播放列表”的用户话语,nlu组件142可以识别“播放音乐”意图并可将待播放的音乐识别为“我的播放列表”。nlu组件142可以利用指示访客用户提供了确定哪个音乐对应于访客用户的播放列表的请求的数据。例如,访客用户的标识数据可以被实体识别组件用来确定与访客用户相关联的哪个播放列表被请求在语音接口
设备102上输出。nlu组件142还可以利用访客用户的标识数据来确定哪些服务可用于访客用户账户,诸如哪些流式音乐服务可用于促进播放音乐的请求。nlu组件142可以确定一个或更多个语音小程序156以促进该请求,并且可以将与该请求相关联的信息提供给语音小程序156以进行处理。语音小程序156可以从nlu组件142接收信息,可以处理该请求,并且可以使语音接口设备102执行与该请求相关联的一个或更多个动作,例如输出与“我的播放列表”相关联的内容;
81.用户注册组件138可以被配置为识别,确定和/或生成用户、用户账户和/或设备之间的关联。例如,用户账户之间的一个或更多个关联可以由用户注册表138识别、确定和/或生成。用户注册表138可以附加地存储指示给定用户账户可访问和/或启用的一个或更多个应用和/或资源的信息。另外,用户注册表138可以包括指示与给定用户账户相关联的设备标识以及与设备标识相关联的设备类型的信息。用户注册表138还可以包括指示用户账户标识,与用户账户相关联的设备的命名指示符,和/或诸如语音接口设备102的设备之间的关联的信息。用户注册表138还可以包括与智能设备和/或语音接口设备的使用相关联的信息。还应当理解,用户账户可以与一个或更多个用户配置文件相关联。还应当理解,术语“用户账户”可用于描述与给定账户标识相关联的一组数据和/或功能。例如,在使用系统100的一些或全部时,识别、确定和/或生成的数据可以被存储或与账户标识相关联。与用户账户相关联的数据可以包括例如账户访问信息、历史使用数据、设备关联数据和/或偏好数据。
82.如图1所示,远程系统106的几个组件和这里所述的那些组件的相关功能可以由语音接口设备102和/或移动设备104来执行。另外,或者可选地,与语音接口设备102和/或移动设备104相关联的一些或全部组件和/或功能可以由远程系统106执行。
83.应当注意,这里所述的数据和/或信息的交换和/或这里所述的操作的执行只能在用户已经同意交换这样的信息和/或这样的操作的执行的情况下执行。例如,在建立设备和/或启动应用时,可以向用户提供选择进入和/或选择退出设备之间和/或与轮询系统之间的数据交换和/或执行这里所述的功能的机会。另外,当一个设备与第一用户账户相关联并且另一个设备与第二用户账户相关联时,可以在执行这里描述的一些、任何或所有操作和/或过程之前获得用户同意。另外,由这里所述的系统的组件执行的操作可以仅在用户已经对操作的执行提供同意的情况下执行。
84.如这里所使用的,处理器,诸如处理器110、120和/或关于远程系统106的组件所描述的处理器,可以包括多个处理器和/或具有多个芯的处理器。此外,处理器可以包括不同类型的一个或更多个芯。例如,处理器可以包括应用处理器单元、图形处理单元等。在一个实施例中,处理器可以包括微控制器和/或微处理器。处理器110、120和/或相对于远程系统106的组件描述的处理器可以包括图形处理单元(gpu)、微处理器、数字信号处理器或本领域已知的其它处理单元或组件。可选地,或者另外,这里所述的功能可以至少部分地由一个或更多个硬件逻辑组件来执行。例如,但不限于,可使用的示例性类型的硬件逻辑组件包括现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等。另外,每个处理器110,120和/或相对于远程系统106的组件描述的处理器可以拥有它自己的本地存储器,它也可以存储程序组件、程序数据和/或一个或更多个操作系统。
85.存储器114、124,和/或相对于远程系统106的组件描述的存储器可以包括易失性
和非易失性存储器,可移动和不可移动介质,这些介质以任何用于存储信息的方法或技术来实现,例如计算机可读指令,数据结构,程序组件或其它数据。这样的存储器114、124,和/或相对于远程系统106的组件描述的存储器包括,但不限于,ram,rom,eeprom,闪存或其它存储器技术,cd-rom,数字通用盘(dvd)或其它光存储器,盒式磁带,磁带,磁盘存储器或其它磁存储设备,raid存储系统,或任何其它可用于存储所需信息并可由计算设备访问的介质。存储器114、124,和/或相对于远程系统106的组件描述的存储器可以实现为计算机可读存储介质(“crsm”),它可以是处理器110、120和/或相对于远程系统106描述的处理器可访问的任何可用物理介质,以执行存储在存储器114、124和/或相对于远程系统106的组件描述的存储器上的指令。在一个基本实现方式中,crsm可以包括随机存取存储器(“ram”)。以及快闪存储器。在其它实施例中,crsm可以包括但不限于只读存储器(“rom”),电可擦除可编程只读存储器(“eeprom”),或可以用于存储所需信息并且可以由处理器访问的任何其它有形介质。
86.另外,功能组件可以存储在相应的存储器中,或者相同的功能可以可选地在硬件、固件、专用集成电路、现场可编程门阵列、或者作为片上系统(soc)实现。另外,虽然未示出,每个相应的存储器,例如这里所讨论的存储器114、124,和/或相对于远程系统106的组件描述的存储器,可以包括至少一个操作系统(os)组件,其被配置为管理诸如网络接口,各个装置的i/o设备等的硬件资源设备,并且向在处理器上执行的应用或组件提供各种服务。这样的os组件可以实现由freebsd项目公布的freebsd操作系统的变体;其它unix或unix样变体;由linus torvalds公布的linux操作系统的变体;来自美国华盛顿西雅图的amazon.inc.的fireos操作系统;来自美国华盛顿雷德蒙德的微软公司的windows操作系统;来自加利福尼亚州圣何塞的lynx软件技术有限公司发布的lynxos;瑞典enea ab发布的嵌入式操作系统(enea ose)等。
87.网络接口112、122和/或相对于远程系统106的组件描述的网络接口可启用系统100中所示的组件和/或设备之间的消息和/或与一个或更多个其它轮询系统以及其它联网设备之间的消息。这样的网络接口112、122和/或相对于远程系统106的组件描述的网络接口可以包括一个或更多个网络接口控制器(nic)或其它类型的收发机设备,以通过网络108发送和接收消息。
88.例如,每个网络接口112、122和/或相对于远程系统106的组件描述的网络接口可以包括个人区域网络(pan)组件,以启用一个或更多个短距离无线消息信道上的消息。例如,pan组件可以启用符合以下标准中的至少一个的消息:ieee 802.15.4(无线个域网),ieee 802.15.1(蓝牙),ieee802.11(wifi)或任何其它pan消息协议。此外,每个网络接口112、122和/或相对于远程系统106的组件描述的网络接口可以包括广域网(wan)组件,以启用广域网上的消息。
89.在一些情况下,远程系统106可以是与语音接口设备102相关联的环境的本地环境。例如,远程系统106可以位于一个或更多个语音接口设备102内。在一些情况下,远程系统106的一些或全部功能可以由一个或更多个语音接口设备102执行。此外,虽然在本公开中对远程系统106的各种组件进行了标记和命名,并且每个组件都被描述为被配置为使处理器执行某些操作,应当理解,所描述的操作可以由未具体示出的一些或全部组件和/或其它组件来执行。
90.图2a示出了用于与设备的账户数据关联的示例性组件的概念图。所述组件可以包括与上面参照图1所述的相同或相似的组件。例如访客语音小程序146,访客组件148,访客应用组件150,通知组件154,和/或域语音小程序156。图2a所示系统的组件还可以包括语音处理组件202,用户标识组件204,设置组件206,音频高速缓存208,事件总线216和/或工作流管理器218。应当理解,虽然参照图2a所述的操作在步骤1至13的分步工艺中进行了描述,但是这些处理可以以不同的顺序和/或并行地进行,并且可以包括大于或小于13个步骤。
91.在步骤1中,访客用户可以向一个或更多个主机用户的语音接口设备102提供用户话语,该用户话语指示将访客用户的账户数据与语音接口设备102相关联的意图。例如,用户可以说出短语“在此连接我”。语音接口设备102的麦克风可以捕获该音频,生成相应的音频数据,并将该音频数据发送到远程系统,特别是发送到语音处理接口202。远程系统可以确定用户话语包括短语“在此连接我”;或者类似短语,并且可以使用被配置为处理与这样的话语相关联的操作的性能的访客语音小程序146来发起账户数据关联。
92.例如,在步骤2中,访客语音小程序146可以查询设置组件204,以确定语音接口设备102是否与账户数据相关联,所述账户数据指示利用语音接口设备102已经启用访客访问。在这个实例中,主机用户提供了允许访客访问的同意,并且在步骤3中,访客语音小程序146可以查询用户标识组件206以确定与将账户数据与语音接口设备102相关联的请求相关联的用户标识。用户标识组件206提供关于访客访问是否已经建立与访客用户账户的关联的指示。
93.在步骤4中,访客语音小程序146可以指示访客组件148生成访客会话。然后,可以使用访客语音小程序146来使语音接口设备102输出表示对与访客用户相关联的移动设备104的识别信息的请求的音频。例如,音频可以包括说明“你的电话号码是什么?”的合成语音。访客用户可以提供包括所请求的识别信息的另一用户话语,例如与访客用户的移动设备相关联的电话号码。麦克风可以捕获该音频,生成相应的音频数据,并将音频数据发送到远程系统。访客语音小程序146可以接收指示识别信息的数据,并且可以向用户标识组件206查询与访客用户相关联的账户数据信息。用户标识组件206可以利用所提供的电话号码来确定与访客用户和访客用户账户相关联的移动设备104标识。用户标识组件206可以将该信息提供给访客语音小程序146,该信息可以包括访客用户的标识,主机用户的标识和/或设置信息,这可以使访客组件148发起访客会话。
94.在步骤5中,访客组件148可以向音频高速缓存208查询表示访客用户提供的一个或更多个用户话语的音频数据,例如表示在上述操作中所请求的电话号码的音频数据。在步骤6中,asr组件140可以执行对应于访客用户的语音的音频数据的分析,以确定与音频数据相关联的语音配置文件是否对应于作为访客设置过程的一部分而生成的访客用户的参考语音配置文件。asr组件140可以将音频数据的特征与参考语音配置文件的特征进行比较,以确定特征是否彼此对应,例如对应于阈值置信度。在特征对应的实例中,asr组件140可以向访客组件148返回数据,该数据指示访客用户的语音验证成功并且账户数据关联可以继续。应当理解,虽然如上所述的访客用户的验证包括使用语音识别技术,但是还可以使用附加的和/或不同的技术,例如在语音接口设备和/或另一个相关设备包括相机并且访客用户同意捕获访客用户的图像以用于验证目的的情况下的面部识别技术。
95.访客组件148可以更新访客会话以指示访客用户的语音验证成功,并且在步骤7
中,可以利用工作流管理器218为访客会话建立断开例程。例如,断开例程可以包括指示关于访客用户的账户数据何时将与主机用户的语音接口设备解离的选项。这些选项可以包括,例如,当远程系统设备接收到指示访客用户和/或主机用户将访客用户的账户数据与主机用户的语音接口设备解离的意图的用户话语时,当远程系统例如通过语音接口设备应用从访客用户和/或主机用户的移动设备接收到指示解离账户数据的输入数据时,当使用语音接口设备发起另一访客会话时,和/或在预定时间量到期之后,例如24小时。
96.在步骤8中,可以利用访客组件148查询通知组件154来生成一个或更多个通知,以发送给访客用户和/或主机用户。例如,在步骤9中,通知组件148可以识别和/或生成消息,并且可以例如通过利用在上述操作中提供的电话号码将消息发送到移动设备。该消息可以包括深链接,该深链接可以使警报显示在移动设备的屏幕上。所述警报可以是可选择的,以使所述语音接口设备应用程序启动并显示所述消息。该消息可以包括访客会话已经被发起的指示,并且可以请求用户输入以进一步验证该用户希望将他或她的账户数据与主机用户的语音接口设备相关联。例如,在步骤10中,用户可以向显示用户界面的屏幕的一部分提供触摸输入,该用户界面包括可选择部分,以确认访客用户的账户数据应当与主机用户的语音接口设备相关联。在步骤11中,指示该确认的数据可以被发送到访客组件148,访客组件148可以确定双因素验证,这里是语音验证和来自语音接口设备应用的确认,是成功的。访客组件148可以更新访客会话以指示双因素验证成功。在其它实例中,在使用语音接口设备应用的验证过程中可能发生错误。例如,应用可以由多于一个账户持有者使用,并且在一些情况下,除了与访客用户相关联的账户之外的账户可以在接收到验证请求时登录。这可能导致个人识别不匹配,这可能导致应用呈现指示不匹配的用户界面。访客用户可以利用该信息注销另一账户并登录到访客用户的账户以提供所请求的验证。在其它实例中,在这个验证过程中没有发现访客会话。例如,当对验证的请求被发送到移动设备时,该请求可以与预定义的验证发生的超时限制相关联,例如10分钟。如果预定义的超时限制已经到期,则访客机会话可以到期,并且移动设备可以呈现指示访客机会话已经到期的用户界面。
97.访客组件148然后可以利用通知组件154来发送主机用户的一个或更多个设备的通知,该通知指示访客用户的账户数据已经与主机用户的语音接口设备相关联。如果主机用户不知道访客用户连接到他或她的设备,则这可以允许主机用户启动解离过程。通信组件还可用于向与访客用户相关联的移动设备发送通知。访客组件还可以更新超时信息,用于将访客用户的账户数据与语音接口设备解离。在步骤12,访客组件148还可以向事件总线216发布访客会话事件,如下所述,可以利用该事件总线216来确定随后的用户话语是与访客用户相关联还是与主机用户相关联。此时,访客会话可以是活动的,使得访客用户的账户数据与主机用户的语音接口设备相关联。在步骤13中,事件总线216可以与域语音小程序156通信,以通知域语音小程序156访客会话已经开始,并且与随后的用户话语相关联的域和意图可以与访客用户的账户数据相关联。
98.图2b示出了用于确定用户话语何时应当与访客账户或主机账户相关联的示例组件的概念图。这些组件可以包括上面参照图1和图2a描述的相同或类似的组件,例如访客组件148,说话者识别组件152,域语音小程序156,语音处理组件202和/或asr组件140。图2b所示系统的组件还可以包括数据存储器210,隐私仪表板212和/或活动反馈组件214。应当理解,虽然关于图2b所述的操作在步骤1至11的分步工艺中进行了描述,但是这些处理可以以
不同的顺序和/或并行地进行,并且可以包括多于或少于11个步骤。
99.一旦访客账户与主机设备相关联,如参照图2a所述,例如,用户可以向语音接口设备提供用户话语,并且可以利用远程系统来确定给定的用户话语是来自访客用户还是来自主机用户,并且至少部分地基于个人识别来执行操作。例如,用户之一可以说短语“播放我的播放列表”。语音接口设备的麦克风可以捕获该音频,生成相应的音频数据,并将音频数据发送到远程系统以进行处理。例如,远程系统的协调器可以接收表示该请求的数据,并且可以检索关于该请求的上下文的信息。在步骤1中,可以利用该信息来确定为所讨论的语音接口设备建立访客会话,并且执行用户的识别来确定对该请求的响应。然后,在步骤2中,协调器可以向说话者识别组件152查询主机用户的个人标识,并且在步骤3中,可以向说话者识别组件152查询与主机账户相关联的设备标识。
100.在步骤4中,访客组件148可以向说话者识别组件查询与访客用户相关联的个人标识。与主机账户相关联的语音配置文件和与访客账户相关联的语音配置文件可以被提供给访客组件148。此时,协调器可能已经接收到主机用户和访客用户的个人标识,并且协调器可以建立指示用户话语的潜在说话者的说话者候选集。
101.在步骤5中,表示用户话语的音频数据可以被发送到asr组件140。在步骤6中,说话者候选集然后可以从访客组件148发送到asr组件140。asr组件140可以利用候选说话者的语音配置文件来确定候选说话者的哪个语音配置文件对应于用户话语的特征。如果asr组件返回访客用户是提供用户话语的最可能的人的结果,则可以更新与用户话语相关联的上下文以指示用户话语来自访客用户。在步骤7中,该信息可以被发送到数据存储对象以由系统的一个或更多个组件使用。例如,自然语言理解组件(nlu)可以接收上下文数据,该上下文数据指示说话者是访客用户和/或当由nlu组件确定意图时,该意图可以与访客用户账户可用的资源相关联。该数据还可以被发送到与访客用户账户相关联的一个或更多个技术。技术可以利用该信息来处理来自nlu组件的请求并返回结果。在实例中,更新上下文以指示该请求与访客用户相关联可以在asr组件确定该请求是来自访客用户还是来自主机用户之前和/或与其并行执行。这可以减少向用户提供响应的等待时间。然而,在这些实例中,当asr组件确定该请求来自主机用户而不是访客用户时,协调器可以使与该请求相关联的上下文被更新,以反映说话者是主机用户。
102.返回到说话者被确定为访客用户的情况,nlu组件可以确定与用户话语相关联的意图。使用上述实例,对于“播放我的播放列表”的用户话语,nlu组件可以识别“播放音乐”意图并可将待播放的音乐识别为“我的播放列表”。nlu组件可以利用访客用户提供请求的数据指示来确定哪个音乐对应于访客用户的播放列表。例如,访客用户的标识数据可以由实体识别组件使用,以确定与访客用户相关联的哪个播放列表被请求在语音接口设备上输出。nlu组件还可以利用访客用户的标识数据来确定访客用户账户可用哪些服务,诸如哪些流式音乐服务可用以促进播放音乐的请求。在步骤8中,nlu组件可以确定一个或更多个语音小程序156以促进该请求,并且可以将与该请求相关联的信息提供给语音小程序156以进行处理。语音小程序可以从nlu组件接收信息,可以处理该请求,并且可以使语音接口设备执行与该请求相关联的一个或更多个动作,诸如输出与“我的播放列表”相关联的内容。
103.在步骤9中,域语音小程序156可以利用语音小程序156发布指示采取的与账户数据相关联的操作的活动数据。该信息可以在与语音接口设备相关联的活动反馈中可用。在
步骤10中,隐私仪表板212可用于分离与访客用户账户数据相关联的活动反馈数据和与主机用户账户数据相关联的活动反馈数据。在步骤11中,隐私仪表盘212可以向数据存储对象查询指示哪个账户被语音小程序156结合给定操作使用的信息,以区分与访客用户配置文件相关联的动作和与主机用户配置文件相关联的动作。
104.图3a示出了用于由主机用户建立与设备关联的账户数据的示例用户界面305。用户界面305可以与参照图1描述的用户界面相同或相似。图3a示出从左到右对用户界面的改变。用户界面305可用于允许主机用户启用与主机用户相关联的语音接口设备上的访客访问。
105.例如,用户界面305可以包括设置菜单302,其可以包括与语音接口设备、智能设备、用户账户和/或与由语音接口设备接收的用户话语相关联的语音处理相关联的一个或更多个设置。设置菜单302可包括会否允许304,其可被选择以允许用户提供与启用或禁用如本文所述的访客功能相关联的输入。该功能还可以包括调整与访客访问相关联的偏好,例如,控制哪些用户标识被启用用于访客访问,访客会话的默认超时时段,启用哪些设备用于访客访问,对访客会话期间语音接口设备执行的操作的限制等。访客选项304的选择可以使用户界面305显示对用户的请求306,以指示是否应当启用访客访问。例如,请求306可以包括询问是否允许访客从他们的账户请求个人内容,并为用户提供关于是否允许访客访问的输入的可选择部分。
106.图3a示出了用于由主机用户建立与设备关联的账户数据的示例用户界面305。用户界面305可以与参照图1描述的用户界面相同或相似。图3a示出从左到右对用户界面的改变。用户界面305可用于允许主机用户启用与主机用户相关联的语音接口设备上的访客访问。
107.例如,用户界面305可以包括设置菜单302,其可以包括与语音接口设备、智能设备、用户账户和/或与由语音接口设备接收的用户话语相关联的语音处理相关联的一个或更多个设置。设置菜单302可包括访客选项304,其可被选择以允许用户提供与启用或禁用如本文所述的访客功能相关联的输入。该功能还可以包括调整与访客访问相关联的偏好,例如,控制哪些用户标识被启用用于访客访问,访客会话的默认超时时段,启用哪些设备用于访客访问,对访客会话期间语音接口设备执行的操作的限制等。访客选项304的选择可以使用户界面305显示对用户的请求306,以指示是否应当启用访客访问。例如,请求306可以包括询问是否允许访客从他们的账户请求个人内容,并为用户提供关于是否允许访客访问的输入的可选择部分。
108.图3b示出了用于由访客用户建立与设备关联的账户数据的示例用户界面310。用户界面310可以与参照图1描述的用户界面相同或相似。用户界面310可用于允许访客用户启用与访客用户相关联的语音接口设备上的访客访问。
109.例如,用户界面310可以包括访客设置菜单308,其可以包括关于如何设置访客功能的信息,如本文所述。例如,访客设置菜单308可以包括设备标识选项310,用于添加将被用于访客访问的设备标识。例如,设备标识可以是与访客用户的移动设备相关联的电话号码。访客设置菜单408还可以包括语音训练选项312,用于启动训练会话,以获取和/或生成用于启动访客会话和/或在访客会话期间使用的语音配置文件。一旦选择了语音训练选项312,用户界面310就可以向用户显示提供一个或更多个用户话语的请求,所述一个或更多
个用户话语可以被捕获,并且可以使用相应的音频数据来生成语音配置文件。
110.图4示出了按照设备与账户数据连接的时间序列排列的交互示例流的序列图。应当理解,虽然以逐个步骤的方式描述了序列图400,但是相对于图4所述的一些或全部操作可以以不同的顺序和/或并行地执行。
111.在框402中,访客用户可以向一个或更多个主机用户的语音接口设备提供用户话语,该用户话语指示将访客用户的账户数据与语音接口设备相关联的意图。例如,用户可以说出短语“在此连接我”。语音接口设备的麦克风可以捕获该音频,生成相应的音频数据,并将该音频数据发送到远程系统,具体地发送到访客语音小程序146。远程系统可以确定用户话语包括短语“在此连接我”或者类似短语,并且可以使用被配置为处理与这样的话语相关联的操作的性能的访客语音小程序146来发起账户数据关联。
112.在框404中,访客语音小程序146可以查询设置组件204,以确定语音接口设备是否与账户数据相关联,所述账户数据指示已经利用语音接口设备启用访客访问。在这个实例中,主机用户已经提供了启用访客访问的同意。
113.在框406中,访客语音小程序146然后可被用于使语音接口设备输出表示识别与访客用户相关联的移动设备的信息的请求的音频。例如,音频可以包括说明“你的电话号码是什么?”的合成语音。访客用户可以提供包括所请求的识别信息的另一用户话语,例如与访客用户的移动设备相关联的电话号码。麦克风可以捕获该音频,生成相应的音频数据,并将音频数据发送到远程系统。
114.访客语音小程序146可以接收指示识别信息的数据,并且可以在框408处向用户标识组件206查询与访客用户相关联的账户数据信息。用户标识组件206可以利用所提供的电话号码来确定与访客用户和访客用户账户相关联的移动设备标识。
115.在框410中,用户标识组件206可以将该信息提供给访客语音小程序146,该信息可以包括访客用户的标识,主机用户的标识和/或设置信息,这可以使访客组件148发起访客会话。
116.在框412中,访客组件148可以返回与移动设备相关联的访客设置,并确定可以发起访客会话。在框414中,访客组件148可以向说话者识别组件152查询与访客用户相关联的说话者标识。说话者识别组件152还可以被查询与访客用户相关联的语音配置文件。在框416中,访客组件148可以向音频高速缓存208查询表示访客用户提供的一个或更多个用户话语的音频数据,例如表示在上述操作中请求的电话号码的音频数据。
117.在框418中,访客组件148可以与asr组件140连接,以执行对与访客用户的语音相对应的音频数据的分析,从而确定与音频数据相关联的语音配置文件是否对应于访客用户的参考语音配置文件,该参考语音配置文件是作为访客设置过程的一部分产生的。asr组件140可以将音频数据的特征与参考语音配置文件的特征进行比较,以确定特征是否彼此对应,例如对应于阈值置信度。在特征对应的实例中,asr组件140可以向访客组件148返回数据,该数据指示访客用户的语音验证成功,并且账户数据关联可以继续。应当理解,虽然如上所述的访客用户的验证包括使用语音识别技术,但是还可以使用附加的和/或不同的技术,例如在语音接口设备和/或另一个相关设备包括相机并且访客用户同意捕获访客用户的图像以用于验证目的的情况下的面部识别技术。
118.在框420中,访客组件148可以更新访客会话以指示访客用户的语音验证是成功
的,并且在框422中,可以利用工作流组件218来建立访客会话的断开例程。例如,断开例程可以包括指示关于访客用户的账户数据何时将与主机用户的语音接口设备解离的选项。这些选项可以包括,例如,当远程系统设备接收到指示访客用户和/或主机用户将访客用户的账户数据与主机用户的语音接口设备解离的意图的用户话语时,当远程系统例如通过语音接口设备应用从访客用户和/或主机用户的移动设备接收到指示解离账户数据的输入数据时,当使用语音接口设备发起另一访客会话时,和/或在预定时间量到期之后,例如24小时。
119.在框424中,可以使用访客语音小程序146查询通知组件154以生成一个或更多个通知,用于发送到访客用户和/或主机用户。在框426中,可以通知用户正在启用访客会话。在框428中,通知组件154可以识别和/或生成消息。该消息可以包括深链接,该深链接可以使警报显示在移动设备的屏幕上。所述警报可以是可选择的,以使所述语音接口设备应用启动并显示所述消息。该消息可以包括访客会话已经被发起的指示,并且可以请求用户输入以进一步验证该用户希望将他或她的账户数据与主机用户的语音接口设备相关联。在框428中,通知组件154可以将消息发送到位于移动设备上的应用132,例如通过利用在上述操作中提供的电话号码。在框430中,用户可以向显示用户界面的屏幕的一部分提供触摸输入,该用户界面包括可选择部分以确认访客用户的账户数据应当与主机用户的语音接口设备相关联。在框432中,可以将指示该确认的数据发送到访客应用组件152,访客应用组件152可以确定双因素验证是成功的,这里是语音验证和来自语音接口设备应用的确认。
120.在框434中,访客应用组件150可以向访客组件148发送访客会话验证已被确认的指示,并且在框436中,访客组件148可以激活访客会话。
121.在框438中,访客组件148然后可以利用通知组件154来发送主机用户的一个或更多个设备的通知,该通知指示访客用户的账户数据已经与主机用户的语音接口设备相关联。如果主机用户不知道访客用户连接到他或她的设备,则这可以允许主机用户启动解离过程。通知组件还可以用于向与访客用户相关联的移动设备发送通知。访客组件还可以更新超时信息,用于将访客用户的账户数据与语音接口设备解离。
122.在框440中,访客组件148可以与工作流管理器218通信,以更新可以将用户的账户数据与主机用户的语音接口设备解离的解离事件。在框442中,访客组件148还可以向事件总线216发布访客会话事件,如下所述,可以利用该事件总线216来确定随后的用户话语是与访客用户相关联还是与主机用户相关联。此时,访客会话可以是活动的,使得访客用户的账户数据与主机用户的语音接口设备相关联。
123.图5示出了按照访客会话验证的时序排列的交互示例流的时序图500。应当理解,虽然以逐步方式描述了序列图500,但是相对于图5所述的一些或全部操作可以以不同的顺序和/或并行地执行。
124.在框502中,可以从用户接收发起访客会话的指示。例如,用户可以说出短语“在此连接我”。语音接口设备的麦克风可以捕获该音频,生成相应的音频数据,并将该音频数据发送到远程系统。远程系统可以确定用户话语包括短语“在此连接我”或者类似短语,并且可以使用被配置为处理与这样的话语相关联的操作的性能的访客语音小程序来发起账户数据关联。
125.在框504中,除了如上所述的更全面的语音识别验证之外,还可以执行对发起访客会话的访客用户的验证。通知组件154可以识别和/或生成消息。该消息可以包括深链接,该
深链接可以使警报显示在移动设备的屏幕上。所述警报可以是可选择的,以使所述语音接口设备应用启动并显示所述消息。该消息可以包括访客会话已经被发起的指示,并且可以请求用户输入以进一步验证该用户希望将他或她的账户数据与主机用户的语音接口设备相关联。通知组件154可以向位于移动设备上的应用132发送消息,例如通过利用在上述操作中提供的电话号码。用户可以向显示用户界面的屏幕的一部分提供触摸输入,该用户界面包括可选择部分,以确认访客用户的账户数据应当与主机用户的语音接口设备相关联。在框506中,指示该确认的数据可以与激活访客会话的请求一起被发送到访客应用组件150。在框508中,访客应用组件150可以返回指示访客会话已经被激活的响应。
126.在框510中,如果访客机会话被成功激活,则应用程序132可以在用户的移动设备上呈现指示访客会话被成功活动的连接页面。可选地,在框512中,在使用语音接口设备应用的验证过程中可能发生错误。例如,应用可以由多于一个账户持有者使用,并且在一些情况下,除了与访客用户相关联的账户之外的账户可以在接收到验证请求时登录。这可能导致个人识别不匹配,这可能导致应用132呈现指示不匹配的用户界面。访客用户可以利用该信息注销另一账户并登录到访客用户的账户以提供所请求的验证。在其它实例中,在框514中,在这个验证过程中,没有发现访客会话。例如,当对验证的请求被发送到移动设备时,该请求可以与预定义的验证发生的超时限制相关联,例如10分钟。如果预定义的超时限制已经到期,则访客机会话可以到期,并且应用132可以呈现指示访客机会话已经到期的用户界面。
127.图6示出了按照访客会话利用的时序排列的交互示例流的时序图600。应当理解,虽然顺序图600是以逐步方式描述的通过这种方式,可以以不同的顺序和/或并行地执行相对于图6所述的一些或全部操作。
128.在框602中,几个潜在用户中的一个可以向访客会话激活的语音接口设备提供用户话语。例如,用户可以说短语“播放我的播放列表”。语音接口设备的麦克风可以捕获该音频,生成相应的音频数据,并将音频数据发送到远程系统以进行处理。例如,远程系统的协调器650可以接收表示由语音处理接口202处理的请求的数据。
129.在框604中,协调器可以调用说话者识别组件来检索关于请求的上下文的信息。在框608中,可以利用该信息来确定为所讨论的语音接口设备建立了访客会话,并且将执行用户的识别来确定对该请求的响应。在框606中,协调器650可以向说话者识别组件152查询与主机用户相关联的个人标识。在框608中,协调器650可以向访客组件148查询与给定设备相关联的访客会话。在框610中,协调器650还可以向说话者识别组件152查询访客用户的个人标识。协调器650还可以向访客组件148查询访客会话的标识,并且可以利用访客会话的标识向说话者识别组件查询访客用户的个人标识。此时,协调器650可能已经接收到主机用户和访客用户的个人标识,并且在框612中,协调器650可以建立指示用户话语的潜在说话者的说话者候选集。
130.在框614中,协调器650然后可以连接到asr组件140并发起说话者识别请求,该请求可以包括将候选集提供给asr组件140。asr组件140可以利用候选说话者的语音配置文件来确定候选说话者的哪个语音配置文件对应于用户话语的特征。如果asr组件返回访客用户是提供用户话语的最有可能的人的结果,那么在框616中,协调器650可以向说话者识别组件152查询说话者候选者。
131.在框618中,协调器650可以与域上下文刷新器652一起执行上下文刷新器流程。在框620中,域上下文刷新器652可以利用说话者的标识来更新与用户话语相关联的上下文,其可以指示用户话语来自访客用户。该信息可以被发送到数据存储对象,以由系统的一个或更多个组件使用。在框622中,协调器650可以与标识上下文刷新器654一起执行标识刷新器流程。在框624中,标识上下文刷新器654可以利用讲话者的标识来更新与用户话语相关联的用户的标识。该信息可以被发送到数据存储对象,以由系统的一个或更多个组件使用。
132.在实例中,更新上下文以指示该请求与访客用户相关联可以在asr组件140确定该请求是来自访客用户还是来自主机用户之前和/或与其并行执行。这可以减少向用户提供响应的等待时间。例如,在框626中,asr组件140可以返回语音识别过程的结果,指示用户话语被确定为来自访客用户或主机用户。如果用户话语来自主机用户,那么在框628中,协调器650可以从数据存储对象中删除访客候选者和相关信息,或者不向系统的其它组件提供与访客用户相关联的信息或上下文。在asr组件140确定用户话语来自访客用户的实例中,然后在框630中,协调器650可以将访客用户标识和上下文发送到nlu组件142,其可接收上下文数据,该上下文数据指示说话者是访客用户和/或当nlu组件142确定意图时,该意图可与访客用户账户可用的资源相关联。
133.在框632中,nlu组件142可以将访客用户标识和/或相关信息发送到域实体识别组件654,以在语音处理期间用于实体识别。在框634中,协调器650可以调用远程应用引擎656,可以利用该远程应用引擎将与访客用户、访客用户账户和/或在访客会话期间作出的特定请求相关联的信息发送到系统的其它组件。在框636中,域实体识别组件654可以将访客数据添加到实体识别逻辑以用于语音处理。在框638中,与用户请求相关联的意图可以被执行,例如由域语音小程序156执行。
134.使用上述实例,对于“播放我的播放列表”的用户话语,nlu组件142可以识别“播放音乐”意图并可将待播放的音乐识别为“我的播放列表”。nlu组件142和/或域实体识别组件654可以利用指示访客用户提供了确定哪个音乐对应于访客用户的播放列表的请求的数据。例如,实体识别组件654可以利用访客用户的标识数据来确定与访客用户相关联的哪个播放列表被请求在语音接口设备上输出。nlu组件142还可以利用访客用户的标识数据来确定访客用户的账户可以使用哪些服务,例如哪些流媒体音乐服务可用于促进播放音乐的请求。nlu组件142可以确定一个或更多个语音小程序156以促进请求并且可以将与请求相关联的信息提供给语音小程序156以供处理。语音小程序可以从nlu组件142接收信息,可以处理该请求,并且可以使语音接口设备执行与该请求相关联的一个或更多个动作,例如输出与“我的播放列表”相关联的内容。
135.图7和8示出了用于账户数据与设备关联的过程。这里描述的过程被图解为逻辑流程图中的框的集合,其表示一系列操作,其中一些或全部可以硬件、软件或它们的组合来实现。在软件的上下文中,所述框可以表示存储在一个或更多个计算机可读介质上的计算机可执行指令,当由一个或更多个处理器执行所述指令时,所述指令对所述处理器编程以执行所列举的操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。除非特别指出,否则描述框的顺序不应被解释为限制。可以以任何顺序和/或并行方式组合任意数量的所述框以实现该过程或替代过程,而不是所有的框都需要被执行。为了讨论的目的,这些过程参照本文的实例中所描述的环境、体系结构
和系统来描述,例如参照图1-6,9和10所描述的那些,尽管这些过程可以在各种其它的环境、体系结构和系统中实现。
136.图7示出了用于设备与账户数据关联的示例过程700的流程图。描述操作或步骤的顺序并不意味着被解释为限制,任何数量的所述操作可以以任何顺序和/或并行方式组合以实现过程700。
137.在框702中,过程700可以包括从语音接口设备接收表示来自第一用户的第一用户话语的第一音频数据。例如,用户可以说出短语“在此连接我”。语音接口设备的麦克风可以捕获该音频,生成相应的音频数据,并将音频数据发送到远程系统。
138.在框704中,过程700可以包括从第一音频数据确定第一用户话语指示将第一账户数据与语音接口设备相关联的第一请求,该语音接口设备与第二用户的第二账户数据相关联。例如,远程系统可以确定用户话语包括短语“在此连接我”或者类似短语,并且可以使用被配置为处理与这样的话语相关联的操作的性能的访客语音小程序来发起账户数据关联。
139.在框706中,过程700可以包括使语音接口设备输出请求用户设备的标识的音频,用户设备的标识与关联于第一用户的第一用户配置文件相关联。例如,音频可以包括说明“你的电话号码是什么?”的合成语音。访客用户可以提供包括所请求的识别信息的另一用户话语,例如与访客用户的移动设备相关联的电话号码。麦克风可以捕获该音频,生成相应的音频数据,并将音频数据发送到远程系统。
140.在框708中,过程700可以包括接收指示用户设备的标识的第二音频数据。例如,远程系统可以接收指示与第一用户配置文件的移动设备相关联的电话号码的第二音频数据。
141.在框710中,过程700可以执行语音识别,包括利用第二音频数据确定第二音频数据的第一语音配置文件对应于与第一用户配置文件相关联的参考语音配置文件。例如,远程系统的访客组件可以与asr组件连接,以执行对与访客用户的语音相对应的音频数据的分析,从而确定与音频数据相关联的语音配置文件是否与访客用户的参考语音配置文件相对应,所述参考语音配置文件是作为访客设置过程的一部分生成。asr组件可以将音频数据的特征与参考语音配置文件的特征进行比较,以确定特征是否彼此对应,例如与阈值置信度对应。在特征对应的实例中,asr组件可以向访客组件返回数据,指示访客用户的语音验证成功,并且账户数据关联可以继续。应当理解,虽然如上所述的访客用户的验证包括使用语音识别技术,但是还可以使用附加的和/或不同的技术,例如在语音接口设备和/或另一个相关设备包括相机并且访客用户同意捕获访客用户的图像以用于验证目的的情况下的面部识别技术。
142.在框712中,过程700可以包括利用用户设备的标识向用户设备发送消息数据,该消息数据请求确认第一账户数据将与语音接口设备相关联。例如,消息数据可包括可使警报显示在用户设备的屏幕上的深链接。所述警报可以是可选择的,以使所述语音接口设备应用启动并显示所述消息。该消息可以包括访客会话已经被发起的指示,并且可以请求用户输入以进一步验证该用户希望将他或她的账户数据与主机用户的语音接口设备相关联。通知组件可以向位于移动设备上的应用发送消息,例如通过利用在上述操作中提供的电话号码。用户可以向显示用户界面的屏幕的一部分提供触摸输入,该用户界面包括可选择部分以确认访客用户的账户数据应当与主机用户的语音接口设备相关联。
143.在框714中,过程700可以包括从用户设备接收确认第一账户数据将与语音接口设
备相关联的第一数据。例如,指示该确认的第一数据可以被发送到访客应用组件,访客应用组件可以确定双因素验证,这里是语音验证和来自语音接口设备应用的确认,是成功的。
144.在框716中,过程700可以包括响应于接收到第一数据并确定第一语音配置文件对应于参考语音配置文件,使第一账户数据与语音接口设备相关联。例如,远程系统可以存储指示当从设备接收到表示用户话语的音频数据时,可以使用第一账户数据或第二账户数据来响应用户话语的数据。
145.在框718中,过程700可以包括接收表示第二用户话语的第三音频数据以在语音接口设备上输出内容。例如,用户可以说短语“播放我的播放列表”。语音接口设备的麦克风可以捕获该音频,生成相应的音频数据,并将音频数据发送到远程系统以进行处理。例如,远程系统的协调器可以接收表示由语音处理接口处理的请求的数据。
146.在框720中,过程700可以包括确定第三音频数据的第二语音配置文件对应于参考语音配置文件。例如,asr组件可以利用候选说话者的语音配置文件来确定候选说话者的哪个语音配置文件对应于用户话语的特征。如果asr组件返回访客用户是提供用户话语的最可能的人的结果,那么协调器可以向说话者识别组件查询说话者候选者,例如用于自然语言理解处理。
147.在框722中,过程700可以包括响应于对应于参考语音配置文件的第二语音配置文件,从与第一账户数据相关联的内容资源中检索表示内容的第二数据。例如,nlu组件可以确定用户话语对应于输出内容的请求,并且可以利用用户的标识来确定可以利用与访客账户数据相关联的哪个内容资源来实现该意图。nlu组件可以查询能够提供内容的内容资源。
148.在框724中,过程700可以包括向语音接口设备发送在语音接口设备上输出内容的第二请求。例如,远程系统可以将由内容资源提供的内容发送到语音接口设备。所述远程系统还可以生成使所述语音接口设备输出所述内容的请求,例如经由所述语音接口设备的一个或更多个扬声器。
149.附加地或可选地,过程700可以包括从与语音接口设备相关联的第一账户数据识别第一参考语音配置文件。过程700还可以包括从语音接口设备接收第三音频数据,识别与第二用户相关联的第二参考语音配置文件。过程700还可以包括确定第二语音配置文件对应于第一参考语音配置文件的第一置信度值,以及确定第二语音配置文件对应于第二参考语音配置文件的第二置信度值。过程700还可以包括确定第一置信度值指示比第二置信度值更多的置信度。在这些实例中,确定第二语音配置文件对应于第一参考语音配置文件可以响应于确定第一置信度值指示比第二置信度值更多的置信度。
150.附加地或可选地,过程700可包括确定与第二账户数据相关联的语音接口设备之外的设备。过程700还可以包括至少部分地基于与第二账户数据相关联的第二设备,使第一账户数据与设备相关联。
151.附加地或可选地,过程700可以包括从与第一账户数据相关联的用户设备接收第三数据,该第三数据请求启用与第一账户数据关联的账户数据。过程700还可以包括响应于接收到第三数据,使用户设备显示对应于一个或更多个短语的对音频的第三请求。过程700还可以包括接收表示一个或更多个短语的第四音频数据,并利用第四音频数据生成参考语音配置文件。
152.另外,或者可选地,过程700可以包括生成指示解离事件的第三数据,当指示解离
事件发生时,使第一账户数据与语音接口设备解离,解离事件包括以下至少之一:经过预定义的持续时间;从语音接口设备接收请求解离的第四音频数据;从第一用户设备或第二用户设备中的至少一个接收请求解离的第一输入数据;确定已经接收到将第三账户数据与所述语音接口设备相关联的第三请求;或者从所述第二用户设备接收第二输入数据,所述第二输入数据指示已经撤销了对将账户数据与语音接口设备关联的同意。过程700还可以包括响应于接收到第三数据而使第一账户数据与语音接口设备解离。
153.图8示出了用于将账户数据与设备关联的另一示例过程800的流程图。描述操作或步骤的顺序并不意欲被解释为限制,任何数量的操作可以以任何顺序和/或并行方式组合以实现过程800。
154.在框802中,过程800可以包括接收将第一账户数据和与第二账户数据相关联的第一设备相关联的请求数据,第一账户数据不同于第二账户数据。例如,用户可以说出短语“在此连接我”。语音接口设备的麦克风可以捕获该音频,生成相应的音频数据,并将音频数据发送到远程系统。所述远程系统可以根据所述第一音频数据确定所述第一用户话语指示将第一账户数据与语音接口设备相关联的第一请求,该语音接口设备与第二用户的第二账户数据相关联。例如,远程系统可以确定用户话语包括短语“在此连接我”或类似物短语,并且可以利用被配置为处理与这样的话语相关联的操作的性能的访客语音小程序来发起账户数据关联。
155.在框804中,过程800可以包括确定与请求数据相对应的第一语音配置文件与第一账户数据相关联。例如,语音接口设备可以输出请求与第一用户的第一用户配置文件相关联的用户设备的标识的音频。例如,音频可以包括说明“你的电话号码是什么?”的合成语音。访客用户可以提供包括所请求的识别信息的另一用户话语,例如与访客用户的移动设备相关联的电话号码。麦克风可以捕获该音频,生成相应的音频数据,并将音频数据发送到远程系统。远程系统可以接收指示用户设备的标识的第二音频数据。例如,远程系统可以接收指示与第一用户配置文件的移动设备相关联的电话号码的第二音频数据。远程系统还可以利用第二音频数据来确定第二音频数据的第一语音配置文件对应于与第一用户配置文件相关联的参考语音配置文件。例如,远程系统的访客组件可以与asr组件连接,以执行对与访客用户的语音相对应的音频数据的分析,从而确定与音频数据相关联的语音配置文件是否与访客用户的参考语音配置文件相对应,所述参考语音配置文件是作为访客设置过程的一部分生成。asr组件可以将音频数据的特征与参考语音配置文件的特征进行比较,以确定特征是否彼此对应,例如与阈值置信度对应。在特征对应的实例中,asr组件可以向访客组件返回数据,指示访客用户的语音验证成功,并且账户数据关联可以继续。应当理解,虽然如上所述的访客用户的验证包括使用语音识别技术,但是还可以使用附加的和/或不同的技术,例如在语音接口设备和/或另一个相关设备包括相机并且访客用户同意捕获访客用户的图像以用于验证目的的情况下的面部识别技术。
156.远程系统可以利用用户设备的标识向用户设备发送消息数据,该消息数据请求确认第一账户数据将与语音接口设备相关联。例如,消息数据可以包括深链接,该深链接可以使警报显示在移动设备的屏幕上。所述警报可以是可选择的,以使所述语音接口设备应用启动并显示所述消息。该消息可以包括访客会话已经被发起的指示,并且可以请求用户输入以进一步验证该用户希望将他或她的账户数据与主机用户的语音接口设备相关联。通知
组件可以向位于移动设备上的应用发送消息,例如通过利用在上述操作中提供的电话号码。用户可以向显示用户界面的屏幕的一部分提供触摸输入,该用户界面包括可选择部分,以确认访客用户的账户数据应当与主机用户的语音接口设备相关联。远程系统可以从用户设备接收第一数据,所述第一数据确认第一账户数据将与所述语音接口设备相关联。例如,指示该确认的第一数据可以被发送到访客应用组件,访客应用组件可以确定,这里是语音验证和来自语音接口设备应用的确认,是成功的。
157.在框806中,过程800可以包括至少部分地基于确定第一语音配置文件与第一账户数据相关联,使第一账户数据与第一设备相关联。例如,远程系统可以存储指示当从设备接收到表示用户话语的音频数据时,可以使用第一账户数据或第二账户数据来响应用户话语的数据。
158.在框808中,过程800可以包括从设备接收表示执行动作的用户话语的音频数据。例如,用户可以说短语“播放我的播放列表”。语音接口设备的麦克风可以捕获该音频,生成相应的音频数据,并将音频数据发送到远程系统以进行处理。例如,远程系统的协调器可以接收表示由语音处理接口处理的请求的数据。
159.在框810中,过程800可以包括确定与第一音频数据相关联的第二语音配置文件对应于第一语音配置文件。例如,asr组件可以利用候选说话者的语音配置文件来确定候选说话者的哪个语音配置文件对应于用户话语的特征。如果asr组件返回访客用户是提供用户话语的最可能的人的结果,那么协调器可以向说话者识别组件查询说话者候选者,例如用于自然语言理解处理。
160.在框812中,过程800可以包括识别与第一账户数据相关联的应用以执行动作。例如,nlu组件可以确定用户话语对应于输出内容的请求,并且可以利用用户的标识来确定可以利用与访客账户数据相关联的哪个内容资源来实现该意图。nlu组件可以查询能够提供内容的内容资源。
161.在框814中,过程800可以包括利用应用执行动作。例如,远程系统可以将由内容资源提供的内容发送到语音接口设备。远程系统还可以生成使语音接口设备输出内容的请求,例如经由所述语音接口设备的一个或更多个扬声器。
162.附加地或可选地,过程800可包括从与语音接口设备相关联的第一账户数据识别第一参考语音配置文件,以及根据从设备接收音频数据识别与第二账户数据相关联的第二参考语音配置文件。过程800还可以包括确定第二语音配置文件对应于第一参考语音配置文件的第一置信度值,以及确定第二语音配置文件对应于第二参考语音配置文件的第二置信度值。过程800还可以包括确定第一置信度值指示比第二置信度值更多的置信度。在这些实例中,确定第二语音配置文件与第一账户数据相关联可以至少部分地基于确定第一置信度值指示比第二置信度值更多的置信度。
163.附加地或可选地,过程800可以包括从与第一账户数据相关联的用户设备接收第一数据,该第一数据请求启用与第一账户数据关联的账户数据。过程800还可以包括至少部分地基于接收到第一数据,使用户设备显示对应于一个或更多个短语的对音频的第二请求。过程800还可以包括接收表示一个或更多个短语的第二音频数据并利用所述第二音频数据生成参考语音配置文件。在这些实例中,确定第一请求是有效的可以至少部分地基于对应于参考语音配置文件的语音配置文件。
164.附加地或可选地,过程800可包括生成指示解离事件的第一数据,当指示所述解离事件发生时,使所述第一账户数据与所述设备解离,所述解离事件包括以下至少之一:经过预定义的持续时间;从所述设备接收请求解离的第二音频数据;从第一用户设备或第二用户设备中的至少一个接收请求解离的第一输入数据;确定已经接收到将第三账户数据与所述设备相关联的第二请求;或者从所述第二用户设备接收第二输入数据,所述第二输入数据指示已经撤销了对将设备与账户数据关联的同意。过程800还可以包括响应于接收到第一数据而使第一账户数据与设备解离。
165.附加地或可选地,过程800可包括至少部分地基于使第一账户数据与设备相关联来生成第一数据,第一数据包括第一账户数据已经与设备相关联的通知。过程800还可以包括识别与第二账户数据相关联的用户设备,并将第一数据发送到用户设备。
166.附加地或可选地,过程800可以包括确定该动作对应于由设备输出的内容。在这些实例中,过程800可以包括从与第一账户数据相关联的多个应用中识别应用,应用被配置为提供内容和/或使设备输出内容。
167.附加地或可选地,过程800可包括确定该动作对应于与第二账户数据相关联的电子设备的操作。在这些实例中,过程800可以包括从与第二账户数据相关联的多个应用中识别应用,该应用被配置用于控制电子设备和/或引起电子设备的操作。
168.附加地或可选地,过程800可包括确定与第二账户数据相关联的第二设备。过程800还可以包括至少部分地基于与第二账户数据相关联的第二设备,使第一账户数据与第二设备相关联。
169.图9示出了用于处理由一个或更多个设备提供的音频数据的语音处理系统的组件的概念图。图9示出了如何处理说出的话语的概念图,允许系统捕获并执行用户说出的命令,例如可以跟随在唤醒词之后的说出的命令,或者触发表达式(即,用于“唤醒”设备的预定义词或短语;使得该设备开始向诸如系统106的远程系统发送音频数据)。所示的各种组件可以位于同一设备上或不同的物理设备上。图9所示的各种组件之间的消息可以直接或通过网络108发生。诸如设备102的麦克风116或另一设备的音频捕获组件捕获与说出的话语相对应的音频900。然后,使用唤醒词组件901,设备102处理对应于音频900的音频数据,以确定是否在音频数据中检测到关键词(例如唤醒词)。在检测到唤醒词之后,设备102向包括asr组件140的远程系统106发送对应于话语的音频数据902。音频数据902可以在传输之前从位于设备上的可选声前端(afe)956输出。在其它情况下,音频数据902可以是由远程afe956处理的不同形式,例如与远程系统106的asr组件140一起定位的afe956。
170.唤醒词组件901与用户设备的其它组件,例如麦克风一起工作,以检测音频900中的关键词。例如,该设备可以将音频900转换成音频数据,并用唤醒词组件901处理该音频数据以确定是否检测到人的声音,如果是,则确定包括人的声音的音频数据与对应于特定关键词的音频指纹和/或模型匹配。
171.用户设备可以使用各种技术来确定音频数据是否包括人的声音。一些实施例可以应用语音活动检测(vad)技术。这种技术可以基于音频输入的各种量化方面,例如音频输入的一个或更多个帧之间的频谱斜率,来确定音频输入中是否存在人的声音;在一个或更多个谱带中的音频输入的能级;在一个或更多个谱带中的音频输入的信噪比;或其它定量方面。在其它实施例中,用户设备可以实现有限分类器,该有限分类器被配置为将人的声音与
背景噪声区分开。分类器可以通过诸如线性分类器、支持向量机和决策树的技术来实现。在其它实施例中,隐藏马尔科夫模型(hmm)或高斯混合模型(gmm)技术可被应用于将音频输入与人类声音存储中的一个或更多个声学模型进行比较,该声学模型可包括与人类声音、噪声(例如环境噪声或背景噪声)或静音相对应的模型。还可以使用其它技术来确定音频输入中是否存在人的声音。
172.一旦在由用户设备接收的音频中检测到人的声音(或者与人的声音检测分开),用户设备可以使用唤醒词组件901来执行唤醒词检测,以确定用户何时想要向用户设备说出命令。这个过程也可以被称为关键词检测,其中唤醒词是关键词的特定实例。具体地,可以在不执行语言分析、文本分析或语义分析的情况下执行关键词检测。相反,分析传入的音频(或音频数据)以确定音频的特定特征是否与预配置的声波、音频指纹或其它数据匹配,以确定传入的音频是否“匹配”与关键词对应的存储的音频数据。
173.因此,唤醒词组件901可以将音频数据与存储的模型或数据进行比较以检测唤醒词。一种用于唤醒词检测的方法应用一般的大词汇量连续语音识别(lvcsr)系统来解码音频信号,其中唤醒词搜索在所得到的网格或混淆网络中进行。lvcsr解码可能需要相对高的计算资源。另一种用于唤醒词定位的方法为每个关键唤醒词和非唤醒词语音信号分别建立隐藏马尔科夫模型(hmm)。非唤醒词语音包括其它说出的词、背景噪声等。可以建立一个或更多个hmm来对非唤醒词语音特征建模,其被命名为填充模型。使用维特比解码在解码图中搜索最佳路径,并进一步处理解码输出以作出关键词存在的决定。该方法可以扩展到包括鉴别信息,通过并入混合dnn-hmm解码框架。在另一个实施例中,唤醒词定位系统可以直接建立在深度神经网络(dnn)/递归神经网络(rnn)结构上,而不涉及hmm。这样的系统可以通过在dnn的上下文窗口内堆叠帧或者使用rnn来估计具有上下文信息的唤醒词的后验。随后的后阈值调整或平滑被应用于制定决策。也可以使用其它用于唤醒词检测的技术,例如本领域已知的技术。
174.一旦检测到唤醒词,本地设备102可以“唤醒”以及开始将对应于输入音频900的音频数据902发送到远程系统106以进行语音处理。对应于该音频的音频数据可以被发送到远程系统106,用于路由到接收设备,或者可以被发送到远程系统106,用于语音处理,用于解释所包括的语音(或者用于启用语音消息的目的和/或用于执行语音中的命令的目的)。音频数据902可以包括对应于唤醒词的数据,或者对应于唤醒词的音频数据部分可以在发送之前由本地设备102删除。此外,当检测到语音/说出的音频超过阈值时,本地设备可以“唤醒”,如本文所述。一旦被远程系统106接收,asr组件140可以将音频数据902转换为文本。asr将音频数据转录为表示包含在音频数据902中的语音单词的文本数据。文本数据然后可以由其它组件用于各种目的,例如执行系统命令、输入数据等。音频数据中的说出的话语被输入到处理器,处理被配置为执行asr,然后asr基于话语与存储在asr模型知识库(asr模型存储952)中的预先建立的语言模型954之间的相似性来解释话语。例如,asr过程可以将输入音频数据与声音的模型(例如,子词单元或音素)和声音序列进行比较,以识别与在音频数据的话语中说出的声音序列相匹配的词。
175.可以解释说出的话语的不同方式(即,不同的假设),该不同方式的每个都可以被分配一个概率或置信度得分,该概率或置信度得分表示特定词组与话语中那些说出的话匹配的可能性。置信度得分可以基于多个因素,包括,例如,话语中的声音与语言声音的模型
(例如,存储在asr模型存储952中的声学模型953)的相似度,以及与声音匹配的特定词将被包括在该特定位置处的句子中的可能性(例如,使用语言或语法模型)。因此,说出的话语(假设)的每个潜在文本解释与置信度得分相关联。基于所考虑的因素和所分配的置信度得分,asr过程140输出在音频数据中识别的最可能的文本。asr过程还可以以点阵或n-最佳列表的形式输出多个假设,每个假设对应于置信度得分或其它得分(例如概率得分等)。
176.执行asr处理的一个或更多个设备可以包括声学前端(afe)956和语音识别引擎958。声学前端(afe)956将来自麦克风的音频数据转换成由语音识别引擎958处理的数据。语音识别引擎958将语音识别数据与声学模型953、语言模型954以及用于识别在音频数据中传送的语音的其它数据模型和信息进行比较。afe956可以减少音频数据中的噪声,并将数字化的音频数据划分为表示afe956为其确定多个值的时间间隔的帧,称作特征,表示音频数据的质量,以及称作特征向量的那些值的集合,表示帧内音频数据的特征/质量。如本领域已知的,可以确定许多不同的特征,并且每个特征表示对asr处理有用的音频的一些质量。afe可以使用多种方法来处理音频数据,例如美尔倒谱系数(mfcc),感知线性预测(plp)技术,神经网络特征向量技术,线性判别分析,半系协方差矩阵,或本领域技术员已知的其它方法。
177.语音识别引擎958可以参考存储在语音/模型存储器(952)中的信息来处理来自afe956的输出。或者,执行asr处理的设备可以从除内部afe之外的另一个源接收后前端处理的数据(诸如特征向量)。例如,用户设备可以将音频数据处理成特征向量(例如,使用设备上afe956),并通过网络将该信息发送到服务器以进行asr处理。特征向量可以到达被编码的远程系统106,在这种情况下,它们可以在由执行语音识别引擎958的处理器处理之前被解码。
178.语音识别引擎958试图将接收的特征向量与存储的声学模型953和语言模型954中已知的语言音素和单词进行匹配。语音识别引擎958基于声学信息和语言信息计算特征向量的识别分数。所述声学信息用于计算声学得分,所述声学得分表示由一组特征向量表示的预期声音与语言音素匹配的可能性。语言信息用于通过考虑在上下文中彼此使用什么声音和/或单词来调整声学得分,从而提高asr处理将输出语法上有意义的语音结果的可能性。所使用的特定模型可以是一般模型,或者可以是对应于特定域的模型,例如音乐,银行等。举例来说,用户话语可以是“alexa,播放我的摇滚播放列表“?”。唤醒检测组件可以识别唤醒词,否则被描述为触发用户话语中的表达式“alexa”;并可以基于识别唤醒词“唤醒”。对应于用户话语的音频数据可以被发送到远程系统106,其中语音识别引擎958可以识别、确定和/或生成对应于用户话语的文本数据,这里是“播放我的摇滚播放列表”。
179.语音识别引擎958可以使用多个技术来将特征向量与音素匹配,例如使用隐藏马尔科夫模型(hmm)来确定特征向量可以与音素匹配的概率。所接收的声音可以表示为hmm的状态之间的路径,并且多个路径可以表示对于相同声音的多个可能的文本匹配。用户识别引擎999可用于确定与提供用户话语的用户相关联的用户配置文件和/或用户标识。下面将参照图15更详细地描述用户识别引擎999。
180.在asr处理之后,asr结果可以由语音识别引擎958发送到其它处理组件,这些处理组件可以是执行asr的本地设备和/或通过网络分布的。例如,asr结果是语音的单个文本表示的形式,包括多个假设和相应的得分、点阵等的n-最佳列表可以被发送到远程系统106,
用于自然语言理解(nlu)处理,例如将文本转换成命令,该命令由用户设备,远程系统106或由另一设备(例如运行诸如搜索引擎之类的特定应用的服务器)执行。
181.执行nlu处理142的设备(例如,服务器106)可以包括各种组件,包括潜在的专用处理器、存储器、存储对象等。如图9所示,nlu组件142可包括识别器963,该识别器963包括命名实体识别(ner)组件962,该组件962用于识别与系统可识别的命名实体相对应的查询文本部分。称为命名实体解析的下游过程将文本部分链接到系统已知的特定实体。为了执行命名的实体解析,系统可以利用存储在实体库存储982中的地名词典信息(984a-984n)。所述地名词典信息可用于实体解析,例如,将asr结果与不同的实体(例如语音接口设备)进行匹配,智能设备等)。地名词典可以被链接到用户(例如,特定地名词典可以与特定用户的设备关联相关联),可以被链接到某些域(例如音乐,购物等),或者可以以各种其它方式被组织。
182.通常,nlu过程采取文本输入(例如基于话语输入音频900从asr140处理),并尝试对文本进行语义解释。也就是说,nlu过程基于各个词来确定文本后面的意思,然后实现该意思。nlu处理142解释文本串以导出来自用户的意图或期望动作以及文本中允许设备(例如,设备102)完成该动作的相关信息。例如,如果使用asr140处理话语并输出文本“播放我的摇滚播放列表”;nlu过程可以确定想要将音频输出为与“摇滚播放列表”相关联的歌曲的用户。
183.nlu可以处理与同一话语相关的几个文本输入。例如,如果asr140输出n个文本段(作为n-最佳列表的一部分),则nlu可以处理所有n个输出以获得nlu结果。
184.如下面将进一步讨论的,nlu过程可以被配置为解析和标记以注释文本,作为nlu处理的一部分。例如,对于文本“播放我的摇滚播放列表”,“播放”可以被标记为命令(输出音频)和“我的摇滚播放列表”可以被标记为要显示的内容的命名标识。
185.为了正确地执行语音输入的nlu处理,nlu处理142可以被配置为确定话语的“域”以便确定和缩小由端点设备(例如,远程系统106或用户设备)提供的哪些服务可能是相关的。例如,端点设备可以提供与电话服务的交互相关的服务、联系人列表服务、日历/调度服务、音乐播放器服务等。单个文本查询中的词可以暗示多于一个的服务,并且一些服务可以在功能上被链接(例如,电话服务和日历服务都可以使用来自联系人列表的数据)。
186.命名实体识别(ner)组件962接收asr结果形式的查询,并尝试识别可用于解释含义的相关语法和词汇信息。为此,nlu组件142可以从识别可能与所接收的查询相关的潜在域开始。nlu存储装置973包括标识与特定设备相关联的域的设备(974a-974n)的数据库。例如,用户设备可以与用于音乐、电话、日历、联系人列表和设备特定消息的域相关联,但不与视频相关联。此外,实体库可以包括关于特定设备上的特定服务的数据库条目,或者由设备id、用户id或家庭id或一些其他指标索引。
187.在nlu处理中,域可以表示具有共同主题的离散活动集,例如“银行”、“医疗保健”、“智能家居”、“通信”、“购物”、“音乐”、“日历”等。这样,每个域可以与特定的识别器963、语言模型和/或语法数据库(976a-976n)、特定的一组意图/动作(978a-978n)和特定的个性化词典(986)相关联。每个地名词典(984a-984n)可以包括与特定用户和/或设备相关联的域索引词汇信息。例如,地名词典a(984a)包括域索引词汇信息986aa到986an。用户的联系人列表词汇信息可能包括联系人的姓名。由于每个用户的联系人列表可能都不同,因此这种
个性化信息提高了实体分辨率。
188.如上所述,在传统的nlu处理中,可以应用适用于每个识别域的规则、模型和信息来处理查询。例如,如果查询潜在地暗示消息和例如音乐两者,则查询可以基本上并行地使用用于消息的语法模型和词汇信息来进行nlu处理,并且将使用用于音乐的语法模型和词汇信息来处理。基于由每组模型产生的查询的响应被评分,来自所有应用域的总体最高排序结果通常被选择为正确结果。
189.意图分类(ic)组件964解析查询以确定每个识别的域的一个或更多个意图,其中该意图对应于响应于该查询的要执行的动作。每个域与链接到意图的单词的数据库(978a-978n)相关联。例如,a/v意图数据库可以将诸如“开启”、“激活”和/或“启用”的词和短语链接到“开启”意图。作为进一步的实例,计时器意图数据库可以将诸如“设置”、“开始”、“启动”和“启用”的词和短语链接到“设置计时器”意图。同时,语音消息意图数据库可以链接单词和短语,例如“发送消息”、“发送语音消息”、“发送以下内容”等。ic组件964通过将查询中的词与意图数据库978中的词和短语进行比较来标识每个标识的域的潜在意图。在一些情况下,ic组件964对意图的确定是使用针对传入文本进行处理的一组规则或模板以识别匹配意图。
190.为了生成特定的解释响应,ner962应用与相应域相关联的语法模型和词汇信息来实际识别查询文本中一个或更多个实体的提及。以这种方式,ner962识别“插槽”或以后命令处理可能需要的值(即,查询文本中的特定词)。取决于ner962的复杂性,它还可以用一种类型的不同级别的专一性来标记每个时隙(例如名称,地点,设备名称,设备位置,城市,艺术名称,歌曲名称,时间量,计时器数量等)。每个语法模型976包括在关于特定领域的语音中常见的实体名称(即名词)(即通用术语),而来自地名词典984的词汇信息986是针对用户和/或设备进行个性化的。例如,与购物域相关的语法模型可能包括人们讨论购物时常用的单词数据库。
191.由ic组件964识别的意图链接到特定-域的语法框架(包括在976中),其中“插槽”或“字段”要填充树值。每个插槽/字段对应于系统认为对应于实体的查询文本的一部分。为了使解析更加灵活,这些框架通常不会被构造为句子,而是基于将插槽与语法标签相关联。例如,如果“打开”是识别的意图,一个或更多个语法(976)框架可以对应于句子结构,例如“使具有{卧室灯}标识符的设备打开”。
192.例如,ner组件962可以在识别命名实体之前,基于语法规则和/或模型来解析查询以将词识别为主语、对象、短语、前置词等。所识别的短语可以由ic组件964用来识别意图,然后由ner组件962用来识别框架。用于“播放歌曲”的意图的框架,同时,可以指定适用于播放所识别的“歌曲”的插槽/字段的列表;以及任何对象修改器(例如,指定应当从其访问歌曲的音乐集合)等。然后ner组件962在域特定的和个性化的词典中搜索相应的字段,试图将标记为语法对象或对象修饰符的查询中的词和短语与数据库中识别的那些匹配。
193.这个过程包括语义标记,它是根据词的类型/语义来标记词或词的组合。可以使用启发式语法规则来执行分析,或者可以使用诸如隐藏马尔科夫模型、最大熵模型、对数线性模型、条件随机场(crf)等技术来构造ner模型。
194.然后使用与意图链接的框架来确定应当搜索哪些数据库字段以确定这些短语的含义,例如搜索用户地名词典以寻与框架槽的相似性。如果所述地名词典的搜索没有使
用地名词典信息来解析所述插槽/字段,那么ner组件962可以搜索与所述域相关联的通用词的数据库(在知识库972中)。因此,例如,如果查询是“识别这首歌曲”,在不能确定当前正在输出哪个歌曲之后,ner组件962可以在域词汇表中搜索最近被请求的歌曲。在另一种方案中,可以在地名词典信息之前检查通用词,或者可以尝试这两个词,从而潜在地产生两个不同的结果。
195.来自nlu处理的输出数据(其可以包括加标签的文本,命令等)然后可以被发送到语音小程序146。可以基于nlu输出来确定目的地语音小程序146。例如,如果nlu输出包括发送消息的命令,则目的地语音小程序146可以是消息发送应用,诸如位于用户设备上或消息发送设备中的消息发送应用程序,被配置为执行消息发送命令。如果nlu输出包括搜索请求,则目的地语音小程序146可以包括搜索引擎处理器,诸如位于搜索服务器上的搜索引擎处理器,其被配置为执行搜索命令。在基于用户的意图生成适当的命令之后,语音小程序146可以将这些信息中的一些或全部提供给文本-到-语音(tts)引擎。然后,tts引擎可以生成实际的音频文件,用于输出由语音小程序146确定的音频数据(例如,“ok”或“播放你的摇滚播放列表”)。在生成文件(或“音频数据”)之后,tts引擎可以将该数据提供回远程系统106。
196.现有系统的nlu操作可能采用多域架构的形式。每个域(可能包括一组意图和实体槽,它们定义了一个更大的概念,如音乐、书籍等,以及诸如训练模型等的组件,用于执行各种nlu操作,如ner、ic等)可以单独构建并且在运行时操作期间对nlu组件142可用,其中nlu操作对文本(例如从asr组件140输出的文本)执行。每个域可能有专门配置的组件来执行nlu操作的各个步骤。
197.例如,在nlu系统中,该系统可以包括由多个域组成的多域架构,用于系统(或连接到系统的其它设备)可执行的意图/命令,诸如音乐,视频,书籍和信息。该系统可以包括多个域识别器,其中每个域可以包括其自己的识别器963。每个识别器可以包括诸如ner组件962,ic组件964的各种nlu组件和诸如实体解析器的其它组件或其它组件。
198.例如,消息传递域识别器963-a(域a)可以具有ner组件962-a,该ner组件962-a识别什么时隙(即,输入文本的部分)可以对应于与该域相关的特定词。所述词可以对应于诸如(对于消息传递域)接收者的实体。ner组件962可以使用机器学习模型,例如域特定条件随机场(crf),来识别对应于实体的部分以及识别哪种类型的实体对应于文本部分。消息传递域识别器963-a还可以具有它自己的意图分类(ic)组件964-a,假定文本在禁止域内,则该组件确定文本的意图。ic组件可以使用诸如域特定最大熵分类器的模型来识别文本的意图,其中意图是用户期望系统执行的动作。为此目的,远程系统计算设备i06可以包括模型训练组件。模型训练组件可用于训练上述的分类器/机器学习模型。
199.如上所述,在单个语音处理系统中可以使用多个设备。在这样的多设备系统中,每个设备可以包括用于执行语音处理的不同方面的不同组件。所述多个设备可以包括重叠组件。用户设备和远程系统106的组件,如这里所示的是示例性的,并且可以位于独立设备中,或者可以全部或部分地被包括为较大设备或系统的组件,可以分布在网络或由网络连接的多个设备等上。
200.图10示出了被配置为将账户数据与语音接口设备相关联的电子设备的示例组件的概念图。例如,该设备可以包括一个或更多个电子设备,例如语音接口设备(例如,回波设
备、移动电话、平板电脑、个人计算机等)、视频接口设备(例如,电视、机顶盒、虚拟现实/增强现实耳机等)、触摸接口设备(平板电脑、电话、笔记本电脑、自助服务终端、广告牌等)、以及附属设备(例如灯、插头、锁、恒温器、电器、电视、时钟、烟雾探测器、门铃、照相机、运动/磁性/其它安全系统传感器等)。例如,这些电子设备可以位于与第一用户配置文件相关联的家中、企业、医疗机构(例如,医院、医生办公室、药房等)中、车辆(例如,飞机、卡车、汽车、公共汽车)中、公共场所(例如,购物中心、商店等)中。例如,第二用户配置文件还可以与一个或更多个其他电子设备相关联,这些电子设备可以位于家中或与第二用户配置文件相关联的其他地方。设备102可以实现为独立设备,该独立设备在具有有限的输入/输出组件、存储器和处理能力的功能能力方面相对简单。例如,设备102可以不具有键盘、小键盘、触摸屏或其它形式的机械输入。在一些情况下,设备102可以包括麦克风116,电源和用于经由一个或更多个天线1004将生成的音频数据发送到另一设备和/或系统的功能。
201.设备102也可以实现为更复杂的计算设备,例如类似于或与智能电话或个人数字助理相同的计算设备。设备102可以包括具有触摸接口的显示器和用于提供输入以及诸如发送和接收通信的能力的附加功能的各种按钮。设备102的可选实现方式还可以包括作为个人计算机的配置。个人计算机可以包括输入设备,例如键盘,鼠标,触摸屏,以及在桌面,笔记本,上网本或其它个人计算设备上发现的其它硬件或功能。在实例中,设备102可以包括自动驾驶车辆,例如汽车。在其它实例中,设备102可以包括在用户衣服上的别针或在用户人身上的电话。在实例中,设备102可以不包括扬声器,并且可以利用外部或外围设备的扬声器经由外部/外围设备的扬声器输出音频。在这个实例中,设备102可以代表机顶盒(stb),并且设备102可以利用诸如连接到stb的电视机的另一设备的扬声器来经由外部扬声器输出音频。在其它实例中,设备102可以不包括麦克风116,而是设备102可以利用外部或外围设备的麦克风捕获音频和/或生成音频数据。在这个实例中,设备102可以使用与设备102耦合(有线或无线)的耳机的麦克风。这些类型的设备是以示例的方式提供的,并不意欲进行限制,因为在本公开中所描述的技术基本上可用于任何具有识别语音输入或其它类型的自然语言输入能力的设备中。
202.图10的设备102可以包括一个或更多个控制器/处理器110,其可以包括用于处理数据和计算机可读指令的中央处理单元(cpu),以及用于存储设备102的数据和指令的存储器114。在实例中,这里所述的技术和/或应用可以与存储器114相关联地存储,存储器114可以查询这里所述的内容和/或响应。设备102还可以通过输入/输出设备接口112连接到可移动或外部非易失性存储器和/或存储对象,例如可移动存储卡、存储器密钥驱动器、联网存储器等。
203.用于操作设备102及其各种组件的计算机指令可以由设备的控制器/处理器108执行,在运行时使用存储器114作为“工作”存储。设备的计算机指令可以以非暂时性方式存储在非易失性存储器114、存储装置1018或外部设备中。可选地,除了软件之外或代替软件,可执行指令中的一些或全部可以嵌入到设备102上的硬件或固件中。
204.设备102可以包括输入/输出设备接口112。各种组件可以通过输入/输出设备接口112连接。另外,设备102可以包括地址/数据总线1020,用于在相应设备的组件之间传送数据。设备102内的每个组件可以也可以直接连接到除通过总线1020连接到其它组件之外的其它组件,或者代替通过总线1020连接到其它组件。
205.设备102可以包括显示器,该显示器可以包括触摸界面。任何合适的显示技术,例如液晶显示器(lcd),有机发光二极管(oled),电泳等,都可以用于显示器。此外,处理器110可以包括用于驱动相关显示器上的动画和视频输出的图形处理器。作为向用户指示另一设备之间的连接已经被打开的方式,设备102可以配置有一个或更多个视觉指示器,例如可以是led或类似组件(未示出)形式的光元件,其可以改变颜,闪光或提供可见光输出,例如用于设备102上的通知指示器。输入/输出设备接口112连接到各种组件。该有线或无线音频和/或视频端口可以允许音频/视频输入到设备102或从设备102输出音频/视频。设备102还可以包括音频捕获组件。音频捕获组件可以是例如麦克风116或麦克风阵列、有线耳机或无线耳机等。麦克风116可以被配置为捕获音频。如果包括麦克风阵列,则可以基于由该阵列的不同麦克风捕获的声音之间的时间差和振幅差,使用声学定位来确定到声音原点的近似距离。设备102(使用麦克风116,唤醒词检测组件1001,asr组件140等)可以被配置为生成与捕获的音频相对应的音频数据。设备102(使用输入/输出设备接口112,天线1004等)还可以被配置为将音频数据发送到远程系统106以用于进一步处理,或者使用诸如唤醒词检测组件901的内部组件来处理数据。
206.经由天线1004,输入/输出设备接口112可以经由无线局域网(wlan)(例如wifi)无线电收发设备、蓝牙和/或无线网络无线电收发设备(例如,能够与例如长期演进(lte)网络、wimax网络、3g网络、4g网络、5g网络等无线通信网络进行通信的无线电收发设备)连接到一个或更多个网络。也可以支持有线连接,例如以太网。也可以支持通用串行总线(usb)连接。可以经由到外部交流(ac)出口的有线连接,和/或经由车载电源,例如电池,太阳能电池板等,向设备102提供电力。
207.通过网络,系统可以分布在网络环境中。因此,设备102和/或远程系统106可以包括asr组件140。设备102的asr组件140可以具有有限的或扩展的能力。asr组件140可以包括存储在asr模型存储组件中的语言模型,以及执行自动语音识别的asr组件140。如果包括有限的语音识别,则asr组件140可以被配置为识别有限数量的词,例如由设备检测的关键词,而扩展的语音识别可以被配置为识别更大范围的词。
208.设备102和/或远程系统106可以包括有限的或扩展的nlu组件142。设备102的nlu组件142可以具有有限的或扩展的能力。nlu组件142可以包括名称实体识别模块,意图分类模块和/或其它组件。nlu组件142还可以包括存储的知识库和/或实体库,或者那些存储器可以被单独定位。
209.在实例中,aec也可以由设备102执行。在这些实例中,所述操作可包括使aec组件921启用或以其它方式开启,或者所述操作可包括使aec组件921从第一模式转换到表示对麦克风116产生的音频数据具有较高灵敏度的第二模式。aec组件921可利用麦克风116产生的音频数据来确定音频数据的音频指纹或其部分是否对应于与预定义事件相关联的参考音频指纹。
210.设备102和/或远程系统106还可以包括被配置为执行与这里所述的说出的命令相关联的命令/功能的语音小程序146。设备102可以包括唤醒词检测组件901,唤醒词检测组件901可以是单独的组件或者可以包括在asr组件140中。唤醒词检测组件901接收音频信号并检测音频中特定表达式(例如配置的关键词)的出现。这可以包括检测在特定时间段内的频率变化,其中频率变化导致系统识别为对应于关键词的特定音频指纹。关键词检测可包
括分析单独的定向音频信号,例如,如果适用的话,经处理的波束形成后的那些。也可以使用关键词检测领域中已知的其它技术(也称为关键词定位)。在一些实施例中,设备102可以被共同配置为识别其中检测到唤醒表达式或者其中可能已经发生唤醒表达式的一组定向音频信号。
211.图11和12示出了用于将账户数据与语音接口设备关联的过程。这里描述的过程被图解为逻辑流程图中的框的集合,其表示一系列操作,其中一些或全部可以硬件,软件或它们的组合来实现。在软件的上下文中,所述框可以表示存储在一个或更多个计算机可读介质上的计算机可执行指令,当由一个或更多个处理器执行所述指令时,所述指令对所述处理器编程以执行所述列举的操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。除非特别指出,框被描述的顺序不应被解释为限制。可以以任何顺序和/或并行方式组合任意数量的所述框以实现该过程或替代过程,而不是所有的框都需要被执行。出于讨论的目的,参考在此实施例中所描述的环境、体系结构和系统来描述这些过程,例如参考图1-10所描述的那些,尽管这些过程可以在各种其它环境、体系结构和系统中实现。
212.图11示出了用于生成用于自然语言处理和应用程序使用的用户标识数据的示例过程1100的流程图。描述操作或步骤的顺序并不意欲被解释为限制,任何数量的所述操作可以以任何顺序和/或并行方式组合以实现过程1100。
213.在框1102中,过程1100可以包括从语音接口设备接收表示来自第一用户的第一用户话语的第一音频数据。例如,用户可以说出短语“在此连接我”。语音接口设备的麦克风可以捕获该音频,生成相应的音频数据,并将音频数据发送到远程系统。
214.在框1104中,过程1100可以包括从第一音频数据确定第一用户话语指示将第一账户数据与语音接口设备相关联的请求,该语音接口设备与第二用户的第二账户数据相关联。例如,远程系统可以确定用户话语包括短语“在此连接我”或者类似短语,并且可以使用被配置为处理与这样的话语相关联的操作的性能的访客语音小程序来发起账户数据关联。
215.在框1106,过程1100可以包括向与第一账户数据相关联的第一用户设备发送第一消息数据,该第一消息数据请求确认第一账户数据将与语音接口设备相关联。例如,系统可以执行这里所述的语音识别处理,以识别提供用户话语的用户。可以使用用户的身份来识别与用户身份相关联的第一账户数据,并且可以使用第一账户数据来识别第一用户设备。所述消息数据可以包括指示已经尝试将所述第一账户数据与语音接口设备相关联并且向所述第一用户设备的用户请求确认所述第一账户数据与所述语音接口设备的关联被授权的输入的信息。在其它实例中,消息数据可以是对与第一用户设备相关联的位置的请求和/或对指示第一用户设备连接到与语音接口设备相关联的网络接入点的数据的请求。
216.在框1108中,过程1100可以包括从第一用户设备接收确认第一账户数据将与语音接口设备相关联的第一数据。例如,所述第一数据可以包括与来自所述第一用户设备的用户的输入相对应的输入数据,例如所述用户选择所述第一用户设备的屏幕的一部分,所述屏幕指示对将所述第一账户数据与所述语音接口设备相关联的所述请求的确认。在其它实例中,第一数据可以包括第一用户设备在语音接口设备的阈值距离内和/或第一用户设备连接到与语音接口设备相关联的网络接入点的指示。
217.在框1110中,过程1100可以包括响应于第一数据,使第一账户数据与语音接口设
备相关联。例如,远程系统可以存储指示当从设备接收到表示用户话语的音频数据时,可以使用第一账户数据或第二账户数据来响应用户话语的数据。
218.在框1112中,过程1100可以包括向与第二账户数据相关联的第二用户设备发送第二消息数据,该第二消息数据请求确认第一账户数据被授权与语音接口设备相关联。例如,可以使用从其接收音频数据的语音接口设备的设备标识来确定第二账户数据。第二账户数据可用于确定与第二账户数据相关联的第二用户设备。消息数据可以包括指示已经尝试将第一账户数据与语音接口设备相关联并且向第二用户设备的用户请求确认第一账户数据与语音接口设备的关联被授权的输入的信息。
219.在框1114中,过程1100可以包括从第二用户设备接收确认第一账户数据被授权与语音接口设备相关联的第二数据。相对于框1108,可以以与接收第一数据相同或类似的方式接收第二数据。
220.在框1116中,过程1100可以包括响应于接收到第二数据而使第一账户数据和语音接口设备之间的关联保持。在第二数据指示第一账户数据的关联未被主机配置文件授权的其它实例中,第一账户数据可以从语音接口设备解离。
221.附加地或可选地,过程1100可包括接收请求数据以由与第一账户数据相关联的电子设备执行动作。过程1100还可以包括利用第一账户数据确定指示与第一账户数据相关联的电子设备的设备标识数据。过程1100还可以包括向电子设备发送指示电子设备是执行该动作的候选设备的设备标识数据。过程1100还可以包括从电子设备接收指示要执行的动作和要执行该动作的电子设备的电子设备的第三数据。过程1100还可以包括使电子设备执行该动作。
222.附加地或可选地,过程1100可以包括从语音接口设备接收表示第二用户话语的第二音频数据。过程1100还可以包括确定第二用户话语与第二账户数据相关联,而不是与第一账户数据相关联。过程1100还可以包括确定指示第二用户话语请求与应用相关联的内容以及确定应用与第一账户数据相关联的意图数据。过程1100还可以包括向语音接口设备发送命令以输出内容。
223.另外,或者可选地,过程1100可以包括:当第一账户数据与语音接口设备相关联时,从第一用户设备接收输入数据,该输入数据请求在无需设备重新验证的情况下启用第一账户数据与语音接口设备之间的后续关联。过程1100还可以包括响应于接收到输入数据而生成第三数据,该第三数据指示在不需要设备重新验证的情况下启用第一账户数据和语音接口设备之间的关联。过程1100还可以包括存储与第一账户数据相关联的第三数据,以及从语音接口设备接收表示第二用户话语的第二音频数据,以将第一账户数据与语音接口设备相关联。过程1100还可以包括确定第二用户话语与第一账户数据相关联,并使第一账户数据与语音接口设备相关联而无需设备重新验证。
224.图12示出了用于生成用于自然语言处理和应用程序使用的用户标识数据的另一示例过程1200的流程图。描述操作或步骤的顺序并不意欲被解释为限制,任何数量的所述操作可以以任何顺序和/或并行方式组合以实现过程1200。
225.在框1202中,过程1200可以包括从第一设备接收表示用户话语的音频数据。例如,用户可以说出短语“在此连接我”。语音接口设备的麦克风可以捕获该音频,生成相应的音频数据,并将音频数据发送到远程系统。
226.在框1204中,过程1200可包括至少部分地基于音频数据来确定用户话语指示将第一账户数据与第一设备相关联的第一请求,第一设备与第二账户数据相关联。例如,远程系统可以确定用户话语包括短语“在此连接我”或者类似短语,并且可以使用被配置为处理与这样的话语相关联的操作的性能的访客语音小程序来发起账户数据关联。
227.在框1206中,过程1200可以包括向与第一账户数据相关联的第二设备发送第一数据的第一请求数据,该第一数据指示第一账户数据被授权与第一设备相关联。例如,系统可以执行这里所述的语音识别处理,以识别提供用户话语的用户。可以使用用户的身份来识别与用户身份相关联的第一账户数据,并且可以使用第一账户数据来识别第二设备。消息数据可以包括指示已经尝试将第一账户数据与第一设备相关联的信息,并且向第二设备的用户请求确认第一账户数据与第一设备的关联被授权的输入。在其它实例中,消息数据可以是对与第二设备相关联的位置的请求和/或对指示第二设备连接到与第一设备相关联的网络接入点的数据的请求。
228.在框1208中,过程1200可以包括从第二设备接收第一数据。例如,第一数据可以包括与来自第二设备的用户的输入相对应的输入数据,例如用户选择第二设备的屏幕的一部分,其指示对将第一账户数据与第一设备相关联的请求的确认。在其它实例中,第一数据可以包括第二设备在第一设备的阈值距离内和/或第二设备连接到与第一设备相关联的网络接入点的指示。
229.在框1210中,过程1200可以包括向与第二账户数据相关联的第三设备发送对第二数据的第二请求数据,该第二数据指示第一账户数据被授权与第一设备相关联。例如,可以使用从其接收音频数据的第一设备的设备标识来确定第二账户数据。第二账户数据可用于确定与第二账户数据相关联的第三设备。所述请求可以包括指示已经尝试将所述第一账户数据与所述第一设备相关联的信息,并且向所述第三设备的用户请求确认所述第一账户数据与所述第一设备的关联被授权的输入。
230.在框1212中,过程1200可以包括从第三设备接收第二数据。相对于框1208,可以以与接收第一数据相同或类似的方式接收第二数据。
231.在框1214中,过程1200可以包括至少部分地基于接收第一数据和第二数据,使第一账户数据与第一设备相关联。例如,远程系统可以存储指示当从设备接收到表示用户话语的音频数据时,可以使用第一账户数据或第二账户数据来响应用户话语的数据。
232.附加地或可选地,过程1200可包括接收由与第一账户数据相关联的第四设备执行动作的第四请求。过程1200还可以包括至少部分地基于第一账户数据来确定指示与第一账户数据相关联的设备的设备标识数据。过程1200还可以包括向与第一账户数据相关联的应用发送设备标识数据,所述设备标识数据指示所述设备是用于执行所述动作的候选设备。过程1200还可以包括从应用接收指示设备中的第四设备执行动作的第三数据,并使第四设备执行动作。
233.附加地或可选地,过程1200可以包括从第一设备接收表示第二用户话语的第二音频数据。过程1200还可以包括:确定第二用户话语与第二账户数据相关联而不是与第一账户数据相关联;以及确定指示第二用户话语正在请求与应用相关联的内容的意图数据。过程1200还可以包括确定应用与第二账户数据不相关联,并使应用程序能够与第一设备上的第二账户数据相关联地使用。
234.附加地或可选地,过程1200可以包括:当第一账户数据与第一设备相关联时,从第二设备接收输入数据,该输入数据请求在没有设备验证的情况下启用第一账户数据与第一设备之间的后续关联。过程1200还可以包括至少部分地基于接收输入数据来生成第三数据,该第三数据指示在没有设备验证的情况下启用第一账户数据和第一设备之间的关联。过程1200还可以包括将第三数据与第一账户数据相关联地存储,以及从第一设备接收表示第二用户话语的第二音频数据,以将第一账户数据与第一设备相关联。过程1200还可以包括确定第二用户话语与第一账户数据相关联,以及使第一账户数据与第一设备相关联而无需设备验证。
235.另外,或者可选地,过程1200可以包括接收,当第一账户数据与第一设备相关联时,来自所述第二设备的输入数据,当所述第二设备连接到与所述第一设备相关联的网络接入点时,所述输入数据请求启用所述第一账户数据和所述第一设备之间的后续关联。过程1200还可以包括至少部分地基于接收输入数据来生成第三数据,该第三数据指示当第二设备连接到网络接入点时启用第一账户数据和第一设备之间的关联。过程1200还可以包括与第一账户数据相关联地存储第三数据,以及接收指示第二设备连接到网络接入点的第四数据。过程1200还可以包括至少部分地基于接收第二数据使第一账户数据与第一设备相关联。
236.附加地或可选地,过程1200可包括生成指示已经与第一账户数据相关联地执行了动作的第三数据。过程1200还可以包括与关联于第一账户数据的第一活动反馈相关联地存储第三数据,以及至少部分地基于与第一账户数据相关联地正在执行的动作,确定禁止存储与第二活动反馈关联的第三数据,第二活动反馈与第二账户数据相关联。
237.附加地或可选地,过程1200可以包括生成第三数据,该第三数据指示当第一账户数据与第一设备相关联时,第一设备已经与第一账户数据相关联地执行了动作。过程1200还可以包括至少部分地第一设备正在执行的动作,与第一活动反馈相关联地存储第三数据的第一实例以及与第二活动反馈相关联地存储第三数据的第二实例,其中,第一活动反馈与第一账户数据相关联,第二活动反馈与第二账户数据相关联。
238.附加地或可选地,过程1200可包括至少部分地基于与第一设备相关联的第一账户数据来确定指示与第一账户数据相关联的第一电子设备的第一设备标识数据。过程1200还可以包括至少部分地基于从第一设备接收音频数据来确定指示与第二账户数据相关联的第二电子设备的第二设备标识数据。过程1200还可以包括向被配置为响应于请求执行动作的输入数据而使执行动作的应用发送第一设备标识数据。过程1200还可以包括向应用发送第二设备标识数据,以及从应用接收指示第一电子设备或第二电子设备之一的电子设备执行该动作的第三数据。
239.图13示出了可以被执行以准备用于asr处理和用户识别处理的音频数据1311的处理。如所述,设备102通过网络199将音频数据1311发送到系统进行处理。所述系统可包括声学前端(afe)956(或其它组件),其对音频数据1311执行各种功能以准备音频数据1311用于进一步的下游处理,例如asr处理和/或用户识别处理。例如,afe956可以包括对音频数据1311执行开窗功能以创建成帧音频数据1310(例如波形)的开窗组件705。每个帧的大小可以取决于实现方式。在一个实例中,每个帧可以包括25毫秒(m/s)的音频数据,与下一帧10ms数据的重叠,从而导致音频数据的滑动窗口处理。执行开窗功能可包括将时间记录乘
以在其边缘处平滑且逐渐朝向零变化的幅度的有限长度窗口。通过执行这样的操作,音频数据的各个帧的波形的端点相遇,导致没有急剧转变的连续波形。afe 956可以包括快速傅立叶变换(fft)组件1315,其被配置为执行fft以将成帧音频数据1310的每个帧中的波形从其原始域(例如,时间)转换为频域中的表示(从而创建频域成帧音频数据1320)。除了fft或除了fft之外的音频处理技术可用于将音频数据(例如,波形)转换为可根据需要进行处理的数据。
240.afe 956可以包括语音活动检测(vad)组件1325,其确定语音活动(即语音)是否存在于fft后波形(即频域成帧音频数据1320)中。在这样做时,系统可以执行上述vad操作。vad检测器(或其它组件)可以以不同的顺序配置,例如,vad检测器可以对音频数据1311而不是对频域成帧音频数据1320进行操作,可以对asr特征等进行操作。各种不同的组件配置是可能的。如果在频域成帧音频数据1320中没有语音,则系统丢弃(1330)频域成帧音频数据1305(即,从处理流中删除音频数据)。相反,如果系统在频域成帧音频数据1320中检测到语音,则系统相对于频域成帧音频数据1320执行用户识别特征提取组件1335。
241.用户识别特征提取组件1335可以执行帧级特征提取和/或话语级特征提取。帧级特征提取可以确定该帧对应于通用背景模型(ubm)的哪个帧。ubm可以是高斯混合模型,深度神经网络等。话语级特征提取可以分析对齐的语音帧以导出固定长度的特征向量(即,用户识别特征向量数据1340)。用户识别特征提取组件1335可以继续处理,直到在频域成帧音频数据1320中不再检测到语音活动为止,在该点上,系统可以确定语音的端点已经到达。
242.asr特征提取组件1345可以对从设备102接收的所有音频数据1311执行asr特征提取。或者(未示出),asr特征提取组件1345可以仅对包括语音的音频数据执行asr特征提取(例如,如vad组件1325所示)。asr特征提取组件1345和/或用户识别特征提取组件735可以确定表示频域成帧音频数据1320的质量的值(即特征),以及将那些特征量化为值(即特征向量或音频特征向量)。asr特征提取组件1345可以确定可用于asr处理的asr特征向量数据1350,并且用户识别特征提取组件1335可以确定可用于用户识别处理的用户识别特征向量数据1340(有时称作i向量)。asr特征向量数据1350和用户识别特征向量数据1340可以是相同的特征向量,不同的特征向量,或者可以包括一些重叠特征。许多方法可用于从频域成帧音频数据1320中提取特征向量,例如mfcc,plp技术,神经网络特征向量技术,线性判别分析,半系协方差矩阵,或本领域技术员已知的其它方法。
243.asr特征向量数据1350可以包括每个音频帧的不同音频特征向量。因此,对于一个25ms长的音频帧,asr特征提取组件1345可以输出单个asr特征向量。asr特征向量数据1350可以被输入到asr组件140。
244.根据系统配置,用户识别特征提取组件1335可以输出多个用户识别特征向量,例如每个音频帧的一个这样的向量。可选地,用户识别特征提取组件1335可以在话语进行时(例如,在语音的端点到达音频数据1311中之前)继续输入频域成帧音频数据1320。当频域成帧音频数据1320被输入时,用户识别特征提取组件1335可以累积或以其它方式组合进入的频域成帧音频数据1320。也就是说,对于进入频域成帧音频数据1320的某个帧的值,用户识别特征提取组件1335可以将该帧的数据值与针对特定话语接收的先前数据相组合。累积的特定方法可以变化,包括使用算术分量,递归神经网络(rnn),训练的模型或能够组合音频数据的其它组件。此外,由用户识别特征提取组件1335执行的组合形式可以取决于确定
什么音频质量对于最终的用户识别处理是重要的。因此,用户识别特征提取组件1335可以被训练以分离和处理对用户识别处理最有用的数据。因此,用户识别特征提取组件1335的输出可以包括用户识别特征向量数据1340,其包括用于用户识别处理的特征的值。得到的用户识别特征向量数据1340可以被输入到用户识别引擎999。
245.用户识别特征向量数据1340可以包括多个向量,每个向量对应于说出的用户输入的不同部分。可选地,用户识别特征向量数据1340可以是表示说出的用户输入的音频质量的单个向量。
246.参照图14,可以使用编码器1450来创建单个向量,编码器1450可以创建固定大小的向量,以表示音频数据的某些特征,如下所述。在数学符号中,给定特征数据值x
l
...xn,...xn的序列,其中,xn是d维向量,编码器e(x
l
,...xn)=y将特征序列投影到y,其中y是f-维向量。f是向量的固定长度,可根据编码向量的使用和其他系统配置进行配置。如图14所示,特征值1402到1406(其可以包括音频数据1311,频域成帧音频数据1320等的特征向量)可以被输入到编码器1450,编码器1450将输出表示输入特征值的编码特征向量1410。vad组件1325的输出可以是编码器1450的输入,使得编码器1450只能在其中输入的特征值对应于语音时工作。单独的特征值(例如,1402-1406)可以对应于特定的音频帧。不管输入多少特征值,任何特定的编码器1450将被配置为输出相同大小的向量,从而确保来自任何特定的编码器850的输出编码向量大小的连续性(尽管不同的编码器可以输出不同固定大小的向量),并且能够比较不同的特征向量y。值y可以被称作序列x
l
,...xn的嵌入。xn和y的长度是固定的和预先已知的,但是特征序列x
l
,...xn的n的长度不一定是事先已知的。编码器850可以实现为神经网络(nn),递归神经网络(rnn),gmm或其它模型。一个特定的实例是短期存储器(lstm)rnn。编码器1450消耗其中输入的数据的方式有多种,包括但不限于:
247.·
线性的,一个方向(向前或向后)
248.·
双线性,基本上是前向嵌入和反向嵌入的级联,或
249.·
树,基于序列的解析树。
250.另外,可以使用注意力模型,它是另一种rnn或深度神经网络(dnn),它学习“吸引”对输入某些部分的注意力。注意力模型可以与上述消耗输入的方法结合使用。
251.图14示出编码器1450的操作。输入特征值序列,从特征值x
1 1402开始,继续通过特征值x
n 1404,并以特征值x
n 1406结束,被输入到编码器1450中。编码器1450可以处理如上所述的输入特征值。编码器1450输出编码特征向量y 1410,它是长度为f的固定长度特征向量。因此,用户识别特征提取组件1335可以包括接收用于特定口述用户输入的音频特征值的编码器1450,并且输出固定长度的编码的特征向量y 1410,其可以是用户识别特征/向量数据1340。因此,在某些系统配置中,无论口述用户输入有多长,或者有多少声音帧特征值被输入到编码器1450中,输出特征向量1410/1340将具有相同的长度,从而允许更容易
252.由用户识别引擎999执行用户识别处理。为了允许稳健的系统操作,最终向量1410/1340可以包括许多维度(例如,几百),从而提供许多数据点以供下游考虑。
253.为了确定用户识别特征向量数据1340,系统可以(例如,使用vad组件1325)确定在输入音频数据中检测到语音活动。这可以指示口述用户输入的开始,从而导致系统确定口述用户输入开始于音频数据中的第一点。音频处理(例如由开窗组件1305,fft组件1315,asr特征提取组件1345,用户识别特征提取组件1335,asr处理等执行)可以从第一点开始继
续对音频数据进行处理,并且继续直到vad组件1325确定在音频数据中的第二点不再检测到语音活动。因此,系统可以确定口述用户输入在第二点结束。因此,第一点可以被认为是口述用户输入的起点,而第二点可以被认为是口述用户输入的终点。当检测到起点和/或终点时,vad组件1325可以向用户识别特征提取组件1335发出信号,使得用户识别特征提取组件1335可以开始处理从起点开始并且在终点结束的音频数据。此外,不包括语音的口述用户输入期间的音频帧可以由vad组件1325过滤掉,因此不被asr特征提取组件1345和/或用户识别特征提取组件1335考虑。然后,所得到的累积/处理的语音音频数据(从起点到终点)可以在用户识别特征向量数据1340的单个特征向量中表示,该特征向量数据然后可以用于用户识别处理。
254.图15示出了可以由用户识别引擎999执行的用户识别处理。asr组件140如上所述对asr特征向量数据1350执行asr处理。asr置信度数据1507可以被传递给用户识别引擎999。
255.用户识别引擎999使用包括用户识别特征向量数据1340、表示显式和/或匿名语音配置文件的特征向量1505、asr置信度数据1507和其它数据1509的各种数据来执行用户识别。用户识别引擎999可以输出用户识别数据1595,其反映用户输入是由一个或更多个特定用户说出的一定置信度。用户识别数据1595可以包括一个或更多个用户标识(例如,对应于一个或更多个显式语音配置文件和/或一个或更多个匿名语音配置文件)。用户识别数据1595中的每个用户标识可以与各自的置信度值相关联,该置信度值表示用户输入对应于用户标识的可能性。置信度值可以是数字值或二进制值。
256.输入到用户识别引擎999的特征向量1505可以对应于一个或更多个匿名语音配置文件和/或一个或更多个显式语音配置文件。用户识别引擎999可以使用特征向量1505与表示当前用户输入的用户识别特征向量1340进行比较,以确定用户识别特征向量1340是否对应于匿名和/或显式语音配置文件的一个或更多个特征向量905。
257.每个特征向量1505可以是与用户识别特征向量1340相同的大小。例如,如果用户识别特征向量1304的大小为f(例如由编码器1450编码),特征向量1505的大小也可以为f。
258.为了执行用户识别,用户识别引擎999可以确定音频数据1311源自的设备102。例如,音频数据1311可以与包括表示设备102的设备标识的元数据相关联。设备102或系统可以生成元数据。所述系统可以确定与所述设备标识相关联的组配置文件标识,可以确定与所述组配置文件标识相关联的用户标识,并且可以将所述组配置文件标识和/或所述用户标识包括在所述元数据中。系统可以将元数据与从音频数据1311产生的用户识别特征向量1340相关联。用户识别引擎999可以向语音配置文件存储装置1585发送信号,信号只请求与元数据中表示的设备标识、组配置文件标识和/或用户标识相关联的音频数据和/或特征向量1505(取决于是否存储了音频数据和/或相应的特征向量)。这限制了用户识别引擎999在运行时所考虑的可能的所有特征向量1505,并且因此通过减少需要处理的特征向量1505的数量来减少执行用户识别处理的时间量。可选地,用户识别引擎999可以访问用户识别引擎999可用的所有(或一些其它子集)音频数据和/或特征向量1505。然而,访问所有音频数据和/或特征向量1505可能会增加基于要处理的音频数据和/或特征向量1505的大小来执行用户识别处理所需的时间量。
259.如果用户识别引擎999从语音配置文件存储装置1585接收音频数据,则用户识别
引擎999可以生成对应于所接收音频数据的一个或更多个特征向量1505。
260.用户识别引擎999可以试图通过将用户识别特征向量1340与特征向量1505进行比较来识别发出表示在音频数据1311中的语音的用户。用户识别引擎999可以包括评分组件1522,其确定指示用户输入(由用户识别特征向量1340表示)是否由一个或更多个特定用户话语(由特征向量1505表示)的相应评分。用户识别引擎999还可以包括置信度组件1524,该置信度组件1524确定用户识别处理的总体精度(例如评分组件1522的精度)和/或关于由评分组件1522潜在地识别的每个用户的个体置信度值。来自评分组件1522的输出可以包括每个接收特征向量1505的不同置信度值。例如,输出可以包括第一特征向量1505a(表示第一匿名或显式语音配置文件)的第一置信度值,第二特征向量1505b(表示第二匿名或显式语音配置文件)的第二置信度值等。虽然图示为两个分开的组件,但是评分组件1522和置信度组件1524可以被组合成单个组件,或者可以被分成多于两个组件。
261.评分组件1522和置信度组件1524可以实现本领域已知的一个或更多个训练好的机器学习模型(例如神经网络,分类器等)。例如,评分组件1522可以使用概率线性判别分析(plda)技术。plda评分确定用户识别特征向量740对应于特定特征向量1505的可能性有多大。plda评分可以为所考虑的每个特征向量1505生成置信度值,并且可以输出与各个用户标识、匿名语音配置文件标识和/或显式语音配置文件标识相关联的置信度值的列表。评分组件1522还可以使用其它技术,例如gmms,生成贝叶斯模型等,来确定置信度值。
262.置信度组件1524可以输入各种数据,包括关于asr置信度1507、语音长度(例如,帧数或用户输入的其他测量长度)、音频条件/质量数据(例如信号干扰数据或其他度量数据)、指纹数据、图像数据或其他因素的信息来考虑用户识别引擎999对于将用户链接到用户输入的置信度值的置信度。置信度组件1524还可以考虑由评分组件1522输出的置信度值和相关标识。例如,置信度组件1524可确定较低的asr置信度1507,或较差的音频质量,或其它因素可导致用户识别引擎999的置信度较低。而较高的asr置信度1507,或较好的音频质量,或其它因素可能导致用户识别引擎999的较高置信度。置信度的精确确定可以取决于置信度组件1524和由此实现的模型的配置和训练。置信度组件1524可以使用诸如gmm,神经网络等多种不同的机器学习模型/技术来操作。例如,置信度组件1524可以是被配置为将评分组件1522输出的评分映射到置信度值的分类器。
263.用户识别引擎999可以输出特定于单个用户标识的用户识别数据1595、匿名语音配置文件标识、或显式语音配置文件标识(或一个或更多个用户标识,一个或更多个匿名语音配置文件标识,和/或一个或更多个n-最佳列表形式的显式语音配置文件标识)。例如,用户识别引擎999可以输出关于每个接收的特征向量1505的用户识别数据1595。用户识别数据1595可以包括数字置信度值(例如,0.0-1.0,0-1000,或系统被配置为操作的任何比例)。因此,用户识别数据1595可以输出具有数字置信度值(例如,用户标识123-0.2,匿名语音配置文件标识234-0.8)的潜在用户的n最佳列表。可选地或另外地,用户识别数据1595可以包括绑定的置信度值。例如,第一范围(例如0.0-0.33)的计算识别分数可以被输出为“低”,第二范围(例如0.34-0.66)的计算识别分数可以被输出为“中等”,并且第三范围(例如,0.67-1.0)的计算识别分数可以被输出为“高”。用户识别引擎999可以输出具有绑定置信度值(例如,用户标识123-低,匿名语音配置文件标识234-高)的潜在用户的n-最佳列表。组合的绑定置信度值和数字置信度值输出也是可能的。除了标识列表和它们各自的置信度值,用户
识别数据1595可以只包括与用户识别引擎999所确定的最高评分标识相关的信息。用户识别引擎999还可以输出个体置信度值正确的总体置信度值,其中总体置信度值指示用户识别引擎999在输出结果中的置信度。总置信度值可以由置信度组件1524确定。
264.置信度组件1524可以在确定用户识别数据1595时确定个体置信度值之间的差异。例如,如果第一置信度值和第二置信度值之间的差值大,并且第一置信度值高于阈值置信度值,然后,用户识别引擎999 395能够将第一用户(与特征向量1505相关联,特征向量1505与第一置信度值相关联)识别为说用户输入的用户,其置信度要高于置信度值之间的差异较小时的置信度。
265.用户识别引擎999可以执行阈值化以避免输出不正确的用户识别数据1595。例如,用户识别引擎999可以将置信度组件1524输出的置信度值与阈值置信度值进行比较。如果置信度值不满足(例如,不满足或不超过)阈值置信度值,则用户识别引擎999可以不输出用户识别数据1595,或者可以仅在该数据1595中包括不能识别说出用户输入的用户的指示符。此外,用户识别引擎999可以不输出用户识别数据1595,直到积累和处理足够的用户识别特征向量数据340以验证超过阈值置信度值的用于。因此,用户识别引擎999可以在输出用户识别数据1595之前等待直到已经处理了足够阈值量的用户输入的音频数据。所接收的音频数据量也可以由置信度组件1524来考虑。
266.用户识别引擎999可以被默认为输出绑定(例如,低,中,高)的用户识别置信度值。然而,在某些情况下,这可能是有问题的。例如,如果用户识别引擎999为多个特征向量1505计算单个绑定置信度值,则系统可能无法有效地确定哪个用户发起了用户输入。在这种情况下,用户识别引擎999可以被配置为覆盖其默认设置并输出数字置信度值。这使系统能够确定与最高数字置信度值相关联的用户发起了用户输入。
267.用户识别引擎999可以使用其它数据1509来通知用户识别处理。当执行用户识别处理时,可以训练用户识别引擎999的训练模型或其它组件以将其它数据1509作为输入特征。其它数据1509可以包括取决于系统配置的各种数据类型,并且可以从其它传感器,设备或存储器获得。其它数据1509可以包括音频数据1311由设备102产生或从设备102接收的一天中的时间,音频数据1311由设备102产生或从设备102接收的一周中的一天等。
268.其它数据1509可以包括图像数据或视频数据。例如,可以对从接收音频数据1311的设备102(或另一设备)接收的图像数据或视频数据执行面部识别。面部识别可以由用户识别引擎999或系统的另一个组件来执行。面部识别处理的输出可由用户识别引擎999使用。也就是说,面部识别输出数据可以与用户识别特征向量1340和一个或更多个特征向量1505的比较结合使用,以执行更精确的用户识别处理。
269.其它数据1509可以包括设备102的位置数据。位置数据可以是设备102所在的建筑物所特有的。例如,如果设备102位于用户a的卧室中,例如位置可以增加与用户a相关联的用户识别置信度值和/或减少与用户b相关联的用户识别置信度值。
270.其它数据1509可以包括指示设备102的类型的数据。不同类型的设备可以包括,例如,智能手表,智能电话,平板计算机和车辆。设备102的类型可以在与设备102相关联的配置文件中指示。例如,如果从其接收音频数据1311的设备102是属于用户a的智能手表或车辆,设备102属于用户a的事实可以增加与用户a相关联的用户识别置信度值和/或减少与用户b相关联的用户识别置信度值。
271.其它数据1509可以包括与设备110相关联的地理坐标数据。例如,与车辆相关联的组配置文件可以指示多个用户(例如,用户a和用户b)。车辆可以包括全球定位系统(gps),当音频数据1311由所述车辆生成时,所述gps指示所述车辆的经纬度坐标。因此,如果车辆位于与用户a的工作位置/建筑物相对应的坐标处,则这可以增加与用户a相关联的用户识别置信度值和/或减少在与车辆相关联的组配置文件中指示的所有其它用户的用户识别置信度值。全球坐标和相关联的位置(例如,工作,家庭等)可以在与设备102相关联的配置文件中指示。全球坐标和相关联的位置也可以或可选地与一个或更多个用户配置文件相关联。
272.其它数据1509可以包括表示在执行用户识别处理中有用的特定用户的活动的数据。例如,如果用户最近输入了一个代码以禁止家庭安全警报,并且从以表示在与家庭相关联的组配置文件的设备102接收音频数据1311,来自家庭安全警报的关于禁用用户、禁用时间等的信号可以反映在其他数据1509中,并由用户识别引擎999考虑。如果已知与特定用户相关联的移动设备(例如智能电话、tile、电子狗或其它设备)被检测到接近(例如物理接近,连接到与设备102相同的wifi网络,或者在其附近)设备102,这可以反映在其他数据1509中,并且由用户识别引擎999考虑。
273.根据系统配置,其它数据1509可以被配置为包括在用户识别特征向量数据1340中(例如,使用编码器1450),使得与要由评分组件1522处理的用户输入相关的所有数据可以包括在单个特征向量中。可选地,其它数据1509可以反映在要由评分组件1522处理的一个或更多个不同的数据结构中。
274.各种机器学习技术可用于训练和操作模型以执行这里所述的各种步骤,例如用户识别特征提取,编码,用户识别评分,用户识别置信度确定等。可以根据各种机器学习技术来训练和操作模型。这样的技术可以包括例如神经网络(例如深度神经网络和/或递归神经网络),推理引擎,训练分类器等。训练分类器的实例包括支持向量机(svm),神经网络,决策树,与决策树和随机森林相结合的自适应增强算法(简称“自适应增强”)。以svm为例,svm是具有关联学习算法的监督学习模型,其分析数据并识别数据中的模式,并且通常用于分类和回归分析。给定一组训练实例,每个训练实例被标记为属于两个类别之一,svm训练算法建立将新实例分配到一个类别或另一个类别中的模型,使其成为非概率二元线性分类器。可以用识别多于两个类别的训练集来建立更复杂的svm模型,其中svm确定哪个类别最类似于输入数据。svm模型可以被映射,使得分开的类别的实例被清楚的间隙所划分。然后将新的实例映射到相同的空间中,并基于它们落在间隙的哪一侧来预测它们属于一个类别。分类器可以发出“得分”,指示数据最匹配的类别。所述得分可以提供所述数据与所述类别匹配程度的指示。
275.为了应用机器学习技术,机器学习过程本身需要被训练。训练机器学习组件,例如,在这种情况下,第一或第二模型之一,对于训练实施例,需要建立“地面实况”。在机器学习中,术语“地面实况”是指用于受监督学习技术的训练集分类的准确性。各种技术可用于训练模型,包括反向传播、统计学习、监督学习、半监督学习、随机学习或其它已知技术。
276.上述示出了可以在运行时执行以识别说出用户输入的用户的过程。如前所述,系统可以被配置为在离线操作期间更新语音配置文件。这样的语音配置文件更新可以使用表示先前说出的用户输入的音频数据,所述先前说出的用户输入没有被系统请求。
277.示例条款
278.1.一种系统,包括:一个或更多个处理器;以及存储计算机可执行指令的非暂态计算机可读介质,当所述指令由所述一个或更多个处理器执行时,使所述一个或更多个处理器执行如下操作:从语音接口设备接收表示来自第一用户的第一用户话语的第一音频数据;从所述第一音频数据确定所述第一用户话语指示将第一账户数据与所述语音接口设备相关联的第一请求,所述语音接口设备与第二用户的第二账户数据相关联;使所述语音接口设备输出请求与用户配置文件相关联的第一用户设备的标识符的音频,用户配置文件与所述第一用户相关联;接收指示第一用户设备的标识符的第二音频数据;执行语音识别,包括利用所述第二音频数据确定所述第二音频数据的第一语音配置文件对应于与所述用户配置文件相关联的第一参考语音配置文件;利用第一用户设备的标识符向第一用户设备发送消息数据,该消息数据请求确认第一账户数据将与语音接口设备相关联;从所述第一用户设备接收确认所述第一账户数据将与所述语音接口设备相关联的第一数据;响应于接收所述第一数据并确定所述第一语音配置文件对应于所述第一参考语音配置文件,使所述第一账户数据与所述语音接口设备相关联;接收表示第二用户话语的第三音频数据,以在语音接口设备上输出内容;确定所述第三音频数据的第二语音配置文件对应于所述第一参考语音配置文件;响应于对应于第一参考语音配置文件的第二语音配置文件,从内容资源检索表示内容与所述第一账户数据相关联的第二数据;以及向所述语音接口设备发送在所述语音接口设备上输出所述内容的第二请求。
279.2.如条款1所述的系统,所述操作还包括:从与所述语音接口设备相关联的所述第一账户数据识别所述第一参考语音配置文件;从所述语音接口设备接收所述第三音频数据,识别与所述第二用户相关联的第二参考语音配置文件;确定第二语音配置文件与第一参考语音配置文件相对应的第一置信度值;确定第二语音配置文件与第二参考语音配置文件相对应的第二置信度值;以及从所述第一置信度值和所述第二置信度值确定所述第二语音配置文件与所述第一参考语音配置文件相对应。
280.3.如条款1或2所述的系统,所述操作还包括:确定与所述第二账户数据相关联的所述语音接口设备之外的设备;以及至少部分地基于所述第二设备与所述第二账户数据相关联,使所述第一账户数据与所述设备相关联。
281.4.如条款1、2或3中任一项所述的系统,其中第二用户设备与第二账户数据相关联,并且所述操作还包括:生成指示解离事件的第三数据,当指示所述解离事件已经发生时,使所述第一账户数据与所述语音接口设备解离,所述解离事件包括以下至少之一:经过预定义的持续时间;从语音接口设备接收请求解离的第四音频数据;从第一用户设备或第二用户设备中的至少一个接收请求解离的第一输入数据;确定已经接收到将第三账户数据与所述语音接口设备相关联的第三请求;或者从所述第二用户设备接收第二输入数据,所述第二输入数据指示已经撤销了对将账户数据与所述语音接口设备相关联的同意;以及响应于接收所述第三数据,使所述第一账户数据与所述语音接口设备解离。
282.5.一种方法,包括:接收将第一账户数据与第一设备相关联的请求数据,第一设备与第二账户数据相关联,所述第一账户数据不同于所述第二账户数据;确定与所述请求数据相对应的第一语音配置文件与所述第一账户数据相关联;至少部分地基于确定所述第一语音配置文件与所述第一账户数据相关联,使所述第一账户数据与所述第一设备相关联;
从第一设备接收表示用户话语以执行动作的第一音频数据;确定与所述第一音频数据相关联的第二语音配置文件与所述第一语音配置文件相对应;识别与所述第一账户数据相关联的应用以执行所述动作;以及利用所述应用使所述动作被执行。
283.6.如条款5所述的方法,还包括:从与所述语音接口设备相关联的所述第一账户数据中识别第一参考语音配置文件;从所述第一设备接收所述音频数据,从接受所述音频数据识别与所述第二账户数据相关联的第二参考语音配置文件;确定第二语音配置文件与第一参考语音配置文件相对应的第一置信度值;确定第二语音配置文件与第二参考语音配置文件相对应的第二置信度值;以及其中确定第二语音配置文件与第一账户数据相关联包括至少部分地基于第一置信度值和第二置信度值确定第二语音配置文件与第一账户数据相关联。
284.7.如条款5或6所述的方法,还包括:从与所述第一账户数据相关联的用户设备接收第一数据,所述第一数据请求启用与所述第一账户数据相关联的账户数据;至少部分地基于接收第一数据,使用户设备显示与一个或更多个短语相对应的音频的请求;接收表示所述一个或更多个短语的第二音频数据;利用所述第二音频数据生成参考语音配置文件;以及其中确定所述第一语音配置文件与所述第一账户数据相关联包括至少部分地基于与所述参考语音配置文件相对应的所述第一语音配置文件来确定所述第一语音配置文件与所述第一账户数据相关联。
285.8.如条款5、6或7中的任一项所述的方法,其中第一用户设备与第一账户数据相关联,第二用户设备与第二账户数据相关联,所述方法还包括:生成指示解离事件的第一数据,当指示所述解离事件已经发生时,使所述第一账户数据与所述第一设备解离,所述解离事件包括以下至少之一:经过预定义的持续时间;从第一设备接收请求解离的第二音频数据;从第一用户设备或第二用户设备中的至少一个接收请求解离的第一输入数据;确定已经接收到将第三账户数据与所述第一设备相关联的第二请求;或者从所述第二用户设备接收第二输入数据,所述第二输入数据指示已经撤销了对将账户数据与所述第一设备相关联的同意;以及至少部分地基于接收所述第一数据,使所述第一账户数据与所述第一设备解离。
286.9.如条款5、6、7或8中任一项所述的方法,还包括:至少部分地基于使所述第一账户数据与所述第一设备相关联来生成第一数据,所述第一数据包括所述第一账户数据已经与所述第一设备相关联的通知;识别与所述第二账户数据相关联的用户设备;以及将所述第一数据发送到所述用户设备。
287.10.如条款5、6、7、8或9中任一项所述的方法,还包括:确定所述动作对应于由所述第一设备输出的内容;并且其中:识别所述应用包括从与所述第一账户数据相关联的多个应用中识别所述应用,所述应用被配置为提供所述内容;以及使所述动作被执行包括使所述第一设备输出所述内容。
288.11.如条款5、6、7、8、9或10中任一项所述的方法,还包括:确定所述动作对应于与所述第二账户数据相关联的电子设备的操作;并且其中:识别所述应用包括从与所述第二账户数据相关联的多个应用中识别所述应用,所述应用被配置用于控制所述电子设备;以及使所述动作被执行包括使操作所述电子设备。
289.12.如条款5、6、7、8、9、10或11中任一项所述的方法,还包括:确定与所述第二账户
数据相关联的第二设备;以及至少部分地基于所述第二设备与所述第二账户数据相关联使所述第一账户数据与所述第二设备相关联。
290.13.一种系统,包括:一个或更多个处理器;以及存储计算机可执行指令的非暂态计算机可读介质,当所述指令由所述一个或更多个处理器执行时,使所述一个或更多个处理器执行以下操作:接收将第一账户数据与第一设备相关联的请求数据,所述第一设备与第二账户数据相关联,所述第一账户数据不同于所述第二账户数据;确定对应于请求数据的第一语音配置文件与第一账户数据相关联;至少部分地基于确定所述第一语音配置文件与所述第一账户数据相关联,使所述第一账户数据与所述第一设备相关联;从第一设备接收表示用户话语以执行动作的第一音频数据;确定与所述第一音频数据相关联的第二语音配置文件与所述第一语音配置文件相对应;识别与所述第一账户数据相关联的应用以执行所述动作;以及利用所述应用使所述动作被执行。
291.14.如条款13所述的系统,所述操作还包括:从与所述语音接口设备相关联的所述第一账户数据识别第一参考语音配置文件;从所述第一设备接收的所述音频数据,从所述音频数据识别与所述第二账户数据相关联的第二参考语音配置文件;确定第二语音配置文件与第一参考语音配置文件相对应的第一置信度值;确定第二语音配置文件与第二参考语音配置文件相对应的第二置信度值;以及其中确定第二语音配置文件与第一账户数据相关联包括至少部分地基于第一置信度值和第二置信度值确定第二语音配置文件与第一账户数据相关联。
292.15.如条款13或14所述的系统,所述操作还包括:从与所述第一账户数据相关联的用户设备接收第一数据,所述第一数据请求启用与所述第一账户数据关联的账户数据;至少部分地基于接收第一数据,使用户设备显示与一个或更多个短语相对应的音频的请求;接收表示所述一个或更多个短语的第二音频数据;利用所述第二音频数据生成参考语音配置文件;以及其中确定所述第一语音配置文件与所述第一账户数据相关联包括至少部分地基于与所述参考语音配置文件相对应的所述第一语音配置文件来确定所述第一语音配置文件与所述第一账户数据相关联。
293.16.如条款13、14或15中的任一项所述的系统,其中第一用户设备与第一账户数据相关联,第二用户设备与第二账户数据相关联,所述方法还包括:生成指示解离事件的第一数据,当指示所述解离事件已经发生时,使所述第一账户数据与所述第一设备解离,所述解离事件包括以下至少之一:经过预定义的持续时间;从第一设备接收请求解离的第二音频数据;从第一用户设备或第二用户设备中的至少一个接收请求解离的第一输入数据;确定已经接收到将第三账户数据与所述第一设备相关联的第二请求;或者从所述第二用户设备接收第二输入数据,所述第二输入数据指示已经撤销了对将账户数据与所述第一设备关联的同意;以及至少部分地基于接收所述第一数据,使所述第一账户数据与所述第一设备解离。
294.17.如条款13、14、15或16中的任一项所述的系统,所述操作还包括:至少部分地基于使所述第一账户数据与所述第一设备相关联来生成第一数据,所述第一数据包括所述第一账户数据已经与所述第一设备相关联的通知;识别与所述第二账户数据相关联的用户设备;以及将所述第一数据发送到所述用户设备。
295.18.如条款13、14、15、16或17中任一项所述的系统,所述操作还包括:确定所述动
作对应于由所述第一设备输出的内容;并且其中:识别所述应用包括从与所述第一账户数据相关联的多个应用中识别所述应用,所述应用被配置为提供所述内容;以及使所述动作被执行包括使所述第一设备输出所述内容。
296.19.如条款13、14、15、16、17或18中任一项所述的系统,所述操作还包括:确定所述动作对应于与所述第二账户数据相关联的电子设备的操作;并且其中:识别所述应用包括从与所述第二账户数据相关联的多个应用中识别所述应用,所述应用被配置用于控制所述电子设备;以及使所述动作被执行包括使操作所述电子设备。
297.20.如条款13、14、15、16、17、18或19中任一项所述的系统,所述操作还包括:确定与所述第二账户数据相关联的第二设备;以及至少部分地基于所述第二设备与所述第二账户数据相关联,使所述第一账户数据与所述第二设备相关联。
298.虽然参照特定实施例描述了前述发明,但是应当理解,本发明的范围不限于这些特定实施例。由于为了适应特定的操作要求和环境而改变的其它修改和变化对于本领域技术员来说是显而易见的,本发明不被认为局限于为公开目的而选择的实例,并且涵盖了不构成偏离本发明的真实精神和范围的所有变化和修改。
299.虽然本技术描述了具有特定结构特征和/或方法动作的实施例,但是应当理解,权利要求不一定限于所描述的特定特征或动作。相反,特定的特征和动作仅仅是属于权利要求范围内的说明性的一些实施例。

技术特征:


1.一种方法,包括:接收将第一账户数据与第一设备相关联的请求数据,所述第一设备与第二账户数据相关联,所述第一账户数据不同于所述第二账户数据;确定与所述请求数据相对应的第一语音配置文件与所述第一账户数据相关联;至少部分地基于确定所述第一语音配置文件与所述第一账户数据相关联,使所述第一账户数据与所述第一设备相关联;从所述第一设备接收表示用户话语的第一音频数据以执行动作;确定与所述第一音频数据相关联的第二语音配置文件与所述第一语音配置文件相对应;识别与所述第一账户数据相关联的应用以执行所述动作;以及利用所述应用使所述动作被执行。2.如权利要求2所述的方法,还包括:根据与所述语音接口设备相关联的所述第一账户数据识别第一参考语音配置文件;根据从所述第一设备接收所述音频数据识别与所述第二账户数据相关联的第二参考语音配置文件;确定所述第二语音配置文件与所述第一参考语音配置文件相对应的第一置信度值;确定所述第二语音配置文件与所述第二参考语音配置文件相对应的第二置信度值;以及其中确定所述第二语音配置文件与所述第一账户数据相关联包括至少部分地基于所述第一置信度值和所述第二置信度值确定所述第二语音配置文件与所述第一账户数据相关联。3.如权利要求1或2所述的方法,还包括:从与所述第一账户数据相关联的用户设备接收第一数据,所述第一数据请求启用与所述第一账户数据关联的账户数据;至少部分地基于接收所述第一数据,使所述用户设备显示与一个或更多个短语相对应的音频的请求;接收表示所述一个或更多个短语的第二音频数据;利用所述第二音频数据生成参考语音配置文件;以及其中确定所述第一语音配置文件与所述第一账户数据相关联包括至少部分地基于所述第一语音配置文件与所述参考语音配置文件相对应来确定所述第一语音配置文件与所述第一账户数据相关联。4.如权利要求1、2或3所述的方法,其中第一用户设备与所述第一账户数据相关联,第二用户设备与所述第二账户数据相关联,并且所述方法还包括:生成指示解离事件的第一数据,当指示所述解离事件已经发生时,使所述第一账户数据与所述第一设备解离,所述解离事件包括以下至少之一:经过预定义的持续时间;从所述第一设备接收请求解离的第二音频数据;从所述第一用户设备或所述第二用户设备中的至少一个接收请求解离的第一输入数据;
确定已经接收到将第三账户数据与所述第一设备相关联的第二请求;或者接收来自所述第二用户设备的指示同意账户数据与所述第一设备相关联已经被撤销的第二输入数据;以及至少部分地基于接收所述第一数据,使所述第一账户数据与所述第一设备解离。5.如权利要求1、2、3或4所述的方法,还包括:至少部分地基于使所述第一账户数据与所述第一设备相关联来生成第一数据,所述第一数据包括所述第一账户数据已经与所述第一设备相关联的通知;识别与所述第二账户数据相关联的用户设备;以及发送所述第一数据至所述用户设备。6.如权利要求1、2、3、4或5所述的方法,还包括:确定所述动作与由所述第一设备输出的内容相对应;以及其中:识别所述应用包括从与所述第一账户数据相关联的多个应用中识别所述应用,所述应用被配置为提供所述内容;以及使所述动作被执行包括使所述第一设备输出所述内容。7.如权利要求1、2、3、4、5或6所述的方法,还包括:确定所述动作对应于与所述第二账户数据相关联的电子设备的操作;以及其中:识别所述应用包括从与所述第二账户数据相关联的多个应用中识别所述应用,所述应用被配置用于控制所述电子设备;以及使所述动作被执行包括使操作所述电子设备。8.如权利要求1、2、3、4、5、6或7所述的方法,还包括:确定与所述第二账户数据相关联的第二设备;以及至少部分地基于所述第二设备与所述第二账户数据相关联使所述第一账户数据与所述第二设备相关联。9.一种系统,包括:一个或更多个处理器;以及非暂态计算机可读介质,其存储计算机可执行指令,当所述指令由所述一个或更多个处理器执行时,使所述一个或更多个处理器执行如下操作:接收将第一账户数据与第一设备相关联的请求数据,所述第一设备与第二账户数据相关联,所述第一账户数据不同于所述第二账户数据;确定与所述请求数据相对应的第一语音配置文件与所述第一账户数据相关联;至少部分地基于确定所述第一语音配置文件与所述第一账户数据相关联,使所述第一账户数据与所述第一设备相关联;从所述第一设备接收表示用户话语的第一音频数据以执行动作;确定与所述第一音频数据相关联的第二语音配置文件与所述第一语音配置文件相对应;识别与所述第一账户数据相关联的应用以执行所述动作;以及利用所述应用使所述动作被执行。
10.如权利要求9所述的系统,所述操作还包括:根据与所述语音接口设备相关联的所述第一账户数据识别第一参考语音配置文件;根据从所述第一设备接收所述音频数据识别与所述第二账户数据相关联的第二参考语音配置文件;确定所述第二语音配置文件与所述第一参考语音配置文件相对应的第一置信度值;确定所述第二语音配置文件与所述第二参考语音配置文件相对应的第二置信度值;以及其中确定所述第二语音配置文件与所述第一账户数据相关联包括至少部分地基于所述第一置信度值和所述第二置信度值确定所述第二语音配置文件与所述第一账户数据相关联。11.如权利要求9或10所述的系统,所述操作还包括:从与所述第一账户数据相关联的用户设备接收第一数据,所述第一数据请求启用与所述第一账户数据关联的账户数据;至少部分地基于接收所述第一数据,使所述用户设备显示与一个或更多个短语相对应的音频的请求;接收表示所述一个或更多个短语的第二音频数据;利用所述第二音频数据生成参考语音配置文件;以及其中确定所述第一语音配置文件与所述第一账户数据相关联包括至少部分地基于所述第一语音配置文件与所述参考语音配置文件相对应来确定所述第一语音配置文件与所述第一账户数据相关联。12.如权利要求9、10或11所述的系统,其中第一用户设备与所述第一账户数据相关联,第二用户设备与所述第二账户数据相关联,并且所述方法还包括:生成指示解离事件的第一数据,当指示所述解离事件已经发生时,使所述第一账户数据与所述第一设备解离,所述解离事件包括以下至少之一:经过预定义的持续时间;从所述第一设备接收请求解离的第二音频数据;从所述第一用户设备或所述第二用户设备中的至少一个接收请求解离的第一输入数据;确定已经接收到将第三账户数据与所述第一设备相关联的第二请求;或者接收来自所述第二用户设备的指示同意账户数据与所述第一设备相关联已经被撤销的第二输入数据;以及至少部分地基于接收所述第一数据,使所述第一账户数据与所述第一设备解离。13.如权利要求9、10、11或12所述的系统,所述操作还包括:至少部分地基于使所述第一账户数据与所述第一设备相关联来生成第一数据,所述第一数据包括所述第一账户数据已经与所述第一设备相关联的通知;识别与所述第二账户数据相关联的用户设备;以及发送所述第一数据至所述用户设备。14.如权利要求9、10、11、12或13所述的系统,所述操作还包括:确定所述动作与由所述第一设备输出的内容相对应;以及
其中:识别所述应用包括从与所述第一账户数据相关联的多个应用中识别所述应用,所述应用被配置为提供所述内容;以及使所述动作被执行包括使所述第一设备输出所述内容。15.如权利要求9、10、11、12、13或14所述的系统,所述操作还包括:确定所述动作对应于与所述第二账户数据相关联的电子设备的操作;以及其中:识别所述应用包括从与所述第二账户数据相关联的多个应用中识别所述应用,所述应用被配置用于控制所述电子设备;以及使所述动作被执行包括使操作所述电子设备。

技术总结


公开了用于与语音接口设备关联的账户数据的系统和方法。例如,当主机用户/主用户和访客用户同意账户数据与主用户的设备相关联时,可以接收关联账户数据的请求。可以执行基于语音和设备的验证以确认访客用户的身份,并且访客用户的账户数据可以与主用户的设备相关联。在访客会话期间,可以使用语音识别来确定给定的用户话语是来自访客用户还是主用户,并且可以相应地由语音接口设备执行动作。以相应地由语音接口设备执行动作。以相应地由语音接口设备执行动作。


技术研发人员:

S

受保护的技术使用者:

亚马逊技术股份有限公司

技术研发日:

2020.09.23

技术公布日:

2022/7/28

本文发布于:2024-09-20 16:46:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/17549.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:用户   数据   访客   相关联
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议