话音应用架构的制作方法

文档序号:11635836阅读:239来源:国知局
话音应用架构的制造方法与工艺

相关申请案的交叉引用

本申请案主张2014年8月11日提交的第14/456,620号美国专利申请案的优先权。所述申请案的全部内容特此通过引用并入本文中。



背景技术:

家中和其它用户处所越来越多地配备有永远在线因特网或“云”连接。在许多情况下,甚至移动用户具有恒定的或几乎恒定的数据连接。网络通信的公共可用性,结合计算装置的增加的能力,已产生使用各种用户可访问的连接装置的服务和其它功能性的多种新可能性。基于语言和基于语音的系统是可被用于在用户与自动化系统交互时向用户提供便利的技术的实例。

附图说明

参考附图描述具体实施方式。在图式中,参考数字的最左位识别该参考数字首先出现的图。在不同的图式中使用相同的参考数字指示相似或相同的部件或特征。

图1是说明具有控制服务和语音接口装置的基于语音的系统的框图。

图2是说明应用在控制服务和语音接口装置上的使用和安装的框图。

图3和图4是说明在基于语音选择应用时所使用的功能部件的框图。

图5是说明在所描述的实施方案中可通过控制服务来执行的动作的实例的流程图。

图6是说明在所描述的实施方案中可通过语音接口装置来执行的动作的实例的流程图。

具体实施方式

本公开描述执行与用户的自然语言和/或基于语音的交互的装置、系统以及服务。在所描述的实施方案中,系统收听用户的语音或与用户交互,以基于对用户的语音的自然语言理解来确定用户意图。例如,用户可说出某一表达,所述表达被理解为播放歌曲或订电影票的意图。在某些实施方案中,系统可与用户进行自然语言对话以确定或弄清用户意图。在确定用户的意图后,系统通过执行动作或提供服务以履行所述意图来作用于所述意图,诸如通过播放歌曲或另外与用户交互以订电影票。

系统可包含位于用户的家中的语音接口装置和基于支持云的控制服务。语音接口装置经配置以捕获用户话语并将其提供到控制服务。控制服务对话语执行语音识别和自然语言理解以确定话语所表达的意图。响应于所识别的意图,控制服务使得执行对应的动作。动作可在控制服务处执行,或通过指示语音接口执行某一功能来执行。

系统的内置能力可通过由用户选定或购买的售后应用来扩展。此类应用可经设计用于在控制服务或语音接口装置上安装和执行。在基于所接收的用户语音来确定用户意图后,控制服务识别所述应用中的适合于对意图做出响应的一个应用。如果此应用已在控制服务上安装并启用,那么控制服务调用所述应用。否则,如果合适的应用安装在语音接口装置上,那么控制服务将用户意图的指示传递到语音接口装置。在接收到意图的指示后,语音接口装置调用对应的应用以对用户意图做出响应。

图1示出基于话音的平台或系统100的实例,所述基于话音的平台或系统诸如可用于实施这些技术。系统100可包含或可利用能够捕获并播放音频的语音接口装置102。语音接口装置102可以是环境104(诸如家中或其它处所)本地的和/或位于所述环境内以为用户106提供服务。语音接口装置可在本文中替代地被称为语音接口、被称为接口装置或被简称为装置。在不同的实施方案中,语音接口装置的功能可通过不同类型的装置来执行,所述不同类型的装置包含移动装置,诸如智能手机、平板计算机、媒体播放器、个人计算机等。

语音接口装置102可结合远程的基于网络或网络可访问的控制服务108和/或在所述服务的控制下操作,所述服务也被称为语音服务或基于语音的服务,且经配置以从语音接口装置102接收音频,识别所接收的音频中的语音,且响应于所识别的语音而执行或启动功能或服务。此类功能或服务可通过控制服务108独立于语音接口装置102来实施,和/或可通过将命令提供到语音接口装置102以用于通过语音接口装置102在本地执行来实施。例如,控制服务108可指示语音接口装置102播放音乐、语音或通过控制服务108指定的其它音频内容。另外,功能或服务可通过被用户启用和/或安装以用于在语音接口装置102或控制服务108上执行的应用来实施。

语音接口装置102可具有一个或多个麦克风110以及一个或多个音频扬声器或换能器112以促进与用户106的语音交互。语音接口装置102可具有网络通信接口114,用于经由通信网络116与控制服务108通信。通信网络116可包括公用广域网,诸如因特网,或可包括延伸超出用户106的本地处所的各种其它类型的公用和专用网络中的任何网络。另外,通信接口114可在本地经由用户处所内的局域网来通信。

语音接口装置102可包含操作或控制逻辑,其可包括处理器118和存储器120。处理器118可包含多个处理器和/或具有多个内核的处理器。处理器118还可包括或包含用于处理音频信号的数字信号处理器。

