首页> 中国专利> 自动化助理的视觉提示的选择性检测

自动化助理的视觉提示的选择性检测

摘要

本文描述了用于减少配备有视觉传感器的助理设备中错误肯定的技术。在各种实施方式中,可以从助理设备的一个或多个视觉传感器获得一个或多个初始图像帧并且对其进行分析以将该初始图像帧的特定区域分类为可能包含视觉噪声。然后,可以采用减少或消除错误肯定的方式分析从一个或多个视觉传感器获得的一个或多个后续图像帧,以检测一个或多个可行动用户提供的视觉提示。在一些实施方式中,可以不对一个或多个后续图像帧的特定区域执行任何分析。附加地或替代地,在一些实施方式中,在特定区域内检测到的第一候选视觉提示的权重可以被设置为小于在一个或多个后续图像帧中的其他区域检测到的第二候选视觉提示的权重。然后,自动化助理可以基于一个或多个检测到的可行动视觉提示来采取响应行动。

著录项

  • 公开/公告号CN112236737A

    专利类型发明专利

  • 公开/公告日2021-01-15

    原文格式PDF

  • 申请/专利权人 谷歌有限责任公司;

    申请/专利号CN201880094188.7

  • 申请日2018-05-04

  • 分类号G06F3/01(20060101);G06K9/00(20060101);G06F3/03(20060101);

  • 代理机构11219 中原信达知识产权代理有限责任公司;

  • 代理人李宝泉;任庆威

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 09:33:52

说明书

背景技术

人类可以参与与在本文中称为“自动化助理”(也称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人话音助理”、“谈话代理”等)的交互式软件应用的人机对话。例如,人类(其在他们与自动化助理交互时可以被称为“用户”)可以使用自由形式自然语言输入来提供命令、查询和/或请求(在本文中统称为“查询”),该自由形式自然语言输入可以包括被转换成文本、然后被处理的有声话语和/或非键入形式自然语言输入。在许多情况下,必须首先例如使用预定义口头调用短语来“调用”自动化助理。

发明内容

随着自动化助理变得更普遍,可以专门地设计用来促进与自动化助理交互的计算设备—在本文中称为“助理设备”。助理设备可以使用户能够参与与自动化助理的无接触交互。例如,助理设备可以包括允许用户提供有声话语作为输入的麦克风。附加地,辅助设备可以包括视觉传感器,诸如相机、无源红外(“PIR”)传感器等,它们可以检测存在、手势等。

在配备有视觉传感器的助理设备上,可以通过由用户提供的一个或多个预定视觉提示(诸如手势)单独地或与口头话语组合地调用自动化助理。例如,可以将如用户注视到特定参考点(例如,直接注视到视觉传感器)的相对细微的视觉提示与来自用户的口头话语组合地用来调用自动化助理。附加地或替代地,可以将不太细微的手势,诸如在视觉传感器处的挥手、预定手势(例如,用户用手形成预定形状)等单独地(或与口头话语组合地)用来调用自动化助理。此外,自动化助理可以解释用户提供的视觉提示,以在调用后采取各种不同的行动。例如,用户“竖起大拇指”的信号可以被解释为对由自动化助理提出的问题的肯定应答。

配备有视觉传感器的助理设备所面临的一项挑战是错误肯定。例如,假设在助理设备的视场内可见诸如电视机、照片或其他图像(动画或静止图像)的视觉内容源。该来源所提供的视觉内容可能被误认为旨在调用自动化助理和/或使自动化助理执行行动的视觉提示。举一示例,假设在配备有视觉传感器的助理设备上与用户互动的自动化助理提出问题以寻求用户回答是/否,该问题诸如“Are you sure you want me to place thisorder?(您确定要我下订单吗?)”。进一步假设在助理设备的视场中可见的电视机上,恰好在提出问题之后但在用户有机会应答之前,电视角色碰巧给出竖起大拇指的手势。相当有可能将检测到竖起大拇指的手势并将其解释为来自用户的肯定应答。如果用户已经改变了关于分享下订单的主意,这对用户而言可能特别麻烦,并如下文进一步概述,可能带来安全风险。另外,如下所述,用于实现助理的计算装置以及在相关联的第三方服务中使用的计算装置继错误肯定之后可能遭受其计算资源的不理想和不必要的耗用。错误肯定还可能例如导致系统内不理想的功率使用。

本文描述了用于减少和/或消除配备有视觉传感器的助理设备中错误肯定的技术。在一些实施方式中,由助理设备捕获的图像帧的区域可以被分类为可能包含视觉噪声和/或不太可能包含视觉提示。稍后,当分析由助理设备捕获的后续图像帧时,尝试检测用户提供的视觉提示时,那些相同的区域可以被忽略,或者至少其权重被设置为小于其他区域的权重。这可以减少或消除由例如电视机、计算机屏幕、静止图像等生成的错误肯定视觉提示。

在本文中称为“排除区域分类”的过程中,图像帧的区域(或换言之,视觉传感器视场的区域)可以被分类为可能包含视觉噪声和/或不太可能包含用户在不同时间使用各种技术提供的视觉提示。在各种实施方式中,当助理设备被最初放置在某个位置(例如,桌面或台面)时,每当助理设备移动时,和/或如果助理设备的视觉传感器被调整(例如,平移、倾斜、缩放),可以执行排除区域分类。附加地或替代地,在一些实施方式中,可以周期性(例如,每天、每周等)执行排除区域分类,以考虑到环境变化(例如,电视机或计算机被重新定位、移开等)。在一些实施方式中,可以响应于诸如光线变化(例如,白天与夜晚)、确定电视机或计算机已经关闭(在此情况下不再可能提起错误肯定)、确定电视机或计算机(特别是膝上型计算机或平板型计算机)已经移动、日间时段(例如,电视机不太可能在午夜或用户工作时处于开启状态))等其他刺激而执行排除区域分类。

可以采用各种技术来执行排除区域分类。在一些实施方式中,可以训练诸如卷积神经网络的机器学习模型以在由助理设备捕获的图像帧中识别可能生成错误肯定的对象,诸如电视机、计算机屏幕、投影屏幕、静止图像(例如,墙上的照片)、电子相框等。然后,可能生成包含潜在错误肯定来源的感兴趣区域(“ROI”)。在随后的分析期间,可以忽略这些ROI,或者可以持怀疑态度查看这些区域中检测到的视觉提示,以检测用户提供的视觉提示。

