基于上下文的用户代理的制作方法

文档序号:16595826发布日期:2019-01-14 19:37阅读:178来源:国知局
基于上下文的用户代理的制作方法

智能用户(例如,个人)助手(iua)(诸如微软公司出品的(华盛顿州雷德蒙市的微软公司))是可以为计算设备的个体用户执行任务或服务的软件代理。这些任务或服务可以基于用户输入、位置感知、以及从各种在线源访问信息(诸如天气或交通状况、新闻、股票价格、用户时间表、零售价格等)的能力。

iua可以在许多环境中的任何环境中被操作,诸如台式计算机、移动设备、平板、以及其各种操作系统(例如,微软公司出品的)。

一般而言,iua可以能够设置提醒、在没有键盘输入的情况下识别自然语音(例如,音频)、并且使用来自搜索引擎的信息(例如,当前的天气和交通状况、运动比分、传记等)来回答问题。iua可能能够存储用户的个人信息,诸如兴趣、位置数据、提醒和社交网络中的联系人。iua可以借鉴并添加此类信息以学习用户的特定模式和行为(例如,机器学习)。一般而言,用户可以查看和指定收集哪些信息以允许对隐私进行某些控制。

一些iua包括主动监听功能,使得能够用话音短语来调用iua(例如,话音短语“嗨cortana(小娜)”可以激活微软公司出品的iua。

概述

本公开描述了具有灵活的操作系统的基于语音的智能用户助手(iua)的技术和架构,该灵活的操作系统至少部分地基于计算系统的用户与该计算系统的交互的上下文。此类灵活的操作系统可以允许iua与用户进行非显眼的通信。因此,例如,用户可以与iua通信而不中断他们在计算机上的其他活动,诸如玩视频游戏。

提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的概念的选集。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。例如术语“技术”可指代上述上下文和通篇文档中所准许的系统、方法、计算机可读指令、模块、算法、硬件逻辑(例如,现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld))、诸如量子计算机或量子退火器(annealer)之类的量子器件和/或其他技术。

附图简述

详细描述参考附图进行阐述。在附图中,附图标记中最左边的数字标识该附图标记首次出现的附图。在不同附图中使用同一附图标记指示相似或相同的项或特征。

图1是描绘根据各种示例用于操作基于语音的智能用户代理的环境的框图。

图2是描绘根据各种示例用于操作基于语音的智能用户代理的设备的框图。

图3是基于语音的智能用户代理的示例架构的框图。

图4是基于语音的智能用户代理的各种状态之间的示例转换的流程图。

图5是例示根据一些示例的用于操作基于语音的智能用户代理的过程的流程图。

图6是例示根据一些示例的用于操作基于语音的智能用户代理的过程的流程图。

图7是例示根据一些示例的用于操作基于语音的智能用户代理的过程的流程图。

图8例示了因基于语音的智能用户代理而具有不同程度的交互的若干示例屏幕。

详细描述

本文描述的技术和架构涉及具有灵活的操作系统的基于语音的智能用户助手(iua),该灵活的操作系统至少部分地基于计算系统的用户与该计算系统的交互的上下文。此类灵活的操作系统可以允许iua与用户进行非显眼的通信。因此,例如,用户可以与iua通信而不中断他们在计算机上的其他活动,诸如玩视频游戏、参与另一种类型的应用、或观看视频内容,仅举几个内容消费的示例(例如,诸如游戏、应用、音乐、电影等的消费型媒体)。

在一些示例中,iua可以以不显眼的方式提供其信息显示,同时用户的主要活动(诸如游戏或视频消费)可以继续而不会中断。例如,在玩视频游戏期间,如果用户发出话音命令“音量增大”,则iua可以通过增加游戏音量来响应,而不会将用户的注意聚焦(以下被称为“聚焦”)从游戏中移开。换言之,iua不需要出现在屏幕上的窗口中,但可替换地在“后台”中操作,从而在视频游戏显示的任何部分不被遮挡的情况下增加游戏音量。在一个反例中,在玩视频游戏期间,如果用户发出语音命令“向john发送消息”,则iua可以通过在屏幕中呈现窗口来响应,并且在完成任务并允许用户返回游戏之前需要来自用户的进一步的输入(例如,哪个“约翰(john)”、什么消息、等等)。在此情况下,用户的聚焦已从游戏移开。

在一些示例中,计算系统可提供用户界面(ui),该用户界面(ui)被配置为以不需要整个ui被iua支配或接管的方式与基于语音的iua进行交互。因此,例如,iua可以与ui交互而不会将聚焦从ui移开。经由ui,计算系统的用户可通过谈话与计算系统进行通信,而不必通过触摸、鼠标、或其他输入技术进行交互。