控制逻辑可包含可含有存储在存储器120中的应用、程序以及其它软件。软件可包括计算机可执行的指令,所述指令被处理器118执行以执行实施语音接口装置102的所需功能性的行动或动作,所述所需功能性包含本文中描述的功能性。存储器120可为一种非暂时性计算机可读存储介质,且可包含易失性和非易失性存储器。因此,存储器120可包含但不限于,ram、rom、eeprom、闪存存储器、磁性介质、光学介质或其它存储器技术。存储器120还可包含通常用于传递或分配软件的介质,诸如cd-rom、dvd、闪存驱动、记忆棒等。

软件可包含系统或操作软件122,其预安装在语音接口装置102上并与之集成。操作软件122可包括操作系统,其提供语音接口装置102的基础功能性,包含驱动器、音频处理功能、控制服务108的接口等等。操作软件122可包含用于执行各种“内置”功能和动作的预安装程序或应用。操作软件122还可包含动作处理器或接口,其响应于从控制服务108接收到的指令而执行动作。

存储器可120还可包含用户安装的应用124,在本文中也被称为装置应用,其可包括在装置102的购买和安装后已被用户106安装在存储器120且被激活以用于由处理器118执行的应用。各种售后应用可供用户用于本地安装和执行。在一些实施方案中,控制服务108可提供功能性以用于允许用户识别并安装已由各种开发者和供应商提供用于在语音接口装置102上执行的应用。例如,用户可陈述“找到用于打出租车的应用”。控制服务108可通过建议提供此类应用以用于安装在语音接口装置102上来做出响应。用户可接受此建议,由此应用可被提供到语音接口装置102并安装在所述语音接口装置上。

在一些情况下,控制服务108可为网络可访问的计算平台中的经由网络116维持并可访问的部分。诸如此平台等网络可访问的计算平台可使用术语诸如“按需计算”、“软件即服务(saas)”、“平台计算”、“网络可访问的平台”、“云服务”、“数据中心”等等来称呼。控制服务108可经配置以将服务提供到在不同用户的家中或处所中的大量语音接口装置102。

语音接口装置102和/或控制服务108可经由有线技术(例如,导线、通用串行总线(usb)、光纤电缆等)、无线技术(例如,射频(rf)、蜂窝、移动电话网络、卫星、蓝牙等)或其它连接技术来通信地耦合到网络116。网络116表示任何类型的通信网络,包含数据和/或话音网络,且可使用有线基础设施(例如,同轴电缆、光纤电缆等)、无线基础设施(例如,rf、蜂窝、微波、卫星、等)和/或其它连接技术来实施。

控制服务108经配置以从语音接口装置102接收音频流,识别音频流中的语音,以及从所识别的语音确定用户意图。取决于所识别的意图的性质,控制服务108可通过执行动作或调用应用以执行动作来做出响应。

在一些情况下,控制服务108可确定意图并将对意图的描述返回到语音接口装置102,使得语音接口装置102可响应于意图而执行动作。在从控制服务108接收到所识别的意图后,语音接口装置可调用用户安装的应用124中的一个来执行动作以履行意图。

在其它情况下,控制服务可将指令或命令返回到语音接口装置102,且语音接口装置102的命令处理器可执行所述指令或命令以在环境104内执行动作。

控制服务108包含操作或控制逻辑,其可包括一个或多个服务器、计算机和/或处理器126。控制逻辑包含存储器128,其包含应用、程序和/或呈指令的形式的其它软件,所述指令被处理器126执行以执行实施控制服务108的所需功能性的行动或动作,所述所需功能性包含本文中描述的功能性。存储器128可为一种非暂时性计算机可读存储介质,且可包含易失性和非易失性存储器。因此,存储器128可包含但不限于,ram、rom、eeprom、闪存存储器、磁性介质、光学介质或其它存储器技术。存储器128还可包含通常用于传递或分配软件的介质,诸如cd-rom、dvd、闪存驱动、记忆棒等。

在未具体示出的其它逻辑和物理部件中,控制服务108的软件可包含语音处理部件130,也被称为语音服务130。语音服务130可包含自动语音识别(asr)功能性,其在由语音接口装置102提供的来自麦克风110的音频信号中识别人类语音。语音服务130还可包含自然语言理解(nlu)功能性,其基于通过语音识别部件识别的用户语音来确定用户意图。语音服务130还可包含语音生成功能性,其合成或以其它方式产生语音音频。例如,语音生成功能性可包括文本到语音部件,其产生语音以在语音接口装置102的扬声器112上播放。

控制服务108还可提供对话管理部件132,其经配置以结合语音服务130来协调与用户106的语音对话或交互。可使用语音对话以通过使用语音提示向用户询问信息来确定或弄清用户意图。