也可以采用其他常规的对象识别技术,诸如依赖于计算机辅助设计(“CAD”)模型的方法、基于特征的方法(例如,表面补丁、线性边缘)、基于外观的方法(例如,边缘匹配、分治法、梯度匹配、直方图等)、遗传算法等。附加地或替代地,对于诸如电视机或计算机屏幕的对象,可以采用其他技术来识别这些对象。在一些实施方式中,可以基于电视机的显示频率在图像帧序列中识别电视机。假设以典型电视机的双倍频率捕获图像帧序列。在图像帧序列的每个其他图像帧中,电视机上将出现新的图像。这可以被检测到并使用于确定能够忽略和/或权重设置为更小的电视机的ROI。

或许会干扰到视觉提示检测的对象,诸如电视机或计算机屏幕,可能并不始终产生噪声。例如,如果电视机关闭,则无法渲染或许会干扰到视觉提示检测的图形。相应地,在一些实施方式中,自动化助理(或与之相关联的另一过程)能够确定电视机是否当前正渲染图形(并因此存在引起错误肯定视觉提示的风险)。例如,在基于电视机的显示频率检测电视机的实施方式中,缺少这样的频率检测可以被解释为意指电视机当前未渲染图形。附加地或替代地,在一些实施方式中,电视机可以是与智能助理进行网络通信的“智能”电视机,例如,由于电视机是客户端设备的相同协调“生态系统”中包括尝试检测视觉提示的助理设备的一部分。在一些这样的实施方式中,自动化助理能够确定电视机的状态,例如,“开”、“关”、“活跃”、“睡眠”、“屏保”等,并且可以基于该确定来包括或排除电视机的ROI。

当由助理设备捕获到后续图像帧时,可以采用各种方式处理那些后续图像帧中先前被分类为可能包含视觉噪声和/或不太可能包含用户提供的视觉提示的区域(即,二维空间部分)。在一些实施方式中,那些分类区域可以被简单地忽略(例如,分析那些后续图像帧可以抑制分析那些区域)。附加地或替代地,在一些实施方式中,在那些分类区域中检测到的候选视觉提示(例如,手部手势、注视等)的权重可以被设置为小于譬如在后续图像帧中的其他区域检测到的候选视觉提示的权重。

本文描述的技术可以产生各种技术优势和益处。举一示例,忽视图像帧的分类区域可以例如因使一个或多个处理器可用于集中于更有可能包含视觉提示的区域而节省计算资源。另举一例,错误肯定可能触发自动化助理和/或助理设备采取各种浪费计算资源和/或功率的行动,并且可能使用户感到混乱或甚至无措。这样浪费或以其他方式低效地或不必要地使用功率和计算资源可能发生在助理设备本身(例如,客户端设备)和/或与助理设备进行通信以执行各种行动的远程计算装置,诸如一个或多个网络服务器。此外,与远程计算装置的不必要通信导致通信网络上的不必要负载。本文描述的技术减少了检测到的视觉提示的错误肯定数。本文描述的技术也提供了安全角度的优势。例如,恶意用户或许会远程掌控电视机或计算机屏幕以渲染一个或多个视觉提示,该视觉提示或许会触发自动化助理和/或助理设备的不想要的响应行动(例如,打开相机、开门锁等)。通过忽略(或至少将权重设置为更小)包含电视机/计算机屏幕的图像帧区域,可以防止这样的安全漏洞。

在一些实施方式中,提供一种由一个或多个处理器执行的方法,该方法促进一个或多个用户与自动化助理之间的无接触交互。该方法包括:从一个或多个视觉传感器获得一个或多个初始图像帧,以及分析一个或多个初始图像帧以将一个或多个初始图像帧的特定区域分类为可能包含视觉噪声。该方法进一步包括:从一个或多个视觉传感器获得一个或多个后续图像帧,以及分析一个或多个后续图像帧以检测由一个或多个用户提供的一个或多个可行动视觉提示。分析一个或多个后续图像帧包括:抑制分析一个或多个后续图像帧的特定区域,或者将在一个或多个后续图像帧的特定区域内检测到的第一候选视觉提示的权重设置为小于在一个或多个后续图像帧中的其他区域检测到的第二候选视觉提示。该方法进一步包括:使自动化助理基于一个或多个检测到的可行动视觉提示来采取一个或多个响应行动。

本文公开技术的这些及其他实施方式能够包括以下特征中的一个或多个特征。

在一些实施方式中,分析一个或多个初始图像帧包括:检测在一个或多个初始图像帧中捕获到的电子显示器,并且一个或多个初始图像帧的特定区域包含检测到的电子显示器。在那些实施方式的一些版本中,使用对象识别过程检测电子显示器。在那些实施方式的一些附加或替代版本中,检测电子显示器包括检测电子显示器的显示频率。在另外一些附加或替代版本中,基于确定电子显示器是否当前正渲染图形来有条件地执行抑制或权重设置。

在一些实施方式中,分析一个或多个初始图像帧包括检测在一个或多个初始图像帧中捕捉到的图片帧,并且一个或多个图像帧的特定区域包含检测到的图片帧。

在一些实施方式中,一个或多个响应行动包括调用自动化助理,并且基于一个或多个检测到的可行动视觉提示结合来自一个或多个用户的话语来调用自动化助理。

在一些实施方式中,一个或多个响应行动包括调用自动化助理,并且基于一个或多个检测到的可行动视觉提示来仅调用自动化助理。

在一些实施方式中,一个或多个检测到的可行动视觉提示包括:用户朝向参考点方向观看,用户做出手部手势,用户具有特定面部表情,和/或用户在一个或多个后续图像帧中的位置。

在一些实施方式中,分析一个或多个初始图像帧以将一个或多个初始图像帧的特定区域分类为可能包含视觉噪声包括将一个或多个初始图像帧的特定区域与视觉噪音指示器相关联。

另外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中指令被配置成使执行前述任何方法中的任意一个。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行任何前述方法的计算机指令。

应该领会,在本文中更详细地描述的上述构思和附加构思的所有组合都被设想为是本文公开的主题的一部分。例如,在本公开的结尾处出现的要求保护的主题的所有组合都被设想为是本文公开的主题的一部分。

附图说明

图1是可以在其中实现本文公开的实施方式的示例环境的框图。

图2示出根据各种实施方式的展示本公开的各个方面示例性处理流程。

图3示出辅助设备的视觉传感器的视野可能包含的示例。

图4示出根据各种实施方式的具有被分类为可能包含视觉噪声和/或不太可能包含视觉提示的感兴趣的区域的图3的图像帧的示例。

图5示出图示根据本文公开的实施方式的示例方法的流程图。

图6图示计算设备的示例架构。

具体实施方式

