虚拟助手的非口头接合的制作方法

文档序号:21732388发布日期:2020-08-05 01:27阅读:192来源:国知局
虚拟助手的非口头接合的制作方法



背景技术:

虚拟助手是一种能够为个人执行任务的软件代理。目前市面上的虚拟助手的一些示例包括microsoftapplegoogle和amazon虚拟助手最常见地通过文本或语音进行接合(engage)。如今,经由语音来激活虚拟助手的主要手段是通过呼叫其名称并且讲出命令:“cortana,天气预报是什么?”。这种主要的激活方法在用户处于机器附近(例如,处于台式pc或膝上型计算机前方)时或者在用户远离(例如,对着智能扬声器讲话,例如amazon)时是适用的。要求通过使用关注词(或者“唤醒词”)来激活虚拟助手可能是不自然的且麻烦的,特别是在用户被要求在每次对话变化之前使用关注词时。作为对比,发起并维持自然的人与人会话(特别是在涉及到多个个人的情况下)并不要求使用关注词或者甚至音频触发词(trigger),而是可以通过微妙的手势和/或眼睛注视数据被发起并且在各个个人之间被转换。

关于这些以及其他总体考虑,已经描述了示例性方面、系统和方法。而且,虽然已经讨论了相对具体的问题,但是应当理解的是,示例并不应当限于解决背景技术中所标识出的具体问题。



技术实现要素:

本文所描述的并要求保护的实施方式通过提供用于通过眼睛注视技术和其他非口头信号发起和/或维持与虚拟助手的会话的系统和方法来解决上述问题。眼睛注视或眼睛跟踪是一种使用由用户的单眼或双眼控制的输入设备(例如,鼠标)来访问电子设备或通信辅助程序的方式。眼睛注视交互技术可以使得用户能够在不使用触觉输入(例如,使用手和手指来打字或进行鼠标激活)或口头输入(例如,使用话音转文本打字)的情况下与电子设备通信和交互。在各方面,非口头的和非触觉的输入可以在本文中被称为眼睛注视数据的“属性”或“辅助输入”,并且可以包括但是并不限于基于注视固定数据、脸部识别数据、运动或手势检测、注视方向数据、头部姿态或头部位置数据等等而接收的输入。例如,具有某种运动性残疾的用户可以是能够利用眼睛注视技术来进行通信的。关于虚拟助手,本文所公开的示例性实施例使用眼睛注视技术和其他非口头方法来发起并维持交互,而不要求使用关注词来发起和维持与虚拟助手的交互。本文所公开的示例性实施例使用各种硬件设备和机器学习算法的组合来确定虚拟助手何时应当被激活,该激活应当被维持多久,以及该激活何时应当停止。

以这种方式,用户并不被要求在该用户每次想要发起和/或维持与虚拟助手的交互时都要明确讲出一个或多个关注词。相反,用户可以更自然地发起和/或维持与虚拟助手的交互,并且甚至可以在与多个讲话者的人类会话中包括虚拟助手。在一个示例性方面,与虚拟助手的会话的发起和维持可以由眼睛注视来确定。如果虚拟助手在其中操作的电子设备(在下文中称为“虚拟助手设备”)检测到来自用户的眼睛注视信号,则该虚拟助手可以激活并发起与该用户的会话。在另一个示例性方面,用户可以朝向虚拟助手设备作出物理手势。该接合系统可以确定该手势是关于用户想要与虚拟助手交互的指示,并且因此虚拟助手可以发起与该用户的会话。在另外的示例性方面,用户可以通过非口头方法和口头方法二者的组合来与虚拟助手交互。例如,用户可以看着虚拟助手设备并且说“你好”。该接合系统可以接收眼睛注视信号以及口头信号“你好”二者,并且确定该用户想要与虚拟助手进行交互。

本文所公开的示例性实施例还利用机器学习算法来进一步确定用户是否想要与虚拟助手进行交互。例如,虚拟助手设备可以被配备有至少一个相机和/或至少一个红外传感器。电子设备的硬件可以被配备为接收并处理至少一种空间拓扑。这样,本文所公开的虚拟助手接合系统和方法会随着该设备在虚拟助手设备位于其中的物理周边环境中花费更多的时间而变得对该物理环境更加熟悉。此外,该机器学习算法可以利用脸部识别技术来收集用户特定数据并且适应用户特定偏好、动作和/或手势,从而更加准确地确定用户何时想要发起和/或维持与虚拟助手的交互。

在一个方面,提供了一种用于接合虚拟助手的处理器实现的方法。该方法包括接收眼睛注视数据作为电子设备上的输入以及处理该眼睛注视数据以确定用户注视是否针对虚拟助手。该方法进一步包括分析该眼睛注视数据的一个或多个属性以确定用户是否打算接合该虚拟助手,以及应用附加处理以验证该用户打算接合该虚拟助手。另外地,该方法包括提供关于该虚拟助手准备好与该用户接合的指示。

在另一个方面,提供了一种包括至少一个处理单元和至少一个存储处理器可执行指令的存储器的计算设备。在被至少一个处理单元执行时,该处理器可执行指令使得该计算设备接收眼睛注视数据作为输入并且处理该眼睛注视数据,以识别用户注视在该计算设备的显示界面上的至少一个位置。基于用户注视的位置,该处理器可执行指令使得该计算设备确定该用户是否打算接合该虚拟助手,并且应用附加处理以验证该用户打算接合该虚拟助手。另外地,该处理器可执行指令使得该计算设备提供关于该虚拟助手准备好与该用户接合的指示。

在又一个方面,提供了一种处理器可读存储介质。该处理器可读存储介质存储指令,该指令在被计算设备的一个或多个处理器执行时执行一种用于分析眼睛注视输入的方法。该方法包括接收眼睛注视数据作为电子设备上的输入以及处理该眼睛注视数据以使用至少一种机器学习算法来确定用户注视的至少一个方向。该方法进一步包括分析该眼睛注视数据的一个或多个属性以确定用户打算接合该虚拟助手,以及提供关于该虚拟助手准备好与该用户接合的指示。

提供该发明内容是为了以简化形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。该发明内容并非旨在识别所要求保护的主题的关键特征或必要特征,也并非旨在用于限制所要求保护的主题的范围。

附图说明

图1示出了用于非口头地接合虚拟助手的分布式系统的示例。

图2是示出了用于非口头地接合虚拟助手的方法的框图。

图3是示出了输入处理器的框图。

图4示出了与虚拟助手的近场接合的示例。

图5示出了接合指示的示例。

图6示出了与虚拟助手的远场接合的示例。

图7a示出了未接合的虚拟助手的示例。

图7b示出了已接合的虚拟助手的示例。

图8是示出了可以用于实践本公开的各方面的计算设备的示例性物理组件的框图。

图9a和图9b是可以在其中实践本公开的各方面的移动计算系统的简化框图。

图10是可以在其中实践本公开的方面的分布式计算系统的简化框图。

图11示出了用于执行本公开的一个或多个方面的平板计算设备。

具体实施方式

在以下具体实施方式中,对形成其一部分的附图进行了参考,并且在附图中通过图示或具体示例的方式进行示出。在不背离本公开的情况下,可以组合这些方面,可以利用其他方面,并且可以作出结构改变。示例性方面可以作为方法、系统或设备来实践。因此,示例性方面可以采用硬件实施方式、软件实施方式,或者将软件方面和硬件方面相组合的实施方式的形式。因此,以下具体实施方式不应在限制性的意义上理解,并且本公开的范围由所附权利要求及其等同物来限定。

本文所描述的并要求保护的实施方式描述了用于非口头地接合虚拟助手的系统和方法的示例性方面。在各方面,虚拟助手可以通过眼睛注视数据的接收和处理而被接合,这些眼睛注视数据包括但并不限于眼睛固定时间、眼睛闪烁数据、瞳孔扩张和瞳孔收缩、眨眼速率以及角膜反射,诸如此类。此外,在至少一些情况下,可以在与眼睛注视数据相同的时间或相似的时间收集或取回伴随数据或属性数据(本文称为眼睛注视数据的“属性”)。眼睛注视数据的“属性”可以包括但并不限于眼睛注视信号、物理手势、身体位置、头部姿态(或位置)、脸部特征、脸部表情、或者它们的任何组合。与眼睛注视数据形成对比,“眼睛注视信号”可以是指参考数据或统计数据,例如数千个指示人正看着设备或没有看着设备的预先归类图像、预定义手势、与注视方向信息或注视位置信息相关联的角膜反射指数、与特定用户相关联的历史数据等等。在其他的示例中,在至少一些情况下,可以在与眼睛注视数据相同的时间或相似的时间收集或取回上下文数据。上下文数据可以包括但并不限于环境拓扑数据(例如,环境温度、环境光、天气信息、室内vs.室外、光信号等)、空间拓扑数据(例如,物理对象的布置、墙壁和其他障碍物的位置、对象之间的距离、其他人或动物的存在或不存在、其他人或动物的空间位置等)、时间数据(例如,一天中的时间、一年中的时间、日期等)等等。