在一些示例中,基于语音的iua可以具有知道用户是否正处于(计算系统的)消费模式的能力,诸如正在观看视频或玩游戏。在此情况下,iua可以以有限的方式与用户交互,诸如向用户提供仅音频的输出。另一方面,如果用户以相对非聚焦的方式操作计算系统,则iua可以经由完整的iua界面(例如,对应于iua的ui)与用户交互。例如,如果用户正在浏览因特网并产生话音命令(例如,“嗨cortana(小娜)。”),则iua可以显示iua界面的窗口,该窗口为用户提供控制按钮和/或信息(例如,查询的答案)。

在另一示例中,用户在与iua进行交互的同时还在参与需要聚焦的体验(诸如在玩视频游戏),不希望被cortana的输出(例如,响应)从游戏中分心。在此情况下,不需要显示窗口的iua可以主要(或仅)通过音频输入/输出与用户进行交互。

在一些示例中,iua的交互类型(例如,显眼性)可以至少部分地取决于用户的上下文。例如,此类上下文可与以下各项相关联:用户的位置、用户的当前动作、用户的历史动作或行为、所感知到的用户的意图、完全响应用户所需的周期或回合的数量、用户的话音命令、用户预设的iua自定义配置、以及用户是否正在操作车辆等等。例如,可至少部分地通过检测话音的音量和/或音调和/或说话的速率来感知用户的意图。在特定示例中,用户可向(或其他iua)提供话音命令“关闭”,其可以以取决于用户的上下文的方式进行响应。如果用户当前没有任何正在执行的应用,则iua(例如,在此示例中为)可以通过关闭计算系统(或其一部分)来响应。如果用户正在玩游戏,那么iua可能会通过说出“您确定要关闭xbox吗?”来进行响应。在后一种情况下,上下文是用户玩视频游戏,而iua基于此上下文进行响应。此外,iua可用仅音频的输出(或靠近屏幕边缘的、与所显示的视频游戏窗口相邻的相对小的窗口)进行响应,以免在视觉上分散用户对视频游戏的注意力。

在涉及虚拟现实(vr)平台(例如,)的一些特定示例中,iua可监视用户与vr平台之间的交互的上下文。如上文所解释的,iua可以以多种方式中的任何一种方式与用户交互,这至少部分地取决于用户的上下文。这种交互可以是仅音频的,在用户看来漂浮进入用户视觉或漂浮出用户视觉的3d全息按钮图标,或者桌面ui上的窗口。如上文所提及的,iua选择的交互类型可至少部分地取决于用户和vr平台之间的交互的上下文,其意图是相对较不显眼以及避免分散或干扰用户与vr平台的交互。

在一些示例中,用户可以与视频游戏平台和iua交互。在一些特定示例中,此类视频游戏平台可以是而iua可以是虽然本文描述的特征可被应用于许多其他平台和iua中的任何一者,并且所要求保护的主题不限于此。cordana(或另一个iua)可能有一个相关联的“体验管理器”,该体验管理器不必是因平台而异的。因此,体验管理器可被配置为与多个平台或应用中的任何平台或应用交互,而不仅仅是单个平台或应用。例如,一个体验管理器可被配置为与xbox交互,并从而使iua能够与xbox交互。换言之,iua可被“自定义”以与xbox交互。另一个体验管理器可被配置为与hololens交互并从而使iua能够与hololens交互。换言之,iua可被“自定义”以与hololens交互。

例如,对于涉及xbox和iua的特定情况,在用户开始与iua交互之前,系统可处于三种主要状态之一。在状态1中,iua在屏幕的至少一部分中可见。在此状态下,用户可能没在玩xbox,或者可能正以不需要用户注意xbox的方式与xbox交互。在状态2中,iua不可见并且用户正在玩游戏。在状态3中,iua不可见并且用户没在玩游戏。下文详细描述这些状态。

如果用户开始以状态1与iua交互,则交互可保留在已经可见的iua窗口中,该窗口可以与例如在桌面或智能电话上看到的iua相同或类似地操作。在状态2和3中,可以出现体验管理器覆盖,并且在不中断当前体验的情况下发生用户与iua的交互。在状态1中,iua对用户动作的响应可被显示在已经可见的iua窗口中,并且可例如在桌面或智能电话上那样操作。在状态2和3中,取决于正处理用户动作的iua(或如下文所描述的其“话音代理”)的决定,iua可决定(i)交互是否可由体验管理器显示或(ii)交互是否将被显示在完整的iua应用中。

在状态2中,iua作出的响应可被显示在相对较小的窗口中,本文称为“快照应用槽”。以此方式,iua将不会将聚焦从目前正在操作xbox游戏的用户上移开。例如,个人计算机、xbox或其他计算设备可通过在两个应用之间分割屏幕来实现多任务处理。例如,在xbox上,屏幕可被分割使得屏幕的右侧包括正在玩的游戏而屏幕的左侧显示iua窗口。此类屏幕分割被称为“快照化”,而包括iua窗口的屏幕被称为“快照槽”。在一些情形下,用户可以看到iua响应(例如,响应用户的动作),但可能无法直接对响应采取动作,除非用户采取明确的行动将聚焦从他们的游戏中切换到iua。在状态3中,响应可出现在iua窗口中,并且聚焦可被移到iua使得用户可直接地与iua响应进行交互。