现在转向图1,图示了可以在其中实现本文公开的技术的示例环境。该示例环境包括一个或多个客户端计算设备106。每个客户端设备106可以执行自动化助理客户端108的相应的实例。可以在经由通常在114处指示的一个或多个局域网和/或广域网(例如,因特网)通信地耦合到客户端设备106的一个或多个计算系统(统称为“云”计算系统)上实现一个或多个基于云的自动化助理组件119,诸如自然语言理解模块135。

在各种实施方式中,自动化助理客户端108的实例通过其与一个或多个基于云的自动化助理组件119的交互,可以形成从用户的角度来看似乎为用户可以在人机对话中与之接洽的自动化助理120的逻辑实例的形式。这样的自动化助理120的一个实例在图1中用虚线示出。因此应该理解,与在客户端设备106上执行的自动化助理客户端108接洽的每个用户可以实际上与他或她自己的自动化助理120的逻辑实例接洽。为了简洁和简单起见,如在本文中像“为”特定用户“服务”一样使用的术语“自动化助理”将是指在由用户操作的客户端设备106上执行的自动化助理客户端108和一个或多个基于云的自动化助理组件119(其可以在多个自动化助理客户端108之间共享)的组合。也应该理解,在一些实施方式中,自动化助理120可以对来自任何用户的请求做出响应,而不管该用户是否实际上由自动化助理120的那个特定实例“服务”。

一个或多个客户端设备106可以包括例如以下各项的一个或多个:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立交互式扬声器(其在一些情况下可以包括视觉传感器)、诸如智能电视(或配备有带自动化助理能力的联网加密狗的标准电视)的智能器具,和/或用户的包括计算设备的可穿戴装置(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)。可以提供附加和/或替代客户端计算设备。如先前所述,一些客户端设备106可以采取助理设备的形式,该助理设备被主要设计来促进用户与自动化助理120(例如,独立交互式扬声器)之间的对话。

为了本公开的目的,客户端设备106可以被配备有具有一个或多个视场的一个或多个视觉传感器107。视觉传感器107可以采取各种形式,诸如数码相机、无源红外(“PIR”)传感器、立体相机、RGBd相机等。一个或多个视觉传感器107可以例如由图像捕获111使用,以捕获其中部署有客户端设备106的环境的图像帧(静止图像或视频)。这些图像帧然后可以例如由视觉提示模块112分析,以检测包含在图像帧中的用户提供的视觉提示。这些视觉提示可以包括但不限于手部手势、朝向特定参考点的凝视、面部表情、由用户进行的预定义移动等。这些检测到的视觉提示可以被用于各种目的,并且下面将会进一步进行描述。

如本文更详细地描述的,自动化助理120经由一个或多个客户端设备106的用户界面输入和输出设备来参与与一个或多个用户的人机对话会话。在一些实施方式中,自动化助理120可以响应于由用户经由客户端设备106之一的一个或多个用户界面输入设备提供的用户界面输入而参与与用户的人机对话会话。在那些实施方式中的一些中,用户界面输入被显式地引导到自动化助理120。例如,用户可以讲出预先确定的调用短语,诸如“OK,Assistant(好的,助理)”或“Hey,Assistant(嘿,助理)”,以使自动化助理120开始主动地侦听。附加地或替换地,在一些实施方式中,可以单独或与说出的调用短语相结合地基于一个或多个检测到的视觉提示来调用自动化助理120。

在一些实施方式中,即便当用户界面输入未被显式地引导到自动化助理120时,自动化助理120也可以响应于用户界面输入而参与人机对话会话。例如,自动化助理120可以检查用户界面输入的内容并且响应于在用户界面输入中存在某些术语和/或基于其它提示而参与对话会话。在许多实施方式中,自动化助理120可以利用语音辨识来将来自用户的话语转换成文本,并且相应地对该文本做出响应,例如,通过提供搜索结果、一般信息并且/或者采取一种或多种响应动作(例如,播放媒体、启动游戏、点餐等)。在一些实施方式中,自动化助理120能够附加地或替换地在不用将话语转换成文本的情况下对话语做出响应。例如,自动化助理120能够将话音输入转换成嵌入,转换成实体表示(其指示存在于话音输入中的一个或多个实体)和/或其它“非文本”表示,并且对这种非文本表示进行操作。因此,在本文中描述为基于从话音输入转换的文本操作的实施方式可以附加地和/或替换地直接对话音输入和/或话音输入的其它非文本表示进行操作。

客户端计算设备106和操作基于云的自动化助理组件119的计算设备中的每一个均可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据并执行应用的一个或多个处理器以及促进通过网络进行通信的其它组件。由客户端计算设备106和/或由自动化助理120执行的操作可以跨越多个计算机系统分布。可以将自动化助理120实现为例如在一个或多个位置中通过网络彼此耦合的一个或多个计算机上运行的计算机程序。

如以上所指出的,在各种实施方式中,客户端计算设备106可以操作自动化助理客户端108。在各种实施方式中,自动化助理客户端108可以包括语音捕获模块110、前述图像捕获模块111、视觉提示模块112和/或调用模块113。在其它实施方式中,语音捕获模块110、图像捕获模块111、视觉提示模块112和/或调用模块113的一个或多个方面可以例如通过一个或多个基于云的自动化助理组件119与自动化助理客户端108分开地实现。

在各种实施方式中,可以使用硬件和软件的任何组合来实现的语音捕获模块110可以与诸如麦克风109或其它压力传感器的硬件对接以捕获用户的话语的音频记录。可以出于各种目的对此音频记录执行各种类型的处理,如下面将会描述的。在各种实施方式中,可以使用硬件或软件的任何组合来实现的图像捕获模块111可以被配置成与相机107对接以捕获与视觉传感器107的视场相对应的一个或多个图像帧(例如,数码相片)。

在各种实施方式中,可以使用硬件或软件的任何组合来实现的视觉提示模块112,可以被配置成分析由图像捕获模块111提供的一个或多个图像帧以检测在一个或多个图像帧中和/或跨越一个或多个图像帧捕获的一个或多个视觉提示。视觉提示模块112可以采用各种技术来检测视觉提示。例如,在图1中,视觉提示模块112与视觉提示模型数据库114(其可以与客户端设备106成一体和/或从客户端设备106远程地托管,例如在云中)通信地耦合。视觉提示模型数据库114可以包括例如一个或多个人工智能(或机器学习)模型,这些人工智能(或机器学习)模型被训练来生成指示图像帧中检测到的用户提供的视觉提示的输出。