控制服务108还可包括命令解释器与动作调度器134(下文简称为命令解释器134),其确定对应于通过用户语音表达的意图的功能或命令。在一些情况下,命令可对应于将至少部分通过语音接口装置102执行的功能,且在那些情况下,命令解释器134可将装置命令或指令提供到语音接口装置102以用于实施此类功能。命令解释器134实施结合语音接口装置102来使用的基础“内置”能力。此类基础能力可默认地被实施和启用用于所有语音接口装置102的用户。基础能力的实例可包括设定警告或通知,增加/降低扬声器112的音量,通过扬声器112生成可听语音,启动与类似装置的用户的某些类型的通信等等。

控制服务108还可具有一个或多个用户安装的应用136或还可经配置以使用一个或多个用户安装的应用,所述应用还可被描述为售后应用、第三方应用、可选应用、启用应用、服务器应用等等。诸如此应用等的应用可为可选的,且可由用户106从可用可安装应用的库或其它集合获得。在一些情况下,用户可购买应用以用于与系统100结合使用。一般地,服务器应用可由用户以与装置应用124相同的方式选定、获得并安装。

除由命令解释器134提供的基础功能性外,用户安装的应用136还提供补充的和/或另外的功能性和能力。响应于启用或授权的用户安装的应用136应用能够服务的所识别的用户意图,可自动地调用所述应用。

在某些情况下,用户安装的服务器应用136可由控制服务108提供并托管。替代地,某些服务器应用136可由第三方或第三方服务提供和/或托管,且可使用基于网络的接口来与控制服务108通信。

控制服务108还可具有应用选择部件138,其在本文中也被称为意图路由器138,其基于所识别的通过用户语音表达的意图来选择并调用应用。例如,服务器应用136中的每一个可与应用能够对其做出响应的一个或多个意图相关联。响应于所识别的不可由命令解释器134服务的用户意图,应用选择器138可选择并调用控制服务108的服务器应用136中的一个。在一些情况下,应用选择器138还可从语音接口装置的经安装的装置应用124中进行选择。

响应于从所接收的音频识别的语音,控制服务108还可执行涉及图1中未示出的实体或装置的功能。例如,控制服务108可与其它基于网络的服务交互以代表用户106获得信息或服务。

图2说明在某些实施方案中可如何获得并使用可安装的基于语音的应用的实例。如上文所描述,语音接口装置102可具有多个用户安装的装置应用124,且控制服务108也可具有多个用户安装的服务器应用136。经安装的应用124和136可响应于用户请求而从可用可安装应用202的集合获得并安装。可用应用202可包括可选的并补充由系统100提供的功能性或添加另外的功能性的应用。可用应用202可由控制服务108的操作人员提供,或可由第三方实体设计并提供。

某些可用应用202可由网络服务器或服务来托管并从网络服务器或服务执行,且可通过适当的网络应用编程接口(api)来访问。其它可用应用202可经设计用于在控制服务108的服务器或处理器上执行。经安装的服务器应用136可包含通过控制服务108执行的那些应用,以及在控制服务108的监督下通过第三方服务托管的那些应用。再其它可用应用202可经设计用于安装在语音接口装置102上并通过所述语音接口装置执行。经安装的装置应用124包含诸如此应用的应用。

如上文参考图1所提及,控制服务108可具有自动语音识别(asr)部件204和自然语言理解(nlu)部件206。对话管理部件132经配置以基于如通过语音识别部件204所识别和/或通过自然语言理解部件206所理解的语音来协调与用户106的对话或交互。控制服务108还可具有文本到语音部件208,其响应于对话管理部件132以生成语音以用于在语音接口装置102上对用户106重放。

上文描述的部件可基于不同类型的模型或规则来起作用。例如,asr部件204可使其功能性基于asr模型210,所述asr模型可包含借助于各种训练技术产生的声学模型。类似地,nlu部件206可利用nlu模型212,所述nlu模型指定语法、词汇、短语、响应等等,且还可通过训练产生。对话管理部件132可利用对话模型214,其指定用于与用户进行对话的逻辑。对话包括用户106的自然语言语句或话语与系统生成的语音或文本响应的交替序列。对话模型214体现用于进行以下操作的逻辑:基于所接收的用户语句来产生响应,以便提示用户106关于意图的更详细信息或从用户106获得其它信息。

响应于通过nlu部件206识别的用户意图,应用选择部件或意图路由器138识别、选择和/或调用经安装的装置应用124和/或经安装的服务器应用136。响应于所确定的用户意图,意图路由器138尝试识别经安装的应用124和136中的能够服务于用户意图的一个应用。如果找到此类应用,那么调用(called)或调用(invoked)此应用以满足用户意图或与用户进行另外的对话以另外细化用户意图。