在一些示例中,iua可允许“请勿打扰”模式,其中用户可以指定“安静小时”或部分关闭iua的功效。本文描述的各示例涉及与此类模式或部分关闭不同(以及除此之外)的iua的特征。

参考图1-7进一步描述各个示例。

图1是描绘根据各种示例用于操作基于语音的智能用户代理的环境100的框图。在一些示例中,环境100的各种设备和/或组件包括可经由一个或多个网络104彼此通信并与外部设备通信的分布式计算资源102。

例如,(一个或多个)网络104可包括诸如因特网之类的公共网络、诸如机构和/或个人内联网之类的私有网络或者私有和公共网络的一些组合。(一个或多个)网络104还可包括任何类型的有线和/或无线网络,包括但不限于局域网(lan)、广域网(wan)、卫星网络、有线网络、wi-fi网络、wimax网络、移动通信网络(例如3g、4g、5g等)或其任何组合。(一个或多个)网络104可利用通信协议,包括基于分组的和/或基于数据报的协议,诸如网际协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)或其他类型的协议。而且,(一个或多个)网络104还可包括促进网络通信和/或形成网络的硬件基础的一些设备,诸如交换机、路由器、网关、接入点、防火墙、基站、中继器、主干设备等等。

在一些示例中,(一个或多个)网络104可进一步包括能够连接到无线网络(诸如无线接入点(wap))的设备。各示例支持通过在各种电磁频率(例如,射频)上发送和接收数据的wap的连接,包括支持电气和电子工程师协会(ieee)802.11标准(例如,802.11g、802n等)的wap和其他标准。(一个或多个)网络104还可以包括例如可以位于云中的网络存储器。例如诸如在云计算中,此类云可被配置为基于可执行代码来执行动作。云计算是一种基于因特网的计算,其根据需要向计算机和其他设备提供共享的计算机处理资源和数据。云计算可允许对可配置计算资源(例如,计算机网络、服务器、存储、应用和服务)的共享池的普遍、按需访问,其可以以最小的管理努力被快速供应和释放。云计算和存储解决方案可为用户和企业提供各种能力,以便在第三方数据中心存储和处理他们的数据,例如,第三方数据中心可能位于远离用户的地方——距离范围从跨城市到跨世界不等。云计算依赖于资源的共享来实现规模的一致性和经济性,类似于电力网络上的公用事业(例如,类似于电网)。

在各种示例中,(一个或多个)分布式计算资源102包括计算设备,诸如设备106(1)–106(n)。各示例支持(一个或多个)设备106可包括在群集或其他分组的配置中操作以共享资源、平衡负载、提升性能、提供故障切换支持或冗余或用于其他目的的一个或多个计算设备的情况。虽然被例示为台式计算机,但是(一个或多个)设备106可包括多种多样的设备类型并且不限于任何特定类型的设备。(一个或多个)设备106可包括(一个或多个)专用计算设备108。

例如,(一个或多个)设备106可包括具有可操作地连接到计算机可读介质112、(一个或多个)i/o接口114和(一个或多个)网络接口116的一个或多个处理单元110的任何类型的计算设备包括执行云数据存储和/或云计算的设备。计算机可读介质112可具有存储在其上的用户代理模块118。例如,用户代理模块118可包括当由(一个或多个)处理单元110执行时操作基于语音的iua的计算机可读代码。然而,在一些情况下,用户代理模块不需要存在于(一个或多个)专用计算设备108中。

可经由(一个或多个)网络104与(一个或多个)设备106(包括诸如云存储/计算之类的网络存储)通信的(一个或多个)专用计算设备120可包括具有可操作地连接到计算机可读介质124、(一个或多个)i/o接口126和(一个或多个)网络接口128的一个或多个处理单元122的任何类型的计算设备。计算机可读介质124可具有存储在其上的专用计算设备侧用户代理模块130。例如,与用户代理模块118相似或相同,用户代理模块130可包括当由(一个或多个)处理单元122执行时操作基于语音的iua的计算机可读代码。然而,在一些情况下,用户代理模块不需要存在于(一个或多个)专用计算设备120中。例如,此类用户代理模块可以位于(一个或多个)网络104中。

图2描绘例示性设备200,其可表示例如(一个或多个)设备106或108。说明性设备200可包括具有可操作地连接到计算机可读介质204(诸如计算机可读介质112或124)的一个或多个处理单元202(诸如处理单元110或122)的任何类型的计算设备。该连接可经由总线206或者经由另一可操作连接,总线206在一些实例中可包括系统总线、数据总线、地址总线、pci总线、迷你pci总线(mini-pcibus)中的一者或多者以及任何种类的本地、外围和/或独立总线。(一个或多个)处理单元202可表示例如被合并在设备200中的cpu。(一个或多个)处理单元202可类似地被可操作地连接到计算机可读介质204。