作为一个非限制性示例,可以训练诸如卷积神经网络的神经网络(并且将其存储在数据库114中),使得一个或多个图像帧——或从图像帧提取的特征矢量——可以用作跨神经网络的输入。在各种实施方式中,卷积神经网络可以生成指示多个检测到的视觉提示以及检测到每个视觉提示的相关联的概率的输出。在一些这样的实施方式中,输出可以进一步指示在图像帧中检测到视觉提示的图像帧中的位置,尽管这不是必需的。可以使用各种形式的训练示例来训练这种卷积神经网络,各种形式的训练示例诸如用已知被包含在图像帧序列中或跨图像帧序列的手势标记的序列图像帧(或由此产生的特征矢量)。当跨网络应用训练示例时,可以使用所生成的输出与和该训练示例相关联的标签之间的差异,例如,以最小化损失函数。然后可以例如使用诸如梯度下降和/或反向传播的标准技术来调整卷积神经网络的各种权重。

在各种实施方式中,视觉提示模块112可以被配置成执行本公开的所选方面,以减少和/或消除错误肯定视觉提示。例如,视觉提示模块112可以参与先前描述的“排除区域分类”,其中其分析视觉传感器107捕获的一个或多个图像帧以将视觉传感器107的视场内的一个或多个区域分类为可能是视觉噪声的来源,其可能导致检测到错误肯定的视觉提示。这些区域可能包括带有电视屏幕、计算机监视器、照片(例如,LCD/LED相框中的数字照片和/或打印在纸上的静态照片)等等的区域。视觉提示模块112可以采用各种不同的技术来检测潜在噪声的区域。

例如,在一些实施方式中,视觉提示模块112可以采用多种对象识别技术来识别潜在创建噪声的对象,诸如电视和计算机监视器(电视、计算机监视器、智能手机屏幕、平板电脑屏幕、智能手表屏幕或呈现数字图像和/或视频的其他类似显示器可以统称为“电子显示器”)。一旦检测到这些对象,它们可以例如由视觉提示模块112用来对包含那些检测到的对象的感兴趣区域进行分类,并且因此可能是视觉噪声源,其可能导致检测到错误肯定的视觉提示。

视觉提示模块112可以采用各种对象识别技术,诸如基于计算机辅助设计(“CAD”)模型的方法、机器学习技术(例如,使用经训练的卷积神经网络)、基于特征的方法(例如,表面补丁、线性边缘)、基于外观的方法(例如,边缘匹配、分治法、梯度匹配、直方图等)、遗传算法等等。附加地或替代地,对于诸如电视或计算机屏幕的对象,可以采用其他技术来识别这些对象。在一些实施方式中,可以基于电视的显示频率在图像帧序列中识别电视。假定以电视频率的两倍捕获图像帧序列。在图像帧序列的每个其他图像帧中,新图像将出现在电视上。这可以被检测并用于确定电视的ROI。

当后续图像帧被客户端设备106的视觉传感器107捕获时,可以以各种方式处理那些先前被分类为可能是视觉噪声源的后续图像帧的区域。在一些实施方式中,可以简单地忽略那些区域(例如,对那些后续图像帧的分析可以抑制对那些区域的分析)。附加地或替代地,在一些实施方式中,在那些分类区域中检测到的候选视觉提示(例如,手部手势、凝视等)的权重可以比例如在后续图像帧中的其他地方检测到的候选视觉提示的权重低。

如先前所提及的,语音捕获模块110可以被配置成例如经由麦克风109捕获用户的语音。附加地或替换地,在一些实施方式中,语音捕获模块110可以被进一步配置成例如使用语音至文本(“STT”)处理技术来将该捕获到的音频转换为文本和/或转换为其它表示或嵌入。附加地或替换地,在一些实施方式中,语音捕获模块110可以被配置成例如使用一个或多个话音合成器来将文本转换为计算机合成的语音。然而,因为客户端设备106可能在计算资源(例如,处理器周期、存储器、电池等)方面相对地受约束,所以在客户端设备106本地的语音捕获模块110可以被配置成将有限数目的不同的讲出短语—特别是调用自动化助理120的短语—转换为文本(或转换为其它形式,诸如较低维度嵌入)。可以将其它语音输入发送到基于云的自动化助理组件119,该基于云的自动化助理组件119可以包括基于云的TTS模块116和/或基于云的STT模块117。

在各种实施方式中,调用模块113可以被配置成例如基于由语音捕获模块110和/或视觉提示提示模块112(其在一些实施方式中可以被与图像捕获模块111一起组合在单个模块中)提供的输出来确定是否调用自动化助理120。例如,调用模块113可以确定用户的话语是否有资格作为应该发起与自动化助理120的人机对话会话的调用短语。在一些实施方式中,调用模块113可以分析指示用户的话语的数据,诸如音频记录或结合由视觉提示模块112检测到的一个或多个视觉提示从音频记录(例如,嵌入)中提取的特征的矢量。在一些实施方式中,当也检测到特定视觉提示时,可以降低由调用模块113采用来确定是否响应于有声话语而调用自动化助理120的阈值。因此,即便当用户提供与适当的调用短语(诸如“OKassistant(好的助理)”)不同但在语音上稍微类似的有声话语时,该话语也仍然可以在结合视觉提示(例如,讲话者挥手、讲话者直接凝视视觉传感器107等)检测到时被接受为调用。

在一些实施方式中,设备上调用模型可以由调用模块113使用来确定话语和/或视觉提示是否有资格作为调用。可以训练这样的设备上调用模型以检测调用短语/手势的变化。例如,在一些实施方式中,可以使用训练示例来训练设备上调用模型(例如,一个或多个神经网络),每个训练示例包括来自用户的话语的音频记录(或提取的特征矢量)以及指示与话语同时捕获的一个或多个图像帧和/或检测到的视觉提示的数据。

基于云的TTS模块116可以被配置成利用云的虚拟无限的资源来将文本数据(例如,由自动化助理120制定的自然语言响应)转换成计算机生成的语音输出。在一些实施方式中,TTS模块116可以将计算机生成的语音输出提供给客户端设备106以例如使用一个或多个扬声器来直接输出。在其它实施方式中,可以将由自动化助理120生成的文本数据(例如,自然语言响应)提供给语音捕获模块110,该语音捕获模块110然后可以将文本数据转换成在本地输出的计算机生成的语音。

基于云的STT模块117可以被配置成利用云的虚拟无限的资源来将由语音捕获模块110捕获的音频数据转换成文本,然后可以将该文本提供给自然语言理解模块135。在一些实施方式中,基于云的STT模块117可以将语音的音频记录转换为一个或多个音素,然后将一个或多个音素转换为文本。附加地或替换地,在一些实施方式中,STT模块117可以采用状态解码图。在一些实施方式中,STT模块117可以生成用户的话语的多个候选文本解释。在一些实施方式中,STT模块117可以取决于是否存在同时检测到的视觉提示而对高于其它的特定候选文本解释进行加权或偏置。例如,假设两个候选文本解释具有类似的置信分数。利用常规的自动化助理120,用户可能被要求在这些候选文本语句之间消除歧义。然而,利用配置有本公开的所选方面的自动化助理120,可以使用一个或多个检测到的视觉提示来“打破平局”。

