获得来自多个语料库的响应信息的制作方法

文档序号:19877552发布日期:2020-02-08 06:35阅读:316来源:国知局
获得来自多个语料库的响应信息的制作方法



背景技术:

人类可以通过在本文中称为“自动化助理”(也称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人语音助理”、“会话代理”等)的交互式软件应用进行人机对话。例如,人类(当他们与自动化助理交互时,可能被称为“用户”)可以使用在一些情况下可以转换成文本并且然后被处理的口语自然语言输入(即,话语、自由形式输入)和/或通过提供文本(例如,键入的)自然语言输入,来提供命令、查询和/或请求(在本文中统称为“查询”)。

通常,当用户向常规的自动化助理发出对特定信息的请求(例如,提出问题)时,常规的自动化助理可能会使用与以下类似的技术:用户在单纯使用web浏览器向搜索引擎发出搜索时会应用的技术。也就是说,可以从文档的语料库搜索响应文档,可以基于各种信号对响应文档进行排名,并且可以提供从排名最高的响应文档中的一个或多个响应文档提取的信息,例如,在信息框中提供,其包括例如直接回答用户问题的响应文档的摘录。在一些情况下,搜索引擎可以更进一步并且基于包含在排名高的响应文档中的信息编定(formulate)它自己的自然语言响应(例如,直接回答用户问题的句子)。无论哪种方式,在web浏览器搜索场境(context)中,响应文档的列表都可以与响应信息一起呈现。在自动化助理场境中,特别是当用户使用无显示器的设备(诸如,独立的交互式扬声器)与自动化助理交互时,可以只提供响应信息。

一些自动化助理可能能够基于最近消费的内容/文档和/或用户与自动化助理之间的人机对话的当前会话场境(例如,最近的用户请求和/或最近的自动化助理回复)消除用户的请求的歧义。假设用户问自动化助理这样的问题:“whatisthecapitolofkentucky?(肯塔基州的首府是哪里?)”自动化助理可以从文档(例如,互联网上公共可用的文档)的常规(例如,通用)语料库检索响应文档,并且基于那些响应文档的内容编定响应,诸如,“thecapitolofkentuckyisfrankfort(肯塔基州的首府是法兰克福)”。假设用户接着问“howfaristhatfromlouisville?(那里离路易斯维尔有多远?)”基于用户之前的搜索和/或自动化助理之前的回答,自动化助理可以对词项“that”消除歧义来指向“frankfort”,并且将用户的第二个问题重新编定为例如“howfarisfrankfortfromlouisville?(法兰克福离路易斯维尔有多远?)”然后,可以将这种重新编定作为标准的、独立的搜索提交给文档的相同的常规语料库。

虽然自动化助理(以及更具体地是搜索引擎)可能能够基于人机对话的会话场境对用户的后续请求进行消除歧义(即,重新编定),但是该重新编定的后续请求仍然用于从与用于响应用户之前的请求相同的文档的常规语料库检索一组新的响应文档。即使可以基于用户与自动化助理之间的对话的会话场境对这些新的响应文档进行排名,也不能保证用户的后续请求会导致信息从与用于提供对用户之前的请求的响应的文档相同的文档提取。而且,自动化助理不会搜索可能与用户更直接相关或对用户更“切题(topical)”的文档(诸如,用户当前正在查看或以其他方式最近消费的文档或确定为与用户的当前场境(例如,当前位置、活动的浏览会话、活动的人机对话等)相关的文档)的其它语料库。



技术实现要素:

本文描述了用于实施自动化助理的技术,这些自动化助理在在线文档的常规的、通用的语料库之外搜索响应用户请求的信息。如下所述,该技术可以减少到实施自动化助理的一个或多个计算设备的输入以及来自其的输出的数量。技术还可以减少由一个或多个计算设备或作用于助理所提供的信息的其它装置消耗的电量。在一些实施方式中,配置有本公开的所选方面的自动化助理可以将其搜索扩展和/或限制至一个或多个“活动”文档的用户特定语料库。“活动”文档(例如,html/xml文档、视频、歌曲、演示文稿、pdf文档、电子邮件等)可以包括当前在客户端设备上打开(例如,显示)的文档、在用户与自动化助理的当前人机对话会话期间自动化助理将其信息可听见地提供给用户的文档、在用户操作web浏览器的当前会话期间之前呈现给用户的文档等。在一些实施方式中,在客户端设备的存储器(诸如,易失性存储器)中加载的文档可能被视为是“活动的”,尽管这不是必需的。

另外或替选地,配置有本公开的所选方面的自动化助理可以将其搜索扩展和/或限制至基于用户的当前场境识别的一个或多个文档的场境特定语料库。可以基于各种信号来确定用户的当前场境,该各种信号诸如由客户端设备生成的位置坐标、可以用于例如识别当前与用户相关的一个或多个主题的最近搜索活动等。虽然它们在某些方面可能重叠,但是文档的场境特定语料库与活动文档的用户特定语料库不同,因为没有要求场境特定语料库的文档是“活动的”,尽管也没有与其对立的规则。在一些实施例中,可以对用户特定语料库和场境特定语料库两者协同进行搜索,例如,结合对在线文档的通用语料库的更常规的搜索。

在一些实施方式中,自动化助理可以提供从活动文档的用户特定语料库或场境特定语料库获得的响应信息,而排除从文档的更常规的语料库获得的其它潜在响应的信息。另外或替选地,在一些实施方式中,与从文档的更常规的语料库获得的响应信息相比,自动化助手可以对从用户/场境特定语料库获得的文档提取的响应信息产生偏向或对其进行提升。

自动化助理可针对响应内容以各种方式检查用户特定语料库中的活动文档。在一些实施例中,可以例如通过用户所操作的客户端设备将与在线文档相关联的网络标识符(诸如,统一资源定位符(“url”))提供给自动化助理(其如下所述可以至少部分地实施在共同形成所谓的“云”的一个或多个计算系统上)。自动化助理可以将该网络标识符作为还包括用户请求的(例如,专门定制的)搜索查询的一部分提交给标准的搜索引擎,以搜索文档的常规语料库。除了从文档的常规语料库检索响应内容,可以使用网络标识符来定位活动文档。在一些实施方式中,与从更常规的响应搜索结果提取的内容相比,可以对从活动文档提取的响应内容产生偏向或对其进行提升,尽管在许多情况下,这可能是有机地发生的,因为常规的响应搜索结果可能由于用户请求的潜在歧义而具有有限的相关性。在其它实施方式中,搜索可以限于活动文档,而排除文档的常规语料库。