计算机可读介质204可包括至少两种类型的计算机可读介质,即计算机存储介质和通信介质。计算机存储介质可包括以用于存储信息(以经压缩的或未经压缩的形式)的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质,诸如用来执行本文中所描述的过程或方法的计算机(或其他电子设备)可读指令、数据结构、程序模块或其他数据。计算机可读介质112和计算机可读介质124是计算机存储介质的示例。计算机存储介质包括但不限于硬盘驱动器、软盘、光盘、cd-rom、dvd、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、闪存、磁卡或光卡、固态存储器设备或者适用于储存电子指令的其他类型的介质/机器可读介质。

作为对比,通信介质可将计算机可读指令、数据结构、程序模块或其他数据具体化为已调制数据信号(诸如载波)或其他传输机制。如本文所定义的,计算机存储介质不包括通信介质。

设备200可包括但不限于:台式计算机、服务器计算机、web服务器计算机、个人计算机、移动计算机、膝上型计算机、平板计算机、可穿戴计算机、植入式计算设备、电信设备、车载计算机、启用网络的电视、瘦客户端(thinclient)、终端、个人数据助手(pda)、游戏主机、游戏设备、工作站、媒体播放器、个人视频录像机(pvr)、机顶盒、相机、用于包括在计算设备、电器或任何其他类型的计算设备中的集成组件(诸如一个或多个分开的处理器设备208,诸如cpu型处理器(例如微处理器)210、gpu212或(一个或多个)加速器设备214)。

在一些示例中,如关于设备200所示,计算机可读介质204可储存可由(一个或多个)处理单元202执行的指令,(一个或多个)处理单元202可表示被合并在设备200中的cpu。计算机可读介质204还可储存可由外部cpu型处理器210执行、可由gpu212执行并且/或者可由加速器214(诸如fpga型加速器214(1)、dsp型加速器214(2)或任意内部或外部加速器214(n))执行的指令。

被储存在计算机可读介质202上的可执行指令可包括例如操作系统216、用户代理模块218以及可由(一个或多个)处理单元202和/或210加载并执行的其他模块、程序或应用。例如,用户代理模块218可包括当由(一个或多个)处理单元202执行时实现基于语音的iua的计算机可读代码。然而,在一些情况下,用户代理模块不需要存在于设备200中。

替换地或附加地,本文中所描述的功能可由一个或多个硬件逻辑组件(诸如加速器214)来执行。作为示例而非限制,可被使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、诸如量子计算机或量子退火器之类的量子器件、片上系统(soc)、复杂可编程逻辑器件(cpld)等。例如,加速器214(n)可表示混合设备,诸如包括被嵌入在fpga架构中的cpu核的混合设备。

在所例示的示例中,计算机可读介质204还包括数据存储220。在一些示例中,数据存储220包括诸如数据库、数据仓库或其他类型的结构化或非结构化数据存储之类的数据存储。在一些示例中,数据存储220包括具有一个或多个表、索引、存储的过程等的关系型数据库以实现数据访问。数据存储220可储存用于被储存在计算机可读介质204中和/或由(一个或多个)处理器202和/或210和/或加速器214执行的进程、应用、组件、和/或模块的操作的数据。例如,数据存储220可存储版本数据、迭代数据、时钟数据、私有数据、语音数据以及被用户代理模块218存储和可被用户代理模块218访问的各种状态数据。替换地,以上所提及的数据中的一些或全部可被储存在分开的存储器222上,诸如cpu型处理器210(例如,(一个或多个)微处理器)上板载的存储器222(1)、gpu212上板载的存储器222(2)、fpga型加速器214(1)上板载的存储器222(3)、dsp型加速器214(2)上板载的存储器222(4),和/或另一加速器214(n)上板载的存储器222(m)。

设备200还可包括一个或多个输入/输出(i/o)接口224(诸如i/o接口114或126),以允许设备200与输入/输出设备(诸如包括外围输入设备(例如,键盘、鼠标、笔、游戏控制器、语音输入设备、触摸输入设备、姿势输入设备等)的用户输入设备和/或包括外围输出设备(例如,屏幕、打印机、音频扬声器、触觉输出等)的输出设备)进行通信。设备200还可包括一个或多个网络接口226(诸如网络接口116或128)以通过网络104和网络存储(诸如云网络)实现计算设备200和其他联网设备(诸如其他设备120)之间的通信。这样的网络接口226可包括一个或多个网络接口控制器(nic)或其他类型的收发机设备,以通过网络发送和接收通信。

图3是基于语音的iua300的示例架构的框图,其可驻留在例如诸如200之类的设备中。iua300可以与用户代理模块118、130或218相同或相似。iua300可包括用户代理模块302、平台抽象层(pal)模块304、和因平台而异的用户代理模块306。在一些特定示例中,用户代理模块302可以是cortana应用的版本,但是所要求保护的主题不限于此。