自动化助理120(特别是基于云的自动化助理组件119)可以包括自然语言理解模块135、前述TTS模块116、前述STT模块117以及在下面更详细地描述的其它组件。在一些实施方式中,可以在与自动化助理120分开的组件中省略、组合和/或实现模块中的一个或多个和/或自动化助理120的模块。在一些实施方式中,为了保护隐私,可以将诸如自然语言处理器122、TTS模块116、STT模块117等的自动化助理120的组件中的一个或多个至少部分地实现在客户端设备106上(例如,排除在云之外)。

在一些实施方式中,自动化助理120响应于在与自动化助理120的人机对话会话期间由客户端设备106之一的用户生成的各种输入而生成响应内容。自动化助理120可以提供响应内容(例如,当与用户的客户端设备分开时通过一个或多个网络)以用于作为对话会话的一部分呈现给用户。例如,自动化助理120可以响应于经由客户端设备106提供的自由形式自然语言输入而生成响应内容。如本文所使用的,自由形式输入是由用户制定并且不局限于被呈现以供由用户选择的一组选项。

如本文所使用的,“对话会话”可以包括一个或多个消息在用户与自动化助理120(以及在一些情况下,其它人类参与者)之间的逻辑上自包含交换。自动化助理120可以基于诸如下列的各种信号来区分与用户的多个对话会话:时间在会话之间流逝、用户场境(例如,位置、在预定会议之前/期间/之后等)在会话之间改变、检测到除用户与自动化助理之间的对话以外的用户与客户端设备之间的一个或多个中间交互(例如,用户切换应用一会儿、用户离开然后返回到独立话音激活的产品)、客户端设备在会话之间锁定/休眠、改变用于与自动化助理120的一个或多个实例对接的客户端设备等。

自然语言理解模块135的自然语言处理器122处理由用户经由客户端设备106生成的自然语言输入并且可以生成注释输出(例如,采用文本形式)以供由自动化助理120的一个或多个其它组件使用。例如,自然语言处理器122可以处理由用户经由客户端设备106的一个或多个用户界面输入设备生成的自然语言自由形式输入。所生成的注释输出包括自然语言输入的一个或多个注释和自然语言输入的术语中的一个或多个(例如,全部)。

在一些实施方式中,自然语言处理器122被配置成识别并注释自然语言输入中的各种类型的语法信息。例如,自然语言处理器122可以包括词法模块,该词法模块可以将各个单词分成词素和/或例如按其类而注释词素。自然语言处理器122也可以包括被配置成按其语法角色而注释术语的词性标记器。例如,词性标记器可以按其词性诸如“名词”、“动词”、“形容词”、“代词”等而标记每个术语。另外,例如,在一些实施方式中自然语言处理器122可以附加地和/或替换地包括被配置成确定自然语言输入中的术语之间的句法关系的依赖性解析器(未示出)。例如,依赖性解析器可以确定哪些术语修饰其它术语、句子的主语和动词等(例如,解析树)——并且可以对此类依赖性进行注释。

在一些实施方式中,自然语言处理器122可以附加地和/或替换地包括实体标记器(未示出),该实体标记器被配置成注释一个或多个片段中的实体引用,诸如对人(包括例如文学角色、名人、公众人物等)、组织、位置(真实的和虚构的)等的引用。在一些实施方式中,关于实体的数据可以被存储在一个或多个数据库中,诸如在知识图(未示出)中。在一些实施方式中,知识图可以包括表示已知实体(并且在一些情况下,表示实体属性)的节点以及连接节点并表示实体之间关系的边。例如,“banana(香蕉)”节点可以(例如,作为孩子)连接到“fruit(水果)”节点,其进而可以(例如,作为孩子)连接到“product(产品)”和/或“food(食物)”节点。作为另一示例,称作“Hypothetical Café(假想咖啡馆)”的餐馆可以通过也包括诸如其地址、所供食物的类型、营业时间、联系信息等的属性的节点来表示。“Hypothetical Café”节点可以在一些实施方式中通过边(例如,表示孩子与父母关系)连接到一个或多个其它节点,诸如“restaurant(餐馆)”节点、“business(企业)”节点、表示餐馆所位于的城市和/或州的节点等。

自然语言处理器122的实体标记器可以以高粒度水平(例如,以使得能够识别对诸如人们的实体类的所有引用)和/或较低粒度水平(例如,以使得能够识别对诸如特定人员的特定实体的所有引用)注释对实体的引用。实体标记器可以依靠自然语言输入的内容来解析特定实体并且/或者可以可选地与知识图或其它实体数据库进行通信以解析特定实体。

在一些实施方式中,自然语言处理器122可以附加地和/或替换地包括共指解析器(未示出),该共指解析器被配置成基于一个或多个场境提示来将对同一实体的引用进行分组或者“聚类”。例如,可以利用共指解析器来将自然语言输入“I liked HypotheticalCafe last time we ate there(我喜欢上次我们在那里用餐的假想咖啡馆)”的术语“there(在那里)”解析为“Hypothetical Cafe”。

在一些实施方式中,自然语言处理器122的一个或多个组件可以依靠来自自然语言处理器122的一个或多个其它组件的注释。例如,在一些实施方式中,命名实体标记器在注释对特定实体的所有提及中可能依靠来自共指解析器和/或依赖性解析器的注释。另外,例如,在一些实施方式中,共指解析器在将对同一实体的引用进行聚类中可能依靠来自依赖性解析器的注释。在一些实施方式中,在处理特定自然语言输入时,自然语言处理器122的一个或多个组件可以使用相关在先输入和/或在特定自然语言输入之外的其它相关数据来确定一个或多个注释。

自然语言理解模块135还可以包括意图匹配器136,该意图匹配器136被配置成确定参与与自动化助理120的人机对话会话的用户的意图。在其它实施方式中,虽然与图1中的自然语言处理器122单独地示出,但是意图匹配器136可以是自然语言处理器122(或更一般地,包括自然语言处理器122的管线的)的组成部分。在一些实施方式中,自然语言处理器122和意图匹配器136可以共同形成前述的“自然语言理解”模块135。