在另一个方面,可以通过附加处理来接合虚拟助手,该附加处理在一些情况下可以被用于验证(例如,确认或忽视(discount))虚拟助手接合确定。例如,附加处理可以包括但并不限于上下文数据的接收和处理、机器学习算法的应用、接合置信度水平的确定等等。在又一个方面,可以通过非口头信号和口头信号的组合来接合虚拟助手,非语言信号和语言信号的组合包括但并不限于在说出“你好”的同时看着虚拟助手设备。在另一个示例性方面,虚拟助手可以在用户并未看着设备而是指向一个位置并且说“那是什么?”时被接合。考虑到环境的空间拓扑,虚拟助手可以被激活并且向正在指向的用户提供响应。本文所公开的系统和方法可以利用与非口头信号同时进行的自然语言处理来确定用户是否想要与虚拟助手接合。另外地,可以采用至少一种机器学习算法来更加准确地确定与虚拟助手的接合。

图1示出了用于非口头地接合虚拟助手的分布式系统的示例。

可以在电子设备上执行实现用于非口头地接合虚拟助手的系统的系统,该电子设备包括但并不限于客户端设备,例如移动电话102、平板电脑104、个人计算机106以及虚拟助手设备108。所公开的系统可以接收非口头输入数据,该非口头输入数据包括但并不限于眼睛注视数据、眼睛注视数据的属性、上下文数据等。眼睛注视数据的属性可以包括但并不限于眼睛注视信号、手势、头部位置、脸部特征、脸部表情等。上下文数据可以包括但并不限于环境拓扑数据、空间拓扑数据、时间数据等。所公开的系统接着可以在本地、远程地或者使用二者的组合来处理非口头输入。在处理期间,所公开的系统可以依赖于本地数据库和/或远程数据库来确定是否与用户接合和/或制定适当的响应。这可以通过利用存储在与客户端设备102、104、106、108相关联的本地数据库中的本地数据(例如,本地数据集110、112、114、116)和/或存储在服务器118、120、122上或与这些服务器相关联的远程数据库或者二者的组合来完成。

例如,移动电话102可以利用本地数据集110并且经由网络124访问服务器118、120和/或122来处理非口头输入数据以及确定是否激活虚拟助手并提供响应。在其他示例性方面,平板电脑104可以利用本地数据库112和网络124以跨客户端设备和/或跨运行用于虚拟助手的非口头接合的系统的服务器来同步从经处理的非口头输入数据提取的相关特征,以及要接合响应虚拟助手的后续确定。例如,如果在平板电脑104上接收到初始的非口头输入,该非口头输入数据和后续的接合确定和/或响应确定可以在数据库112中本地保存,但是也可以经由网络124与客户端设备102、106、108和/或服务器118、120、122共享。

在另一个示例性方面,虚拟助手设备108可以接收非口头输入。例如,虚拟助手设备108可以接收来自用户的眼睛注视数据。该至少一个眼睛注视数据可以被虚拟助手设备108处理,本地存储在数据库116中,和/或经由网络124与其他客户端设备102、104和106和/或服务器118、120、122共享。另外地,虚拟助手设备108可以接收至少一个眼睛注视属性(例如,眼睛注视信号、物理手势、脸部表情、头部位置等),并且确定用户想要与虚拟助手接合。虚拟助手设备108最初可以提供增量响应(例如,指示器灯光),提示用户继续看着设备,这可以允许虚拟助手设备108接收附加的眼睛注视数据和/或执行附加处理,从而提高该关于用户想要与虚拟助手接合的系统置信度。在虚拟助手设备108达到某个置信度水平之后,虚拟助手就可以向用户提供口头响应。为了确认或忽视接合确定,输入的附加处理可以包括但并不限于确定与虚拟助手接合确定相关联的至少一个置信度水平、应用机器学习算法、收集并评估上下文数据等等。一旦虚拟助手被接合,用户就可以继续与虚拟助手设备108进行交互。

例如,如果用户离开虚拟助手设备108所在的房间并且随后进入个人计算机106所在的另一个房间,则该用户与虚拟助手设备108之间的虚拟助手对话可以在该用户和个人计算机106之间继续。在进入个人计算机106所在的房间之后,个人计算机就可以接收到指示该用户已经进入该房间的输入(例如,通过红外信号、空间拓扑的变化、移动设备信号等)。在进入了该房间时,该虚拟助手可以经由个人计算机106继续接合该用户。在其他示例性方面,该虚拟助手可以不与用户接合直至个人计算机106接收到后续的非口头输入。例如,在进入下一个房间时,用户可能会查看个人计算机106,由此个人计算机106可以接收到至少一个眼睛注视信号、红外信号、脸部识别指示等,这可以提示虚拟助手继续在会话中接合该用户。例如,通过图1中所描绘的分布式系统架构,可以继续进行此对话。例如,用户输入数据和虚拟助手设备108响应数据可以被存储在远程数据库(例如,服务器118、120、122上的)中。个人计算机106可以访问该远程数据库,下载之前存储的用户输入数据和虚拟助手设备108响应数据,并且在该用户和虚拟助手设备108之间的先前会话中断之处继续维持与该用户的接合。在其他示例中,用户输入数据和/或响应数据可以经由网络124(例如,响应于个人计算机106的请求)直接从虚拟助手设备108传输至个人计算机106。如应当理解的,以上示例是出于解释的目的被提供的而并非旨在是限制性的。

在其他示例性方面,非口头虚拟助手接合系统可以在本地部署。例如,如果系统服务器118、120和122不可用(例如,由于网络124不可用或其他原因),则虚拟助手接合系统仍然可以在客户端设备(例如,移动设备102、平板电脑104、计算机106和/或虚拟助手设备108)上操作。在这种情况下,可应用于客户端设备类型(例如,移动设备、平板电脑、膝上型计算机、个人计算机、虚拟助手设备等)的经训练数据集的子集以及至少一个客户端版本的机器学习算法可以被本地缓存,以便自动地对从该客户端设备上的非口头输入数据提取的相关特征作出响应。系统服务器118、120和122可能由于用户选择(例如,故意离线使用)或者出于各种其他原因(包括但并不限于断电、网络故障、操作系统故障、程序故障、错误配置、硬件退化等等)而不可用。

如应当理解的,关于图1所描述的各种方法、设备、组件等并非旨在将系统100限制为由所描述的特定组件来执行。因此,在不背离本文公开的方法和系统的情况下,可以使用附加的拓扑配置来实践本文的方法和系统和/或可以排除所描述的组件。

图2是示出用于非口头地接合虚拟助手的方法的框图。

方法200可以以接收输入操作202开始。在操作202处接收的输入可以包括但并不限于眼睛注视数据、眼睛注视数据的至少一个属性(例如,眼睛注视信号、手势、身体移动、脸部识别数据、头部位置数据、脸部表情数据等)、上下文数据(例如,空间拓扑变化、环境数据、光信号等)、基于话音的输入、历史输入数据和/或响应数据(例如,针对特定用户或者基于普遍的人群数据)等等。在一个示例性方面,虚拟助手设备可以接收来自用户的一系列眼睛注视信号。如本文所使用的,“虚拟助手设备”可以是指独立的、专用的虚拟助手设备(例如,虚拟助手设备108)或者在通用电子设备(例如,电子设备102、104、106)上执行的虚拟助手应用。在一些方面,是独立设备的虚拟助手设备可以被配置为接收“远场”输入数据,而在电子设备上执行的虚拟助手应用则可以被配置为接收“近场”输入数据。例如,独立的虚拟助手设备可以配置有各种硬件(例如,红外、脸部识别、眼睛注视或其他硬件),这些硬件促进从距设备较远的距离检测输入数据(例如,眼睛注视数据、眼睛注视数据的属性、上下文数据等),而在电子设备上运行的虚拟助手应用则可以访问更加有限的硬件(例如,眼睛注视跟踪器),以用于在较近的距离检测输入数据(例如,眼睛注视数据、眼睛注视数据的属性、上下文数据等)。如应当理解的,配置有扩展硬件的或者通信地耦合到扩展硬件的电子设备可以是能够检测距该电子设备较远距离处的输入数据的。