经安装的应用124和136中的每一个可具有或提供意图规范,其界定所述应用可服务的意图。通过意图规范指示的意图可在本文中被称为应用意图或称为应用的可服务意图。经安装的应用的意图规范界定可通过所述应用服务的一般意图或意图类型。控制服务108使用经安装的应用的意图规范来检测对应于应用124和136的用户话语、表达或意图。

应用意图规范可包含nlu模型,以供自然语言理解部件206结合nlu模型212使用。在一些情况下,nlu模型212可包含或并入有通过经安装的应用124和136指定的nlu模型。

经安装的应用124和136还可具有或指定产生并协调与用户106的语音交互的对话模型。所述对话模型可通过对话管理部件132结合对话模型214来使用以产生并协调与用户106的对话,并在经安装的应用124和136的操作之前或期间确定用户意图。在一些情况下,对话模型214可包含或并入有通过经安装的应用124和136指定的对话模型。

控制服务108可具有或显露应用编程接口,且某些应用124和136可通过api及控制服务108来注册。特定应用的注册可指示或提供对应的意图规范以供控制服务108使用。应用开发者可通过api提供其应用的注册,使得应用124和136可结合控制服务108来使用。

在一些实施方案中,nlu部件206和对话管理部件132可经配置以使用应用124和136的意图规范来进行对话,以识别用户所表达的意图,且以识别对应于用户所表达的意图或能够服务于所述意图的经安装的应用。

应用的意图规范可在应用的操作之前或期间使用。在一些情况下,例如,在启动或调用应用之前,当确定一般用户意图时,对话管理部件132可利用意图规范。更具体地说,nlu部件206和对话管理部件132可使用应用的意图规范,结合nlu模型212和对话模型214来确定用户何时表达可由所述应用服务的意图。随后,nlu部件206和对话管理部件132可使用意图规范来与用户106进行另外的对话,以便另外细化用户意图。替代地,应用本身可利用控制服务108的能力来与用户106进行另外对话,以细化用户意图,以便提供相关联的功能性。

作为实例,响应于用户话语,控制服务108可参考多个应用的意图规范,包含装置应用124和服务器应用136的意图规范,以将已被注册的“购票”意图识别为应用中的一个的可服务意图。服务108随后可调用对应的应用。在被调用后,所述应用可接收所确定的意图的指示,且可进行或协调与用户106的另外对话,以便得出另外的意图细节。在确定关于用户意图的足够细节后,应用可执行其经设计的功能性以履行意图。

当与用户106进行对话时,经安装的应用可利用控制服务108的语音相关的能力,例如asr部件204、nlu部件206、对话管理部件132以及文本到语音部件208的那些能力。

作为另一实例,用户可陈述不可由当前可用于用户的任何应用服务的意图。例如,用户可陈述“我想打出租车”。尽管用户当前已安装或激活的应用都不能服务于此意图,但控制服务108可搜索可用应用202的列表或市场,以识别已指定匹配的或对应的可服务意图的应用。在一些情况下,控制服务108随后可自动地安装或启用所识别的应用。在其它情况下,控制服务108可提示用户购买或激活应用,且随后启动或调用应用。当安装应用202中的一个时,应用可安装在语音接口装置102上或安装在控制服务108上。

当应用已被调用或启动时,可在已启动的应用的控制下执行与用户的另外语音交互,所述已启动的应用可根据应用的活动领域,使用特定于所述应用及其领域的nlu模型来解释用户语句。例如,应用可根据所述应用经设计以执行的功能来与用户进行对话。在检测到与应用的活动领域不相符的用户语句或意图后,应用可自终止且控制可返回到控制服务108。在一些情况下,控制服务108可在经安装的应用的执行期间继续监视用户语句,且可在检测到用户的与应用的活动领域不相符的表达或意图后预先制止应用。

图3说明可在系统100中通过语音接口装置102和控制服务108实施的逻辑部件和功能性。图3说明的配置允许可安装应用位于语音接口装置102或控制服务108处且从所述语音接口装置或控制服务执行。应注意,尽管某些功能性说明为通过离散的部件实施,但此类功能性可通过在语音接口装置102和控制服务108中的任一个或每一个内的硬件和/或软件的不同组合来实施。

语音接口装置102具有音频捕获功能或部件302,其使用麦克风110从环境104捕获音频。音频捕获部件302产生音频信号304并将音频信号304提供到控制服务108。音频信号304可能地包含用户话语,包含用户106的语音。

asr部件204接收音频信号304并执行语音识别以产生含有用户106说出的自然语言的文本串306。文本串306被提供到nlu部件206,所述nlu部件使用自然语言理解技术来确定文本串306的文字所表达的意图308。