意图匹配器136可以使用各种技术来例如基于来自自然语言处理器122的输出(其可以包括自然语言输入的注释和术语)和/或基于来自视觉提示模块113的输出来确定用户的意图。在一些实施方式中,意图匹配器136可以能够访问包括例如语法、视觉提示与响应动作(或更一般地,意图)之间的多个映射的一个或多个数据库(未示出)。在许多情况下,这些语法可能随着时间的推移而被选择和/或学习,并且可以表示用户的最常见意图。例如,可以将一种语法“play(播放<艺术家>)”映射到调用使得在由用户操作的客户端设备106上按播放音乐的响应动作的意图。另一语法“[weather|forecast]today(今日[天气|预报])”可以能够与诸如“what’s the weather today(今日天气怎样)”和“what’s the forecast for today?(今日预报是什么?)”的用户查询匹配。

除了语法之外或代替语法,在一些实施方式中,意图匹配器136可以单独地或与一个或多个语法和/或视觉提示相结合地采用一个或多个训练后的机器学习模型。这些训练后的机器学习模型也可以被存储在一个或多个数据库中并且可以被训练来识别意图,例如,通过将指示用户的话语和/或任何检测到的用户提供的视觉提示的数据嵌入到降维空间中,然后例如使用诸如欧几里得距离、余弦相似度等的技术来确定哪些其它嵌入(以及因此,意图)最接近。

如“play”示例语法中所看到的,一些语法具有能够用槽值(或“参数”)填充的槽(例如,)。可以以各种方式确定槽值。常常用户将主动地提供槽值。例如,对于语法“Order me apizza(为我订购<浇料>披萨)”,用户可能很可能讲出短语“order me a sausage pizza(为我订购香肠披萨)”,在此情况下槽被自动地填充。附加地或替换地,如果用户调用包括要用槽值填充的槽的语法,则在无需用户主动地提供槽值的情况下,自动化助理120可以从用户恳求那些槽值(例如,“what type of crustdo you want on your pizza?(在你的披萨上你想要什么类型的外皮?)”)。在一些实施方式中,可以基于由视觉提示模块112检测到的视觉提示用槽值填充槽。例如,用户能在向客户端设备106的视觉传感器107举起三只手指的同时发出像“ORDER me this many catbowls(为我订购这个多个猫碗)”一样的东西。或者,用户能在握住特定电影DVD盒的同时发出像“Find me more movies like this(为我查找更多像这样的电影)”的东西。

在一些实施方式中,自动化助理120可以有助于(或者“中介促成”)用户与代理之间的交易,其可以是接收输入并提供响应输出的独立软件进程。一些代理可以采取第三方应用的形式,这些第三方应用可以或可能不在与操作例如基于云的自动化助理组件119的计算系统分开的计算系统上操作。可以由意图匹配器136识别的一种用户意图是接洽第三方应用。例如,自动化助理120可以向披萨外送服务提供对应用编程接口(“API”)的访问。用户可以调用自动化助理120并提供诸如“I’d like to order a pizza(我想订购披萨)”的命令。意图匹配器136可以将此命令映射到触发自动化助理120以与第三方披萨外送服务接洽的语法(在一些情况下通过第三方可以将其添加到数据库137)。第三方披萨外送服务可以给自动化助理120提供需要被填充以履行披萨外送订单的命令的槽的最小列表。自动化助理120可以生成自然语言输出并将其提供给用户(经由客户端设备106),该自然语言输出针对槽的恳求参数。

履行模块124可以被配置成接收由意图匹配器136输出的预测/估计意图以及关联的槽值(无论是由用户主动地提供还是从用户恳求)并且履行(或“解析”)意图。在各种实施方式中,用户的意图的履行(或“解析”)可以使得例如由履行模块124生成/获得各种履行信息(也称为“响应”信息或数据)。如将在下面描述的,可以在一些实施方式中将履行信息提供给自然语言生成器(在一些图中为“NLG”)126,该自然语言生成器可以基于履行信息生成自然语言输出。

因为可以各种方式履行意图,所以履行信息可以采取各种形式。假设用户请求纯信息,诸如“Where were the outdoor shots of‘The Shining’filmed?(‘闪灵’的室外镜头是在哪里拍摄的?)”。用户的意图可以例如由意图匹配器136确定为搜索查询。可以将搜索查询的意图和内容提供给履行模块124,该履行模块像图1中所示出的那样可以与被配置成搜索文档的语料库和/或其它数据源(例如,知识图等)以得到响应信息的一个或多个搜索模块150通信。履行模块124可以向搜索模块150提供指示搜索查询的数据(例如,查询的文本、降维嵌入等)。搜索模块150可以提供响应信息,诸如GPS坐标或其它更显式的信息,诸如“Timberline Lodge,Mt.Hood,Oregon(俄勒冈州胡德山的山林小屋酒店)”。此响应信息可以形成由履行模块124生成的履行信息的一部分。

附加地或替换地,履行模块124可以被配置成例如从自然语言理解模块135接收用户的意图以及由用户提供或者使用其它手段(例如,用户的GPS坐标、用户偏好等)确定的任何槽值并且触发响应操作。响应动作可以包括例如订购商品/服务、启动定时器、设定提醒、发起电话呼叫、播放媒体、发送消息等。在一些此类实施方式中,履行信息可以包括与履行、确认响应(其在一些情况下可以选自预先确定的响应)等相关联的槽值。

自然语言生成器126可以被配置成基于从各种源获得的数据来生成和/或选择自然语言输出(例如,被设计来模仿人类语音的单词/短语)。在一些实施方式中,自然语言生成器126可以被配置成接收与意图的履行相关联的履行信息作为输入,并且基于履行信息生成自然语言输出。附加地或替换地,自然语言生成器126可以从诸如可以用来为用户构成自然语言输出的第三方应用(例如,所需槽)的其它源接收信息。

图2展示根据各种实施方式可以通过图1中的各种组件处理来自语音捕获模块110和图像捕获模块111的输出组合方式的示例。示出了本文描述的技术的相关组件,但这并无限制意义,而仍可部署图2中未示出的各种其他组件。假定图2所示的操作发生在已经执行的排除区域分类之后。

自左开始,语音捕获模块110可以将音频数据提供给调用模块113。如上所述,该音频数据可以包括用户话语的音频录制、从音频录制生成的嵌入、从音频录制生成的特征矢量等。在同一时间或约同一时间(例如,同时,作为同一组行动的一部分),图像捕获模块111可以将指示一个或多个图像帧的数据提供给视觉提示模块112。指示一个或多个图像帧的数据可以是原始图像帧数据、原始图像帧数据的降维嵌入等。