在另外的示例中,“远场”输入可以是指从距电子设备的较远距离处接收的输入数据,并且至少在一些方面,可以是更加广义的输入数据(例如,对头部位置、眼睛注视或显著手势的大体方向(但并非具体的眼睛注视位置)的检测);而“近场”输入数据则可以更加具体或详细(例如,具体眼睛注视位置的检测,或者微妙的手指手势)。例如,虽然近场输入数据可以包括“注视跟踪”(其中眼睛跟踪硬件能够检测到眼睛注视所聚焦的具体位置,例如用户界面上的虚拟助手图标),但是远场输入数据可以包括“注视检测”(其中运动检测或脸部识别硬件能够检测到用户正在看向虚拟助手设备的大体方向)。

在一些方面,虚拟助手设备在接收到眼睛注视信号之前可以处于“休眠”(即,非活跃)模式。在一个示例中,在接收到至少一个眼睛注视信号时,虚拟助手设备可以以指示器灯光或声音的形式提供响应返回到用户,通知用户该虚拟助手设备准备好与该用户接合。如果用户继续通过看着虚拟助手设备来向该虚拟助手设备传输眼睛注视信号,则该设备可以继续在会话中接合该用户。在另一个示例中,在接收到至少一个眼睛注视信号时,该虚拟助手设备可以发起与用户的接合(例如,经由诸如“您好,我能帮您做什么?”之类的问候语)。在又一个示例性方面,该虚拟助手设备可以基于接收到诸如挥手之类的手势而接合用户。

除了输入数据(例如,眼睛注视数据、眼睛注视数据的至少一个属性等)之外,该虚拟助手设备还可以通过“附加处理”来接收上下文数据(或者环境拓扑数据),该上下文数据包括但并不限于一天中的时间(例如,am或pm)、周边地区的天气预报(例如,多云、晴朗或其他)、虚拟助手设备处于房屋中的哪个房间等等。该接合系统可以利用该数据来配置至少一个硬件组件以适应环境上下文。例如,该接合系统可以因为当前预报为多云而配置高分辨率红外相机组件以应对较少的光照。例如,环境拓扑可以包括接收数据(例如,温度读数、天气预报、环境光读数以及用户与电子设备之间的距离)的环境拓扑。在其他示例性方面,该接合系统可以根据所接收到的上下文数据来确定要采用哪个硬件组件来接收后续数据。例如,该接合系统可以确定由于环境光和用户与虚拟助手设备之间的距离的组合,采用高分辨率静物相机设备(例如,dslr)以接收头部位置数据允许输入数据的更加准确的传输,而不是利用高分辨率红外相机组件。在其他示例性方面,可以采用硬件组件的组合来接收输入数据。如应当理解的,如所描述的各种硬件配置所实现的每种检测技术都可以具有被因素(例如,距离、天气、环境光、温度或其他环境拓扑)影响的相关联的性能特性。在一些情况下,接合检测操作可以基于上下文数据而被自动调适,例如通过基于上下文数据的附加处理而采用一种检测方法或硬件配置而不是另一种。

在另外的示例中,虚拟助手设备可以接收的输入数据可以由之前存储的数据组成,之前存储的数据可以直接地从另一个客户端设备(例如,客户端设备102、104、106和108)传输,或者远程地从数据库(例如,存储在服务器118、120和122上)传输。所存储的数据可以由用户特定数据组成。例如,虚拟助手设备可以接收之前捕捉的用户脸部图像、头部姿态图像和/或身体位置图像的集合。在其他实例中,虚拟助手可以接收众包图像,这些众包图像反映典型的脸部表情(例如,微笑、大笑、皱眉等)、头部姿态(例如,回头大笑、悲伤或顺从地低头、头转向一侧或者另一侧地怀疑等等)和/或身体位置(例如,直立且对抗性(confrontational)、懒散且疲惫或顺从、拘谨且不适、放松且舒适等等)。该虚拟助手设备可以利用该图像集合来确定用户当前是否正看着该设备,这可以指示用户希望与该设备接合。在其他示例性方面,该设备可以接收之前以自然语言形式存储的数据(例如,文本抄本、音频文件等),其可以表示用户和另一个虚拟助手设备之间的先前对话。例如,如之前所描述的,如果用户正在与第一电子设备上的虚拟助手(例如,独立的虚拟助手设备)接合并且随后移动至另一个房间并且继续经由第二电子设备(例如,个人计算机、膝上型计算机、平板电脑设备、移动设备等)与该虚拟助手接合,该第二电子设备可以接收与该用户和第一电子设备之间的交互相关联的任何数据。

在处理输入操作204处,该输入可以被分析以确定来自虚拟助手设备的至少一个响应。例如,该设备可以接收一个或多个眼睛注视信号以及与该一个或多个眼睛注视信号中的每一个相关联的位置。如果眼睛注视信号的位置处于与虚拟助手设备相关联的指定边界之内,则该接合系统可以确定用户想要与该虚拟助手设备接合。在另一个示例性方面,虚拟助手设备可以接收至少一个头部姿态(或头部位置)位置,其中该头部姿态位置处于与该设备相关联的某个边界之内。例如,如果用户的头部转离虚拟助手设备,则该头部姿态输入可以被处理以指示该用户并不希望与该虚拟助手设备接合。在用户转向并看着虚拟助手设备时,该头部姿态输入可以被处理以指示该用户确实希望与该虚拟助手接合。在一些示例性方面,用户可能短暂地从虚拟助手设备转离,但是虚拟助手可以保持与用户接合。例如,接合系统可以被配置为允许在一段指定的时间内从虚拟助手设备偏离。在一些实例中,虚拟助手设备可以被配置为在已经过去了十秒钟而没有输入指示用户想要发起和/或维持与虚拟助手的接合之后中断与用户的接合。替代地,即使在眼睛注视或其他数据不可用时(例如,在用户转过身或者用户已经离开房间时),口头暗示也可以向虚拟助手设备指示用户打算继续接合。在其他示例性方面,接合系统可以依赖于基于用户特定数据训练的机器学习算法,以根据用户的话音模式、上下文暗示和身体语言模式等其他数据而允许更长或更短的偏离。

在一些示例性方面,非口头输入可以与口头输入组合。在处理输入操作204处,口头输入可以附加地与非口头输入同时被处理。例如,处理操作204可以由向输入数据应用至少一种自然语言处理(“nlp”)算法组成。例如,该接合系统可以接收非口头暗示(例如,眼睛注视信号、头部姿态位置、手势等)和至少一个口头暗示(例如,问候、关注词等)。nlp算法可以处理该至少一个口头暗示,并且处理结果可以被用于确定用户是否想要接合虚拟助手设备。例如,用户可能表现为看向虚拟助手设备的方向并且可能正在讲话。在虚拟助手设备被配置为接收来自用户的眼睛注视信号和头部姿态位置时,该接合系统可以接收眼睛注视信号和头部姿态位置,以及该用户的口头输出。如果用户在看着虚拟助手设备或者看向虚拟助手设备的方向时说出了关注词,则非口头输入和关注词之间的组合可以提高该接合系统关于用户想要与虚拟助手接合的置信度,并且因此,可以提示虚拟助手提供响应回到用户。替代地,如果用户说“joe,看这个”,则尽管接收到暗示用户想要接合虚拟助手的眼睛注视信号和头部姿态位置,但是nlp算法结果可以向接合系统指示该用户并非打算接合虚拟助手设备。在一些示例性方面,相反的可能是真的。用户可以明确讲出短语“joe,看这个”,但是该用户和虚拟助手设备之间的先前会话历史可以指示该用户打算向joe展示与虚拟助手设备相关联的某样东西。因此,虚拟助手可以保持与用户接合。