控制服务108可具有如上文所描述的多个经安装的服务器应用136,其已被用户选定并启用以用于在控制服务108的一个或多个服务器计算机上执行。语音接口装置102还可具有多个经安装的装置应用124,其已被用户选定并启用以用于在语音接口装置102上执行。经安装的应用124和136可执行不同的功能或提供涉及不同的活动或内容领域的不同服务。例如,一个应用可涉及音乐领域,且可具有用于查找并播放音乐的功能性。另一应用可对应于通知领域且可具有用于设定并发出告警或警告的功能性。应用可以是语音启用的,意味着所述应用经配置以通过语音与用户交互以提供所需功能性。应用中的每一个可对应于所述应用能够满足或服务的一个或多个可服务意图。

控制服务108可经配置以跟踪哪些服务器应用136已被安装或启用以用于多个语音接口装置102中的每一个。控制服务108还可经配置以跟踪哪些装置应用124已在多个语音接口装置102中的每一个上被安装和启用。另外,控制服务108可经配置以跟踪每一经安装或启用的应用能够对其做出响应或另外处理的意图。

在识别出意图308后,应用选择器或意图路由器138识别并选择装置应用124中的一个或服务器应用136中的一个。意图路由器138将所识别的意图308的指示或描述提供到选定应用,并调用选定应用或造成选定应用的调用。选定应用的调用可以编程方式实现,和/或通过对所述应用或对语音接口装置102的适当api调用来实现。

当选定应用124或136中的一个时,选定应用通过执行对应的动作来对所提供的意图做出响应。当选定服务器应用136中的一个时,可完全通过应用136来执行动作,或应用136可将命令310发送到语音接口装置102的动作处理器312以使得语音接口装置102执行所述动作或所述动作的一部分。例如,应用136可针对语音接口装置102发送命令以播放某一音调,以增加扬声器音量,以播放语音或以执行某一其它动作。

当选定装置应用124中的一个时,意图路由器可将命令发送到语音接口装置102,所述命令指定将被调用的应用和所述应用将对其做出响应的意图。在一些情况下,应用可通过应用标识符(appid)指定。作为响应,语音接口装置102的操作软件122可以编程方式调用经指定的装置应用124。选定装置应用可通过使用经集成的语音接口装置102的能力和/或由控制服务108提供的能力来对指定意图做出响应。例如,经选定并调用的装置应用124可利用控制服务108的语音服务,包含asr和nlu服务,以便与用户106进行交互和对话。选定装置应用124还可使用其它在线服务或结合其它在线服务来作用,所述在线服务诸如音乐服务、新闻服务、在线商家、各种类型的服务提供商等等。

图4说明可在系统100中通过语音接口装置102和控制服务108实施的部件和功能性的替代配置。图4说明的配置类似于图3所说明的配置,除添加应用选择部件或意图路由器402以作为语音接口装置102的部分外。在此实例中,控制服务108的意图路由器138响应于意图而不选择装置应用124中的一个。相反,意图308的指示被传递到语音接口装置102的意图路由器402,且所述意图路由器402基于意图的性质来选择适当的应用。

在此实例中,控制服务108的意图路由器138可首先尝试识别并调用服务器应用136中的适合于对所确定的意图308做出响应的一个服务器应用。如果不能找到此类应用,那么将意图308传递到语音接口装置的意图路由器402,所述意图路由器尝试识别并调用装置应用124中的能够服务于所识别的意图的一个装置应用。在一些实施方案中,控制服务108的意图路由器138可经配置以跟踪哪些装置应用124安装在语音接口102上,且可仅当装置应用124中的一个能够对意图做出响应时,才将意图308传递到语音接口装置102。

应注意,尽管已在基于语音的上下文中描述某些技术,但可以不同于语音的方式(诸如以文本方式)提供或进行用户输入和对话。例如,用户可通过使用键盘键入自然语言语句来指定意图,且服务可通过显示响应文本来做出响应。对话可使用此类双向文本交流来进行。另外,可在其它环境或配置中使用不同于本文中描述的架构的架构。例如,说明为通过语音接口装置执行的功能可通过计算装置来执行,诸如个人计算机、智能手机、平板计算机或任何其它类型的装置。

特定的可执行应用可经设计用于在语音接口装置102或控制服务108上安装并执行。在其中装置可能能够提供更多资源和/或更低时延的某些情况下,在语音接口装置102上执行应用可为所期望的。另外,安装在语音接口装置上的应用可能能够在网络不可用的时段期间继续提供某些功能,诸如本地控制功能。家庭自动化是可期望将应用安装在语音接口装置102上的实例环境。