视觉提示模块112可以分析指示一个或多个图像帧的数据以检测一个或多个视觉提示。如前所述,视觉提示模块112可以忽略区域中检测到的先前被分类为可能包含视觉噪声的视觉提示,或者为其分配更小的权重。在一些实施方式中,视觉提示模块112可以在视觉传感器107的视场中从电视机250(或更一般地,电子显示器)接收指示状态的一个或多个信号。可以譬如通过使用一个或多个计算机网络来提供这些指示状态的信号。如果电视机的状态为OFF,则视觉传感器的视场中包含电视机的区域可以不被忽略或权重设置为更小,而是可以被正常处理。然而,如果电视机的状态为ON,则视觉传感器的视场中包含电视机的区域可以被忽略或权重设置为小于其他区域的权重。

在一些实施方式中,由语音捕获模块110提供的音频数据和由视觉提示模块112检测到的一个或多个视觉提示可以被提供给调用模块113。基于这些输入,调用模块113可以确定是否应当调用自动化助理120。例如,假设由于环境噪声而未清楚地记录用户的调用短语话语。仅该嘈杂的话语可能不足以调用自动化助理120。然而,如果调用模块113确定例如在捕获话语的同时也检测到用户直接注视视觉传感器107形式的视觉提示,则调用模块113可以确定自动化助理120的调用正确。

如前所述,使用视觉提示不限于调用自动化助理120。在各种实施方式中,作为调用自动化助理120的附加或代替,可以使用视觉提示来使自动化助理120采取各种响应行动。在图2中,由视觉提示模块112检测到的一个或多个视觉提示可以被提供给自动化助理120的其他组件,诸如自然语言理解引擎135。自然语言理解引擎135可以例如通过自然语言处理器122将一个或多个视觉提示用于各种目的,诸如实体标记(例如,用户举起报纸上的名人或公众人物图片并说出“who is this(这是谁)?”)等。附加地或替代地,自然语言理解引擎135可以例如通过意图匹配器136将一个或多个视觉提示单独地或与由STT模块117生成并由自然语言处理器122注释的语音识别输出组合地用来识别用户的意图。然后,可以将该意图提供给履行模块124,如前所述,该履行模块可以采取各种行动来履行该意图。

图3示出了配置有本公开的选定方面的助理设备306的视觉传感器307的示例视场348。可以看出,在视场348内可见电视机350和相框352。这些都是潜在的视觉噪声源,可能引起视觉提示的错误肯定。例如,电视机350可能渲染视频,该视频显示一个或多个个体做出手势、看向相机等,其中任何一个可能被误解为视觉提示。相框352可以是简单容纳打印图片的非电子相框,或者可以是渲染存储在其存储器中的一个或多个图像的电子相框。假定包含在相框352中或由其渲染的图片譬如包括直接注视相机的人,则该人的注视可能被误解为视觉提示。尽管图3中未示出,但其他潜在的视觉噪声源可能包括电子显示器,诸如与膝上型计算机、平板型计算机、智能电话屏幕、智能手表屏幕、其他助理设备相关的屏幕等相关联的监视器。

一个或多个图像帧可以例如由视觉传感器307来捕获,这可以对应于视觉传感器307的视场348。这些图像帧可以例如由视觉提示模块112来分析,以识别可能包含视觉噪声的区域,诸如包含电视机350和相框352的区域。视觉提示模块112可以识别这些对象,作为其分析图像帧的一部分,并且相应地识别区域。一旦识别这些区域,视觉提示模块112便可以生成包含潜在的视觉噪声源的相应感兴趣区域。例如,图4示出了与图3相同的视场348。然而,在图4中,已经生成分别包含电视机350和相框352的感兴趣区域360和362。这些感兴趣区域360至362可以被分类为可能包含视觉噪声(或不太可能包含视觉提示)。例如,可以为这些感兴趣区域分配高于特定阈值的视觉噪声概率。附加地或替代地,感兴趣区域可以与视觉噪声指示符相关联(其例如可以指示视觉噪声概率高于阈值)。

因此,它们可以被忽略,和/或在这些区域内检测到的视觉提示的权重可以被设置为小于在视场348中其他区域检测到的视觉提示的权重。

图5是根据本文公开的实施方式的示例方法800的流程图。为了方便起见,参照执行这些操作的系统来描述该流程图的操作。该系统可以包括各种计算机系统的各种组件,诸如实现自动化助理120的计算系统的一个或多个组件。此外,尽管方法500的操作以特定顺序示出,但这并无限制意义。可以重新排序、省除或添加一个或多个操作。

在框502,系统可以例如通过图像捕获模块111从一个或多个视觉传感器(例如107)获得一个或多个初始图像帧。可以出于排除区域分类的目的来捕获这些初始图像帧。在框504,系统可以例如通过视觉提示模块113分析一个或多个初始图像帧以将一个或多个视频帧的特定区域分类为可能是视觉噪声源和/或不太可能包含视觉提示。框504中的一个或多个操作可以构成本文所述的排除区域分类。在框506,系统可以例如通过图像捕获模块111从一个或多个视觉传感器获得一个或多个后续图像帧。这些图像帧可以在排除区域分类之后获得。

在框508,系统可以分析一个或多个后续图像帧,以检测由一个或多个用户提供的一个或多个可行动视觉提示。在一些实施方案中,该分析可以包括:在框510,抑制在一个或多个后续图像帧中分析被分类为可能是视觉噪声源和/或不太可能包含视觉提示的一个或多个特定区域。例如,来自一个或多个特定区域的图像数据(例如,RGB像素)可以不被应用为经过上述训练成检测视觉提示的机器学习模型(例如,卷积神经网络)之一的输入。

附加地或替代地,在一些实施方式中,框508中的分析可以包括:在框512,例如通过视觉提示模块113和/或意图匹配器136,将在一个或多个后续图像帧的特定区域内检测到的第一候选视觉提示的权重设置为小于一个或多个后续图像帧中的其他区域检测到的第二候选视觉提示的权重。例如,假设包含在视觉传感器的视场的第一区域中的电视机渲染示出人挥手的图像序列(假定挥手是引起来自自动化助理120的响应的预定视觉提示)。进一步假设用户在视觉传感器的视场的第二不同区域中也做出手势,例如通过用他或她的手形成“八字形”。正常情况下,这些手势可以或多或少相等地指示用户意图,因此自动化助理120可能对其应当尝试履行的行动感到混乱。然而,由于在被分类为可能包含视觉噪声的区域(即,包含电视机的感兴趣区域)中检测到挥手,可以为挥手分配比八字形手势更小的权重作为候选视觉提示。相应地,八字形手势可以更可能引起来自自动化助理120的响应。