另外或替选地,在一些实施方式中,自动化助理可以仅在用户的请求太模糊而无法生成适当的响应,并且没有其它信号可用于消除请求的歧义的情况下采用本文所描述的技术。例如,如果用户发出不模糊的请求(例如,“whatisthecapitoloffrance?(法国的首都是哪里?)”)并且返回高响应性的搜索结果,则自动化助理可以从在线文档的常规的通用语料库中寻找响应信息。然而,假设用户发出模糊的请求,其在自动化助理没有提示用户来获取消除歧义信息的情况下是无法解析的。在一些实施方式中,自动化助理可以在提供这种提示之前检查活动文档或场境特定语料库中的文档,以尝试识别响应用户请求的信息。

在一些实施方式中,提供了一种由一个或多个处理器执行的方法,该方法包括:由自动化助理经由用户所操作的一个或多个客户端设备的第一客户端设备的输入组件接收自由形式输入,其中,所述自由形式输入包括对特定信息的请求;搜索在线文档的通用语料库,以获得对所述对特定信息的请求的一个或多个候选响应的第一集合;搜索一个或多个活动文档的用户特定语料库,以获得对所述对特定信息的请求的一个或多个候选响应的第二集合;将候选响应的所述第一集合与所述第二集合进行比较;基于所述比较,从所述第一集合或所述第二集合选择所述对特定信息的请求的给定响应;以及由所述自动化助理,经由所述用户所操作的所述客户端设备中的一个或多个客户端设备,提供指示所述给定响应的输出。

本文所公开的技术的这些和其它实施方式可以可选地包括以下特征中的一个或者多个。

在各个实施方式中,所述一个或多个活动文档的用户特定语料库可以包括当前显示在用户所操作的客户端设备中的一个客户端设备的显示设备上的文档。在各个实施方式中,所述一个或多个活动文档的用户特定语料库可以包括一文档,所述自动化助理在用户与自动化助理之间的当前人机对话会话期间,从所述文档可听见地将信息提供给用户。在各个实施方式中,所述一个或多个活动文档的用户特定语料库可以包括在用户操作web浏览器的当前会话期间先前呈现给所述用户的文档。

在各个实施方式中,所述一个或多个活动文档的用户特定语料库可以包括描述实体的网页,所述对特定信息的请求包括对关于实体的特定信息的请求,并且响应内容是响应于所述对关于实体的特定信息的请求。在各个实施方式中,从所述用户特定语料库获得的所述一个或多个候选响应的第二集合相对于从所述通用语料库获得的所述一个或多个候选响应的第一集合而被提升。在各个实施方式中,所述方法可以进一步包括:基于自由形式输入确定所述对特定信息的请求是模糊的,其中,基于所述确定而搜索所述一个或多个活动文档的用户特定语料库。

在另一个方面,一种方法可以包括:由自动化助理经由用户所操作的一个或多个客户端设备的第一客户端设备的输入组件接收自由形式输入,其中,所述自由形式输入包括对特定信息的请求;基于在所述第一客户端设备处生成的一个或多个信号,确定所述用户的当前场境;搜索在线文档的通用语料库,以获得所述对特定信息的请求的一个或多个候选响应的第一集合;搜索一个或多个文档的独立的场境特定语料库,以获得所述对特定信息的请求的一个或多个候选响应的第二集合,其中,所述场境特定语料库是基于所述用户的所述当前场境来被识别的;将候选响应的所述第一集合与所述第二集合进行比较;基于所述比较,从所述第一集合或所述第二集合选择对所述对特定信息的请求的给定响应;以及由所述自动化助理,经由所述用户所操作的所述客户端设备中的一个或多个客户端设备,提供指示所述给定响应的输出。

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

应当了解,前述概念和在本文中更详细地描述的附加概念的所有组合都被构思为本文公开的主题的一部分。例如,本公开所附的要求保护的主题的所有组合都被构思为本文公开的主题的一部分。

附图说明

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

图2、图3、图4、图5和图6描绘了根据各个实施方式的可以采用公开的技术的示例。

图7描绘了图示了根据本文所公开的实施方式的示例方法的流程图。

图8图示了计算设备的示例架构。

具体实施方式

现在转向图1,图示了可以实施本文所公开的技术的示例环境。该示例环境包括一个或多个客户端计算设备106(为了简洁和清晰,图1中仅描绘了一个)。客户端设备106可以执行自动化助理客户端118的实例。一个或多个基于云的自动化助理组件119——诸如,自然语言处理器122——可以实施在一个或多个计算系统(统称为“云”计算系统)上,该一个或多个计算系统通常经由通常用1101表示的一个或多个局域网和/或广域网(例如,互联网)通信耦合至客户端设备106。

如背景技术中所述,自动化助理客户端118的实例通过与一个或多个基于云的自动化助理组件119进行交互的方式,从用户的角度来看可以表现为形成自动化助理120的实例,用户可以利用该自动化助理120进行人机对话。图1描绘了这种自动化助理120的一个示例,其被虚线包围。因此,应当理解,与在客户端设备106上执行的自动化助理客户端118交互的每个用户实际上都可以与自动化助理120的他或她自己的逻辑实例交互。为了简洁和简单,本文所使用的词项“自动化助理”在“服务”特定用户时指的是在用户所操作的客户端设备106上执行的自动化助理客户端118与一个或多个基于云的自动化助理组件119(其可以在多个自动化助理客户端118之间共享)的组合。

例如,客户端设备106可以包括以下中的一个或者多个:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立的交互式扬声器和/或用户的包括计算设备的可穿戴装置(例如,用户的具有计算设备的手表、用户的具有计算设备的眼镜、虚拟或者增强现实计算设备)。可以提供附加和/或替选客户端计算设备。

在一些实施方式中,给定用户可以利用共同来自计算设备的协调“生态系统”的多个客户端计算设备106与自动化助理120通信。在一些这样的实施方式中,自动化助理120可以被认为是为该特定用户“服务”,例如,赋予自动化助理120对用户控制内容(例如,资源、文档等)的增强访问权限,对该用户控制内容的访问权限是由“被服务的”用户控制的。