处理输入操作204的自然语言处理器可以针对语义模式和句法模式而将当前的口头输入与历史输入相比较,以更准确地确定该口头输入的含义和意图。nlp结果可以结合非口头输入使用以确定用户是否想要与虚拟助手设备接合。与虚拟助手设备接合可以包括发起与设备新的会话和/或维持与该设备的会话。

处理输入操作204还可以对将原始输入数据转换为机器可读数据负责。在一些方面,机器可读数据可以被存储在本地数据库、远程数据库或其二者的组合中。在图3中关于输入处理器进一步描述了处理输入操作204。

评估接合置信度水平操作206可以从处理输入操作204接收处理结果,并且通过附加处理可以确定用户和虚拟助手设备之间的接合的置信度水平。例如,如果处理结果指示一系列眼睛注视信号在某个时段内并非固定在虚拟助手设备上,则接合系统关于用户想要接合虚拟助手的置信度可以较低。接合系统的置信度水平可以考虑确定置信度水平的固定门限。固定门限可以被定义为激活虚拟助手所要求的预定时段。替代地,如果经处理的输入指示一系列眼睛注视信号集中在虚拟助手设备上固定的位置或者处于虚拟助手设备界面(例如,在计算设备上执行的)的特定位置上,则接合系统关于用户想要接合虚拟助手的置信度可以较高。评估操作206还可以考虑其他非口头输入,例如头部位置、空间拓扑数据、环境特定数据、用户特定历史数据、手势等。另外地,评估操作206可以考虑口头输入,例如来自一个或多个用户的口述输入。在一些情况下,评估操作206可以在评估接合系统的置信度水平时同时考虑非口头输入和口头输入二者。

接合系统的置信度水平可以基于门限。例如,基于数据的训练集,评估操作206可以将处理结果返回为高于门限值的值,其可以指示用户想要接合虚拟助手。替代地,评估操作206可以将处理结果返回为低于门限值的值,其可以指示用户并非想要接合虚拟助手。在其他示例性方面,评估操作206可以参考至少一种机器学习算法以确定用于确定用户是否打算与虚拟助手接合的门限置信度水平。例如,用户可能已经将虚拟助手设备相邻电视屏幕放置。在虚拟助手设备和电视屏幕之间所接收到的眼睛注视数据(例如,信号位置)可能是相似的。随着时间的推移,随着接合系统继续收集来自用户和周围环境的数据,该接合系统可以被训练以识别用户何时打算看电视以及用户何时打算与虚拟助手设备接合。这样,初始的置信度水平门限可以随着更多数据被机器学习算法或者在接合系统内操作的其他处理系统接收并处理而随时间被调节。

在确定响应操作208处,可以由接合系统确定响应。例如,如果来自处理输入操作204的经处理的结果以及来自评估操作206的置信度水平结果指示用户想要与虚拟助手接合,则可以确定至少一个接合响应。例如,该响应可以是出现在虚拟助手设备上的指示器灯光,以向用户指示虚拟助手设备检测到用户打算与虚拟助手接合。在其他示例性方面,该响应可以是指示器声音。如果用户继续提供针对虚拟助手设备的输入(例如,眼睛注视信号、头部姿态位置、手势等),则可以生成针对用户的口头响应,例如“您好,我能帮您做什么?”。在该实例中,虚拟助手可以被认为已经被激活并且与用户完全接合,直到所接收的输入指示用户不再想要与虚拟助手接合。

在另外的示例性方面,所确定的响应可以是从一个设备到另一个设备的数据传输。如之前所讨论的,用户当前可以与虚拟助手设备(例如,虚拟助手设备108)接合并且随后可能移动至另一个房间而在该虚拟助手设备视野之外。在检测到用户已经离开房间时,该虚拟助手设备可以将之前所存储的输入数据(包括会话数据)传输至可以位于其他房间中的另一个客户端设备。在进入了该其他房间并且看着该客户端设备(例如,膝上型计算机)时,该客户端设备可以接收到来自用户的非口头输入(例如,头部姿态、眼睛注视或其他形式)并且可以继续会话式对话(conversationaldialogue)。在一些示例性方面,在用户进入另一个房间时,该接合系统可以预期用户要继续与该客户端设备的会话式对话。在这种情况下,该接合系统可以在一些实例中自动降低该用户和客户端设备之间的接合的置信度门限。

在其他示例性方面,所确定的响应可以是避免接合用户。例如,被方法200接收并处理的输入可以是零散的眼睛注视信号,它们可以登记在相似位置处或可以不登记在相似位置处。评估操作206可以将该经处理的结果以低于门限值的接合的置信度水平登记。这样,所确定的响应可以是用于避免与用户接合,这是因为该输入指示用户并非打算与虚拟助手接合。在一些方面,输入数据、经处理的结果以及要避免接合用户的相关联的确定可以被存储在本地数据库或远程数据库中以用于训练一种或多种算法。

确定响应操作208,其还可以确定用户是打算维持与虚拟助手设备的会话还是结束该会话。例如,用户与虚拟助手设备接合并且随后可能将他或她的头从该设备转离,使得该用户的眼睛注视信号和/或头部姿态位置可以指示该用户并不想继续与虚拟助手的接合。然而,在评估用户是打算继续还是结束与虚拟助手设备的会话时,接合系统可以考虑同时期的非口头输入数据(例如,眼睛注视信号或头部姿态位置)以外的其他数据。在一个实例中,该接合系统可以考虑会话式对话的实质。如果用户在其进入另一个房间时正处于一句话的中间或者之前已经问过问题且尚未从虚拟助手设备接收到响应,则该接合系统可以确定该用户仍然打算与虚拟助手设备接合。在一个具体示例中,用户可能正处于向虚拟助手询问问题的中途,但是可能暂停以思考如何表达该问题的其余部分。在该暂停期间,用户可能从虚拟助手设备转离并且作出思考手势,例如用手揉搓下巴、挠头等。该虚拟助手设备可以接收到该思考手势作为用户输入并处理该输入。该思考手势的处理结果与有关会话实质的nlp数据组合可以使得虚拟助手设备确定用户并非想要中断接合,而是需要一点时间以在继续与虚拟助手的对话前进行思考。这样,接合系统可以在确定用户不再希望与虚拟助手接合之前自动分配较长的“保持”时间。

在提供响应操作210处,来自操作208的所确定的响应可以被提供。如之前所讨论的,该响应可以是非口头响应,例如虚拟助手设备上的指示器灯光的点亮或者指示器声音的播放。其他响应可以由口头响应组成,该口头响应提示用户在会话中接合虚拟助手(例如,“您好,我能帮您做什么?”)。提供响应操作210可以向用户提供单个响应,同时向另一个电子设备提供响应(例如,将输入数据和/或处理结果传输至运行该虚拟助手的另一个电子设备)。这样,提供响应操作210可以是能够在相同或相似时间提供多个响应的。在一个示例性方面,指示器灯光可以点亮并且虚拟助手可以在相同或相似的时间向用户提供口头响应。

在存储输入和处理数据操作212处,所接收的输入数据和/或处理结果可以被本地、远程、或者以本地数据库和远程数据库的组合来存储。输入数据和处理结果可以被存储以供至少一个电子设备未来访问。该电子设备可以是运行虚拟助手应用的客户端设备(例如,客户端设备102、104、106、108),或者该电子设备可以是运行虚拟助手应用且通信地耦合到客户端设备的服务器(例如,服务器118、120、122)。在一些情况下,所存储的输入数据和/或处理结果可以在图1所描述的分布式网络内的不同设备间传输。运行虚拟助手应用的其他设备可以在确定如何最佳地对某些用户和/或环境作出响应时利用所存储的数据。例如,所存储的数据和处理结果可以被至少一种机器学习算法利用。该至少一种机器学习算法可以参考输入数据和/或处理结果并且可以相应地进行更新,如关于更新算法操作214所描述的。这样,与接合系统相关联的至少一种机器学习算法可以变得对用户特定的非口头输入更加熟悉。例如,该机器学习算法可以利用从高分辨率静物相机捕捉的数据并且将经分类的彩色眼睛图像的先前数据与经分类的彩色眼睛图像的当前捕捉的数据进行比较。因此,随着更多的数据被存储并被该至少一种机器学习算法处理,分类的准确性可以随着时间的推移而提高。