在其中语音接口装置102对于大量使用语音服务的应用、对于主要利用网络资源的功能和/或在其它情况下具有有限的功能的情况下,在控制服务108上执行应用可为所期望的。

在一些情况下,应用可经设计以在语音接口装置102和控制服务108中的一个上执行,或可实施为适合于在各自的实体上执行的两个起类似作用的版本。在这些情况下,可要求用户指定应用是应被安装在语音接口装置102上还是应被安装在控制服务108上。替代地,系统100可评估其它因素且可确定安装应用的地方。在一些情况下,应用可安装在语音接口装置102和控制服务108两者上,且可取决于各种情况在不同位置上执行。此外,在一些情况下,不同的应用可安装在语音接口装置102和控制服务108中的每一个上以用于处理同一意图,且系统100可基于情形或其它因素来确定调用所述应用中的哪个。

图5说明在诸如上文所描述的系统等基于语音或基于语言的系统中选择并调用用户安装的应用的实例方法500。在所描述的实施方案中,系统包含本地语音接口装置,以及经配置以实施控制服务的一个或多个远程服务器计算机。用户安装的应用可包含服务器应用,其已被用户选定并启用以用于在一个或多个服务器计算机上执行以结合语音接口装置来操作。用户安装的应用还可包含装置应用,其已被用户选定并启用以用于在语音接口装置上执行。在一些情况下,启用应用可通过以下操作执行:将待安装的应用安装或引导在装置存储器、计算机服务器存储器或与装置或计算机服务器相关联或可由装置或计算机服务器访问的其它存储器中。术语“用户安装的”用于指示应用已被系统的用户明确地选定且被启用或安装以用于执行。图5的动作被描述为通过系统100的控制服务108执行,但方法500还可在其它环境中执行。

动作502包括接收指示或表达对应的用户意图的用户语音和/或用户话语。动作502可包括从语音接口装置102接收音频,所述音频可含有用户语音。语音接口装置102可将连续的音频流提供到控制服务108,或可提供含有个别的用户话语的音频段。

动作504包括对所接收的用户语音执行语音处理,以确定通过用户语音表达的意图。动作504可包含对所接收的用户语音执行自动语音识别(asr)和自然语言理解(nlu),以确定通过用户语音或话语表达的意图。动作504还可包含执行与用户的双向语音对话,以提示用户另外的信息且由此弄清用户意图的元素或角色。

动作506包括识别和/或选择服务器应用136中的或装置应用124中的对应于通过用户话语表达的意图中的一个服务器应用或装置应用。应用可通过确定哪一个应用具有与用户的所表达意图匹配的相关联的可服务意图来选定。

另外的动作取决于所识别和/或选定的应用是装置应用124中的一个还是服务器应用136中的一个,如通过图5的判定框508指示。如果所识别的应用是装置应用124中的一个,那么控制服务108执行将意图的指示提供到语音接口装置102的动作510。语音接口装置102响应于所接收的意图的指示来调用装置应用124中的执行对应于意图的动作的一个装置应用。在一些情况下,控制服务108还可执行明确地指定将使用哪一个装置应用124来对用户意图做出响应(诸如具体地说通过应用标识符)的动作512。语音接口装置102通过调用指定的应用124来对此指定做出响应,所述应用转而通过执行对应于用户意图的动作来做出响应。在一些情况下,经调用的装置应用还可通过以下操作做出响应:向控制服务108或意图路由器138确认装置应用已响应于所提供的意图采取动作或装置应用能够对所提供的意图做出响应。

如果所识别的应用是服务器应用136中的一个,那么执行启动或调用所识别的服务器应用136的动作514,并执行将所确定的用户意图的指示提供到经调用的服务器应用136的动作516。经调用的应用136可通过执行对应于用户意图的动作来做出响应。在一些情况下,经调用的服务器应用还可通过以下操作做出响应:向控制服务108或意图路由器138确认服务器应用已响应于所提供的意图采取动作或服务器应用能够对所提供的意图做出响应。

应注意,在一些实施方案中,意图路由器138可经配置以响应于特定意图而调用装置应用124和服务器应用136两者,且以将意图的指示提供到两个应用。两个经调用的应用中的任一个或两个可提供指示响应于第一意图所述应用具有或将执行动作的响应。当意图路由器从应用中的一个接收响应时,可终止或取消其它应用,或指示应用取消任何另外的处理。例如,装置可提供响应于意图所述装置的应用中的一个将执行动作的响应,且意图路由器可做出响应以取消先前已被调用以处理意图的服务器应用。替代地,服务器应用可提供指示响应于意图所述服务器应用将执行动作的响应,且意图路由器可做出响应以指示装置取消装置应用。在一些情况下,此技术可用于减少响应时延。