客户端计算设备106可以操作各种不同的应用,诸如,消息交换客户端107和上述自动化助理客户端118。消息交换客户端107可以各种形式出现,并且形式可能跨客户端计算设备而有所不同和/或在单个客户端计算设备106上可以操作多种形式。在一些实施方式中,消息交换客户端107可以短消息收发服务(“sms”)和/或多媒体消息收发服务(“mms”)客户端、在线聊天客户端(例如,即时通讯软件、互联网中继聊天或者“irc”等)、与社交网络相关联的消息收发应用、专用于与自动化助理120的对话的个人助理消息收发服务等的形式出现。在一些实施方式中,消息交换客户端107可以经由网页或由web浏览器(未示出)或客户端计算设备106的其它应用渲染的其它资源实施。

如在本文中更详细地描述的,自动化助理120经由客户端设备106的用户接口输入和输出设备与一个或多个用户进行人机对话会话。在一些实施方式中,自动化助理120可以响应于用户经由客户端设备106的一个或多个用户接口输入设备提供的用户接口输入与用户进行人机对话会话。在那些实施方式中的一些实施方式中,将用户接口输入明确地指向自动化助理120。例如,消息交换客户端107可以是专用于与自动化助理120的交谈的个人助理消息收发服务,并且可以自动将经由该个人助理消息收发服务提供的用户接口输入提供给自动化助理120。同样,例如,可以基于指示自动化助理120要被调用的特定用户接口输入在消息交换客户端107中将用户接口输入明确地指向自动化助理120。例如,特定用户接口输入可以是一个或多个键入字符(例如,@automatedassistant(自动化助理))、与硬件按钮和/或虚拟按钮的用户交互(例如,点击、长按)、口头命令(例如,“heyautomatedassistant(你好,自动化助理)”)和/或其它特定用户接口输入。在一些实施方式中,自动化助理120可以响应于用户接口输入而参与对话会话,即使当没有将用户接口输入明确地指向自动化助理120时。例如,自动化助理120可以检查用户接口输入的内容并且响应于某些词项出现在用户接口输入中和/或基于其它提示参与对话会话。

如本文所使用的,“对话会话”可以包括在用户与自动化助理120之间一个或者多个消息的逻辑上自包含的交换。自动化助理120可以基于各种信号来区分与用户的多个对话会话,所述信号诸如,会话之间的时间推移、会话之间的用户场境(例如,位置、在已排程的会议之前/期间/之后等)的变化、对除了用户与自动化助理之间的对话之外的用户与客户端设备之间的一个或者多个介于中间的交互的检测(例如,用户暂时切换应用、用户离开然后稍后回到独立的声控扬声器)、客户端设备在会话之间的锁定/休眠、用于与自动化助理120的一个或多个实例对接的客户端设备的变化等。

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

如上所述,在各个实施方式中,客户端计算设备106可以操作自动化助理客户端118。在各个实施例中,自动化助理客户端118可以包括对应的语音捕获/文本转语音(“tts”)/语音转文本(“stt”)模块114。在其它实施方式中,语音捕获/tts/stt模块114的一个或多个方面可以与自动化助理客户端118分开实施。

语音捕获/tts/stt模块114可以配置为执行一个或多个功能:捕获用户的语音,例如,经由麦克风(未示出);将该捕获的音频转换为文本;和/或将文本转换为语音。例如,在一些实施方式中,因为客户端设备106在计算资源(例如,处理器周期、存储器、电池等)方面可能会相对受限,所以客户端设备106本地的语音捕获/tts/stt模块114可以配置为将有限数量的不同口语短语——特别是调用自动化助理120的短语——转换成文本。可以将其它语音输入发送给基于云的自动化助理组件119,该基于云的自动化助理组件119可以包括基于云的tts模块116和/或基于云的stt模块117。

stt模块117可以配置为充分利用云的几乎无限的资源将语音捕获/tts/stt模块114所捕获的音频数据转换成文本(然后将该文本提供给自然语言处理器122)。tts模块116可以配置为充分利用云的几乎无限的资源将文本数据(例如,由自动化助理120编定的自然语言响应)转换成计算机生成的语音输出。在一些实施方式中,tts模块116可以将计算机生成的语音输出提供给客户端设备106以直接输出,例如,使用一个或多个扬声器。在其它实施方式中,可以将自动化助理120所生成的文本数据(例如,自然语言响应)提供给语音捕获/tts/stt模块114,该语音捕获/tts/stt模块114然后可以将文本数据转换成在本地输出的计算机生成的语音。

自动化助理120(以及具体是基于云的自动化助理组件119)可以包括自然语言处理器122、上述tts模块116、上述stt模块117、所谓的“语料库选择引擎”138和图1中未描绘的其它组件。在一些实施方式中,可以省略、组合和/或在与自动化助理120分开的组件中实施自动化助理120的引擎和/或模块中的一个或多个。例如,语料库选择引擎138可以与自动化助理120分开实施。

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

自动化助理120的自然语言处理器122处理在客户端设备106处生成的自然语言输入,并且可以生成经注释的输出以供自动化助理120的一个或多个其它组件使用。例如,自然语言处理器122可以处理由用户经由客户端设备106的一个或多个用户接口输入设备生成的自然语言自由形式输入。生成的经注释的输出包括自然语言输入的一个或者多个注释,并且可选地包括自然语言输入的词项中的一个或多个(例如,全部)。

在一些实施方式中,自然语言处理器122被配置为识别和注释自然语言输入中的各种类型的语法信息。例如,自然语言处理器122可以包括词性标注器,该词性标注器被配置为用词项的语法角色来注释词项。例如,词性标注器可以用词项的词性(诸如,“名词”、“动词”、“形容词”、“代词”等)来标注每个词项。同样,例如,在一些实施方式中,自然语言处理器122可以另外和/或替选地包括依存关系分析器(未示出),该依存关系分析器被配置为确定自然语言输入中的词项之间的句法关系。例如,依存关系分析器可以确定哪些词项修饰句子的其它词项、主语和动词等(例如,分析树)——并且可以对这种依存关系进行注释。

在一些实施方式中,自然语言处理器122可以另外和/或替选地包括实体标注器(未示出),该实体标注器被配置为注释一个或多个部分中的实体引用,诸如,对人(包括例如文学角色、名人、公众人物等)、组织、位置(真实与虚构)等的引用。在一些实施方式中,可以将关于实体的数据存储在一个或多个数据库中,诸如,在知识图(未示出)中。在一些实施方式中,知识图可以包括表示已知实体(以及在一些情况下是实体属性)的节点以及连接节点并且表示实体之间的关系的边。例如,“香蕉”节点可以连接(例如,作为子节点)至“水果”节点,该“水果”节点进而可以(例如,作为子节点)连接至“农产品”和/或“食品”节点。作为另一个示例,一家名为“hypotheticalcafé”的餐厅可以由一个节点表示,这个节点也包括诸如它的地址、提供的食物的类型、营业时间、联系信息等属性。“hypotheticalcafé”节点在一些实施方式中可以由边(例如,表示子节点与父节点之间的关系)连接至一个或多个其它节点,诸如,“餐厅”节点、“商家”节点、表示餐厅所在的城市和/或州的节点等。

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