用户代理模块302可包括多个话音代理,诸如“音量”话音代理308和“查询”话音代理310。其他话音代理(未例示)可分别对应于由设备的操作系统执行的其他功能或功效或由设备执行的应用。在一些示例中,此类话音代理可位于云中。话音代理可提供关于在iua和用户之间应用的交互类型的判定。交互类型的范围从例如在未被用户聚焦的后台中实现命令(例如,音量增加)到相对大的iua窗口和完全聚焦(例如,因特网搜索)。话音代理可至少部分地基于话音代理的类型和/或正在运行并与用户交互的特定应用(例如,xbox或hololens)来做出此类判定。例如,云中存在的话音代理可在云中进行此类判定。

用户代理模块302可进一步包括“体验管理器”312,其可以是被用户代理模块嵌入或以其他方式控制的模块。至少部分地基于设备的用户与平台(例如,应用、xbox、hololens等)之间的交互的上下文,体验管理器312可允许用户在平台中体验iua的各种类型(或等级)的介入。体验管理器312可以足够灵活以使其可以为不同的平台/上下文/情形定义不同的语义。此类功效可以由pal模块304实现,该pal模块304可包括多个功能块314中的任何一个。例如,用户代理模块302可相对于用户和平台之间的交互在后台运行。用户代理模块302可在执行体验管理器312时监听语音流(例如,检测语音流的音频信号)。pal模块304可被配置为使体验管理器312的功效适应不同的平台。因此,例如,pal模块304可被配置为允许体验管理器312操作xbox并与xbox进行交互。另一方面,pal模块304可被配置为允许体验管理器312操作hololens并与hololens进行交互。换言之,体验管理器312可以是平台不可知的,并且pal模块304(其可具有针对特定平台的“自定义”逻辑)可充当体验管理器和特定平台之间的通信链接。

因平台而异的用户代理模块306可生成视觉覆盖。例如,可以存在允许设备实现其自己的信息呈现的接口(例如,算法)316。对于一些特定示例,时钟或日历可在屏幕的状态栏中呈现信息,xbox可以将信息呈现为屏幕的角落处非聚焦的覆盖,以及hololens可将信息呈现为在用户的头部转动时跟随用户的浮动窗口。示例实现可以使用用户语音流的开始、该流的步骤以及该流的结束作为触发器,以确定何时向用户显示信息、显示所听到的内容的文本以及显示对用户动作的响应,仅举几个示例。每个平台可决定以非侵入方式向用户呈现信息的最佳方式(例如,音频的、视觉的等等)。在一些特定示例中,体验管理器312可在与用户所交互的应用一起操作时从用户代理模块302接收和使用各种类型的信息。例如,此类信息可包括如下文所描述的应用所针对的所显示的角色、所识别的文本、语音状态和来自话音代理(例如308,310)的响应文本。话音此类信息的通信可以是一种方式,并且iua300可在用户代理模块302被隐藏的同时在视觉覆盖中显示上述信息。

图4是基于语音的iua的各种状态之间的示例转换的流程图400,诸如图3中例示的。被例示为框的各种状态包括挂起状态402、遮挡状态404、无聚焦快照状态406,以及有聚焦快照状态408。此类状态对应于操作iua和iua的功能的不同的模式,包括如何显示(或不显示)iua的窗口。例如,在有聚焦快照状态408中,iua的窗口可以在“快照槽”中可见,其是屏幕的相对小的部分(例如,右上部分),并且输入聚焦可以在iua的窗口内使得用户可使用控制器或其他输入设备(例如,鼠标、键盘等)与iua进行交互。iua的窗口可包括可显示的角色,其包括倾向于赋予iua个性的任何数量的特征。此类可显示的角色可对应于可听的角色,其包括与用户的语音交互。在一些特定示例中,iua可以是cortana,但是所要求保护的主题不限于此,并且本文的描述可被应用于许多其他iua中的任何iua。

在挂起状态402中,尽管iua的可执行代码的至少一部分可以位于与操作系统相关联的存储器中,但是iua在通用计算操作期间可能不会占用任何cpu周期。在遮挡状态404中,iua可在通用计算操作的后台中运行。例如,用户可能正在玩xbox游戏,同时iua在后台运行并且不会被用户注意到。在此状态下,iua可以响应来自用户的语音或话音命令。在无聚焦快照状态406中,iua被显示在快照槽中,但是除了响应于用户输入的语音之外,不获得输入聚焦。换言之,iua的用户界面(例如,iua的窗口)是引人注目的,诸如是靠近屏幕边缘的相对小的窗口(或图标)以便不遮挡与用户交互的其他应用所使用的屏幕区域的任何部分。以此方式,用户可以意识到iua的存在并已准备好与用户进行交互。此类交互可以由用户的动作提示。在有聚焦快照状态408中,iua的窗口以快照显示并获得聚焦。换言之,iua的用户界面(例如,iua的窗口)是引人注目的并且控制(例如,鼠标交互)转移到iua的用户界面内(例如,鼠标的点击将会影响iua窗口内的操作,而非其他被显示的应用)。iua的用户界面可以是屏幕中相对大或小的窗口,并且可以(但不是必须)遮挡(正)与用户交互的其他应用所使用的屏幕区域的任何部分。以此方式,用户可以意识到iua的存在并已准备好与用户进行交互。