方法500可迭代地执行以处理连续的用户话语和意图。例如,控制服务108可接收对应于第一和第二用户意图的连续的第一和第二用户话语。响应于第一用户意图,控制服务108可识别、选择服务器应用并使得调用服务器应用,且还可将第一用户意图的指示提供到服务器应用。响应于第二用户意图,控制服务108可识别、选择装置应用并使得调用装置应用,且可将第二用户意图的指示提供到装置和/或装置应用。替代地,响应于第二用户意图,控制服务108可简单地将第二用户意图的指示传递到语音接口装置,且语音接口装置本身可从其用户安装的装置应用选择并调用应用,以对第二用户意图做出响应。

在一些实施中,控制服务108可首先尝试确定服务器应用中的一个是否能够对特定用户意图做出响应。如果是,那么调用所述服务器应用以对用户意图做出响应。否则,将用户意图的指示提供到语音接口装置,且语音接口装置识别、选择并调用其装置应用中的一个以对用户意图做出响应。

图6示出可通过语音接口装置102结合图5的方法来执行的方法600。尽管方法600参考上文描述的系统来描述,但方法600还可在其它环境中并结合其它类型的装置来实施。

动作602包括捕获音频并将音频提供到控制服务108。音频可含有用户语音或话语。音频所含有的话语可表达或对应于可由先前已被选定和启用以用于通过语音接口装置102或控制服务108执行的应用服务的用户意图。

动作604包括响应于将用户语音提供到控制服务108,接收通过用户语音表达的意图的指示。在一些情况下,动作604还包括接收响应于用户意图将被调用的装置应用的指定。装置应用可依据应用标识符(id)来指定。

动作606包括识别对应于通过动作604指示的用户意图的应用。在控制服务108已明确地指定应用或应用id的情况下,此动作可包括简单地识别通过控制服务108指定的应用。在控制服务108尚未指定特定装置应用124的其它情况下,动作606可包括将所接收的意图与当前安装的装置应用能够对其做出响应的意图进行比较,并选择装置应用中的能够对通过控制服务108指示的意图做出响应的一个装置应用。

动作608包括启动或调用选定应用。动作610可包括将从控制服务108接收的意图提供到经调用的应用。通过经调用的应用执行的动作612包括执行对应于通过用户语音表达的意图的动作。在一些情况下,应用可与用户进行另外的对话,且可接收另外的语音以便确定应执行的一个或多个动作。

尽管已用特定于结构特征的语言描述主题,但应理解在所附权利要求中界定的主题未必限于所描述的特定特征。相反,公开特定特征以作为实施权利要求的说明性形式。

条款

1.一种系统,其包括:

一个或多个服务器计算机;

一个或多个服务器应用,其已被用户选定并启用以用于在所述一个或多个服务器计算机上执行,其中所述一个或多个经选定并启用的服务器应用结合位于所述用户的处所中的语音接口装置来操作,以为所述用户提供服务;

语音处理部件,其经配置以从所述语音接口装置接收第一和第二话语,其中所述第一和第二话语分别表达第一和第二用户意图,所述语音处理部件另外经配置以对所述第一和第二话语执行自动语音识别和自然语言理解以确定所述第一和第二用户意图;

意图路由器,其经配置以执行包括以下各项的行动:

识别所述一个或多个服务器应用中的对应于所述第一用户意图的服务器应用;

调用所述所识别的服务器应用以执行对应于所述第一用户意图的第一动作;以及

将所述第二用户意图的指示提供到所述语音接口装置,其中所述语音接口装置响应于所述第二用户意图以执行对应于所述第二用户意图的第二动作。

2.根据条款1所述的系统,其中:

所述语音接口装置具有一个或多个装置应用,所述装置应用被用户选定并启用以用于在所述语音接口装置上执行;以及

所述语音接口装置经配置以(a)识别所述一个或多个装置应用中的对应于所述第二用户意图的装置应用,以及(b)调用所述所识别的装置应用以执行所述第二动作。

3.根据条款1所述的系统,其中:

所述语音接口装置具有一个或多个装置应用,所述装置应用被用户选定并启用以用于在所述语音接口装置上执行;以及

所述行动另外包括(a)识别所述一个或多个装置应用中的对应于所述第二用户意图的装置应用,以及(b)使得所述所识别的装置应用被调用以执行所述第二动作。

4.根据条款1所述的系统,其中:

所述语音接口装置具有一个或多个装置应用,所述装置应用被用户选定并启用以用于在所述语音接口装置上执行;以及

所述行动另外包括(a)确定所述一个或多个装置应用中的至少一个对应于所述第二用户意图,以及(b)将所述第二用户意图的所述指示提供到所述语音接口装置。

5.根据条款1所述的系统,其中:

所述语音接口装置具有一个或多个装置应用,所述装置应用被用户选定并启用以用于在所述语音接口装置上执行;以及