在一些实施方式中,自然语言处理器122可以另外和/或替选地包括共指解析器,该共指解析器被配置为基于一个或多个场境提示来将对相同实体的引用分组或“聚类”。例如,可以利用共指解析器将词项“there(那里)”解析为自然语言输入“ilikedhypotheticalcafélasttimeweatethere(我喜欢我们上次在那里吃饭的hypotheticalcafé)”中的“hypotheticalcafé”。

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

如上所述,本文描述了用于实施自动化助理120的技术,使得其在在线文档的常规的、通用的语料库之外搜索响应于用户请求的信息。在图1中,自动化助理120(以及更具体地是基于云的自动化助理组件119)经由通常用1102表示的一个或多个网络(例如,互联网)与在线文档的一个或多个通用语料库126进行网络通信。在线文档的通用语料库126可以是在线文档的常规数据存储库或索引,其可由常规搜索引擎搜索和/或使用各种常规技术来为其编索引。

如背景技术中所述,自动化助理120可能有按照用户的请求从通用语料库126搜索特定信息的能力。例如,用户可以问“whatisthecapitolofgermany?(德国的首都是哪里?)”自动化助理120可以将该搜索(处于初始形式或重新编定的)转发给搜索引擎(未示出),该搜索引擎进而可以从通用语料库126搜索响应文档。在许多情况下,搜索引擎(或自动化助理120或另一个组件)可以从一个或多个响应文档提取直接响应用户问题的信息,诸如,城市“berlin(柏林)”。在一些情况下,自动化助理120或另一个组件(例如,搜索引擎)可以将提取的信息编定成完整的句子以输出给用户,诸如,“berlinisthecapitolofgermany(柏林是德国的首都)”。

除了或替代上面的常规搜索,本文所描述的技术可以使得能够从文档的其它潜在更相关(或“切题”)的语料库搜索响应信息。如此,可以在不提示用户来进行消歧的情况下,更容易地响应模糊的用户问题。这进而减少了这样的实例的数量:该实例中,需要经由一个或多个电子设备的来自助理的附加输出和到助理的附加输入来对问题进行响应。以这种方式,减少了助理对问题进行响应所耗费的总时间并且也减少了一个或多个电子设备所消耗的电量。这至少是因为对一个或多个设备的输入和从一个或多个设备的输出的数量的减少意味着设备的扬声器和其它组件消耗的电力更少。这可能会潜在地对设备产生显著的正面影响,特别是在设备依赖电池电力的情况下。另外或替选地,用户可以接收与仅通过搜索通用语料库126所可能获得的信息相比,更直接切中要点或更相关(或“切题”)的信息。在各个实施例中,可以以按需方式例如通过语料库选择引擎138生成这些替选语料库,例如,当用户在用户与自动化助理120之间的人机对话会话开始时提交请求时生成,等等。在其它实施方式中,可以定期维护和更新这些替选语料库,以反映用户和/或客户端设备106的当前场境/状态。在一些实施方式中,可以例如以按需方式暂时生成替选语料库,然后在不再需要(例如,用户与自动化助理120之间的人机对话会话结束)时丢弃。

例如,在一些实施方式中,语料库选择引擎138可以被配置为生成和/或维护在任何给定时间点与通用语料库126相比可能对用户更切题的文档的替选语料库。在图1中,可以例如通过语料库选择引擎139生成/维护文档的用户特定语料库128,以包括所谓的“活动”文档104。如上所述,“活动”文档104可以包括在客户端设备106上(或在包括客户端设备106在内的客户端设备的协调生态系统的另一个客户端设备上)当前打开(例如,显示)的文档(例如,网页、字处理文档、pdf文档、视频、音乐文件、电子邮件等)、在用户与自动化助理120之间的当前人机对话会话期间自动化助理120将其信息可听见地提供给用户的文档(在客户端设备(例如,客户端设备106)的协调生态系统的任何客户端设备上)、在用户操作客户端设备106的web浏览器的当前会话期间呈现给用户的文档、传入流媒体文档等。在一些实施方式中,在客户端设备106的存储器(例如,易失性存储器)中(或在协调生态系统的另一个客户端设备中)加载的文档可以被视为“活动的”。虽然这不是必需的,但这是计算系统能够识别“活动”文档的一种技术上方便且有效率的方式。在一些实施方式中,即使打开文档的软件应用正在后台运行,该文档仍可以被视为是活动的。

一般来说,活动文档104相对高可能性地包含当前与用户相关的信息,因为用户正在操作或已非常新近地操作过客户端设备的协调生态系统的一个或多个客户端设备来消费包含在这些文档中或以其他方式与其相关联(例如,作为元数据)的信息。因此,通过提供活动文档104的用户特定语料库128以供搜索,用户向自动化助理120提出的问题可以用于搜索这些可能相关的文档并且潜在地获得(尤其是对针对特定信息的用户请求)更响应性的信息。虽然在图1中将活动文档104描绘成与客户端设备106成为一体,但是这并不意味着是限制的。在各个实施方式中,活动文档的标识符(诸如,统一资源定位符(“url”))可以是存储在客户端设备106上的唯一信息。在一些这样的实施例中,客户端设备106可以将url提供给语料库选择引擎138,使得语料库选择引擎138可以获得文档以供搜索目的。另外或替选地,在各个实施方式中,活动文档(或其标识符)可以与客户端设备106分开维护,例如,作为随用户消费来自各个文档的信息而更新的基于云的用户简档的一部分。

假设用户正在阅读关于特定篮球队的文章,例如,经由显示包括文章文本的网页的web浏览器(未示出)。假设用户问自动化助理“whenisthelasttimetheywonachampionship?(他们上一次赢得冠军是什么时候?)”在没有任何场境的情况下,自动化助理120可能需要从用户那里寻求消除歧义的信息,以便回答问题,诸如,“whomareyoureferringto?(你指的是谁?)”然而,使用所公开的技术,自动化助理120例如通过语料库选择引擎138可以将用户正在查看的网页识别为作为用户特定语料库128的一部分的活动文档。自动化助理120然后可以搜索(或请求另一个组件搜索)用户特定语料库128——包括当前显示的网页——以确定文档本身(或者可能是由活动文档链接至的另一个文档)指示篮球队最后一次赢得冠军是在2012年。自动化助理120然后可以将该信息提供给用户,例如,(叠加在文章正文上),作为可听见的输出等。