在各方面,存储输入和处理数据操作212可以在多个操作上发生并且可以在该方法的较早阶段发生。在一个示例性方面,处理数据可以紧接在处理输入操作204之后被存储。在另一个示例性方面,所确定的响应可以紧接在确定响应操作208之后被存储。另外地,存储输入和处理数据操作212可以在与确定响应操作208或提供响应操作210相同或相似的时间发生。

在更新算法操作214处,所存储的数据和处理结果被用于更新至少一种机器学习算法。该至少一种机器学习算法可以跨多于一个的客户端设备共享并且在本地被复制,使得该算法可以在网络宕机期间操作。从一个客户端设备接收的输入可以被用于更新至少一种机器学习算法,并且经更新的算法可以被立即传输至另一个客户端设备(例如,经由网络124或者通过经由蓝牙的直接传输),使得无论用户与哪个电子设备进行交互,该用户都可以继续与最新的虚拟助手交互。

如应当理解的,关于图2描述的各种方法、设备、组件等并非旨在将方法200限制为由所描述的特定组件执行。因此,在不背离本文所公开的方法和系统的情况下,附加的拓扑配置可以用于实践本文的方法和系统和/或所描述的组件可以被排除。

图3是示出输入处理器的框图。

输入处理单元300被配置为接收输入。在一些示例性方面,输入处理单元300可以被配置为根据至少一种机器学习算法来自动处理输入数据,该至少一种机器学习算法在与至少一个建立的数据库相关联的至少一个数据集上进行训练。所建立的数据库可以由选择的眼睛注视信号、数千个预先归类图像(其指示人是看着设备还是没有看着设备)、预定义手势等组成。眼睛注视数据可以包括但并不限于眼睛固定时间、眼睛闪烁数据、瞳孔扩张和收缩、眨眼速率和角膜反射,诸如此类。至少一种机器学习算法可以在与该所建立数据库相关联的逻辑参数集上进行训练。输入可以包括但并不限于来自用户的非口头输入、来自用户的口头输入、非用户输入(例如,第三方数据库输入)以及上述各项的组合。

在输入处理器300接收到输入数据之后,输入解码器引擎302可以解释该数据。输入解码器引擎302可以通过确定输入数据是否应当被转换为机器可读格式来解释该数据。例如,输入处理器300所接收到的输入可以为原始格式,例如眼睛注视信号、手势、口头输入等。该原始输入在处理可以开始之前可能要求转换为机器可读格式。输入解码器引擎302可以采用数据转换方案来将原始输入数据转换为机器可读格式。例如,该数据转换方案可以包括对数据进行标准化和/或构造数据而使得该数据可以被一致地传输至输入处理器300内的其他引擎和/或被其分析。如果该输入被确定处于不要求进一步转换的机器可读位的模式,则该输入可以被传输至输入处理器300内的另一个引擎以进行进一步处理。

在其他示例性方面,输入解码器引擎302可以确定输入数据的来源并且在处理之前相应地对数据进行归类。例如,一个用户所接收到的手势可以被输入解码器引擎302分类为属于第一用户。另一个用户所接收到的手势可以被输入解码器引擎302分类为属于第二用户。可以针对特定用户生成至少一种机器学习算法或机器学习算法内的函数。这样,根据用户对输入预先归类可以提高本文所公开的接合系统的处理效率。

结合非口头用户输入,可以接收口头用户输入。如果输入处理器300接收到口头输入,则输入解码器引擎302可以确定该口头输入应当被nlp引擎304处理。nlp引擎304可以解析输入数据并且提取各种语义特征和分类器(以及输入数据的其他方面),以确定用户是否想要与虚拟助手接合。该输入数据可以被转换为可以由至少一种机器学习算法理解和处理的语义表示形式,以被接合系统智能地分解输入数据并且确定适当响应。

在其他示例性方面,该接合系统可以利用红外眼睛引擎306来处理用户的非口头输入。例如,与高分辨率红外相机共置的选通红外发光体可以被附接至虚拟助手设备或者与之通信。该高分辨率相机可以被用于检测用户的眼睛是否看向虚拟助手设备的方向。在一些方面,这样的高分辨率相机可以被用于远场输入数据或近场输入数据。例如,可以通过分析发光体(“闪烁”)在所检测瞳孔的中心处的反射来执行“注视检测”。光线(通常为红外线)可以从眼睛反射并且被高分辨率相机或另一个光学传感器感测。高分辨率相机所接收到的信息可以被传输至输入处理器300,并且随后被红外眼睛引擎306处理。注视检测输入可以被分析以从反射的变化提取眼睛旋转。在一些示例性方面,红外眼睛引擎306可以处理角膜反射(第一purkinje图像)以及瞳孔的中心。该接合系统可以在一个时段内持续反复地跟踪角膜反射和瞳孔的中心二者以确定用户看向何处(例如,什么方向)。在另一个示例性方面,红外眼睛引擎306可以与双重purkinje眼睛跟踪器相关联,该眼睛跟踪器分析来自角膜前方的反射(第一purkinje图像)和晶状体后方的反射(第四purkinje图像)作为要跟踪的注视检测特征。在又一个示例性方面,红外眼睛引擎306可以与光学设备相关联,该光学设备跟踪眼睛的更详细特征(例如,视网膜血管),并且随着眼睛旋转而跟随这些特征。

取决于可以虚拟助手接合系统所采用的光学设备,红外眼睛引擎306可以对处理与瞳孔跟踪和/或角膜反射相关联的数据负责。另外地,除了本领域技术人员已知的其他方法之外,红外眼睛引擎306还可以通过使用极性交叉关联方法以及虹膜图案匹配/跟踪来处理并分析与扭转分量(即,旋转(cyclorotation))相关的数据。

在其他示例性方面,结合特别设计的硬件,该虚拟助手接合系统可以利用注视锁定引擎308,该特别设计的硬件被配备以接收被动的、基于外观的目光接触信号以及头部姿态位置。例如,结合机器学习算法(例如,支持向量机或“svm”),通过利用被配置为接收头部姿态位置的高分辨率相机,可以作出关于用户是否正看着虚拟助手设备的准确的确定。最初,注视锁定引擎308可以接收头部姿态数据并且在每个所接收图像中定位眼睛。眼睛可以被变换至标准坐标框架。在一个示例性方面,通过取得从商用脸部和基准点检测器输出的眼角位置,可以在图像中定位眼睛。可以对图像内的坐标框架应用仿射变换,并且可以将双眼区域连结在一起以形成完整的图像。注视锁定引擎308可以继续遮盖眼睛周围的区域,以更好地确定用户所看之处。掩模(mask)可以是具有处于连接两个眼角的线段上的主轴线的固定大小的椭圆形。在应用掩模之后,剩余的像素强度值可以被连结为高维特征矢量,该高维特征矢量可以被标准化为单位大小。单位大小特征矢量可以表示眼睛外观的最终表示形式。

注视锁定引擎308可以继续经由主分量分析和/或多重判别分析而将该高维特征矢量投射到低维空间上。经投射的矢量接着可以被传输至在注视锁定引擎308内操作的至少一种机器学习算法,例如svm。该至少一种机器学习算法可以分析经投射的矢量并且确定眼睛是否处于注视锁定。如果该至少一种机器学习算法确定经投射的矢量处于注视锁定,则注视锁定引擎308可以取回那些结果并且将它们传输至响应确定引擎312,其中该结果可以指示用户想要与虚拟助手设备交互。

在其他示例性方面,输入处理器300可以利用多模式引擎310。例如,用户可能想要与虚拟助手设备交互,但是可能并未看着虚拟助手设备。这样,虚拟助手接合系统可能无法接收并处理目光接触数据和眼睛注视数据。这样,多模式引擎310可以被利用以通过识别和处理各种数据(例如,物理手势、语音暗示、空间拓扑和其他视觉资源)来确定用户是否打算与虚拟助手设备交互。例如,用户可能正在把目光从虚拟助手设备上移开并且指向远离该设备的位置,同时说“那是什么?”如果虚拟助手接合系统识别出该用户是房间(并且可能是另一个虚拟助手设备可以所在的相邻房间)中仅有的人,则该接合系统可以确定该用户打算对着该虚拟助手讲话。因此,该虚拟助手可以相应地作出响应。在另一个示例性方面,用户的后背可能从虚拟助手转开,而该用户仍然可以基于口头输入和/或身体姿态而与虚拟助手接合。多模式引擎310可以与使用运动检测软件和/或手势识别软件跟踪物理移动的各种硬件设备相兼容。多模式引擎310还可以与利用图像和信号处理来识别并处理周围环境的布局的高分辨率相机相关联。周围环境的布局可以被处理并且被用于更好地确定用户是否打算接合虚拟助手。例如,如果虚拟助手设备被放在起居室中,则用户在与该虚拟助手设备接合时就可能经常坐在该起居室的具体地方。用户处于某个位置的起居室所捕捉的布局越多,可以提示至少一种机器学习算法在用户被检测到处于环境中的该位置时预期接合。这样,在接合系统检测到用户处于起居室内的该位置时,接合的置信度水平(如图2的操作206中所描述的)就可以被自动提高(和/或接合所要求的门限可以被降低)。

