将可选择应用链接并入与个人助理模块的会话中
1.分案说明
2.本申请属于申请日为2016年12月26日的中国发明专利申请201611218846.8的分案申请。
技术领域
3.本公开涉及将可选择应用链接并入与个人助理模块的会话中。
背景技术:4.个人助理模块是安装在计算装置(诸如,智能电话、平板、车辆导航系统、和智能手表)上用于提供用户友好型界面以供用户下发自然语言命令的软件进程。用户通常通过使用其语音来下发自然语言命令,但是个人助理模块还可以对其它模态(诸如,各种形式的文本输入和/或图像输入)做出响应。在用户和个人助理模块之间交换的内容通常限于文本(例如,键入的或者通过语音输入生成的)或者其它数据,诸如,图片,并且通常不保存以供后续使用。因此,寻找与会话有关的外部信息的用户必须切换到不同的应用,诸如,web浏览器,以获取期望的信息。切换应用,具体地,通过使用每次通常只显示单个应用的移动装置,可能转移注意力并且是繁重的,尤其是对于那些熟练性差的用户,并且可能会中断会话的流程。
技术实现要素:5.本公开总体上涉及用于将“可选择应用链接”——并入在用户与个人助理模块之间的消息交换话题中以向用户显露与另一应用相关联的接口的图形元素——直接并入在由用户操作的客户端计算装置(或者,简称作“客户端装置”)上呈现的消息交换话题的记录单中的方法、设备、和计算机可读介质(暂时性和非暂时性)。在各种实施方式中,可以通过呈现记录单的客户端装置的资源来指定并入该记录单中的可选择应用链接。例如,可以识别与消息交换话题的内容有某种相关性的一个或者多个“候选应用”,并且其也安装在由与个人助理模块交互的用户操作的客户端计算装置上。在一些实施方式中,可以仅呈现指向已安装应用的可选择应用链接。在其它实施方式中,如果未安装有合适的应用,那么替代地可以包括具有与未安装的应用对应的功能的应用安装器(例如,在应用商店或者在网页上)或者网页的链接。将可选择应用链接并入消息交换话题可以降低用户为了访问经由该链接可用的内容必须对装置进行的输入的数量。这可以特别有利于具有低熟练性的用户,或者对设备进行用户输入有困难的用户。至少对于这些用户,例如通过挽救由于低熟练性导致的用户出错,将可选择建议并入消息交换话题可以增加设备用户的可靠性和速度。
6.可以通过各种提示来触发将可选择应用链接并入记录单中。在一些实施方式中,提示可以源自通过由用户操作的一个或者多个客户端装置并入到消息交换话题中的内容。例如,用户可以询问在智能手表上运行的个人助理模块的实例:“今晚我有什么安排?”。该个人助理模块可以搜索用户的日历和/或其它数据源(其可以是在线的或者在客户端装置
本地)并且回应用户当晚没有计划。随后,用户可以与在诸如智能电话或者平板的不同客户端装置运行的个人助理模块的第二实例交互。用户可以说,比如,“在xyz餐馆预订个位置”。用户未明确指出应该进行该预订的时间,因此,个人助理模块的第二实例可以向持久消息交换话题咨询,基于用户向在智能手表上运行的个人助理模块的第一实例提出的前一个问题和/或对该问题的响应,推断用户指的是今晚。通过做出这样的推断,能够进一步降低用户所需的输入的数量。
7.可以按照各种方式来识别安装在客户端装置上的应用。在一些实施方式中,可以从客户端装置远程地获知安装在客户端装置上的应用,例如,通过应用商店服务器,该应用商店服务器具有对安装在形成由用户操作的客户端装置的协调“生态系统”的一个或者多个客户端装置上的应用的记录。在这种情况下,可以将指示与已知的安装在客户端装置上的应用相关联的一个或者多个可选择应用链接的数据下载到客户端装置,从而使得客户端装置可以将这些应用的可选择应用链接并入消息话题中。至少在这些场景中,并入消息交换话题的可选择链接可以具有链接被显现的装置之外的效果——至少通过使数据从一个或多个外部计算机被下载到该装置。通过可选择链接可以使得该过程更加可靠,这确保了由于诸如错误手动搜索结果的用户选择的一个或多个错误用户输入导致错误数据被下载到该装置的风险被显著降低。这可以降低网络业务,并且使得总体系统操作更加有效。在一些实施方式中,可以远程地识别多个已安装的应用(和指示下载到客户端的可选择应用链接的数据),并且然后,客户端装置可以基于各种信号,诸如,应用的使用频率(例如,在用户的生态系统的一个或者多个客户端计算装置之间、或者在单个客户端计算装置上),来选择多个应用的子集。在一些实施方式中,客户端装置本身可以识别已安装的应用。例如,可以基于消息交换话题的内容来识别应用“类别”(例如,“地图”、“预订”、“音乐”、“电影”、“消息”、“视频会议”、“电话”等),并且然后,客户端装置可以在该类别内识别其已经安装了哪些匹配的应用,如果存在。
8.在一些实施方式中,可以提供一种计算机实现的方法,该方法包括以下操作:通过由用户操作的客户端计算装置来操作个人助理模块的实例,以在操作客户端计算装置的同时为用户服务,其中,个人助理模块的实例访问在用户与个人助理模块的一个或者多个实例之间的消息交换话题的持久记录;通过个人助理模块的实例来检测源自持久消息交换话题的一个或者多个提示,其中,该一个或者多个提示触发将指向与个人助理模块的实例不同的一个或者多个应用的一个或者多个可选择链接并入持久消息交换话题中;通过个人助理模块的该实例来识别安装在由用户操作的客户端计算装置上的一个或者多个候选应用,其中,该一个或者多个候选应用与消息交换话题的内容相关联;以及通过个人助理模块的实例来将一个或者多个可选择链接并入消息交换话题的记录单中,该记录单被显示在客户端计算装置上呈现的图形用户界面中,其中,每个可选择链接可由用户操作以使客户端计算装置向用户显露与相应候选应用相关联的接口。
9.本文公开的技术的这种方法和其它实施方式可以分别可选地包括以下特征中的一个或者多个。
10.在各种实施方式中,客户端计算装置可以是由用户操作的多个客户端计算装置中的一个,并且多个客户端计算装置中的每一个可以配置为操作能够访问持久消息交换话题的个人助理模块的单独实例。在各种实施方式中,该一个或者多个提示包括通过多个客户
端计算装置中的不同客户端计算装置并入持久消息交换话题中的多个消息。
11.在各种实施方式中,可以通过远离客户端计算装置的一个或者多个处理器来执行该识别,并且将指示该一个或者多个可选择链接的数据下载到客户端计算装置。在各种实施例中,该方法进一步包括:通过个人助理模块的实例,基于一个或者多个信息信号,选择所下载的一个或者多个可选择链接的子集用于显示。在各种实施方式中,该一个或者多个信息信号可以包括该一个或者多个候选应用的使用频率。
12.在各种实施方式中,可以通过与客户端计算装置集成的一个或者多个处理器来执行该识别。在各种实施方式中,该一个或者多个提示可以源自消息交换话题的内容。在各种实施方式中,该一个或者多个提示可以包括与特定应用相关联的关键字或者短语。
13.在各种实施方式中,该识别可以包括:响应于确定与消息交换话题的内容相关联的给定应用未安装在客户端计算装置上,将安装在客户端计算装置上的web浏览器识别为候选应用。在各种实施方式中,该并入可以包括:将交互式网页的可选择链接并入记录单中,其中,该交互式网页可以包括与未安装在客户端计算装置上的给定应用的功能对应的功能。
14.在各种实施方式中,该识别可以包括:响应于确定与消息交换话题的内容相关联的给定应用未安装在客户端计算装置上,将安装在客户端计算装置上的web浏览器识别为候选应用。在各种实施方式中,该并入可以包括:将与下载给定应用的安装器相关联的网页的可选择链接并入记录单中。
15.在各种实施方式中,图形用户界面可以包括可操作部分和持久部分。可以在持久部分中呈现记录单。可操作部分可以包括可操作以将内容并入消息交换话题中的一个或者多个图形元素。在一些这种实施方式中,该方法可以进一步包括:基于一个或者多个信号,选择性地将至少一个非持久可选择链接并入图形用户界面的可操作部分中,其中,该至少一个非持久可选择链接可由用户操作以使客户端计算装置向用户显露与特定候选应用相关联的接口。在一些实施方式中,该一个或者多个信号可以包括在用户与特定候选应用之间的交互历史。
16.其它实施方式可以包括存储指令的非暂时性计算机可读存储介质,该指令可由处理器执行以进行方法,诸如,上文描述的方法中的一种或者多种。再一实施方式可以包括系统,该系统包括存储器和一个或者多个处理器,该一个或者多个处理器可操作以执行存储在存储器中的指令以实施单独地或者共同地进行诸如上文描述的方法中的一种或者多种的方法的一个或者多个模块或者引擎。
17.应该了解,将本文详细描述的前述构思和附加构思的所有组合视作为本文所公开的主题的一部分。例如,将出现在本公开结束处的所要求的主题的所有组合视作为本文所公开的主题的一部分。
附图说明
18.图1图示了根据各种实施方式的可以将一个或者多个可选择应用链接并入消息交换话题中的环境。
19.图2、图3、和图4描绘了根据各种实施方式的客户端装置可以如何呈现图形用户界面的示例。
20.图5描绘了根据各种实施方式的单独的客户端装置可以如何识别本地安装的候选应用的一个示例。
21.图6描绘了根据各种实施方式的可以如何远程地识别安装在单独的客户端装置上的候选应用的一个示例。
22.图7描绘了根据各种实施方式的示例方法的流程图。
23.图8描绘了根据各种实施方式的客户端装置可以如何呈现图形用户界面的另一示例。
24.图9示意性地描绘了计算机系统的示例架构。
具体实施方式
25.图1图示了可以直接地将一个或者多个“可选择应用链接”并入在用户与在用户操作的客户端装置上呈现的个人助理模块的一个或者多个实例之间的消息交换话题的记录单中的环境。示例环境包括多个客户端装置1061‑
n
和知识系统102。可以将知识系统102例如实施在通过网络通信的一个或者多个计算机中。知识系统102是可以将本文描述的系统、组件、和技术实施在其中的和/或本文描述的系统、组件、和技术可以与其对接的信息检索系统的示例。
26.用户可以经由共同地形成客户端装置的协调“生态系统”108的一个或者多个客户端装置106来与知识系统102交互。用户的生态系统108的各个客户端装置106可以是通过一个或者多个网络110,诸如,局域网(lan)或者如的互联网的广域网(wan),耦合至知识系统102的计算机。各个客户端装置106例如可以是台式计算装置、膝上型计算装置、平板计算装置、移动电话计算装置、用户的车辆的计算装置(例如,车载通信系统、车载娱乐系统、车载导航系统)、或者用户的包括计算装置的可穿戴设备(例如,具有计算装置的用户手表、具有计算装置的用户眼镜)。可以提供附加的和/或替代的客户端装置。
27.各个客户端装置106可以操作各种不同的应用,诸如,图1描绘的个人助理模块107和/或应用app a、app b、app c、app d、和app e。可以看出,不同的假设应用安装在不同的客户端装置106上。例如,第一客户端装置1061安装了app a、app b、和app c。另一客户端装置106
n
也安装了app a,但是未安装app b或者app c。然而,其它客户端装置106
n
安装了app d和app e。总的来说,app a
‑
e意图是指可以响应于各种事件向客户端装置106的用户显露接口的任何应用。通过加载/打开/启动应用(例如,来自非易失性存储器),或者如果已经在后台中发起/打开/启动了应用,那么通过使应用进入前台(例如,使应用窗口变成活动窗口),来向用户“显露”应用接口(即,允许用户与其交互)。这些应用(和本文提到的任何“候选应用”)可以包括,但不限于,用于进行预订或者获取票券(例如,餐厅预订、宾馆预订、航班预订、火车预订、事件预订等)的应用、地图应用、日历应用、提醒应用、媒体消费应用(例如,音乐或者视频播放器)、游戏、消息应用、天气应用、房地产应用、健康追踪应用、购物应用、新闻应用、乘车共享应用、诸如文字处理或者电子表格应用的生产力应用、电话应用、web浏览器等。
28.各个客户端装置106和知识系统102可以包括用于存储数据和软件应用的一个或者多个存储器、用于访问数据和执行应用的一个或者多个处理器、和通过网络来促使通信的其它组件。可以将由一个或者多个客户端装置106和/或知识系统102执行的操作分布在
多个计算机系统中。可以将知识系统102例如实施为在通过网络耦合至彼此的一个或者多个位置中的一个或者多个计算机上运行的计算机程序。
29.在各种实施方式中,知识系统102可以包括个人助理模块120、应用引擎122、索引引擎126、信息引擎130、排名引擎134、和替代查询建议引擎136。在一些实施方式中,可以省略引擎120、122、126、130、134、和/或136中的一个或者多个。在一些实施方式中,可以组合引擎120、122、126、130、134、和/或136中的一个或者多个的全部或者方面。在一些实施方式中,可以将引擎120、122、126、130、134、和/或136中的一个或者多个实施在与知识系统102分开的组件中。在一些实施方式中,可以将引擎120、122、126、130、134、和/或136中的一个或者多个或者其任何可操作部分实施在由客户端装置106执行的组件中。
30.在各种实施方式中,个人助理引擎120可以包括用于处理语音输入的补充功能,例如,通过使用依赖于可以存储在索引121中的各种在线声学/语言、语法和/或动作模型的基于语音的查询处理器。要了解,在一些实施方式中,尤其是当大多数客户端装置106是资源受限型装置时,与引擎在各个客户端装置106本地的情况相比,个人助理引擎120可以实施更为复杂且计算资源密集的语音处理功能。应该进一步理解,当本文将动作描述为由个人助理模块107执行时,该动作可以或者可以不包括该动作由个人助理引擎120执行的一个或者多个方面。
31.在一些实施方式中,可以采用多个个人助理引擎122,各个个人助理引擎122充当一个或者多个单独的个人助理模块107的在线副本。例如,在一些实施方式中,在生态系统108中的各个客户端装置106可以配置为操作与用户相关联的个人助理模块107的实例(例如,配置有用户的偏好、与相同的交互历史相关联等)。个人助理引擎120的单个以用户为中心的在线实例可以对于个人助理模块107的这些多个实例中的每一个是可访问的,这取决于用户当时正在操作哪个装置。
32.在一些实施方式中,可以支持在线和离线功能,例如,使得,每当客户端装置106与在线服务进行通信时,可以使用在线功能,而当连接性不存在时,使用离线功能。在其它实施方式中,可以将不同动作或者动作域分配给在线和离线功能,而在又一些其它实施方式中,只有当离线功能无法处理特定语音输入时,才可以使用在线功能。然而,在其它实施方式中,没有补充的在线功能可以被使用。
33.在各种实施方式中,个人助理模块107和/或个人助理引擎120可以存储在用户与个人助理模块107之间交换的消息和/或其它数据的记录单,例如,作为持久消息交换话题,以供以后使用。例如,个人助理模块107和/或个人助理引擎120可以将消息本身例如存储在索引121中。在一些实施方式中,可以例如,利用时间戳、将消息投递到消息交换话题的位置、消息的主题等来对这些消息进行注释。这些已存储的消息和注释(或者元数据,视情况而定)随后可以用于改善在用户与其个人助理模块107的一个或者多个实例之间的会话流。如本文使用的,“记录单”可以指在消息交换话题中交换和/或查看的文本、图形、声音、和/或小程序的实时记录。在一些实施方式中,当用户与个人助理模块107的一个或者多个实例会话时,可以实时或者接近实时地更新消息交换话题的记录单。
34.应用引擎122可以维持安装至客户端装置106或者可用于客户端装置106的应用的索引124。例如,应用引擎122可以与客户端106的用户从中下载应用(或者“app”)的“应用商店”集成或者至少与该“应用商店”进行通信。在一些实施方式中,当用户下载和/或安装来
自应用引擎122(或者来自与应用引擎122进行通信的应用商店)的应用时,可以将用户已经安装了该应用的记录添加到例如索引124中。在一些实施方式中,这些记录可以与客户端装置106进行周期性地同步,以反映例如用户何时卸载应用、用户何时从不同于可用于应用引擎122的应用商店的源下载并安装应用等。如将在下文描述的,应用引擎122是在图1中描绘的可以参与识别安装在客户端装置106上的应用的过程的多个组件中的一个,从而使得,可以将合适的可选择应用链接插入到由客户端装置106呈现的消息交换话题的记录单中。
35.在一些实施方式中,可以由个人用户通过用户设置的账户来访问应用引擎122。例如,用户可以具有应用引擎122(或者与应用引擎122进行通信的应用商店)中的账户,用户可以通过使用各种凭证(例如,用户名/密码、视网膜扫描、指纹扫描等)来访问该账户。一旦用户登录其账户,那么其可以将一个或者多个应用下载到形成由用户操作/拥有的客户端装置的生态系统的一个或者多个客户端装置。在一些实例中,特定应用可以仅在用户购买了该应用(或者使用该应用的权限)的情况下才可用于下载。在一些实施方式中,当用户购买应用时,用户随后可以具有将该应用下载并安装在生态系统108的多个客户端装置106上的权限。
36.索引引擎126可以维护索引128以供知识系统102使用。索引引擎126处理文档并且更新索引128中的索引条目,例如,通过使用常规和/或其它索引技术。例如,索引引擎126可以抓取一个或者多个资源,诸如,经由这种抓取访问的万维网和索引文档。作为另一示例,索引引擎126可以从一个或者多个资源,诸如控制这种文档的web主机,接收与一个或者多个文档有关的信息,并且基于这种信息来对文档进行索引。文档是与文档地址相关联的任何数据。文档包括网页、文字处理文档、便携式文档格式(pdf)文档、图像、电子邮件、日历条目、视频、和web源,仅举几例。各个文档可以包括内容,诸如,例如:文本、图像、视频、声音、嵌入式信息(例如,元信息和/或超链接);和/或嵌入式指令(例如,ecmascript实施方式,诸如,javascript)。
37.信息引擎130可以维护另一索引132,该另一索引132包括或者有助于访问由知识系统102使用的非文档特定信息。例如,知识系统102可以配置为响应于出现寻找特定信息的搜索查询而返回信息。如果用户搜索“ronald reagan的出生日期”,那么知识系统102可以例如,从信息引擎130接收日期“1911年2月6日”。可以将该信息返回至用户作为与从索引引擎126接收到的文档分开的搜索结果的一部分。在各种实施方式中,索引132本身可以包含信息,或者其可以链接至一个或者多个其它信息源,诸如,在线百科全书、历书等。在各种实施方式中,索引128或者索引132可以包括在查询(或者查询词项)与文档和/或信息之间的映射。
38.在本说明书中,术语“数据库”和“索引”将广泛地用于指任何数据类集。不需要按照特定方式来构建数据库和/或索引的数据,并且可以将数据存储在一个或者多个地理位置中的存储装置上。因此,例如,索引121、124、128、和132可以包括多个数据类集,可以按照不同的方式来组织并且访问多个数据类集中的每一个。
39.响应于搜索查询,排名引擎134可以使用索引128和/或132来识别文档和其它信息,例如,通过使用常规和/或其它信息检索技术。排名引擎134可以计算响应于搜索查询而识别的文档和其它信息的分值,例如,通过使用一个或者多个排名信号。各个排名信号可以提供有关文档和信息本身、在文档或者信息与搜索查询之间的关系、和/或在文档或者信息
与执行搜索的用户之间的关系的信息。
40.替代查询建议引擎136可以使用一个或者多个信号和/或其它信息,诸如,替代查询建议数据库(未示出)和/或有关客户端装置106的用户的信息(例如,搜索历史记录、gps位置、用户属性),来生成用于与任何搜索结果一起提供给客户端装置106的替代查询建议。当用户键入搜索查询的连续字符时,替代查询建议引擎136可以识别替代查询,该替代查询很可能会产生对用户有用的结果。例如,假定客户端装置106位于芝加哥,并且已经键入了字符“restaur”。基于指示客户端装置106位于芝加哥的位置信号和指示用户偏爱具有现场音乐的餐厅(restaurant)的搜索历史信号,替代查询建议引擎136可以建议查询“位于芝加哥的具有现场音乐的餐厅”。作为另一示例,对已经键入了“ronald reagan’s birt”的用户,替代查询建议136可以,例如,通过使用技术(诸如,前缀匹配)来确定并且建议替代查询,诸如,“ronald reagan的出生日期”、“ronald reagan的出生地”、“ronald reagan的出生控制位置”等。替代查询建议引擎136还可以提供其它建议,诸如,部分形成的搜索查询的拼写更正版本。
41.在各种实施方式中,个人助理模块107和/或个人助理引擎120的一个或者多个实例可以配置为检测源自在用户与个人助理模块107的一个或者多个实例之间的消息交换话题的一个或者多个提示。在各种实施方式中,一个或者多个提示可以触发将一个或者多个可选择链接并入消息交换话题中。一个或者多个可选择应用链接中的每一个可以链接至与消息交换话题不同的应用和/或与个人助理模块107不同的应用。
42.在一些实施方式中,提示可以源自消息交换话题的内容。例如,提到与一个或者多个应用相关联的实体或者关键字/短语的用户可以构成将一个或者多个应用的一个或者多个可选择应用链接并入消息交换话题中的提示。提示的另一示例是由用户指向匹配于与应用相关联的模式或者模板的个人助理模块107的声明。在各种实施方式中,模板可以与特定应用相关联。例如,可能已经从消息语料库生成了模板,该消息语料库包括来自引起特定应用的用户调用或者启动的先前消息交换话题的消息。在一些实施方式中,模板可以与来自语料库的共享一种或者多种属性的消息簇,诸如,包括相同或者相似的固定文本和“瞬态(transient)”文本的消息,相关联。在再一些其它实施方式中,提示可以更为明确。例如,用户可以将消息输入到指向其个人助理模块的话题中,例如,“嘿,bot,旧金山的天气怎么样?”这可以提示个人助理模块107将一个或者多个应用链接,诸如,已经预载有旧金山天气的天气应用的链接,并入消息交换话题的记录单中。
43.为了确定要将哪些可选择应用链接并入消息交换话题的显示在客户端装置106上的记录单中,一个或者多个个人助理模块107、和/或个人助理引擎120或者应用引擎122可以识别安装在由用户在消息交换话题中操作的客户端装置106上的一个或者多个候选应用。在各种实施方式中,一个或者多个识别到的候选应用可以与消息交换话题的内容相关联。在一些实施方式中,上文讨论的一个或者多个提示可以与一个或者多个应用相关联。
44.作为一个示例,如果用户提到音乐和/或音乐家,那么一个或者多个候选应用可以是与播放音乐、录制音乐、和/或制作音乐相关联的应用。如果用户提到电影、电视、和/或演员/导演,那么一个或者多个候选应用可以与播放电影/电视相关联,或者与和电影和电视制作相关联的演员表/演职人员的可搜索数据库相关联。如果用户提到旅行,那么一个或者多个候选应用可以与进行宾馆、航班、火车、船艇、汽车租赁等的旅行预订相关联。如果用户
提到餐厅,那么一个或者多个候选应用可以与进行餐厅预订、餐厅评论、致电餐厅等相关联。
45.一旦识别到一个或者多个候选应用,则可以将一个或者多个可选择应用链接(也称作“可选择链接”)并入消息交换话题的记录单中,该记录单显示在当前可由用户操作的给定客户端计算装置106的图形用户界面中。在各种实施方式中,各个可选择链接可以由用户操作以使客户端装置106向用户显露与相应候选应用相关联的接口。例如,如果相应候选应用正在后台运行(例如,已按照某种形式加载到易失性存储器中),那么对应的可选择链接的操作可以使该候选应用被激活,从而使得向用户显露相应候选应用的接口(图形、听觉、触觉等),用户因此可以与该相应候选应用交互。如果安装了相应候选应用,但是其并未在后台运行,那么对应可选择链接的操作可以使候选应用得以打开或者“启动”,例如,从非易失性存储器打开或者启动。
46.并入消息交换话题中(例如,并入由至少一个个人助理模块107显示的话题的记录单中)的可选择应用链接可能会以各种形式出现。在一些实施方式中,可选择应用链接可以按照与链接到的应用相关联的图形图标或者动画的形式出现。在一些实施方式中,可选择应用链接可以包括:传达有关应用的信息的文本、或者可以通过使用应用而采取的动作(例如,“获取去位置的方向”)。在各种实施方式中,正如消息交换话题的其它消息,可以将可选择链接呈现为记录单的一部分,例如,在“气泡”内,该气泡旨在表示由个人助理模块做出的声明。同样,当将附加消息附加到消息交换话题时,可选择应用链接可以被“顶起(move up)”。
47.在一些实施方式中,知识系统102可以具有,例如,作为信息引擎130和/或另一组件的一部分的所谓知识库,知识库包含已知实体、实体类型(例如,“人”、“位置”、“事物”)、和在已知实体之间的关系的记录。在一些实施方式中,可以例如在索引132中将这种知识库实施为图,在该图中,节点表示实体,而边表示在实体和/或实体类型之间的关系,虽然这并不是必需的。在一些这种实施方式中,来自这种知识库的有关实体的信息可以用于组件,诸如,个人助理引擎120和/或个人助理模块107的一个或者多个实例。那些组件然后可以使用实体信息来识别相关应用、预先填写对于在与识别的候选应用相关联的状态机的不同状态之间的转换有用的一个或者多个输入字段或者其它数据点等。
48.在一些实施方式中,知识库可以被,例如,引擎120、122、126、和/或130中的一个或者多个,用来识别在用户与个人助理模块107的一个或者多个实例之间交换的一个或者多个消息中提到的第一实体或者实体类型。例如,响应于有关实体的搜索查询而获取的与实体/实体类型有关的信息然后可以用于识别一个或者多个候选应用。例如,假设用户将消息(诸如,“babe ruth是最棒的!”)提交到消息交换话题中。可以例如,通过信息引擎130,基于存储在索引132中的知识库,识别到“babe ruth”,连同babe ruth的一种或者多种属性、和/或一个或者多个有关的实体,诸如,其效力的一个或者多个团队(例如,纽约洋基)、其家庭成员、其队友、现役时间、年龄等。一个或者多个这种信息然后可以用于识别一个或者多个候选应用或者应用“类别”,该一个或者多个候选应用或者应用“类别”可以响应于实体的提及或者与实体的提及相关。在一些实施方式中,多个这种信息可以用于“预先填写”与链接到的应用相关联的一个或者多个数据点(例如,引起在状态机的状态之间的转换的输入参数、数据输入字段、数据点等)。那样,当用户致动可选择应用链接时,可以在已经填写了该
一个或者多个数据点的状态下打开链接到的应用。
49.图2描绘了由姓名为sven的用户操作的第一客户端装置2061(采用智能电话或者平板计算机的形式)。客户端装置2061包括描绘了在sven与个人助理模块(在图2中的“pam”)的一个或者多个实例之间的持久消息交换话题的记录单252的图形用户界面250。图形用户界面250还包括文本输入字段254,sven可以例如响应于个人助理模块的先前声明而使用该文本输入字段254来(例如,通过键入或者说出)将文本或者其它内容输入到消息交换话题中。在该示例中,sven(在图2中的“你(you)”,因为这是sven的客户端装置2061)已经指出他饿了。个人助理模块询问sven想要吃点什么,sven回答:“我想吃希腊菜而不是印度菜”。个人助理模块通过提出被称作“hypothetical餐馆”的餐厅来做出响应。
50.当会话进行到这里时,已知实体(hypothetical餐馆)的提及可以使多个可选择应用链接2561‑3得以呈现在记录单252中。在图2中,在气泡内描绘了可选择应用链接2561‑3。然而,这并不旨在是限制性的。在其它实施方式中,例如,如图3描绘的,这种图标可以或者可以不包括图形和/或动画,并且可以呈现在气泡外面。而且,在一些实施方式中,可选择链接可以是纯文本超链接。
51.第一可选择应用链接2561链接至电话应用。如果sven选择该链接,那么可以向sven显露安装在客户端装置206上的电话应用的接口。例如,可以启动电话应用,和/或可以向电话应用提供活动窗口(在许多移动装置中是单个窗口)。在一些实施方式中,电话应用可以预先拨号以拨打与hypothetical餐馆相关联的电话号码。第三可选择应用链接2563链接至地图应用,例如,预载有去hypothetical餐馆的方向。
52.第二可选择链接2562链接至“订座”应用,该“订座”应用可由sven操作以在hypothetical餐馆进行预订。如果sven选择该链接,那么可以向sven显露与“订座”应用相关联的接口(例如,图形、交互式语音响应、触觉等)。在一些实施方式中,“订座”应用可以具有各种数据点,诸如,预先填写有从各种源获取的数据的输入。在一些实施方式中,数据点可以预先填写有从客户端装置2061和/或从知识系统102的各种组件获取的场境数据。例如,由sven操作的客户端装置2061提供的全球定位系统(“gps”)坐标可以揭露hypothetical餐馆就在附近。
53.图3描绘了由sven在以后的某个时刻操作的sven的生态系统的第二客户端装置2062(采取智能手表的形式)。客户端装置2062包括描绘了在sven与其个人助理模块(在图3中的“pam”)的一个或者多个实例之间的持久消息交换话题的记录单262的图形用户界面260。在该示例中,sven指出“我需要预订3人午餐”。在图2中描绘的先前消息未提供场境的情况下,这种请求可能无法通过在第二客户端装置2062上运行的个人助理模块的实例得到解决。然而,通过使用本文描述的技术,在第二客户端装置2062上运行的个人助理模块的实例可以访问在sven与在sven的生态系统(参见图1中的108)的多个装置上运行的个人助理模块的多个实例之间的持久消息交换话题。因此,个人助理模块能够再一次建议hypothetical餐馆,并再一次将多个可选择应用链接2661‑3呈现在记录单262中。
54.如图1描绘的,用户常常可能会在其装置的生态系统的不同装置上安装有不同的应用。sven的第一和第二客户端装置2061和2062的情况就是如此。第一客户端装置2061具有被称作“订座”的预订应用,而第二客户端装置2062具有被称为“快餐”的替代预订应用。因此,如图2描绘的,当在第一客户端装置2061上呈现第二可选择应用链接2562时,该第二可选
择应用链接2562链接至本地安装的“订座”应用。然而,如图3描绘的,当在第二客户端装置2062上呈现第二可选择应用链接2662时,该第二可选择应用链接2562链接至本地安装的“快餐”应用。如将在下文描述的,在各种实施方式中,安装在客户端装置上的应用可以指定要将哪些可选择链接并入在用户与个人助理模块之间的消息交换话题中。
55.图4中描绘了可以响应于sven操作图3中的可选择应用链接2662而向sven显露与“快餐”应用(仅为本文出于演示之目的而描述的假设应用)相关联的接口270的示例。在该示例中,已经在预先填写了各种数据点(例如,输入字段)的sven的客户端装置2062上呈现了“快餐”接口270。例如,因为sven提到需要预订3人餐,所以该预订已经开始为三位用餐者排队。
56.已经将预订时间预先填写为中午12点。这可能是因为,例如,sven在上午11点半与其个人助理模块进行了讨论之后需要足够的时间到达餐厅。另外或者可替代地,预订时间可能已经预先填写为中午12点,因为该时间通常是人们一天中需要就餐的下一个时间。如果sven在比如下午3点半时讨论吃饭,那么预订时间可能已经预先填写为通常会与晚餐相关联的时间,诸如,下午6点半。该预订的姓名是“sven”,因为sven是与个人助理模块交互的用户。
57.图2至4的示例涉及餐厅,但是应该理解,可选择应用链接可以链接至若干其它类型的应用,并且根据应用的类型,可以包括其它类型的预载数据。例如,假定操作客户端装置的用户要求其个人助理模块叫辆出租车。在各种实施方式中,可以将链接至交通应用的可选择应用链接并入在用户与个人助理模块之间的会话中。在各种实施方式中,用户的当前位置(例如,如由客户端装置的gps功能确定的)可以用于预先填写与交通应用相关联的“当前位置”数据点。如果用户还指定了预期目的地,那么可以类似地预先填写与交通应用相关联的“目的地”字段。
58.如上文提到的,可以至少部分地基于可用于客户端装置上的资源,在由客户端装置显示的记录单中选择性地呈现一个或者多个可选择应用链接。例如,在一些实施方式中,可以只将已安装的应用的可选择应用链接显示在客户端装置上。图5描绘了图1中描绘的环境的各种组件,并且演示了与用户的生态系统508的客户端装置506(例如,安装在客户端装置上的软件、客户端装置的硬件组件)集成的一个或者多个组件可以如何执行对安装在客户端装置506上的应用的识别。除此之外,在该示例中,第一客户端装置5061已经安装了之前讨论的被称作“订座”的(假设)预订客户端应用562。除此之外,第二客户端装置5062已经安装了被称作“快餐”的不同(假设)预订客户端应用564。
59.假设用户与用户的生态系统508的第一客户端装置5061交互以与个人助理模块5071的第一实例会话。与图2相似,进一步假设消息交换话题包括有关去哪吃饭的讨论。基于该讨论(即,关于来自与进行餐厅预订有关的讨论一个或者多个提示),已经例如通过个人助理引擎120和/或应用引擎122识别到了“预订”的应用类别,并且已经将该类别的指示提供给第一客户端装置5061。
60.假设用户随后与用户的生态系统508的第二客户端装置5062交互以与个人助理模块5072的第二实例会话。与图3至4相似,进一步假设消息交换话题包括有关去哪吃饭的讨论。基于该讨论(即,关于来自与进行餐厅预订有关的的讨论的一个或者多个提示),已经例如通过个人助理引擎120和/或应用引擎122识别到了“预订”的应用类别,并且已经将该类
别的指示提供给第二客户端装置5062。
61.在个人助理模块5071‑2接收到“预订”应用类别的指示时,个人助理模块5071‑2分别可以识别与“预订”类别匹配的一个或者多个本地安装的应用。例如,第一客户端装置5061已经安装了“订座”客户端562,第一个人助理模块5071可以将该“订座”客户端562识别为“预订”应用。因此,第一个人助理模块5071可以将“订座”客户端562的可选择应用链接并入其显示的消息交换话题的记录单中。同样,第二客户端装置5062已经安装了“快餐”客户端564,第二个人助理模块5072可以将该“快餐”客户端564识别为“预订”应用。因此,第二个人助理模块5072可以将“快餐”客户端564的可选择应用链接并入其显示的消息交换话题的记录单中。
62.在一些实施方式中,客户端装置可能安装了与特定应用类别匹配的多个应用。例如,单个客户端装置可以具有图5描绘的“订座”客户端562和“快餐”客户端564。在一些实施方式中,可以将这两个应用的可选择应用链接并入该客户端装置上的消息交换话题记录单中。在一些版本中,可以按照基于各种信息信号(诸如,各个客户端的使用频率)而选择的顺序,来呈现多个可选择应用链接。如果使用“订座”客户端562的频率比“快餐”客户端564的频率更为频繁,那么与客户端564的可选择应用链接相比,可以首先、更显著地、更明显地等呈现客户端562的可选择应用链接。
63.在安装在单个客户端装置上的多个应用与应用类别匹配的一些实施方式中,个人助理模块507或者其它组件可以分析那些多个应被用来确定每个应用是否授权将可选择应用链接并入消息交换话题的记录单中的频率。例如,独立地或者相对于其它匹配安装的应用,与给定应用相关联的使用频率可能需要满足预定阈值,以便使对应的可选择应用链接并入消息交换话题记录单中。如果并未频繁地使用应用,或者甚至根本不使用应用(例如,如果应用由设备制造商安装且用户从未打开过),那么可以不将应用的可选择应用链接并入消息交换话题的记录单中。
64.图6描绘了图5的替代场景。此处,可以至少部分地远离客户端装置6061‑
n
来执行对在由用户操作的协调生态系统608的客户端装置6061‑
n
上安装的应用的识别。具体地,应用引擎122(在上文中对其进行了描述,并且该应用引擎可以与应用商店集成或者至少部分地与应用商店进行通信)可以配置为基于索引124中的记录来确定要将什么应用安装在生态系统608的哪些客户端装置606上。
65.针对该示例,假定操作生态系统608的客户端装置606的用户拥有下载和使用app a、app b、app c、app d和app e的权限。在第一客户端装置6061,其可能是,例如,用户的移动电话,用户已经安装了app a、app b和app c。app d和app e未安装在第一客户端装置6061上,如通过将app d和app e放置在线的下方所指示的,但是它们可以供下载和/或安装,这是因为用户之前已经购买了这样做的权限。在第二客户端装置606
n
,其可能是,例如,用户的智能手表,用户已经安装了app a、app d和app e。app b和app c未安装在第二客户端装置606
n
上,如通过将app b和app c放置在的线下方所指示的,但是它们可以供下载和/或安装,这是因为用户之前已经购买了这样做的权限。
66.在图6的示例中,个人助理引擎120可以与应用引擎122进行协商,以便确定要将哪些应用安装在哪些客户端装置606上。当检测到将一个或者多个可选择应用链接并入消息交换话题中的一个或者多个提示时,个人助理引擎120可以请求应用引擎122识别安装在给
定的客户端装置606上的一个或者多个应用。个人助理引擎120然后可以配置为将指示安装在给定客户端装置上的也与消息交换话题的内容相关联的应用的一个或者多个可选择应用链接的数据下载到给定客户端装置606。在各种实施方式中,给定客户端装置606可以自动地将一个或者多个可选择应用链接并入消息交换话题记录单中,或者可以响应于一个或者多个信号(例如,链接到的应用的使用频率、是否仍要安装链接到的应用等),选择性地将其并入一个或者多个可选择应用链接的子集的记录单中。在一些实施方式中,如果给定的应用未安装但可用于客户端装置(在第一客户端装置6061上的app d和app e的情况就是如此),那么可以将可选择以地将应用完全安装到客户端装置606上的应用链接并入显示在该客户端装置上的消息交换话题的记录单中。
67.上文描述的示例演示了可选择应用链接可以如何链接至特定应用。然而,这并不旨在是限制性的。在一些实施方式中,可选择应用链接可以链接至文档或者与该讨论相关的并且可通过使用任何数量的应用访问的其它在线内容。例如,在一些实施方式中,可选择应用链接可以链接至web地址或者其它在线标识符。在一些这种实施方式中,在客户端装置处的可选择应用链接的操作可以向用户显露最受欢迎的已安装的web浏览器。在各种实施方式中,web浏览器可能已经加载了与消息交换话题的内容相关的网页或者其它内容,诸如,具有与未安装在客户端装置上的应用的功能对应的功能的交互式网页。
68.现在参照图7,描述选择性地将一个或者多个可选择应用链接直接并入在用户与个人助理模块的一个或者多个实例之间的消息交换话题的记录单中的一个示例方法700。为了方便起见,参照执行操作的系统对流程图的操作进行了描述。该系统可以包括各种计算机系统的各种组件,包括本文描述的各种引擎和/或客户端应用。而且,虽然按照特定顺序示出了方法700的操作,但是这并不旨在是限制性的。可以重新排序、省略、或者添加一种或者多种操作。
69.在框702处,系统,并且具体地,用户的生态系统的一个或者多个客户端装置,可以操作个人助理模块的实例以为用户服务。在各种实施方式中,个人助理模块的实例可以访问在用户与个人助理模块的一个或者多个实例之间的消息交换话题的持久记录。例如,持久消息交换话题可以由个人助理引擎120维护,并且可用于(例如,用于同步)为用户服务的个人助理模块的所有实例。在框704处,系统可以检测源自持久消息交换话题的一个或者多个提示。该一个或者多个提示可以触发将与个人助理模块不同的一个或者多个应用的一个或者多个可选择链接并入持久消息交换话题中。
70.在框706处,系统可以识别安装在客户端装置上的一个或者多个候选应用。如上文描述的,在一些实施方式中,候选应用可以是被视为与消息交换话题的内容有某种相关性的那些应用。图2至4描绘了如下示例:用户与个人助理模块讨论外出就餐,并且因此,识别与外出就餐相关联的应用(例如,致电餐厅的电话拨号器、预订应用、地图应用等)。上文还描述了其它示例。在一些实施方式中,可以通过远离给定客户端计算装置的一个或者多个处理器来执行框706的识别,并且指示一个或者多个可选择链接的数据可以被下载到给定的客户端装置。在其它实施方式中,可以通过与客户端计算装置集成的一个或者多个处理器来执行框706的识别。
71.在一些情况下,最适合于进行并入的一个或者多个候选应用可能未安装在给定客户端计算装置上。然而,一些候选应用(例如,餐厅/航班预订应用、地图应用等)可以具有包
括对应功能的对应网页。例如,用户可以将web浏览器导航至“订座”网站,并且按照与用户可以通过使用“订座”应用进行预订相同的方式来进行预订。因此,在一些实施方式中,在可选框708处,系统可以响应于确定与消息交换话题的内容相关联的给定应用未安装在给定客户端计算装置上,将安装在给定客户端计算装置上的web浏览器或者其它通用应用(例如,电话拨号器、电子邮件应用、社交网络应用等)识别为候选应用。
72.在框710处,系统可以将一个或者多个可选择应用链接并入由客户端装置呈现的消息交换话题的记录单中。在框708处识别诸如web浏览器的通用应用的实例中,在各种实施方式中,系统可以将可选择链接并入交互式网页中,该交互式网页包括与被确定为未安装在给定客户端计算装置上的给定应用的功能对应的功能。另外或者可替代地,在各种实施方式中,系统可以并入可选择链接以下载和/或安装被确定为未安装在给定客户端计算装置上的应用。
73.图8描绘了图2中描绘的替代实施方式。相同的第一客户端装置2061(采取智能电话或者平板计算机的形式)由姓名为sven的用户操作。在该实施方式中,客户端装置2061包括具有以下两个部分的图形用户界面:描绘在sven与个人助理模块(在图2中的“pam”)的一个或者多个实例之间的持久消息交换话题的记录单252的持久部分850a;以及包括可由sven操作以将文本(例如,通过键入或者说出)或者其它内容输入到消息交换话题中的键盘和/或其它图形元素的可操作部分850b。在一些实施方式中,可以响应于sven选择(例如,轻击)图2中的文本输入字段254而呈现可操作部分850b。在该示例中,sven(在图8中的“你(you)”,因为这是sven的客户端装置2061)已经指出他饿了。个人助理模块(“pam”)询问sven想要吃点什么,sven回答:“我想吃希腊菜而不是印度菜。”个人助理模块再次通过提出被称作“hypothetical餐馆”的餐厅来做出响应。
74.然而,个人助理模块此次按照与图2中的方式略微不同的方式做出提议。具体地,个人助理模块在可操作部分850b中提供了三个可选择链接8561‑3,并在持久部分850a中提供了三个以上的可选择链接8564‑6。包含在可操作部分850b中的可选择链接8561‑3可以供sven的手指容易接近,因为这些可选择链接8561‑3更靠近sven操作的键盘。然而,这些可选择链接8561‑3尚未并入消息交换话题中,因此,未出现在记录单252中。因此,这些可选择链接8561‑3可以是非持久性的:如果sven未选择它们并且在sven与个人助理模块之间的消息交换的主题发生了变化,那么可选择链接8561‑3可能不是持久性的(例如,可选择链接8561‑3可能会消失和/或被替换为与当前会话更为相关的可选择链接)。
75.相比之下,可选择链接8564‑6现在是记录单252的一部分。因此,sven可能会在以后某个时刻,例如,在记录单252已经充分地变大是的可选择链接8561‑3被“顶起”而在持久部分850a中不可见之后,返回并且操作这些链接。更具体地,在本文描述的各种实施方式中(包括图2
‑
4中的实施方式),并入消息交换话题中的可选择链接可以持久存在于话题中,从而使得用户随后可以在话题中“向上滚动”,并且在它们被并入很长时间之后开动这些链接。这对于与用户相关联的生态系统的装置都适用。例如,sven随后可以使用图3至4描绘的客户端装置2062(智能手表)来重新访问原来通过使用客户端2061创建的记录单部分,并且选择并入了消息交换话题中的可选择链接。
76.再次参照图8,在各种实施方式中,可以基于各种信号,选择性地将可选择链接并入可操作部分850b或者持久部分850a中。在一些实施方式中,可以考虑在用户与通过候选
链接所链接到的候选应用之间的交互历史。例如,如果识别到六个有可能响应的候选应用(图8中的情况就是如此),那么可以例如,基于用户偏好、屏幕大小等,仅将n个使用次数最频繁的应用的链接并入一个部分或者另一部分中。
77.例如,在图8中,(通过可选择链接8561链接到的)呼叫应用、(通过可选择链接8562链接到的)订座应用、和(通过可选择链接8563链接到的)方向应用可以是这六个识别到的有可能响应的应用中使用最频繁的三个应用,因此,可以将它们并入可操作部分850b中,从而使得它们可以供用户的手指更容易地接近。在另一方面,可以较少地使用与其它可选择链接8564‑6相关联的应用,因此可以将这些应用归入持久部分850a中。当然,也可以按照其它方式来并入可选择链接8561‑6。例如,除了可操作部分850b之外或者替代可操作部分850b,用户可能更偏好最频繁使用的应用的可选择链接出现在持久部分850a中,例如,从而使得她可以稍后向上滚动并且访问它们。
78.另外或者可替代地,相较于持久部分850a,当选择性地将可选择链接并入可操作部分850b中时,可以考虑其它信号。在一些实施方式中,可以考虑特定候选应用与当前讨论的相关性的程度。例如,可以将最相关的应用的可选择链接并入可操作部分850b中,而可以将不太相关的应用的可选择链接并入持久部分850a中,或者反之亦然。在一些实施方式中,可以将已经安装的应用的可选择链接并入可操作部分850b中,然而,可以将未安装的应用的可选择链接和/或具有与未安装的应用对应的功能的网页的可选择链接并入持久部分850a中,或者反之亦然。在一些实施方式中,并入持久部分850a中(或者并入可操作部分850b中,视情况而定)的可选择链接可以包括指向对于客户端装置可以是或者可以不是本地的文档的链接,诸如,来自先前对餐厅访问的收条、有关餐厅的电子邮件或者其它通信的链接等。
79.图9是示例计算机示例910的框图。计算机系统910通常包括经由总线子系统912与若干外围装置通信的至少一个处理器914。这些外围装置可以包括存储子系统926,包括,例如,存储器子系统925和文件存储子系统926、用户界面输出装置920、用户界面输入装置922、和网络接口子系统916。输入和输出装置允许用户与计算机系统910交互。网络接口子系统916提供外部网络的接口,并且耦合至其它计算机系统中的对应接口装置。
80.用户界面输入装置922可以包括键盘、指向装置(诸如,鼠标、轨迹球、触摸板、或者绘图板)、扫描器、并入显示器中的触摸屏、音频输入装置(诸如,语音识别系统、麦克风)、和/或其它类型的输入装置。通常,术语“输入装置”的使用旨在包括用于将信息输入到计算机系统910中或者输入到通信网络上的所有可能的类型的装置和方法。
81.用户界面输出装置920可以包括显示子系统、打印机、传真机、或者非视觉显示器(诸如,音频输出装置)。显示子系统可以包括阴极射线管(crt)、平板装置(诸如,液晶显示器(lcd))、投影仪装置、或者用于创建可见图像的一些其它机构。显示子系统还可以提供非视觉显示,诸如,经由音频输出装置。通常,术语“输出装置”的使用旨在包括用于将来自计算机系统910的信息输出至用户或者输出至另一机器或者计算机系统的所有可能的类型的装置和方法。
82.存储子系统926存储提供本文描述的模块中的一些或者所有的功能的编程和数据构造。例如,存储子系统926可以包括逻辑,以执行方法700的选择的方面,和/或实施个人助理模块107、个人助理引擎120、应用引擎122、索引引擎126、信息引擎130、排名引擎134、和/
或替代查询建议引擎136中的一个或者多个。
83.这些软件模块通常由处理器914单独执行或者由处理器914结合其它处理器来执行。用于存储子系统926的存储器925可以包括若干存储器,包括:用于在程序执行期间存储指令和数据的主随机存取存储器(ram)930和将固定指令存储在其中的只读存储器(rom)932。文件存储子系统926可以向程序和数据文件提供持久存储装置,并且可以包括硬盘驱动器、带有相关联的可移动介质的软盘驱动器、cd
‑
rom驱动器、光学驱动器、或者可移动介质盒。可以由文件存储子系统926将实施特定实施方式的功能的模块存储在存储子系统926中,或者存储在可由(多个)处理器914访问的其它机器中。
84.总线子系统912提供用于允许计算机系统910的各种组件和子系统按照既定目的来与彼此通信的机构。虽然将总线子系统912示意性地示出为单条总线,但是总线子系统的替代实施方式可以使用多条总线。
85.计算机系统910可以具有不同的类型,包括,工作站、服务器、计算集群、刀片式服务器、服务器场、或者任何其它数据处理系统或者计算装置。由于计算机和网络的不断变化的性质,出于图示一些实施方式之目的,图9中描绘的计算机系统910的描述仅仅旨在作为特定示例。与图9中描绘的计算机系统相比,计算机系统910的许多其它配置可以具有更多或者更少的组件。
86.在本文描述的系统采集有关用户的个人信息或者可以利用个人信息的情况下,可以为用户提供如下机会:控制程序或者特征是否采集用户信息(例如,有关用户的社交网络、社交动作或者活动、职业、用户的偏好、或者用户的当前地理位置的信息)或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容。此外,在存储或者使用特定数据之前,可以按照一种或者多种方式来处理该特定数据,从而使得可以去除个人身份信息。例如,可以处理用户的身份,从而使得无法确定用户的个人身份信息,或者可以将用户的可以从中获得地理位置信息(诸如,城市、邮政编码、或者州县等级)的地理位置一般化,从而使得无法确定用户的特定位置。因此,用户可以对如何采集关于用户的信息和/或如何使用该信息进行控制。
87.虽然本文已经描述并且图示了若干实施方式,但是可以利用用于执行功能和/或获得结果和/或本文描述的优点中的一个或者多个的各种其它装置和/或结构,并且这种变型和/或修改中的每一个都被视为在本文描述的实施方式的范围内。更普遍地,本文描述的所有参数、尺寸、材料、和配置旨在作为示例,并且实际参数、尺寸、材料、和/或配置将取决于使用本教导的一个或多个特定应用。本领域的技术人员要认识到或者仅仅通过使用常规实验就能够确定与本文描述的特定实施方式等效的若干实施方式。因此,要理解,前述实施方式仅仅是示例性的,并且在随附权利要求书及其等效物的范围内,可以按照不同于特定描述并且要求的方式来实践实施方式。本公开的实施方式涉及本文描述的每一个单独的特征、系统、物品、材料、工具箱、和/或方法。另外,如果这种特征、系统、物品、材料、工具箱、和/或方法不互相矛盾,那么两个或者更多个这种特征、系统、物品、材料、工具箱、和/或方法的任何组合都包括在本公开的范围内。