在一些实施方式中,语料库选择引擎138可以另外或替选地生成和/或维护基于用户的当前场境而识别的文档130的一个或多个场境特定语料库。可以基于各种信号——诸如,由客户端设备106生成的位置坐标、可以用于例如识别当前与用户相关的一个或多个主题的最近搜索活动103等——来确定用户的当前场境。一旦确定了用户的场境,便可以使用其来识别可能与用户的当前场境有关的一个或多个文档(其也可以是或可以不是活动文档104)。

例如,假设从客户端设备106获得的位置坐标105指示:用户在特定商店里,并且用户问自动化助理120“dotheycarrycircularsaws?(它们销售圆锯吗?)”?在没有场境的情况下,自动化助理120可能需要从用户那里寻求消除歧义的信息,以便回答问题,诸如,“whatdoyoumeanby'they'?(你说的‘它们’指的是什么?)”?然而,使用所公开的技术,自动化助理120例如通过语料库选择引擎138可以确定用户的当前位置坐标105并且将其与特定商店匹配。这可以使语料库选择引擎138能够生成(例如,更新)场境特定语料库130,以包括例如与特定商店相关联的网页。值得注意的是,用户不一定正在查看或最近访问过该商店的网页——即,商店的网页不必需是活动文档。自动化助理120然后可以搜索(或请求另一个组件搜索)场境特定语料库130(包括商店的网页),以确定商店是否销售圆锯。

虽然它们在某些方面可能重叠,但是场境特定语料库130与活动文档104的用户特定语料库128不同,因为并不要求场境特定语料库130的文档是“活动的”,尽管也没有与其对立的规则。在一些实施例中,可以对用户特定语料库(128)和场境特定语料库(130)两者协同地进行搜索,例如,结合对在线文档(126)的通用语料库的更常规的搜索。在各个实施方式中,从用户特定语料库128和/或从场境特定语料库130提取的响应信息可以与从通用语料库126获得的响应信息一起呈现,代替其和/或与其相比得到提升。在一些实施方式中,可以对来自每个语料库的结果进行比较,例如,排名,并且无论其来源,都可以使用排名最高的结果将响应信息提供给用户。因为语料库128和130中的文档在特定时间点可能对用户更切题,所以从语料库128/130获得的响应的排名将可能比从通用语料库126获得的响应高(但不保证或必需)。

图2描绘了平板计算机或智能电话形式的示例客户端设备206。图2中的客户端设备206包括触摸屏240和输入域244,其中,用户可以将自由形式输入(文本或音频形式)提供给自动化助理120(在图2中没有描绘)。在其它实施方式中,用户可以通过致动一个或多个输入组件(诸如,软键)或通过做手势调用自动化助理120(例如,包括引出输入域244)。当前显示在触摸屏240上的是与fakecamera公司的假想型号123456789相机相关联的网页或其它文档(例如,pdf、专有格式的文本文档等)。呈现了关于相机的各种信息,诸如,其光学变焦能力、可附接镜头的数量和高清晰度(“hd”)模式。还描绘了“详细技术规范”、“用户评论”和“第三方评论”的可扩展元素。通过选择(例如,点击)可扩展元素,可以显示与该选择的可扩展元素相关联的隐藏信息,例如,作为文本的“扩展”。在一些实施方式中,隐藏信息可以包括在网页中,但是可以使用各种技术(诸如,javascript)隐藏。

如果用户希望获得更多关于相机的信息,诸如,具体的技术细节、具体的用户评论等,则用户可以操作可扩展元素以使隐藏文本显露。然后,用户可以阅读显示的文本,以手动查找所需信息。然而,配置有本公开的所选方面的自动化助理120可以大大简化这个任务,例如,减少用户找到所需信息所需的输入的数量,这可以帮助具有有限能力的用户提供输入(例如,正在开车的用户身体有缺陷等)。对于灵活性有限的用户来说,这种优势可以与上面已经讨论过的其它效果协同出现,这些效果与减少对计算系统的输入和从其的输出的数量相关联。

图3描绘了用户可以如何与自动化助理120互动以快速查出图2的相机网页中的特定信息的示例。在图3中,用户(图3中的“you(你)”)已经将输入提供给自动化助理120,例如,通过输入域244,该输入包括对特定信息的请求:“whatisthechargingtime?(充电时间是多久?)”如果这个问题是在没有任何场境的真空情况下提交给自动化助理120的,则可能需要自动化助理120从用户那里获得消除歧义的信息。然而,用户当前在客户端设备206上打开相机网页。在各个实施方式中,相机网页可能(或已经)被例如语料库选择引擎138识别为应当(或已经)包括(至少暂时地)在用户特定语料库128中的活动文档。

因此,响应于用户的搜索,除了或替代通用语料库126,自动化助理120能够从用户特定语料库128搜索响应用户的问题的信息。因为用户特定语料库128至少暂时地包括相机的网页,所以可以搜索相机的网页。可以搜索包含在网页中的隐藏文本(虽然最初对用户不可见,但是隐藏文本通常包括在底层html/xml文档中)以找出指示相机的充电时间的信息。如果必要的话,则可以重新编定这种信息(如果信息已经包含在完整的句子中,则可能没有必要这样做),而且自动化助理(图3中的“aa”)将这种信息提供给用户,如图3所示:“thechargingtimeislistedastwohours(充电时间列出为两个小时)”。在一些实施方式中,如果用户想要核实答案,则自动化助理120可以提供附加信息,诸如,指向相机网页中包括充电时间的位置的超链接(“产品规格”)。

在图3中,用户和自动化助理120之间的人机对话包含在叠加在相机的网页上的气球中。然而,这并不意味着是限制的。在各个实施方式中,特别是在用户将查询可听见地提供给自动化助理120时,自动化助理120可以可听见地提供其响应。在这种情况下,不会在相机网页上叠加气球。同样,虽然用户的问题叠加在图3中的网页内容上,但是在其它实施方式中,可以或可以不可见地描绘用户的问题,例如,使得相机的更多网页保持可见,即使自动化助理120可见地提供其响应。而且,虽然在图3的示例(以及本文中的一些其它示例)中,仅响应于用户的最后一个问题提供了文本,但是这并不意味着是限制的。在各个实施方式中,可以从替选语料库中的文档提取其它类型的信息,诸如,图像、声音、视频剪辑等。