多模式引擎310还可以与光学感测硬件(例如,高分辨率相机)相兼容,如关于红外眼睛引擎306和注视锁定引擎308所描述的。多模式引擎310可以结合其他硬件特征利用该硬件以更准确地确定用户想要与虚拟助手接合或中断接合。

响应确定引擎312可以被配置为接收经处理的输入数据。该经处理的输入数据可以直接从输入解码器引擎302被传递或者通过输入处理器引擎(例如,nlp引擎304、红外引擎306、注视锁定引擎308、多模式引擎310等)中的另一个被传递。响应确定引擎312可以在确定如何最佳地对输入作出响应时考虑经处理的输入数据结果。例如,用户可能想要发起与虚拟助手的会话,并且从用户接收的输入可以是一系列眼睛注视信号和手部手势(例如,挥手)。该输入可以被红外引擎306以及(可能地)多模式引擎310处理。经处理的结果可以被响应确定引擎312分析以确定要提供给用户的最适当的响应可以是接合对话,例如“您好,有什么我能帮忙的?”在另一个示例性方面,用户可能正在计算机屏幕前方观看视频。该计算机可以运行虚拟助手。在该视频期间,用户可以询问“那是什么?”虽然该问题并未包括“唤醒”词,但是该虚拟助手接合系统可以接收该对话并且迅速激活,以相应地对用户作出响应。该系统不仅可以接收用户的口头输入,该系统还可以接收用户指向屏幕以及屏幕内容的物理手势(例如,一系列截屏可以被接合系统捕捉并处理)。

在另一个示例性方面,多个人可能一起在具有虚拟助手设备的房间中。该用户群组可能希望共同与虚拟助手设备接合。通过使用红外感测、注视锁定跟踪或其他多模式方法,该设备可以识别多个眼睛注视信号、头部姿态位置以及指示用户群组想要与虚拟助手接合的其他输入数据。响应确定引擎312接着可以确定针对该用户群组的最适当响应是口头响应,其可以对着每个人讲话:“大家好。有什么我能帮忙的?”

在又一个示例性方面,用户可能正在与虚拟助手设备相同的房间中与其他个人进行会话。该用户可能会快速一瞥虚拟助手设备并且询问“明天天气怎么样?”该用户接着可能恢复与另一个个人的会话,将他或她的注意力从虚拟助手设备转开。该虚拟助手接合系统可以接收用户输入,这是可能已经伴随着用户快速一瞥的口头输入以及非口头眼睛注视信号二者。该输入可以被输入处理器300处理,并且响应确定引擎312接着可以确定如何适当地作出响应。在该具体实例中,该快速一瞥可能尚未向虚拟助手接合系统提供关于用户想要与虚拟助手接合的足够指示。如果响应确定引擎312并不确定关于用户是否打算接合虚拟助手,则响应确定引擎312可以确定澄清性响应询问可能是最适当的响应:“抱歉,您是在问我天气吗?”然而,在其他示例性方面,至少一种机器学习算法可以处理来自用户的快速一瞥并且确定该用户确实打算接合虚拟助手。这样,响应确定引擎312、可以针对用户的询问提供立即的回答:“明天的天气是70度,午后小概率有阵雨”。

如应当理解的,关于图3所描述的各种方法、设备、组件等并非旨在将系统300限制为由所描述的特定组件来执行。因此,在不背离本文所公开的方法和系统的情况下,附加的拓扑配置可以用于实践本文的方法和系统和/或所描述的组件可以被排除。

图4示出了与虚拟助手的近场接合的示例。

在一些方面,与虚拟助手的近场接合可以包括用户处于运行虚拟助手应用的电子设备的大约一米或更短的距离内。例如,用户402可以处于个人计算机404的一米之内。个人计算机404可以配备有眼睛跟踪器硬件,例如眼睛跟踪器设备406。眼睛跟踪器设备406可以是高分辨率红外感测相机,或者在其他示例性方面,其可以是由注视锁定引擎(例如,注视锁定引擎308)供电的高分辨率相机。在一些方面,与远场接合相比,内置在个人计算机404中的眼睛跟踪器硬件406可以更适应支持近场接合。例如,由于用户通常通过坐在个人计算机的大约一米之内并面向个人计算机的显示设备(或屏幕)来与该个人计算机接合,所以眼睛跟踪器硬件406可以被配置为在用户402非常接近个人计算机404时,该眼睛跟踪器硬件406是最准确的。

用户402可以通过看着位于屏幕的左下方的虚拟助手搜索框408来接合虚拟助手。用户402的眼睛注视410(由外围三角棱镜表示)可以被眼睛跟踪器硬件406接收并且被虚拟助手接合系统处理。可以基于用户输入向用户提供响应。例如,对虚拟助手搜索框408的快速一瞥可以使得指示器灯光开启。在其他示例性方面,其可能使得虚拟助手标志或其他图标(例如,的标志)在屏幕上亮起,并且搜索框408的内容可以变为指示虚拟助手处于“就绪”状态。在其他的示例性方面,虚拟助手可以经由搜索框408中的屏幕上的文本输出,通过附接至个人计算机404的扬声器以口头方式,或者经由文本输出和口头输出二者的组合立即对用户作出响应。

与虚拟助手的近场接合还可以在用户与膝上型计算机、移动设备或平板电脑交互时发生,其中用户往往在设备大约一米的距离内与这样的设备进行交互。这样,内置相机可以接收并处理来自用户的输入以确定要返回给用户的最适当的响应。

如应当理解的,关于图4所描述的各种方法、设备、组件等并非旨在将系统400限制为由所描述的特定组件执行。因此,在不背离本文所公开的方法和系统的情况下,附加的拓扑配置可以用于实践本文的方法和系统和/或所描述的组件可以被排除。

图5示出了接合指示的示例。

如之前在图4中所描述的,由虚拟助手接合系统提供的许多响应之一可以是指示器灯光的点亮并且可能是虚拟助手搜索框的变化。如所示出的,搜索框502示出了被中断接合(或非活跃)的虚拟助手。这可以被灰色的或非点亮的虚拟助手图标503证明。替代地,如所示出的,搜索框504示出了被接合的虚拟助手,如由点亮的虚拟助手图标505以及位于搜索框504中的接合文本输出二者证明的。

如应当理解的,关于图5所描述的各种方法、设备、组件等并非旨在将系统500限制为由所描述的特定组件执行。因此,在不背离本文所公开的方法和系统的情况下,附加的拓扑配置可以用于实践本文的方法和系统和/或所描述的组件可以被排除。

图6示出了与虚拟助手的远场接合的示例。

远场接合允许用户在远离虚拟助手设备超过一米的同时与虚拟助手进行交互。例如,用户602可以通过凝视虚拟助手设备604而与虚拟助手设备604接合。位于虚拟助手设备上的相机606可以是高分辨率红外相机,其被配置为从2米至5米的距离捕捉目光接触数据和光反射。在其他示例性方面,该高分辨率相机可以被配置为捕捉用户注视锁定数据。在用户聚焦在虚拟助手设备604一个时段之后,虚拟助手610可以接合该用户。最初,虚拟助手接合系统可以提供指示器灯光。例如,虚拟助手设备或者其至少一部分可以点亮。在另一个示例性方面,虚拟助手设备可以提供指示器声音以通知用户该虚拟助手准备好与该用户接合。