在一些示例中,可通过用户说出的关键词或短语来提示从挂起状态402到遮挡状态404的转换。关键词识别算法可被用于检测此类关键词或短语(例如,在iua是cortana的特定情况下为“嗨cortana(小娜)”)。作为结果,挂起状态402可转换到遮挡状态404,如箭头410所表示的。例如,关键词识别算法可调用iuapal层以激活处于遮挡状态404的iua。可调用正与用户交互的应用(例如,xbox)的体验管理器api以显示特定的iua角色。换言之,可“自定义”或修改iua角色以对应于当前正与用户交互的应用的特征。

在遮挡状态404中,iua可能正在监听用户可能的话音命令,并且(经由显示和/或经由语音)对状态、角色状态、所识别的文本、给用户的消息等进行通信。因此,关键词识别算法可被用于检测关键词或短语,该关键词或短语提示从遮挡状态404到挂起状态402(由箭头412表示)、或到无聚焦快照状态406(由箭头414表示)、或到有聚焦快照状态408(由箭头416表示)的转换。

如果从挂起状态402到遮挡状态404(如箭头412所示)的转换是由与动作的一次性命令相对应的关键词或短语(例如,诸如“启动应用”或“显示成果”)提示的,则操作被执行、体验管理器超时、并且iua应用可然后被挂起。

如果从挂起状态402到遮挡状态404的转换是由与需要显示信息ui的命令相对应的关键词或短语(诸如,天气或新闻)提示的,则iua可被显示在快照槽中,但不需要具有输入聚焦。在一些示例中,用户可以与除iua之外的应用(例如,xbox)进行交互。在此情况下,经快照化的iua可以与应用的ui进行通信。

在一些示例中,响应于超时状况,iua可从遮挡状态404转换到挂起状态402,由箭头418表示。类似地,响应于此类超时状况,iua可从无聚焦快照状态406转换到挂起状态402,由箭头420表示。

在一些示例中,响应于侧边栏启动(sidebarlaunch),iua可从无聚焦快照状态406转换到有聚焦快照状态408,由箭头422表示。例如,如果iua呈现需要进一步操作以完成流的结果,则可能会发生从无聚焦快照状态到有聚焦快照状态的转换,诸如在以下特定示例中:当iua处于非聚焦状态时,用户说出在因特网上被解释为通用搜索的命令。当呈现对应于搜索结果的结果(例如,链接/视频)时,iua从挂起状态402或无聚焦状态406转换到聚焦状态408。这允许用户点击结果以启动期望页面以完成流。类似地,响应于此类侧边栏启动,iua可从挂起状态402转换到有聚焦快照状态408,由箭头424表示。同样,响应于此类侧边栏启动,iua可从遮挡状态402转换到有聚焦快照状态408,由箭头416表示。

例如,响应于用户关闭iua,iua可从有聚焦状态快照状态408转换到挂起状态402,由箭头426表示。箭头428表示在遮挡状态404期间由用户呈现的话音命令不提示转换到另一状态的过程。箭头430表示在有聚焦快照状态408期间由用户呈现的话音命令不提示转换到另一状态的过程。类似地,箭头432表示在无聚焦快照状态406期间由用户呈现的话音命令不提示转换到另一状态的过程。

图5-7是例示根据一些示例的用于操作基于语音的智能用户代理的过程的流程图。在图5-7中例示的操作流被解说为表示可用硬件、软件、固件或其组合实现的操作序列的框和/或箭头的集合。描述各框的次序并不旨在解释为限制,并且任何数量的所描述的操作都可以按任何次序组合以实现一个或多个方法或替换方法。附加地,在不脱离本文中所描述的主题的精神和范围的情况下,可以从操作流中省略各个体操作。在软件的上下文中,各个框表示当由一个或多个处理器执行时配置处理器以执行既定操作的计算机可读指令。在硬件的上下文中,框可表示被配置为执行所述操作的一个或多个电路(例如,fpga、专用集成电路-asic等)。

图5-7中例示的操作流中的任何过程描述、变量或框可表示包括用于实现该过程中具体逻辑功能或变量的一个或多个可执行指令的模块、片段或代码部分。