图4描绘了实施本文描述的技术的另一个示例。在图4中,再次以平板计算机或智能电话的形式描绘了另一个客户端设备406。然而,这并不意味着是限制的,并且本文所描述的技术可以使用各种不同的客户端设备类型来实施,上面提及了这些不同的客户端设备类型中的一些。客户端设备406可以包括与图2至图3的客户端设备206类似的组件。

在图4中,用户并没有专门操作客户端设备406来查看文档。相反,用户(图4中的“you”)正在与自动化助理120进行人机对话会话。用户通过问“wherecanifindthebestchinesefoodaroundhere?(这附近哪里有最好的中国菜?)”开始。自动化助理(图4中的“aa”)可以确定用户的位置——例如基于位置坐标105,并且然后可以执行常规搜索——例如,通过通用语料库126经由搜索引擎——以识别本地中餐馆(例如,在5至10英里等内)。可以按照用户排名例如通过搜索引擎或通过自动化助理120对这些结果进行排名,并且然后通过自动化助理在以下陈述:“hereisthehighestratedchineserestaurantinthearea(这是该地区评价最高的中餐馆)”之后呈现来自排名最高的结果的信息。在一些实施方式中,自动化助理120——例如,通过语料库选择引擎138——可以识别此次交流期间提出的一个或多个主题,诸如,“餐厅”、“中国餐厅”、“亚洲餐厅”等。基于这些识别的主题,语料库搜索引擎138可以生成和/或更新场境特定语料库130以包括关于这些主题的文档,诸如,餐厅评论、用户评论(例如,包含在餐厅评级网站上)等。

接下来,用户问“isitopenforlunch?(它午餐时营业吗?)”与本文描述的示例中的至少一些一样,这种请求单独考虑时(即,在没有场境的情况下)对于自动化助理120而言可能太模糊,以至于在没有从用户那里寻求到附加的消除歧义的信息的情况下无法解决。然而,使用本文所描述的技术,自动化助理120——例如,通过语料库选择引擎138——可以基于用户的位置生成(或更新)场境特定语料库130,以包括文档——诸如,与餐厅相关联的网页(用户之前不需要访问过该网页)。餐厅的网页可以指示其当前营业。如果在场境特定语料库130中没有其它文档与那些时间冲突,则自动化助理120可以回答“yes,itisopennow(是的,它现在在营业)”。

然而,假设餐厅的网页是过期的。假设餐厅在最近几天/几周因施工而关闭,而且这一事实并没有反映在餐厅的网页上。在一些实施方式中,除了餐厅的网页,自动化助理120(或代表自动化助理120的另一个组件)还可以搜索基于场境的语料库130中的其它文档,以获得更多最新信息。例如,在图4中,自动化助理120基于特定餐厅评论网站上的多个评论确定餐厅当前因施工而关闭。因此,自动化助理120回答“whileitswebsitesaysitwillbeopen,accordingtomultiplereviewerson<website>,itistemporarilyclosedforconstruction.(虽然它的网站上说它会营业,但是根据<网站>上的多个评论,它因施工而暂时关闭)”。在一些实施方式中,与从通用语料库126中的文档提取的信息相比,可以对从场境特定语料库130提取的信息(例如,评论)产生偏向/对其进行提升,使得用户更有可能被正确告知餐厅暂时关闭。另一方面,如果评论是作为通用语料库126的常规搜索的一部分被检测到的,则从评论提取的信息可能并未以同样力度提升,并且因此,用户可能并未被提供最新的信息。这些优点不仅可以由用户感受到,而且还可以另外/替选地由例如对从场境特定语料库提取的信息做出反应的自动化设备或其它设备感受到。例如,被指派了收取和/或运送特定类型的货物的任务的自主车辆可以能够更准确地确定特定机构(诸如,各餐厅或商店)是营业还是关闭。在此基础上,自主车辆的行驶距离和行驶时间可能会缩短,因为车辆能够直接行驶到已知是营业而非例如暂时关闭的餐厅和/或商店。

图5演示了本文所描述的技术的另一个示例,这些技术是在用户501与客户端设备506之间的人机对话期间实施的,该客户端设备506采取独立的交互式扬声器的形式,在该独立的交互式扬声器上用户501可以可听见地与自动化助理120交互——例如,通过提供由客户端设备506上的麦克风(未示出)检测的音频输入。客户端设备506经由一个或多个扬声器(未示出)提供可听见的输出。在该示例中,用户501问“howdoimaketiramisu?(我怎么做提拉米苏?)”自动化助理120(图5中未示出,参见图1)基于用户的问题执行搜索(或请求搜索引擎执行搜索)。该搜索例如在通用语料库126中定位包含制作提拉米苏的逐步式食谱的网页。自动化助理120从网页提取食材和步骤并且将其可听见地渲染给用户501。

然后,用户501问“wait,howmanyeggsagain?(等等,放多少个鸡蛋来着?)”这个后续问题对常规的自动化助理而言太模糊,以至于在没有附加场境的情况下无法直接回答。因此,常规的自动化助理需要提示用户以获取消除信息的歧义(例如,“i'msorry,idon'tunderstandyourquestion(对不起,我不明白你的问题)”)。然而,配置有本公开的所选方面的自动化助理120可以搜索文档的替选语料库(例如,由语料库选择引擎138生成/维护)以直接获得答案。在该示例中,自动化助理120可以搜索活动文档104的用户特定语料库128,其可以包括网页,自动化助理120从该网页阅读提拉米苏食谱的食材和步骤。在一些实施方式中,该网页可以仍然在客户端设备506的存储器中加载。在其它实施方式中,自动化助理120可以提供网页的标识符(诸如,其url)连同对搜索引擎的问题,并且与其它更常规的搜索结果相比,搜索引擎(其可以配置有本公开的所选方面)可以提升从该网页提取的任何信息。在任何一种情况下,自动化助理120能够回答“youneedthreeeggs(你需要三个鸡蛋)”。

本文所描述的技术并不限于在当前由用户操作的客户端设备上提供输出。在一些实施方式中,可以在与目前由用户操作的客户端设备不同的客户端设备(例如,由用户控制的客户端设备的协调生态系统的另一个客户端设备)上提供输出。假设用户正在智能tv上观看特定电影。进一步假设该智能tv连同位于该tv附近的呈独立扬声器形式的另一个客户端设备一起形成用户的客户端设备的协调生态系统的一部分。现在,假设用户问问题,诸如,“whatelsehasshebeenin?(她还在什么里出现过?)”?与之前描述的示例一样,这个问题在没有场境的情况下太模糊,以至于无法直接回答。然而,自动化助理120——例如,通过语料库选择引擎138——可以生成/维护用户特定语料库128,以包括用户正在观看的电影形式的活动文档。因此,除了或替代通用语料库126,用户的问题可以用于从用户特定语料库128搜索直接响应用户问题的信息。在该示例中,用户正在观看的电影作为活动文档可以用于确定用户指的是电影中的特定女演员(例如,用户问问题时屏幕上的女演员)。例如,可以在与电影文件/流相关联的元数据中识别该女演员。