远场接合还可以采用脸部识别技术。在多个人与虚拟助手设备一起在房间中的一些情况下,脸部识别技术可以允许虚拟助手接合系统在特定用户想要与虚拟助手接合时加以辨别。例如,虚拟助手接合系统可能接收到来自房间内的各个人的多个不同对话,但是一旦接合系统检测到该虚拟助手设备的用户(例如,所有者)的脸,则除了从该用户接收到的任何对话之外,该接合系统还可以聚焦于该用户的脸部表情。特别地,该接合系统可以采用注视锁定引擎308来确定该用户正所看之处(例如,朝什么方向和/或看着环境内的什么位置)。如果用户正在讲话,该接合系统还可以采用多模式引擎310来确定用户嘴唇的形状。在一些实例中,因为会话量增加,虚拟助手设备可能无法将口头输入与特定用户隔离。在这种情况下,该接合系统可能需要聚焦于该用户的脸部特征和动作来解读该用户与虚拟助手接合的意图,以及针对虚拟助手的任何询问的实质内容。在各方面,“脸部特征”可以包括但并不限于使得能够识别出特定个人的区别特征(例如,眼睛距离、鼻子形状和大小、嘴的位置和大小、嘴唇形状和大小等)、脸部表情(例如,微笑、皱眉、讲话、大笑等)和/或眼睛的特征(例如,眼睛颜色、瞳孔扩张、眼睛形状、眼睛大小等)。

如应当理解的,关于图6所描述的各种方法、设备、组件等并非旨在将系统600限制为由所描述的特定组件执行。因此,在不背离本文所公开的方法和系统的情况下,附加的拓扑配置可以用于实践本文的方法和系统和/或所描述的组件可以被排除。

图7a示出了未接合的虚拟助手的示例。

如所示出的,个人计算机701a包括对并未与虚拟助手接合的用户的检测过程的示例的馈送702a。在一些示例性方面,馈送702a可以向用户显示。在其他示例性方面,馈送702a可以不向用户显示并且在内部进行操作以帮助接合系统进行检测。指示器框704a可以表示所检测到的注视和/或用户与接合框706a的接近度,该接合框706a表示用于接合虚拟助手的外部边界(或门限)。在一些方面,指示器框704a可以跟踪头部位置以及其他空间拓扑数据,并且接合框706a可以跟踪用户的头部姿态和眼睛注视。

图7b示出了已接合的虚拟助手的示例。

在指示器框704b和接合框706b之间实现对准时,虚拟助手搜索栏708b可以点亮。在一些示例性方面,可以播放指示器噪声。在指示器框704b共置在接合框706b内达预定时段之后,虚拟助手可以被激活,如可以由虚拟助手搜索框708b中的文本变化和/或图形变化和/或来自虚拟助手的口头输出证明的。

在一些示例性方面,眼睛跟踪器硬件710b可以表示红外光学硬件、被配置用于注视锁定的高分辨率相机、眼睛注视跟踪器和/或配备有至少一个传感器的多模式机器。

如应当理解的,关于图7a和图7b所描述的各种方法、设备、组件等并非旨在将系统700限制为由所描述的特定组件执行。因此,在不背离本文所公开的方法和系统的情况下,附加的拓扑配置可以用于实践本文的方法和系统和/或所描述的组件可以被排除。

图8-11以及相关联的描述提供了可以在其中实践本公开的各方面的各种操作环境的讨论。然而,如本文所描述的,关于图8-11所示出和讨论的设备和系统出于示例和说明的目的,而不是限制可以用于实践本公开的各方面的大量计算设备配置。

图8是示出可以用于实践本公开的各方面的计算设备800的示例性物理组件(例如,硬件)的框图。以下所描述的计算设备组件可以具有用于在计算设备(例如,服务器计算设备和/或客户端计算设备)上实现虚拟助手接合管理器820的计算机可执行指令。用于虚拟助手接合管理器820的计算机可执行指令可以被执行以实现本文所公开的方法,包括接收非口头输入以确定与虚拟助手的接合的方法。在基本配置中,计算设备800可以包括至少一个处理单元802和系统存储器804。取决于计算设备的配置和类型,系统存储器804可以包括但并不限于易失性存储装置(例如,随机存取存储器)、非易失性存储装置(例如,只读存储器)、闪存、或者这些存储器的任何组合。系统存储器804可以包括操作系统805以及适合于运行虚拟助手接合管理器820的一个或多个程序模块806(例如,关于图1-7的一个或多个组件),以及特别地,非口头输入管理器811、自然语言处理器(nlp)管理器813、响应提供器815和/或ux组件817。

例如,操作系统805可以适合于控制计算设备800的操作。此外,本公开的实施例可以结合图形库、其他操作系统或任何其他应用程序来实践,并且不限于任何特定的应用或系统。该基本配置在图8中由虚线808内的那些组件示出。计算设备800可以具有附加特征或附加功能。例如,计算设备800还可以包括附加数据存储设备(可移除的和/或不可移除的),例如磁盘、光盘或磁带。这样的附加存储装置在图8中由可移除存储设备809和不可移除存储设备810示出。

如上所述,多个程序模块和数据文件可以存储在系统存储器804中。在处理单元802上执行的同时,程序模块806(例如,虚拟助手接合管理器820)可以执行包括但并不限于如本文所描述的各方面的处理。可以根据本公开的各方面来使用并且特别用于接收非口头输入以确定与虚拟助手的接合的其他程序模块可以包括非口头输入管理器811、nlp管理器813、响应提供器815和/或ux组件817等。

此外,本公开的实施例可以在包括分立电子元件的电子电路、包含逻辑门的封装电子芯片或集成电子芯片、利用微处理器的电路中实践,或者在包含电子元件或微处理器的单个芯片上实践。例如,本公开的实施例可以经由片上系统(soc)来实践,其中图8所示的组件中的每一个或许多个可以被集成到单个集成电路上。这样的soc设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,所有这些都被集成到(或“烧录到”)芯片基板上作为单个集成电路。在经由soc操作时,关于切换协议的客户端能力的本文所描述的功能可以经由在单个集成电路(芯片)上集成有计算设备800的其他组件的专用逻辑来操作。本公开的实施例还可以使用能够执行逻辑运算(例如,and(与)、or(或)和not(非))的其他技术来实践,这些技术包括但不限于机械、光学、流体和量子技术。此外,本公开的实施例可以在通用计算机内或任何其他电路或系统中实践。

计算设备800还可以具有一个或多个输入设备812,例如键盘、鼠标、笔、声音或语音输入设备、触摸或刷卡输入设备等。还包括输出设备814,例如显示器、扬声器、打印机等。上述设备是示例并且可以使用其他设备。计算设备800可以包括允许与其他计算设备850通信的一个或多个通信连接816。适合的通信连接816的示例包括但并不限于射频(rf)发射器、接收器和/或收发器电路;通用串行总线(usb)、并行和/或串行端口。

如本文所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以任何方法或技术实现的用于存储信息(例如,计算机可读指令、数据结构或程序模块)的易失性和非易失性、可移除和不可移除介质。系统存储器804、可移除存储设备809和不可移除存储设备810都是计算机存储介质示例(例如,存储器存储装置)。计算机存储介质可以包括有形存储介质,例如ram、rom、电可擦除只读存储器(eeprom)、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光存储装置、磁带盒、磁带、磁盘存储或其他磁性存储设备,或者可以用于存储信息且可以由计算设备800访问的任何其他制品。任何这样的有形计算机存储介质都可以是计算设备800的一部分。计算机存储介质可以是不包括载波或其他传播或调制的数据信号的非暂时性介质。

通信介质可以由计算机可读指令、数据结构、程序模块或者调制数据信号中的其他数据(例如,载波或其他传输机制)体现,并且包括任何信息传递介质。术语“调制的数据信号”可以描述具有以将信息编码在信号中的这样的方式所设置或改变的一个或多个特性的信号。通过示例而非限制的方式,通信介质可以包括有线介质(例如,有线网络或直接线路连接)以及无线介质(例如,声音、射频(rf)、红外和其他无线介质)。