参考图5,例如,过程500可由诸如(一个或多个)处理单元110、122和202之类的处理器执行。在502处,处理器可接收关于用户与系统的用户界面(ui)之间的通信的状态的信息。例如,ui可以是屏幕中的窗口。例如,用户可能正在与视频游戏交互或正在观看被显示在窗口中的视频。通信的状态可包括用户与正驱动ui的应用通信的上下文。例如,应用可以是视频游戏应用或流式视频应用。通信状态可能涉及用户指向应用的聚焦的类型或等级。相对高等级的聚焦的示例可以是用户主动与视频游戏交互,并且用户连续地键入输入(例如,操作操纵杆)以控制视频游戏的特征的情况。相对低等级的聚焦的示例可以是用户不时地与视频游戏交互,并且偶尔离开视频游戏的窗口以与另一应用交互的情况。在此类情况下,处理器可使用用户动作的长期或短期历史(其可被存储在存储器中)来至少部分地确定用户的聚焦等级。

在框504处,处理器可从用户接收基于语音的命令。此类命令可以是用户说出的一个或多个单词或短语。cortana的特定示例是“嗨cortana(小娜)”。其他示例包括“音量增大/减小”、“向……发送消息”、“关闭”等等。在框506处,处理器可向ui提供iua,其中基于语音的iua与ui的交互类型至少部分地基于用户与该ui之间的通信的状态。例如,相对低等级的交互可以是iua在后台操作并且对用户不可见(例如,不显示)的情况。在此情况下的交互可能限于语音(音频)。相对高等级的交互的一个示例可以是iua显示窗口,这将用户的聚焦从另一位置(例如,视频游戏或视频观看)快照化到该iua窗口的情况。

参考图6,例如,过程600可由诸如(一个或多个)处理单元110、122和202之类的处理器执行。在框602处,处理器可经由基于语音的智能用户代理(iua)从用户接收话音输入。例如,此类iua可以与cortana类似或相同。在框604处,处理器可分析话音输入以确定用户的意图。例如,可在云中执行的此类分析可使用可能涉及深度学习的语音识别技术。在框606处,处理器可标识当前活动的应用。例如,此类应用可以是视频游戏或流式视频应用。(例如,正在与用户交互的)活动应用的示例可以是用户操作输入设备(例如,操纵杆、鼠标、键盘等)以至少部分地控制应用的情况。在一些示例中,用户可能正在虚拟现实平台中进行操作,并且当前正与该用户交互的活动应用可能正在虚拟现实平台中执行。

在框608处,处理器可选择话音代理以对用户进行响应。选择可至少部分地基于用户的意图和应用。在一些示例中,话音代理可以位于云中。在框610处,处理器可响应于来自特定话音代理的指令提供iua的用户界面。例如,此类指令可确定iua的用户界面是否从应用中获得聚焦或用户界面是否在后台操作并因此未获得聚焦。在一些示例中,显示iua的用户界面可能显示不遮挡所显示的应用的窗口的任何部分的图标或窗口。

参考图7,例如,过程700可由诸如(一个或多个)处理单元110、122和202之类的处理器执行。在702处,处理器可从话音代理接收指令以提示用户进行附加的话音输入。例如,初始话音输入可以是没有附加信息的不完整的命令。例如,命令“发送消息”可能需要附加的话音输入以确定应该将该消息发送到何处。在另一示例中,命令“向bob发送文本”可能需要附加的话音输入以确定将要向用户的联系人列表中多个bob中的哪个bob发送文本。

在一些示例中,在框704处,处理器可从话音代理接收针对响应模式的指令,该响应模式至少部分地基于用户相对于应用的当前状态。例如,响应模式可包括在iua的用户界面的两个或更多个聚焦等级之间进行改变。

图8例示了因基于语音的iua而具有不同程度的交互的计算机系统的若干示例情形802、804和806。可至少部分地基于用户与计算机系统(或在其上执行的应用)之间的交互的上下文或状态来改变此类交互或介入。例如,在情形802中,iua的ui808可通过在屏幕中具有相对大的存在来支配屏幕810。ui808可覆盖屏幕的其他特征,诸如窗口812,例如,该窗口812可能正在显示应用(例如,视频游戏)。在另一示例中,在情形804中,iua的ui814可通过在屏幕中具有相对小的存在而在屏幕810中相对不显眼,并且可能在位于屏幕的边缘附近的同时应用的窗口816(例如,视频游戏)可能占用屏幕的大部分。在又一示例中,在情形806中,iua的ui可以是仅音频的,并从而因在屏幕810中不具有存在而在屏幕中不显眼。同时,应用的窗口818(例如,视频游戏窗口)可能占用屏幕的大部分。

示例条款

a.一种系统,包括:一个或多个处理器;以及存储指令的存储器,该指令在由一个或多个处理器执行时将一个或多个处理器配置成执行以下操作,包括:接收关于用户与系统的用户界面(ui)之间的通信的状态的信息;从用户接收基于语音的命令;以及向ui提供基于语音的智能用户代理(iua),基于语音的iua与ui的交互至少部分地基于用户与ui之间的通信的状态。

b.如段落a中引用的系统,其中用户和ui之间的通信包括用户消费内容,该用户消费内容包括玩视频游戏、参与应用、或观看视频内容中的至少一者。