然后,基于该女演员的身份,自动化助理120能够搜索附加数据源——例如,作为通用语料库126的一部分——以识别女演员出演的其它电影并且可听见地将该列表渲染给用户。在辅助客户端设备不可用的其它实施方式中,女演员出演的一系列电影可以通过智能tv呈现,例如,在屏幕上(例如,作为叠加文本、伴随文本、在黑色栏内等)或可听见地(在这种情况下,可以暂时减弱电影的音频或在可听见地渲染列表时可以暂停电影)。

图6描绘了另一个示例,其中,多个客户端设备可以协作以向用户提供响应于对特定信息的请求的信息。在图6中,用户601在平板计算机形式的第一客户端设备606a上已经打开食谱网页,使得在平板计算机位于厨房表面(诸如,烤箱)上时,用户601可以可视地阅读食谱。如上所述,语料库选择引擎138可以将具有食谱的网页添加到用户特定语料库128作为活动文档104。用户特定语料库128(以及场境特定语料库130)可以跨用户601所操作的多个客户端设备可用的。随后,假设客户端设备606a已经进入待机模式,例如,使其屏幕空白并且不再显示食谱。同时,用户601可能正在准备食谱并且可能例如其手上还有食材,该用户并不想在重新激活客户端设备606a以再次查看食谱前清洗这些食材。

替代清洗他的手以重新激活客户端设备606a,用户601可听见地问问题“heyassistant,howmanyeggsagain?(你好,助理,放多少个鸡蛋来着?)”他的问题的第一部分“heyassistant(你好,助理)”可以是调用听力范围内的一个或多个客户端设备(诸如,独立的交互式扬声器形式的第二客户端设备606b(类似于客户端设备506))上的自动化助理120的预定短语。然后,他的问题的剩余部分可以通过自动化助理120处理成查询。使用本文所描述的技术,自动化助理120可以使用查询来执行搜索。从通用语料库126获得的响应结果最多可能是低质量的,而且在一些情况下,用户的问题可能被认为太模糊,以致无法执行通用语料库126的搜索。然而,当用户的问题用于搜索用户特定语料库128时,可以搜索具有该食谱的网页以确定对用户的问题的回答。因此,自动化助理120能够在客户端设备606b从回答用户的问题:“youneedthreeeggs”。

图7描绘了根据各个实施例的、实践本公开的所选方面的示例方法700。为了方便起见,参照执行操作的系统描述流程图的操作。该系统可以包括各个计算机系统的各个组件,包括自动化助理120和/或语料库选择引擎138。而且,虽然按照特定的顺序示出了方法700的操作,但这并不意味着是限制的。可以重新排序、省略或添加一个或多个操作。

在框702中,系统可以例如由自动化助理120经由用户所操作的一个或多个客户端设备(例如,客户端设备的协调生态系统)中的第一客户端设备的输入组件接收自由形式输入。在各个实施方式中,自由形式输入可以包括对特定信息的请求,诸如,对关于实体(例如,人、地方、事物)的信息的请求。在各个实施方式中,自由形式输入可以由用户使用语音(其可以转换成文本,例如,通过组件114和/或117)和/或经由键入的输入来提供。

在框704中,系统可以搜索在线文档的通用语料库126,以获得对特定信息的请求的一个或多个候选响应的第一集合。例如,自动化助理120可以将用户的自由形式输入作为搜索查询提交给常规的搜索引擎。各个搜索引擎都可以被配置为提供响应,这些响应包括例如对用户的对于特定信息的请求的问答,该回答被编定为完整的句子。可以例如在框中呈现这些回答,该框与更“标准”的搜索结果(诸如,匹配文档)分开显示。

在框706中,系统可以搜索一个或多个活动文档104的用户特定语料库128,以获得对特定信息的请求的一个或多个候选响应的第二集合。如上所述,用户特定语料库128可以由语料库选择引擎138以持续或按需方式生成/维护。在一些实施方式中,用户特定语料库128可以包括活动文档104的实际副本,这些实际副本可以存储在一个或多个客户端设备106上和/或在形成所谓的“云”计算环境的一部分的一个或多个远程计算系统上。在其它实施方式中,活动文档104中的至少一些在用户特定语料库128中可以作为文档标识符(例如,url)被维护,这些文档标识符可以作为使用用户的自由形式输入而执行的搜索的一部分提交。

在框708中,系统可以例如基于在第一客户端设备处生成的一个或多个信号来确定用户的当前场境。例如,用户的当前场境可以包括用户的位置(例如,由诸如gps传感器的位置坐标传感器或wi-fi或蜂窝三角测量方案确定)、当前与用户相关(或对用户“切题”)的一个或多个主题等。可以基于各种信号来确定相关主题,所述信号诸如当前会话期间用户进行的先前搜索、最近的搜索历史、最近的浏览历史、人机对话的内容等。

在一些实施方式中,可以使用主题分类器来确定主题。主题分类器可以具有机器学习模型(监督或非监督)或基于规则的模型的形式。利用基于机器学习的主题分类器,在一些实施方式中,可以训练主题分类器以提供这样的输出,该输出指示特定主题是否是相关的,例如,在当前人机对话会话期间被讨论或在一个或多个最近消费的文档中被提及。在其它实施方式中,可以训练主题分类器以提供这样的输出,该输出指示多个不同的主题当前是否是相关的。例如,主题分类器可以配置为提供这样的输出,该输出指示在人机对话中讨论多个不同的主题的可能性或置信度。在一些实施方式中,仅仅可以将具有满足一个或多个阈值的可能性/置信度的那些主题识别为相关主题。在其它实施方式中,仅仅可以将n个可能性/置信度最高的主题识别为相关主题。可以采用各种已知技术进行主题分类,包括但不限于期望最大化、词频-逆文本频率(“td-idf”)、朴素贝叶斯分类器、神经网络(例如,即时训练神经网络)、支持向量机、各种自然语言处理方法(例如,主题分割)、情感分析等。