图9a和图9b示出了可以利用其实践本公开的实施例的移动计算设备900,例如移动电话、智能电话、可穿戴计算机(例如,智能手表或用于虚拟现实应用的头戴式显示器)、平板电脑、膝上型计算机等。在一些方面,客户端可以是移动计算设备。参考图9a,示出了用于实现各方面的移动计算设备900的一个方面。在基本配置中,移动计算设备900是具有输入元件和输出元件二者的手持式计算机。移动计算设备900通常包括显示器905以及允许用户将信息录入到移动计算设备900中的一个或多个输入按钮910。移动计算设备900的显示器905也可以充当输入设备(例如,触摸屏显示器)。如果被包括,则可选的侧边输入元件915允许另外的用户输入。侧边输入元件915可以是旋转开关、按钮或任何其他类型的手动输入元件。在替代的实施例中,移动计算设备900可以包含更多或更少的输入元件。例如,在一些实施例中,显示器905可能不是触摸屏。在又一个替代的实施例中,移动计算设备900是诸如蜂窝电话之类的便携式电话系统。移动计算设备900还可以包括可选的小键盘935。可选的小键盘935可以是物理小键盘或者在触摸屏显示器上生成的“软”小键盘。在各个实施例中,输出元件包括用于示出图形用户界面(gui)的显示器905、视觉指示器920(例如,发光二极管)和/或音频换能器925(例如,扬声器)。在一些方面,移动计算设备900包含振动换能器,以用于向用户提供触觉反馈。在又一个方面,移动计算设备900包含诸如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)、以及视频输出(例如,hdmi端口)之类的输入和/或输出端口,以用于将信号发送到外部设备或从外部设备接收信号。

图9b是示出移动计算设备的一个方面的架构的框图。即,移动计算设备900可以包含系统(例如,架构)902以实现一些方面。在一个实施例中,系统902被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息收发客户端、游戏以及媒体客户端/播放器)的“智能电话”。在一些方面,系统902被集成为计算设备,例如集成的个人数字助理(pda)和无线电话。

一个或多个应用程序966可以被加载到存储器962中并在操作系统964上运行或与操作系统964相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(pim)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息收发程序等等。系统902还包括存储器962内的非易失性存储区域968。非易失性存储区域968可以用于存储持久信息,如果系统902断电,则该持久信息不应该丢失。应用程序966可以使用信息并将信息存储在非易失性存储区域968中,例如电子邮件应用所使用的电子邮件或其他消息等。同步应用(未示出)也驻留于系统902上且被编程为与驻留于主机计算机上的对应的同步应用交互,以保持非易失性存储区域968中存储的信息与主机计算机处存储的对应信息同步。如应当理解的,其他应用可以被加载到存储器962中并在移动计算设备900上运行,包括如本文所描述的用于接收非口头输入以确定与虚拟助手的接合的指令(例如,非口头输入管理器811、nlp管理器813、响应提供器815和/或ux组件817等)。

系统902具有可以被实现为一个或多个电池的电源970。电源970可以进一步包括外部电源,例如对电池进行补充或充电的ac适配器或电动对接支架。系统902还可以包括执行发射和接收无线电频率通信的功能的无线电接口层972。无线电接口层972经由通信运营商或服务供应商而促进系统902与“外部世界”之间的无线连接。往来于无线电接口层972的传输是在操作系统964的控制下进行的。换言之,被无线电接口层972接收的通信可以经由操作系统964而传播到应用程序120,反之亦然。

视觉指示器920可以用于提供视觉通知和/或音频接口974可以用于经由音频换能器925(例如,图9a所示的音频换能器925)产生音频通知。在所示出的实施例中,视觉指示器920是发光二极管(led),并且音频换能器925可以是扬声器。这些设备可以直接地耦合到电源970,使得在被激活时,这些设备即使在处理器960和其他组件可能为了节省电池电力而关闭的情况下,也会在由通知机制指定的持续时间内保持通电。led可以被编程为无限地保持通电,直到用户采取动作以指示该设备的通电状态为止。音频接口974用于向用户提供音频信号并从用户接收音频信号。例如,除了被耦合到音频换能器925之外,音频接口974还可以被耦合到麦克风以接收音频输入,例如以促进电话会话。根据本公开的实施例,麦克风也可以充当音频传感器以促进对通知的控制,如下文将描述的。系统902可以进一步包括实现外部设备930(例如,车载相机)的记录静止图像、视频流等的操作的视频接口976。

实现系统902的移动计算设备900可以具有附加特征或功能。例如,移动计算设备900还可以包括附加数据存储设备(可移除的和/或不可移除的),例如磁盘、光盘或磁带。这样的附加存储装置在图9b中由非易失性存储区域968示出。

由移动计算设备900生成或捕捉的且经由系统902存储的数据/信息可以被本地存储在移动计算设备900上,如以上所描述的,或者该数据可以被存储在任何数量的存储介质上,该存储介质可以由设备经由无线电接口层972或经由移动计算设备900和单独的计算设备之间的有线连接进行访问,该单独的计算设备与移动计算设备900(例如,诸如互联网之类的分布式计算网络中的服务器计算机)相关联。如应当理解的,此类数据/信息可以经由移动计算设备900、经由无线电接口层972或经由分布式计算网络进行访问。类似地,此类数据/信息可以根据公知的数据/信息传输和存储单元来容易地在计算设备之间传输以供存储和使用,这些单元包括电子邮件和协作数据/信息共享系统。

如应当理解的,图9a和图9b是出于示出本方法和系统的目的而被描述,并且并非旨在将本公开限制为特定步骤序列或者硬件组件或软件组件的特定组合。

图10示出了用于处理在计算系统处从远程源(例如,通用计算设备1004(例如,个人计算机)、平板计算设备1006或移动计算设备1008,如上文所述)接收到的数据的系统的架构的一个方面。在服务器设备1002处显示的内容可以存储在不同的通信信道或其他存储类型中。例如,各个文档可以使用目录服务1022、web门户1024、邮箱服务1026、即时消息收发存储库1028或社交网络服务1030来存储。虚拟助手接合管理器1021可以被与服务器设备1002通信的客户端采用和/或虚拟助手接合管理器1020可以被服务器设备1002采用。服务器设备1002可以通过网络1015向客户端计算设备(例如,通用计算设备1004、平板计算设备1006和/或移动计算设备1008(例如,智能电话))提供数据或从客户端计算设备提供数据。通过示例的方式,以上关于图1-9所描述的计算机系统可以体现在通用计算设备1004(例如,个人计算机)、平板计算设备1006和/或移动计算设备1008(例如,智能电话)中。附加于接收可用于在图形起源系统处进行预处理或者在接收计算系统处进行后处理的图形数据之外,计算设备的这些实施例中的任何一个都可以从存储库1016获取内容。

如应当理解的,图10是出于示出本方法和系统的目的而被描述,并且并非旨在将本公开限制为特定步骤序列或者硬件组件或软件组件的特定组合。

图11示出了可以执行本文所公开的一个或多个方面的示例性平板计算设备1100。此外,本文所描述的方面和功能可以在分布式系统(例如,基于云的计算系统)上操作,其中应用功能、存储器、数据存储和取回以及各种处理功能可以在诸如互联网或内联网之类的分布式计算网络上彼此远程地进行操作。各种类型的用户界面和信息可以经由车载计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元来显示。例如,各种类型的用户界面和信息可以在将各种类型的用户界面和信息投影于其上的墙壁表面上显示和与之交互。与可以用于实践本公开的实施例的多个计算系统的交互包括击键输入、触摸屏输入、语音或其他音频输入、手势输入,其中相关联的计算设备配备有用于捕捉和解释用于控制计算设备的功能的用户手势的检测(例如,相机)功能等等。

如应当理解的,图11是出于示出本方法和系统的目的而被描述的,并且并非旨在将本公开限制为特定步骤序列或者硬件组件或软件组件的特定组合。

本文所描述的本公开的实施例被实现为一个或多个计算机系统中的逻辑步骤。本公开的逻辑操作被实现为(1)在一个或多个计算机系统中执行的处理器实现的步骤的序列,以及(2)一个或多个计算机系统内的互连机器或电路模块。实施方式是选择问题,取决于实现本公开的计算机系统的性能要求。因此,构成本文所描述的本公开的实施例的逻辑操作被不同地称为操作、步骤、对象或模块。此外,应当理解的是,逻辑操作可以以任何顺序执行,除非明确地以其他方式要求保护或者权利要求语言固有地要求特定顺序。

以上的说明书、示例和数据提供了对本公开的示例性实施例的结构和使用的完整描述。由于可以在不背离本公开的范围的情况下做出本公开的许多实施例,所以本公开存在于所附的权利要求中。此外,不同实施例的结构特征可以在不背离所记载的权利要求的情况下在又一个实施例中进行组合。

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