响应于一个或多个用户请求,所述一个或多个服务器应用和所述一个或多个装置应用从可用应用的集合获得。

6.一种方法,其包括:

从语音接口装置接收第一用户语音,其中所述第一用户语音指示第一意图;

对所述第一用户语音执行自然语言理解以确定所述第一意图;

使得第一应用对所述第一意图做出响应;

从所述语音接口装置接收第二用户语音,其中所述第二用户语音指示第二意图;

对所述第二用户语音执行自然语言理解以确定所述第二意图;以及

将所述第二意图的指示提供到所述语音接口装置。

7.根据条款6所述的方法,其中所述第一应用已被用户选定并启用以用于在一个或多个服务器计算机上执行。

8.根据条款6所述的方法,其中所述语音接口装置响应于所述第二意图的所述指示以执行对应于所述第二意图的动作。

9.根据条款6所述的方法,其中所述语音接口装置响应于所述第二意图的所述指示以:

识别对应于所述第二意图的第二应用,其中所述第二应用已被用户选定并启用以用于在语音接口装置上执行;以及

调用所述第二应用以执行对应于所述第二意图的动作。

10.根据条款6所述的方法,其另外包括:

识别对应于所述第二意图的第二应用,其中所述第二应用已被用户选定并启用以用于在语音接口装置上执行;以及

使得所述第二应用对所述第二意图做出响应。

11.根据条款6所述的方法,其另外包括与用户进行自然语言对话以接收所述第一和第二用户语音。

12.根据条款6所述的方法,其中响应于确定第二应用在所述语音接口装置上可用以用于对所述第二意图做出响应,执行将所述第二意图的所述指示提供到所述语音接口装置。

13.根据条款6所述的方法,其中所述第一应用已被用户选定并启用以用于在一个或多个服务器计算机上执行,并且其中响应于确定所述用户尚未选定并启用用于对所述第二意图做出响应的应用以用于在所述一个或多个服务器计算机上执行,执行将所述第二意图的所述指示提供到所述语音接口装置。

14.一种方法,其包括:

确定装置的用户所表达的第一意图;

识别对应于所述第一意图的第一应用,其中所述第一应用已被用户选定并启用以用于在一个或多个服务器计算机上执行;

调用所述第一应用以对所述第一意图做出响应;

确定所述装置的所述用户所表达的第二意图;以及

将所述第二意图的指示提供到所述装置并使得所述装置调用第二应用以对所述第二意图做出响应,其中所述第二应用已被所述用户选定并启用以用于在所述装置上执行。

15.根据条款14所述的方法,其另外包括将所述第一意图的指示提供到所述装置以用于调用第三应用以对所述第一意图做出响应。

16.根据条款14所述的方法,其另外包括:

将所述第一意图的指示提供到所述装置以用于调用第三应用以对所述第一意图做出响应;

从所述装置接收确认:所述装置将响应于所述第一意图执行动作,或所述装置已响应于所述第一意图执行动作;以及

响应于接收到所述确认,指示所述第一应用取消对所述第一意图做出响应。

17.根据条款14所述的方法,其另外包括:

将所述第一意图的指示提供到所述装置以用于调用第三应用以对所述第一意图做出响应;

从所述第一应用接收确认:所述第一应用将响应于所述第一意图执行动作,或所述第一应用已响应于所述第一意图执行动作;以及

响应于接收到所述确认,指示所述第三应用取消对所述第一意图做出响应。

18.根据条款14所述的方法,其中所述装置包括位于所述用户的家中的语音接口。

19.根据条款14所述的方法,其另外包括通过所述装置与所述用户进行自然语言对话以确定所述第一和第二意图。

20.根据条款14所述的方法,其中所述第一应用经配置以通过将一个或多个指令发送到所述装置来对所述第一意图做出响应。

21.根据条款14所述的方法,其另外包括从多个应用识别已被所述用户选定并启用以用于在所述一个或多个服务器计算机上执行的所述第一应用。

22.根据条款14所述的方法,其另外包括从多个应用识别已被所述用户安装以用于在所述装置上执行的所述第二应用。

23.根据条款14所述的方法,其中所述装置响应于所述第二意图的所述指示,以从多个应用识别已被所述用户安装以用于在所述装置上执行的所述第二应用。

24.根据条款14所述的方法,其中响应于确定应用被安置在所述装置上以用于对所述第二意图做出响应,执行将所述第二意图的所述指示提供到装置。

25.根据条款14所述的方法,其中响应于确定所述用户尚未选定并启用用于对所述第二意图做出响应的服务器应用以用于在所述一个或多个服务器计算机上执行,执行将所述第二意图的所述指示提供到所述装置。

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