在框710中,系统可以搜索一个或多个文档的场境特定语料库130,以获得响应自由形式输入的一个或多个候选响应的第三集合。如上所述,在各个实施例中,可以基于在框708确定的用户的当前场境来识别/生成/维护场境特定语料库130。因此,例如,场境特定语料库130可以包括极有可能包括相关信息的文档、网站或其它信息源。例如,假设用户当前与自动化助理120进行以主题“电影”为中心的人机对话会话。在各个实施方式中,可以将关于电影的信息(例如,演员、工作人员、花絮、评论等)的在线数据库添加(例如,作为链接)到场境特定语料库130,并且从数据库获得的响应信息与从通用语料库126获得的响应信息相比可以得到提升或甚至替代其呈现。

在框712中,系统可以将候选响应的第一集合、第二集合和/或第三集合进行比较。例如,在一些实施方式中,系统可以检查与候选响应相关联的相关性分值或排名。在一些实施方式中,系统可以对单个列表中的所有候选响应进行排名,使得可以识别排名最高的候选响应,而不管排名最高的响应是从哪个语料库获得的。

基于比较,在框714中,系统可以从第一集合、第二集合和/或第三集合中选择对自由形式输入的给定响应。如上所述,在一些实施方式中,给定响应可以就是排名最高的响应,而不管其来自哪个语料库。在框716中,系统可以例如经由用户所操作的客户端设备中的一个或多个客户端设备通过自动化助理120提供指示给定响应的输出。上面描述了如何可以提供这种输出的非限制性示例。

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

计算设备810通常包括至少一个处理器814,该至少一个处理器814经由总线子系统812与多个外围设备通信。这些外围设备可以包括存储子系统824(例如,包括存储器子系统825和文件存储子系统826)、用户接口输出设备820、用户接口输入设备822和网络接口子系统816。输入和输出设备允许与计算设备810的用户交互。网络接口子系统816提供至外部网络的接口并且耦合至其它计算设备中的相应接口设备。

用户接口输入设备822可以包括键盘、指示设备(诸如,鼠标、轨迹球、触摸板或图形输入板)、扫描仪、并入显示器中的触摸屏、音频输入设备(诸如,语音识别系统、麦克风和/或其它类型的输入设备)。一般而言,术语“输入设备”的使用旨在包括将信息输入到计算设备810中或到通信网络上的所有可能类型的设备和方法。

用户接口输出设备820可以包括显示子系统、打印机、传真机或非可视显示器,诸如,音频输出设备。显示子系统可以包括阴极射线管(crt)、平板设备(诸如,液晶显示器(lcd))、投影设备或用于创建可见的图像的一些其它机制。显示子系统还可以提供非可视显示,诸如,经由音频输出设备。一般而言,术语“输出设备”的使用旨在包括将来自计算设备810的信息输出至用户或至另一机器或计算设备的所有可能类型的设备和方法。

存储子系统824存储编程和数据结构,其提供本文所描述的模块中的一些或者全部的功能。例如,存储子系统824可以包括执行图7的方法的所选方面并且实施图1中描绘的各个组件的逻辑。

这些软件模块通常由处理器814单独或与其它处理器组合执行。用于存储子系统824的存储器825可以包括多个存储器,该多个存储器包括用于在程序执行期间存储指令和数据的主要随机存取存储器(ram)830以及存储有固定指令的只读存储器(rom)832。文件存储子系统826可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器及相关联的可移动介质、cd-rom驱动器、光盘驱动器或可移动介质盒。实施某些实施方式的功能的模块可以由文件存储子系统826存储在存储子系统824中或在可由处理器814访问的其它机器中。

总线子系统812提供用于使计算设备810的各个组件和子系统都按照预期的方式彼此通信的机制。虽然总线子系统812被示意地示出为单个总线,但是总线子系统的替选实施方式可以使用多个总线。

计算设备810可以有各种类型,包括工作站、服务器、计算集群、刀片式服务器、服务器群或任何其它数据处理系统或计算设备。由于计算机和网络的性质多变,图8中描绘的计算设备810的描述仅仅作为为了说明一些实施方式的目的的特定示例。计算设备810的许多其它配置可能具有比图8中描绘的计算设备更多或更少的组件。

在本文所讨论的某些实施方式可以收集或使用关于用户的个人信息(例如,从其它电子通信提取的用户数据、关于用户的社交网络的信息、用户的位置、用户的时间、用户的生物特征信息、用户的活动和人口统计信息、用户之间的关系等)的情况下,会向用户提供一个或者多个机会来控制是否收集信息、是否存储个人信息、是否使用个人信息、以及如何收集、存储和使用关于用户的信息。也就是说,本文所讨论的系统和方法收集、存储和/或使用用户个人信息,特别是在接收到来自相关用户的对此的显式核准时。

例如,向用户提供对程序或特征是否收集关于该特定用户或与程序或特征相关的其它用户的用户信息的控制。向个人信息将要被收集的每个用户都呈现用于以下的一个或多个选项:允许控制与该用户相关的信息收集,提供关于是否收集信息和关于收集信息的哪些部分的许可或者核准。例如,可以通过通信网络向用户提供一个或多个这样的控制选项。另外,在存储或者使用某些数据之前,可以按照一种或多种方式处理这些数据,从而使得可以去除个人可识别信息。作为一个示例,可以处理用户的身份,从而无法确定个人可识别信息。作为另一示例,可以将用户的地理位置泛化到更大的区域,从而无法确定用户的具体位置。

虽然在本文中已经描述和图示了多种实施方式,但是可以利用用于执行功能和/或获得结果和/或本文所描述的优点中的一个或多个优点的各种其它设备和/或结构,并且认为这种变化和/或修改中的每一种都在本文所描述的实施方式的范围内。更一般地,本文所描述的所有参数、大小、材料和配置都意谓示例性的,并且实际参数、大小、材料和/或配置取决于使用了一个/多个教导的一个或多个具体应用。本领域的技术人员将认识到或能够使用不超过常规的实验来确定本文所描述的具体实施方式的许多等同物。因此,要理解,前述实施方式仅以举例的方式呈现,并且在所附权利要求书及其等同物的范围内,可以实践除了具体描述和要求保护的实施方式之外的实施方式。本公开的实施方式涉及本文所描述的各种单独特征、系统、物品、材料、套件和/或方法。另外,如果这些特征、系统、物品、材料、套件和/或方法并未相互矛盾,则两个或更多个这样的特征、系统、物品、材料、套件和/或方法的任何组合包括在本公开的范围内。

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