尽管本示例说明了基于多个候选视觉提示各自的权重进行选择,但这并无限制意义。在各种实施方式中,譬如可以将单个候选视觉提示与预定阈值进行比较,以确定它是否应当引起自动化助理120的响应。因此,譬如可以为在分类为可能包含视觉噪声的图像帧区域中检测到的视觉提示分配未满足置信度阈值的权重。因此,视觉提示可能不会引起来自自动化助理120的响应。这样防止或减少了例如由电视机上恰好做出与可行动视觉提示相对应的手势的某人产生的错误肯定。

附加地或替代地,在某些情形下,可以在视觉传感器的视场的多个区域中检测到跨图像帧序列的单个视觉提示,这些区域中的一些区域被分类为可能包含视觉噪声,而其他区域未分类。在一些这样的实施方式中,可以将在两个区域中都检测到视觉提示的组合置信度(从分类区域检测到的提示贡献更小)与阈值进行比较,以确定视觉提示满足某个预定阈值以引起来自自动化助理120的响应。

回顾图5,在框514,系统可以基于检测到的可行动视觉提示中的一个或多个来使一个或多个响应行动被自动化助理120采取或使一个或多个响应行动代表自动化助理120。这些响应行动可以包括调用自动化助理120。例如,调用模块113可以确定可行动视觉提示单独地或与用户提供的话语组合足以调用自动化助理120,使得用户能够向自动化助理120提出附加请求。附加地或替代地,在一些实施方式中,用户在讲话时直接注视客户端设备106的相机107的视觉提示可以是应当调用自动化助理120(并且可能对用户说出的任何内容采取行动)的强指示符。

附加地或替代地,响应行动可以包括在已经调用自动化助理120之后例如作为人机对话的正常部分而可能由自动化助理120所采取的各种响应行动。在一些实施方式中,可以将各种行动单独地或与口头话语组合地预先分配或映射到特定的视觉提示。举一非限制性示例,可以将用户给出“竖起大拇指”形式的视觉提示与话语“How do I get to(我如何到达<位置>)”组合地用来使自动化助理120检索有关使用公共交通工具到达该位置的信息。相比之下,可以将用户对方向盘进行手势操作形式的视觉提示与相同的话语组合地用来使自动化助理120检索往该位置的行驶方向。在一些实施方式中,用户可以创建视觉提示与各种行动之间的定制映射。例如,用户可说出“OK Assistant,when Ilook at you and blink three times,play Jingle Bells(好的,助理,当我看着您眨眼三下时,请播放《铃儿响叮当》)”。可以例如在意图匹配器136可用的数据库中创建映射,随后在检测到三下眨眼的视觉提示时使用该映射。

图6是可以任选地用于执行本文描述的技术的一个或多个方面的示例计算设备610的框图。在一些实施方式中,客户端计算设备、用户控制的资源模块130和/或其它组件中的一个或多个可以包括示例计算设备610的一个或多个组件。

计算设备610通常包括经由总线子系统612与许多外围设备进行通信的至少一个处理器614。这些外围设备可以包括存储子系统624(包括例如存储器子系统625和文件存储子系统626)、用户界面输出设备620、用户界面输入设备622和网络接口子系统616。输入和输出设备允许用户与计算设备610交互。网络接口子系统616提供到外部网络的接口并且耦合到其它计算设备中的对应接口设备。

用户界面输入设备622可以包括键盘、诸如鼠标、轨迹球、触摸板或图形平板的指点设备、扫描仪、并入到显示器中的触摸屏、诸如话音辨识系统的音频输入设备、麦克风和/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备610中或输入到通信网络上的所有可能类型的设备和方式。

用户界面输出设备620可以包括显示子系统、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于创建可见图像的某种其它机制。显示子系统也可以诸如经由音频输出设备提供非视觉显示。通常,术语“输出设备”的使用旨在包括将信息从计算设备610输出到用户或输出到另一机器或计算设备的所有可能类型的设备和方式。

存储子系统624存储提供本文描述的模块中的一些或全部的功能性的编程和数据构造。例如,存储子系统624可以包括执行图5的方法的所选方面以及实现图1和图2中示出的各种组件的逻辑。

这些软件模块通常由处理器614单独地或与其它处理器相结合地执行。存储子系统624中使用的存储器625能够包括包含用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)630和其中存储有固定指令的只读存储器(ROM)632的许多存储器。文件存储子系统626能够为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及关联的可移动介质、CD-ROM驱动器、光驱或可移动介质盒。实现某些实施方式的功能性的模块可以由文件存储子系统626存储在存储子系统624中,或者存储在处理器614可访问的其它机器中。

总线子系统612提供了用于让计算设备610的各种组件和子系统按预期彼此通信的机制。尽管总线子系统612被示意性地示出为单条总线,但是总线子系统的替代实施方式可以使用多条总线。

计算设备610可以具有各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图6中示出的计算设备610的描述仅旨在作为用于图示一些实施方式的目的的具体示例。计算设备610的许多其它配置可能具有比图6中示出的计算设备更多或更少的组件。

在本文描述的系统收集或以其它方式监视关于用户的个人信息或者可以利用个人和/或受监视信息的情形下,可以给用户提供控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前地理位置的信息)或者控制是否和/或如何从内容服务器接收与用户更相关的内容的机会。另外,某些数据可以在它被存储或使用之前被以一种或多种方式处理,使得个人可识别的信息被去除。例如,可以处理用户的身份,使得对于该用户不能确定个人可识别的信息,或者可以在获得地理位置信息的情况下使用户的地理位置一般化(诸如到城市、邮政编码或州级别),使得不能确定用户的特定地理位置。因此,用户可以控制信息如何关于用户被收集和/或使用。例如,在一些实施方式中,用户可以例如通过禁用视觉传感器107来退出试图检测视觉提示的助理设备。

虽然已在本文中描述并图示了若干实施方式,但是可以利用用于执行功能和/或获得结果和/或本文描述的优点中的一个或多个的各种其它手段和/或结构,并且此类变化和/或修改中的每一个均被视为在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和构造都意在为示例性的,并且实际的参数、尺寸、材料和/或构造将取决于使用教导的一个或多个具体应用。本领域的技术人员将认识或者能够使用不止一个例行试验来探知本文描述的具体实施方式的许多等同物。因此,应当理解,前面的实施方式仅通过示例来呈现,并且在所附权利要求及其等同物的范围内,可以以不同于具体地描述和要求保护的方式实践实施方式。本公开的实施方式针对本文描述的每个单独的特征、系统、制品、材料、套件和/或方法。另外,如果此类特征、系统、制品、材料、套件和/或方法不是相互不一致的,则在本公开的范围内包括两个或更多个此类特征、系统、制品、材料、套件和/或方法的任何组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号