c.如段落b中引用的系统,其中基于语音的iua与ui的交互包括在屏幕上显示邻近于正在显示内容的屏幕的一部分而不遮挡正在显示内容的屏幕的任何部分的基于语音的iua的界面。

d.如段落a中引用的系统,其中基于语音的iua与ui的交互包括仅音频的模式。

e.如段落a中引用的系统,其中基于语音的iua与ui的交互进一步至少部分地基于基于语音的命令。

f.如段落a中引用的系统,其中用户和ui之间的通信包括用户经由虚拟现实平台与ui进行交互。

g.一种系统,包括:一个或多个处理单元;以及其上具有模块的计算机可读介质,该模块包括:被配置成操作基于语音的智能用户代理(iua)的用户代理模块,其中该用户代理模块进一步被配置成识别来自系统的用户的话音命令;被配置成接收来自用户代理模块的指令的平台抽象层(pal)模块,其中该pal模块进一步被配置成设置iua与用户之间的交互类型;以及被配置成在pal模块和系统的用户之间提供通信接口的因平台而异的用户代理模块。

h.如段落g中引用的系统,其中pal模块进一步被配置成至少部分地基于用户关于系统的上下文来设置iua与用户之间的交互类型。

i.如段落g中引用的系统,其中pal模块进一步被配置成至少部分地基于用户的当前或历史动作中的至少一者来设置iua与用户之间的交互类型。

j.如段落g中引用的系统,其中因平台而异的用户代理模块进一步被配置成用由pal模块设置的交互类型来向用户提供iua。

k.如段落g中引用的系统,其中因平台而异的用户代理模块进一步被配置成至少部分地基于特定平台来确定交互类型是音频的、视觉的、还是音频且视觉的。

l.如段落g中引用的系统,其中因平台而异的用户代理模块进一步被配置成至少部分地基于特定平台来确定从用户到iua输入的聚焦类型。

m.一种方法,包括:经由基于语音的智能用户代理(iua)从用户接收话音输入;分析话音输入以确定用户的意图;标识当前活动的应用;选择话音代理以对用户进行响应,其中选择至少部分地基于用户的意图和应用;以及响应于来自话音代理的指令提供iua的用户界面。

n.如段落m中引用的方法,其中话音代理位于云中。

o.如段落m中引用的方法,进一步包括:从话音代理接收指令以提示用户进行附加的话音输入。

p.如段落m中引用的方法,进一步包括:从话音代理接收针对响应模式的指令,响应模式至少部分地基于用户相对于应用的当前状态。

q.如段落p中引用的方法,其中响应模式包括在iua的用户界面的两种或更多种聚焦类型之间进行改变。

r.如段落m中引用的方法,其中提供iua的用户界面包括显示不遮挡应用的窗口的任何部分的图标或窗口。

s.如段落m中引用的方法,其中活动的应用在虚拟现实平台中是活动的。

t.如段落m中引用的方法,其中活动的应用包括视频游戏。

尽管已经用结构特征和/或方法动作专用的话音描述了本主题,但要理解,所附权利要求书中定义的主题不必限于所描述的具体特征或动作。相反,这些具体特征和步骤是作为实现权利要求的示例形式来公开的。

除非另有说明,否则上文描述的所有方法和过程可以全部或部分地由一个或多个通用计算机或处理器执行的软件代码模块来具体化。这些代码模块可以储存在任何类型的计算机可执行存储介质或其他计算机存储设备中。一些或所有方法可替换地全部或部分地由专用计算机硬件来实现,诸如fpga、asic等。

除非另外具体声明,否则在上下文中可以理解条件话音(诸如“能”、“能够”、“可能”或“可以”)表示特定示例包括而其他示例不包括特定特征、变化和/或步骤。因此,这样的条件语言一般并非旨在暗示某些特征、变量和/或步骤以任何方式对于一个或多个示例是必需的,或者一个或多个示例必然包括用于在有或没有用户输入或提示的情况下决定某些特征、变量和/或步骤是否包括在任何特定示例中或将在任何特定示例中被执行的逻辑。

除非另外具体声明,应理解联合语言(诸如短语“x、y或z中至少一个”)表示项、词语等可以是x、y或z中的任一者、或其组合。

本文描述和/或附图中描绘的流程图中的任何过程描述、变量或框应当被理解成潜在地表示包括用于实现该例程中具体逻辑功能或变量的一个或多个可执行指令的模块、片段或代码部分替换实现被包括在本文描述的示例的范围内,其中各变量或功能可被删除,或与所示出或讨论的顺序不一致地执行,包括基本上同步地执行或按相反顺序执行,这取决于所涉及的功能,如本领域技术人也将理解的。

应当强调,可对上述示例作出许多变型和修改,其中的变量如同其他可接受的示例那样应被理解。所有这样的修改和变型本文旨在被包括在本公开的范围内并且由所附权利要求书保护。

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