平码五不中公式规律
  • / 31
  • 下载费用:30 金币  

保存并获取对象的位置.pdf

关 键 词:
保存 获取 对象 位置
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580035581.5

申请日:

2015.06.17

公开号:

CN106663113A

公开日:

2017.05.10

当前法律状态:

实审

有效性:

审中

法?#19978;?#24773;: 著录事项变更IPC(主分类):G06F 17/30变更事项:申请人变更前:谷歌公司变更后:谷歌有限责任公司变更事项:地址变更前:美国加利福尼亚州变更后:美国加利福尼亚州|||实质审查的生效IPC(主分类):G06F 17/30申请日:20150617|||公开
IPC分类号: G06F17/30 主分类号: G06F17/30
申请人: 谷歌公司
发明人: 阿杰伊·乔希
地址: 美国加利福尼亚州
优?#28909;ǎ?/td> 2014.07.31 US 62/031,186; 2015.02.12 US 14/620,246
专利代理机构: 中原信达知识产权代理有限责任公司 11219 代理人: 李宝泉;周亚荣
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580035581.5

授权公告号:

||||||

法律状态公告日:

2018.02.09|||2017.06.06|||2017.05.10

法律状态类型:

著录事项变更|||实质审查的生效|||公开

摘要

除其它之外,本文描述了一种计算机实施的用于存储并获取与对象的位置相关的信息的方法。该方法可以包括接收包括识别对象的一个或多个词项的第一查询。该第一查询能够被确定为包括存储该对象的位置信息的命令。该第一查询能够被解析以针对该对象确定识别信息,并且能够针对该对象确定位置。该方法进一步包括识别并未在该第一查询中被指定的该对象的一个或多个属性,并且使得表征该对象的识别信息、该对象的位置以及该对象的一个或多个属性的第一数据集合被存储。

权利要求书

1.一种计算机实施的方法,包括:
接收包括识别对象的一个或多个词项的第一查询;
确定所述第一查询包括存储所述对象的位置信息的命令;
对所述第一查询进行解析以确定所述对象的识别信息,并且确定所述对象的位置;
识别未在所述第一查询中指定的所述对象的一个或多个属性;以及
使得表征所述对象的识别信息、所述对象的位置以及所述对象的一个或多个属性的第
一数据集合被存储。
2.根据权利要求1所述的计算机实施的方法,进一步包括:
确定所述对象对应于实体的数据结构中的一个或多个实体,其中所述数据结构包括多
个实体的表示以及映射所述多个实体中的特定实体之间的关系;
其中,识别未在所述第一查询中指定的所述对象的一个或多个属性包括选择与所述数
据结构中所述对象被确定为对应于的一个或多个实体相关联的一个或多个事实或类别。
3.根据权利要求1所述的计算机实施的方法,进一步包括使得所述对象的第一数据集
合被存储在与特定用户账户相关联的个人对象数据结构中,其中所述个人对象数据结构:
(i)包括一个或多个对象和一个或多个位置的表示,以及
(ii)映射所述一个或多个对象和所述一个或多个位置中的特定对象和位置之间的关
系。
4.根据权利要求3所述的计算机实施的方法,其中,所述数据结构对所述关系进行映射
以便至少指示所述一个或多个对象中的特定对象的最后的已知位置。
5.根据权利要求1所述的计算机实施的方法,其中,所述第一查询进一步包括识别所述
对象的位置的一个或多个词项。
6.根据权利要求5所述的计算机实施的方法,其中,识别所述对象的位置的所述一个或
多个词项包括指定所述对象的地理位置的一个或多个词项。
7.根据权利要求1所述的计算机实施的方法,其中,所述第一查询进一步包括识别所述
对象已经被留给的人或组织的一个或多个词项,并且其中所述方法进一步包括:
将所述对象已经被留给的人或组织与来自用户账户的联系人关联;
检测用户与和所述对象已经被留给的所述人或组织关联的联系人的交互;以及
响应于检测到用户与所述联系人的交互而使得有关所述对象的通知被呈?#25351;?#25152;述用
户。
8.根据权利要求1所述的计算机实施的方法,进一步包括确定用户设备位于所述对象
的位置的阈值距离之内,并且作为响应而使得有关所述对象的通知被呈?#25351;?#25152;述用户。
9.根据权利要求1所述的计算机实施的方法,其中,所述第一查询不包括识别所述第一
查询的内容中的对象的位置的信息,并且其中,所述对象的位置基于所述第一查询原始地
被输入或讲出的计算设备的当前位置来确定。
10.根据权利要求1所述的计算机实施的方法,进一步包括:
接收包括识别所述对象的所述一个或多个属性中的至少一个的一个或多个词项的第
二查询;以及
响应于接收到所述第二查询:
基于识别所述对象的所述一个或多个属性中的所述至少一个的一个或多个词项而确
定所述第二查询引用了在所述第一查询中所识别的对象;
确定所述第二查询包括执行与所述对象相关联的动作的命令;以及
执行与所述对象相关联的动作。
11.根据权利要求10所述的计算机实施的方法,其中,所述第二查询包括获取所述对象
的位置的命令,并且其中,执行与所述对象相关联的动作包括从所述第一数据集合识别所
述对象的位置并且输出所述对象的位置。
12.根据权利要求10所述的计算机实施的方法,其中,所述第二查询包括更新有关所述
对象的信息的命令,并且其中,执行与所述对象相关联的动作包括使得经更新的信息被存
储在所述第一数据集合或其它数据中。
13.根据权利要求12所述的计算机实施的方法,其中,更新有关所述对象的信息的命令
包括所述对象位于新位置的指示,并且其中,使得经更新的信息被存储在所述第一数据集
合或其它数据中包括更新针对所述对象存储的位置信息以指定所述对象的新位置。
14.根据权利要求10所述的计算机实施的方法,其中,所述第一查询指定用户已经将所
述对象留在所述对象的位置,所述第二查询指定所述对象已经被返回给所述用户,并且响
应于接收到所述第二查询而执行与所述对象相关联的动作包括使得指示所述对象不再位
于所述第一查询中识别的所述对象的位置的信息被存储。
15.根据权利要求10所述的计算机实施的方法,其中,所述第二查询指示所述对象不再
位于所述第一查询中识别的所述对象的位置,并且其中响应于接收到所述第二查询而执行
与所述对象相关联的动作包括使得指示所述对象不再位于所述第一查询中识别的所述对
象的位置的信息被存储;
所述方法进一步包括响应于确定所述对象不再位于所述第一查询中识别的所述对象
的位置而使得包括有关与所述对象相关联的一个或多个?#24405;?#30340;提醒的通知被呈?#25351;?#29992;户。
16.根据权利要求15所述的计算机实施的方法,其中,所述第一查询中识别所述对象的
位置的所述一个或多个词项指示所述对象已经被留给一个或多个第一人,所述第二查询指
示所述对象已经从所述一个或多个第一人被返回,并且有关与所述对象相关联的一个或多
个?#24405;?#30340;提醒包括使得所述对象能够被一个或多个人得到的提?#36873;?br />
17.根据权利要求10所述的计算机实施的方法,进一步包括:
识别未在所述第一查询中指定的所述对象的位置的一个或多个属性;
其中,确定所述第二查询包括执行与所述对象相关联的动作的命令进一步基于所述对
象的位置的所述一个或多个属性。
18.根据权利要求10所述的计算机实施的方法,其中,所述第二查询不包括所述第一查
询中识别所述对象的所述一个或多个词项中的任何一个。
19.一个或多个计算机可读设备,在所述计算机可读设备上存储有指令,所述指令在被
一个或多个处理器执行时使得执行操作,所述操作包括:
接收包括识别对象的一个或多个词项的查询;
确定所述查询包括存储所述对象的位置信息的命令;
对所述查询进行解析以确定所述对象的识别信息,并且确定所述对象的位置;
识别未在所述查询中指定的所述对象的一个或多个属性;以及
使得表征所述对象的识别信息、所述对象的位置以及所述对象的一个或多个属性的第
一数据集合被存储。
20.一种计算机实施的方法,包括:
由计算设备接收第一查询,所述第一查询包括存储指定对象的位置的信息的命令;
使得识别所述对象以及所述对象的位置的数据集合被存储;
由所述计算设备接收第二查询,所述第二查询包括获取所述对象的位置的命令,其中
所述第二查询通过指示未在所述第一查询中指定的所述对象的一个或多个属性的一个或
多个词项来识别所述对象;
响应于接收到所述第二查询:
使用所述对象的所述一个或多个属性从多个对象中识别所述对象,并且从所述数据集
合中获取所述对象的位置;以及
输出识别所述对象的位置的信息以便向用户进行呈现。

?#24471;?#20070;

保存并获取对象的位置

技术领域

本文总体上涉及信息存储和检索。

背景技术

在日常生活中,人们遇到许多不同的对象。必须按照例行方式对对象保持追踪而
使得它们能够在一段时间未被使用之后被?#19994;健?#19968;些对象被频繁且例行使用,从而用户通
常能够回忆起该对象依据惯例而位于?#26410;Α?#20363;如,用户可能?#23458;?#37117;在床头柜上的对她的电
话进行充电,从而能够预见到该电话第二天早上就在该床头柜上。类似地,用户可能每天下
班回家时将车钥?#36861;?#22312;车库附近的?#20449;?#20013;,从而该钥匙在第二天早上能够轻易地在相同地
方被定位。然而,有时惯例被打破并且对象被留在不同寻常的位置或者被借给他人一段时
间。其它对象并不频繁使用但是在需要时必须能够轻易?#19994;?并且一些甚至被刻意隐藏),
诸如藏起来的备用房屋钥匙、出生证明或车辆证明。

发明内容

本文总体上描述了用于保存并获取有关对象位置的信息的技术。在一些实施方式
中,用户能够指示计算设备上的应用或服务存储有关对象位置的信息,而使得该位置能够
在后续请求时轻易地被调用。例如,用户能够提供指示George正在浏?#28010;?#30340;岩石收藏的查
询,响应于该查询,能够在数据结构中针对该用户创建条目,后者将该岩石收藏的位置捕捉
为与George在一起。几个月后,该用户可能为她的收藏?#19994;?#20102;新的石头,但是却无法想起她
将该收藏借给了谁或者是何时借出的。为了帮助她回忆,她可以提交请求该岩石收藏的位
置的另一个查询,该应用或服务基于数据结构中的条目而对该查询作出该岩石收藏与
George在一起的响应。该用户还能够在对象位置已经发生变化时进行指示,从而使得对象
的位置信息在数据结构中被更新。因此,当George将岩石收藏归还该用户?#20445;?#35813;归还能够被
记录在该数据结构中而使得该对象的当前位置不再被表示为与George在一起。通过在数据
结构中维护各种对象的位置,能够响应于用户查询而执行复杂动作。例如,能够在对象从特
定位置发生移动时触发通知。在一些实施方式中,对象位置条目以允许在一个或多个对象
和位置之间定义关系的方式被存储在数据结构中。例如,在一系列查询中被提及的常用对
象或位置能够被识别为之前所引用过的相同对象或位置,而使得有关该对象或位置的信息
能够可靠地被访问或或更新。此外,数据结构中的对象或位置的表示能够自动与一个或多
个属性相关联。?#35789;?#35813;对象或位置未在查询中被直接提到,该对象或位置也能够因此由用
户基于该属性进行识别。

这里所描述的技术可以提供以下的一种或多种优势。使用简单的自然语言查询,
用户能够保存、更新并获取有关对象位置的信息,诸如指示对象最后被放在?#26410;?#30340;信息,或
者识别占有该对象的人、组织或其它实体的信息。在一些实施方式中,用户能够利用语音命
令输入对象位置查询,该命令随后基于已经对样本对象位置查询进行过训练的特定语法集
合而被处理。该语法能够在以概率方式确定查询与之相对应的语言命令的特定类型的模型
中使用,而并不要求用户使用特定词项或特定语言结构讲出该命令。此外,通过将所存储的
对象和位置与一个或多个属性关联(即,被确定为与对象和位置充分相关的概念),用户随
后能够基于它们的属性间接地涉及到对象和位置而不是基于该对象或位置的名称直接地
涉及到。因此,与要求原始地被用来存储对象信息的语言的严格引用的情形相比,能够以更
大的灵活度来请求或更新有关对象或位置的信息。例如,对象位置信息可以首先响应于用
户查询“The rock collection is with George”而被存储。随后,该用户可能想要知道岩
石收藏在?#26410;Γ?#20294;是仅使用了诸如“rocks”或“stones”之类的针对岩石收藏的简短引用。
“rocks”的简短引用可以足以通过?#22336;?#20018;比较而识别出对象“rock collection?#20445;?#24182;且
“stones”是与岩石收集相关联的同义词,其也被确认为与岩石收藏充分紧密相关。此外,能
够确定有关岩石收藏和/或有关George的属性,诸如他的全名和地址。例如,使用这样的属
性,用户可以在并不提到George自己的名字的情况下查询位于George的地址处的任何对
象。同样,例如,图书可以以其作者被提及,DVD电影可以通过男主角或女主角被提及,并且
音乐专辑可以通过其艺术?#19968;?#27969;派而被提及。这些示例中的每一个都间接地涉及到对象而
不是直接提到对象自身的名称。此外,可以通过保持在数据结构中维护对象和位置之间的
关系而针对更为复杂的查询生?#19978;?#24212;。例如,如果对象A在第一时间被留在位置X,并且对象
B在第二时间被留在位置X,则位置X能够与这两个对象相关联,从而用户能够获得针对同时
询问已经被留在特定位置的所有对象的查询的响应。

在一些实施方式中,一种计算机实施的方法包括接收包括识别对象的一个或多个
词项的第一查询。该第一查询能够被确定为包括存储该对象的位置信息的命令。该第一查
询能够被解析以针对该对象确定识别信息,并且能够针对该对象确定位置。该方法进一步
包括识别并未在该第一查询中被指定的该对象的一个或多个属性,并且使得表征该对象的
识别信息、该对象的位置以及该对象的一个或多个属性的第一数据集合被存储。

这些和其它实施方式可以包括以下一个或多个特征。该方法可以进一步包括确定
该对象对应于多个实体的数据结构中的一个或多个实体,其中该数据结构包括多个实体的
表示以及映射该多个实体中的特定多个之间的关系。识别未在该第一查询中被指定的该对
象的一个或多个属性可以包括选择与该数据结构中该对象被确定与之相对应的一个或多
个实体相关联的一个或多个事实或类别。

该方法可以进一步包括使得针对该对象的第一数据集合被存储在与特定用户账
户相关联的个人对象数据结构中,其中该个人对象数据结构:(i)包括一个或多个对象和一
个或多个位置的表示,并且(ii)映射该一个或多个对象和一个或多个位置中的特定多个之
间的关系。

该数据结构能够对关系进行映射从而至少指示一个或多个对象中的特定多个的
最后的已知位置。

该第一查询可以进一步包括识别该对象的位置的一个或多个词项。识别该对象的
位置的一个或多个词项可以包括指定该对象的地理位置的一个或多个词项。

该第一查询可以进一步包括识别该对象被留给的人或组织的一个或多个词项。该
方法可以进一步包括将该对象已经被留给的人或组织与来自用户账户的联系人进行关联;
检测用户与和该对象已经被留给的人或组织关联的联系人的交互;并且响应于检测到用户
与该联系人的交互而使得有关该对象的通知被呈?#25351;?#35813;用户。

该方法可以进一步包括确定用户设备位于该对象的位置的阈值距离之内,并且作
为响应而使得有关该对象的通知被呈?#25351;?#35813;用户。

该第一查询可以不包括识别该第一查询的内容中的对象的位置的信息,并且该对
象的位置可以基于该第一查询原始地被输入或讲出的计算设备的当前位置来确定。

该方法可以进一步包括接收包括识别该对象的一个或多个属性中的至少一个的
一个或多个词项的第二查询。响应于接收到该第二查询,该方法可以进一步包括基于识别
该对象的一个或多个属性中的至少一个的一个或多个词项而确定该第二查询引用了在该
第一查询中所识别的对象;确定该第二查询包括执行与该对象相关联的动作的命令;并且
执行与该对象相关联的动作。

该第二查询可以包括获取该对象的位置的命令。执行与该对象相关联的动作可以
包括从该第一数据集合识别该对象的位置并且输出该对象的位置。

该第二查询能够包括更新有关该对象的信息的命令。执行与该对象相关联的动作
可以包括使得经更新的信息被存储在该第一数据集合或其它数据中。

该更新有关该对象的信息的命令可以包括该对象位于新位置的指示。使得经更新
的信息被存储在该第一数据集合或其它数据中可以包括更新针对该对象所存储的位置信
息从而指定该对象的新位置。

该第一查询能够指定用户已经将该对象留在该对象的位置。该第二查询能够指定
该对象已经被返回至用户。响应于接收到该第二查询而执行与该对象相关联的动作可以包
括使得指示该对象不再位于该第一查询中所识别的该对象的位置的信息被存储。

该第二查询能够指示该对象不再位于该第一查询中所识别的该对象的位置。响应
于接收到该第二查询而执行与该对象相关联的动作可以包括使得指示该对象不再位于该
第一查询中所识别的该对象的位置的信息被存储。该方法可以进一步包括响应于确定该对
象不再位于该第一查询中所识别的该对象的位置而使得包括有关与该对象相关联的一个
或多个?#24405;?#30340;提醒的通知被呈?#25351;?#29992;户。

该第一查询中识别该对象的位置的一个或多个词项能够指示该对象已经被留给
一个或多个第一人。该第二查询能够指示该对象已经从该一个或多个第一人被返回,并且
有关与该对象相关联的一个或多个?#24405;?#30340;提醒可以包括使得该对象能够被一个或多个人
得到的提?#36873;?br />

该方法可以进一步包括识别并未在该第一查询中被指定的该对象的位置的一个
或多个属性。该第二查询可以包括执行与该对象相关联的命令的确定进一步基于该对象的
位置的一个或多个属性。

该第二查询可以不包括该第一查询中识别该对象的任何一个或多个词项。

在一些实施方式中,提供了一个或多个具有存储于其上的指令的计算机可读设
备。当被一个或多个处理器执行?#20445;?#35813;指令能够使得操作被执行,包括:接收包括识别对象
的一个或多个词项的查询;确定该查询包括存储该对象的位置信息的命令;对该查询进行
解析以针对该对象确定识别信息,并且确定该对象的位置;识别并未在该查询中被指定的
该对象的一个或多个属性,并且使得表征该对象的识别信息、该对象的位置以及该对象的
一个或多个属性的第一数据集合被存储。

在一些实施方式中,一种计算机实施的方法可以包括:由计算设备接收第一查询,
其包括存储指定对象位置的信息的命令;使得识别该对象以及该对象的位置的数据被存
储;由该计算设备接收第二查询,其包括获取该对象的位置的命令,其中该第二查询通过指
示并未在该第一查询中被指定的该对象的一个或多个属性的一个或多个词项来识别该对
象;响应于接收到该第二查询:使用该对象的一个或多个属性从多个对象中识别该对象,并
且从该数据集合中获取该对象的位置;以及输出识别该对象的位置的信息以便向用户进行
呈现。

附图?#24471;?br />

图1是用于保存并获取有关对象位置的信息的示例过程的示意图;

图2A是其中特定多个实体进行互连的实体的数据结构的示例图形表示;

图2B描绘了互连实体的数据结构的示例部分;

图3示出了用于保存并获取有关对象位置的信息的示例过程的流程图;

图4示出了用于管理并报告有关对象的位置的信息的系统的示例;

图5示出了能够被用来实施这里所描述的技术的计算设备500和移动计算设备的
示例。

各图中同样的附图标记指示同样的要素。

具体实施方式

图1是用于保存并获取有关对象位置的信息的示例过程100的示意图。在一些实施
方式中,过程100能够由以下图4中所描绘的系统400来实施。通常,过程100允许用户使用非
结?#22815;?#30340;自然语言查询来存储指示一个或多个对象的位置的信息。过程100能够构建个人
对象数据结构,其对对象和它们的位置之间的关系进行映射。该个人对象数据结构能够被
用来对间接地或者在后续查询中另外以不同方式涉及到对象和位置的用户查询作出响应。
例如,基于通过个人对象数据结构的特定路径,一个对象可以基于其与另一个对象的关系
而在查询中被识别;对象能够与位置层级相关联(例如,鞋可以直接位于壁橱中,而壁橱可
以位于Sue房屋的客房中);对象可以通过位置进行关联;并且对象位置历史能够被确定。此
外,该个人对象数据结构中的对象和位置能够与表示有关相应对象和位置的概念的属性相
关联。如以下进一步描述的,过程100允许用户沿一个或多个维度来识别对象或位置,诸如
通过直接使用对象或位置的名称,针对对象或位置的名称的部分或简短引用,以及通过间
接引用对象或位置的一个或多个所确定的属性。因此,并不要求用户记住原始地用来描述
对象及其位置的特定词项,而是能够随后使用具有描述对象或位置的更为宽泛的词项基础
的灵活词汇来识别之前所存储的对象或位置。

过程100在阶段A(108)开始,其中用户104提供包括对象-位置存储命令的查询
106。查询106指出用户104已经“将钥?#36861;?#22312;双肩包的前侧口袋中(left the keys in the
front pouch of the backpack)?#34180;?#36825;里,查询106被示为用户104所讲出的语音命令,但是
查询106也可以通过其它手段进行输入,诸如通过在物理或虚拟键盘上敲出查询106的文
本。查询106能够在用户计算设备上输入,诸如智能电话、平板电脑、?#22987;?#26412;电脑、可佩戴设
备(例如,智能手表)或台式计算设备。查询106能够被提供至对象和位置引擎(O&L引擎),其
对该查询进行处理,维护个人对象数据结构102(例如,数据库或另一数据库集),并且响应
于查询而执行一种或多种操作。在该示例中,过程100使用已经针对不同类型的对象-位置
命令而对各种类型的对象-位置查询进行过训练的模型来确定查询106是对象-位置存储命
令。能够响应于不同的命令类型执行不同的操作。?#35789;?#26597;询106并不包括特别对应于对象-
位置存储命令的前缀或其它载体短语(例如,热词)(例如,“记住我将钥?#36861;?#22312;双肩包的前
侧口袋中(Remember that I left the keys in the front pouch of the backpack)”),
O&L引擎所使用的模型也能够从查询106的上下文确定其最可能是对象-位置存储命令,而
不是例如对象信息检索命令。然而,在一些实施方式中,O&L引擎能够被配置为允许或要求
查询中识别命令类型的命令前缀。

响应于接收到查询106,过程100向用户的个人对象数据结构102中增加条目以表
示对象“钥匙(keys)?#24065;?#32463;被放在位置“双肩包的前侧口袋(front pouch of the
backpack)?#34180;?#22270;1中示出了个人对象数据结构102的示例表示。个人对象数据结构102在这里
被图形表示为包括相应对象和位置的节点以及将节点进行链接并?#20197;?#23545;象和位置之间建
立关系的图形。在一些实施方式中,查询106中提到的位置可以以该位置在查询106中被识
别的方式而被记录在个人对象数据结构中。例如,?#22336;?#20018;“双肩包的前侧口袋(front pouch
of the backpack)”可以被存储为钥匙的位置。在一些实施方式中,被提到名称的位置可以
被划分为其分量部分并进行?#25351;睿?#20294;是在数据结构102中为每个部分创建相关位置。这里,
查询106中的位置指定了位置层级。“双肩包(backpack)”是可以被一般识别的第一位置。然
而,该双肩包还具有包括诸如“前侧口袋(front pouch)”的各种隔挡的子组件。该“前侧口
袋?#24065;?#27492;是数据结构中作为“双肩包”同层级的可单独识别的要素。因此,双肩包节点102a被
连接至前侧口袋节点102b,后者进而连接至钥匙节点102c从而指示钥匙102c当前处于双肩
包的前侧口袋中。如果该双肩包之前在数据结构102中有所表示,则针对该双肩包的表示形
成附加或以其它方?#25509;?#25152;更新的连接从而反映出钥匙被添加?#20102;?#32937;包。因此,新的查询能
够使得O&L引擎在数据结构102事先存在的情况下对数据结构做出改变和构建。如果数据结
构之前并不存在,则可以被创建。

在阶段B(112),用户104提供第二查询110。该第二查询指示用户的“Peyton
Manning运动衣在双肩包中(Peyton Manning jersey is in the backpack)?#34180;?#33021;够针对该
个人对象数据结构形成附加条目以反映附加的对象位于双肩包中。因此,运动衣节点102d
被添加并且连接?#20102;?#32937;包节点102a。

在阶段C(114),过程100识别被确定为与查询110中所提到的运动衣对象102d相关
的一个或多个属性。该属性与该对象相关联从而它们能够在随后被用来响应于以不同于查
询110中描述该运动衣的方式对其进行描述的未来用户查询而识别出该对象。在一些实施
方式中,过程100能够针对所确定的属性而对对象或位置标记以附加的关键词。例如,在查
询110中所提到的运动衣被标记以关键词118“quarterback?#34180;ⅰ癗FL?#34180;ⅰ癈olts?#34180;ⅰ癇roncos?#34180;?br />“Indianapolis”和“Denver?#34180;?#20851;键词118能够从一个或多个知?#23545;?16确定。在一些实施方
式中,知?#23545;?16可以包括或指向电子资源,诸如其内容讨论该查询所涉及到的对象或位置
的网页和其它电子文档。在一些实施方式中,知?#23545;?16可以包括辅助(curated)数据结构,
其包括有关包括各种人、地方、东西和想法的真实实体。该实体的属性(例如,事实、主题、类
别)能够在数据结构中进行组织,并且所识别实体的外部实体数据结构中的属性能够与查
询中的对象或位置进行关联。例如,职业四分卫Peyton Manning能够被识别为在查询110中
所提到的“Peyton Manning运动衣”对象的高度相关实体。关键词118是与Peyton Manning
实体相关联的属性,并且因此也能够在个人对象数据结构102中与该运动衣对象进行关联。

在阶段D(120),用户104在查询120中提交了对象-位置检索命令,其询问“我把
Colts运动衣放在了哪里?(Where did I leave my Colts jersey?)?#34180;?#34429;然用户104想要知
道他的Peyton Manning运动衣的位置,因为该对象之前在查询110中进行过描述,但是后续
提交的查询120使用了相同对象的不同描述“Colts运动衣(Colts jersey)?#34180;?#28982;而,在阶段E
(124),处理100正确地确定查询120最可能是涉及到之前在查询110中所提到并?#20197;?#20010;人对
象数据结构中被表示为节点102d的“Peyton Manning运动衣?#34180;?#38024;对“Colts运动衣”和
“Peyton Manning运动衣”的相应引用之间的关联基于在阶段C(114)所识别的该运动衣的
属性的关键?#35782;?#34987;确定。过程100识别出Peyton Manning与“Colts?#26412;?#26377;强的关联,并且因
此该词项被标记至运动衣102d的表示。因此能够在检索查询120和运动衣表示102d的属性
之间确定匹配。

在阶段F(130),用户104提交第四查询128“我取回了我的钥匙(I have my keys
back)?#34180;?#35813;查询128构成指示钥匙已经被返回的对象-完成类型的命令。处理100能够从查询
120的上下文(例如,结构和词项)识别出查询128是对象-完成类型的命令,并且作为响应而
在阶段G(132)更新个人对象数据结构102从而反映出该钥匙不再位于双肩包的前侧口袋
中。例如,虽然并未在图1中示出,但是数据结构102中的钥匙的表示可以被去除。在一些实
施方式中,数据结构102中所表示对象的当前位置可以响应于完成类型的命令而不是该对
象被删除而过期。以这种方式,能够对对象的位置历?#26041;?#34892;分析。

在阶段G(132)响应于查询128所进行的变化在阶段H(136)和I(138)进行了图示。
在阶段H(136),用户104在查询134中询问“我的双肩包中有什么?(What do I have in the
backpack?)?#34180;?#30001;于个人对象数据结构102已经被更新以反映钥匙不再处于该双肩包中,所
以在阶段I(138),过程100利用回答“Peyton Manning运动衣”对第五用户查询134作出响
应,这是现在仍然在双肩包中的仅有对象。

如以上所提到的,在一个或多个能够被访问从而识别与查询中提到的对象或位置
相关联的属性的知?#23545;?16之间具有实体数据结构。这样的数据结构的示例在图2A和2B中
进行了描绘。

图2A?#19988;?#25454;这里所描述技术的示例实施方式的实体数据结构的示例图形200。数
据图形200可以表示互连实体的数据结构中的信息的存储和结构。这样的数据图形200存储
有关节点(实体)和边(属性或关系)的信息,根据上述节点和边能够生成诸如图2A中所图示
图形的图形。节点202可以被称作实体,并且边204可以被称作属性,其形成实体之间的连
接。

图2B描绘了互连实体的数据结构220的示例部分。在一些实施方式中,数据结构
220可以以三元组的形式存储有关数据结构中的实体的信息。例如,三元组标示出该三元组
中的主体、特性和数值。Tom Hanks是数据结构220中的实体并且是该三元组的实体。第一个
三元组222标示出特性“有职业(has profession)?#20445;?#24182;且第二个三元组222标示出特性“有
配偶(has spouse)?#34180;?#35813;特性的数值是三元组中的第三个分量。Tom Hanks具有职业?#25226;?#21592;
(Actor)”并且具?#20449;?#20598;“Rita Wilson?#34180;?#22312;第一个三元组222中,特性“属性?#26412;?#26377;作为该数
据结构中的事实的数值。例如,演员可以是或不是数据结构中的实体。在一些实施方式中,
该三元组的数值分量可以引用命名实体识别引擎能够从其确定文本样本中命名实体的类
别的实体(例如,演员)的分类。在第二个三元组222中,数值分量是数据结构220中的另一个
实体,特别是Rita Wilson的实体。因此,三元组222指定了Tom Hanks的实体通过配偶关系
而连接或涉及到Rita Wilson的实体。三元组224、226和226'中示出了另外的三元组以及它
们的反向相关的三元组。

参考图3,示出了用于保存并获取有关对象位置的信息的示例过程300的流程图。
在一些实施方式中,过程300能够由本文中所描述的?#25105;?#31995;统所实施,诸如图4中描绘的系
统400。过程300能够在一个或多个设备上执行。例如,过程300可以在用户设备(例如,智能
电话、平板电脑、?#22987;?#26412;计算机)上本地执行,在一个或多个服务器上执行,或者可以部分在
用户设备上本地执行而部分在一个或多个服务器上远程执行。

过程300在阶段302开始,其中接收用户查询。例如,该查询可以是结?#22815;?#26597;询、句
法查询或者自然语言查询。该查询可以由用户所键入或讲出。例如,该查询可以作为语音命
令被发出,其由语音识别器所处理并且至少部分被转换为文本。在用户设备上,用户可以访
问语音助理或者接受?#19981;?#36755;入并且对输入进行处理从而确定要作为响应所采取的一个或
多个动作的其它语音应用。例如,该查询可以被发给语音助理,后者被配置为对各种所讲出
的命令作出响应(例如,发送消息、启动应用、保存数据、设置诸如?#31181;?#30340;应用参数,或者执
行一般web搜索)。

在一个或多个命令中,该语音助理可以别配置为对其作出响应的是用于对象位置
存储和检索的命令。在阶段304,过程300确定所接收到的查询是否对应于一个或多个对象
位置命令。如果该查询是语音查询,则?#19981;?#33021;够使用自动语音识别器而被转录为文本。该语
音识别器可以包括对应于不同对象位置命令的多种语法。在一些实施方式中,查询中的载
体短语可以具体识别特定命令。例如,在查询“记住Jane拿着我的化学书(Remember that
Jane has my chemistry book)”中,载体短语“记住(Remember that)”可以指示该查询是
保存对象位置的命令。

在一些实施方式中,该语音识别器可以包括均对应于相应类型的对象位置命令的
多种语法。例如,该语音识别器可以包括声明语法、完成语法、检索语法和触发动作语法。每
种语法可以被用来确定该查询与之相对应的特定类型的对象位置命令。该语法可以对对应
于用户以一种语言讲出对象位置命令的自然方式的文本样本(例如,自然语言查询)进行训
练。以这种方式,例如,载体短语对于语音助理或其它应用确定查询是特定类型的对象位置
命令而言并非是必要的。相反,?#35789;?#26597;询中并不包括所要求的载体短语或其它关键词,自然
使用的单词和查询结构也可能足以确定该查询对应于何种类型的对象位置命令。例如,查
询“我的化学书与Jane在一起(My chemistry book is with Jane)?#34180;ⅰ癑ane拿着我的化学
书(Jane has my chemistry book)”和“化学书在Jane那里(The chemistry book is at
Jane's)?#27604;?#37096;都可以使用声明语法而被识别为存储有关对象位置的信息的命令。

声明语法能够被用来确定查询是存储有关对象位置的信息的命令。可以利用声明
语法而被识别为存储对象位置信息的命令的一些查询模式包括[$X is at$Y]、[I lent$X
to$Y]、[I borrowed$X from$Y]、[$X is in$Y]、[$Y has$X]、[I left$X with$Y]、
[Remember that$X is in the$Y]。另外或其它的查询模式也可以被声明语法理解为对象
位置存储命令,它们例如可以通过对对象位置存储命令样本的统计训练而确定。

完成语法能够被用来确定查询是记录对象已经返回或者以其它方式不再处于之
前所存储位置的命令。例如,如果用户已经作出了声明“我将‘James and the Giant
Peach’借给了Fred(I lent'James and the Giant Peach'to Fred)?#20445;?#20174;而使得系统存储
有关图书‘James and the Giant Peach’与Fred在一起的信息,随后,可以从用户输入
“Fred归还了‘James and the Giant Peach’”而接收到对象完成命令。该完成命令指示该
图书已经被归回或者以其它方式不再处于之前所存储的位置,并且该完成语法能够被用来
识别作为完成命令的查询。例如,完成语法可以识别诸如以下的完成命令的查询模式:[$X
returned$Y]、[I got$X back]、[Clear location of$X]、[$X is no longer at$Y],等?#21462;?br />另外或其它的查询模式也可以被完成语法所理解,它们例如可以通过对对象完成命令样本
的统计训练而确定。

检索语法能够被用来确定查询是识别一个或多个对象的相应位置的命令。一旦对
象的位置已经响应于对象位置存储命令而被存储,则在随后,用户可以提交对象检索命令
以确定回忆对象位于?#26410;Α?#20363;如,之前已经被记录为位于阁楼中的相册的位置能够响应于
查询“相册在哪儿?(Where is the photo album?)”而使用户进行回忆。过程300随后能够
识别出相册位于阁楼中,并且向用户呈现该相册位于阁楼中的指示。该响应可以立即以文
本消息被呈?#25351;?#29992;户,诸如电子?#22987;MS或应用文本。在一些实施方式中,该响应可以是诸
如由语音合成所讲出的响应。该检索语法可以识别诸如以下的检索命令的查询模式:
[Where is$X?]、[Where are$X,$Y,and$Z?]、[Where did I leave$X?]、[Who has$X?]、
[Did I leave$X somewhere?]、[Is$Y borrowing$X?],以及例如可以通过对对象位置检索
命令样本的统计训练所确定的其它查询模式。在一些实施方式中,该检索语法可以识别出
一个或多个对象的请求识别被存储在一个或多个位置的检索命令。例如,用户可以询问“厨
房抽屉中都有什么?(What are all of the items in the kitchen drawer?)?#20445;?#36807;程300
可以利用厨房抽屉中的一个或多个物品的名称对其作出响应。

触发动作语法能够被用来确定查询是在?#24405;?#21457;生时执行指定动作的命令。该动作
和作为该动作的条件的?#24405;?#22343;可以由用户进行指定,或者可以在用户并未指定的情况下通
过使用上下文或?#31508;?#35774;置来确定。在一些实施方式中,该?#24405;?#21487;以是对象已经被留在给定
位置或者从那里返回。在一些实施方式中,该动作可以是提醒用户对该对象做些什?#30784;?#20363;
如,在1月5日,用户可以记录他将他的'Harry Potter'全集借给了Sam。一周之后,Jill告诉
该用户她想要在该用户的'Harry Potter'全集?#22815;?#26469;后尽快借阅该全集。用户能够讲出语
音查询,后者命令在'Harry Potter'全集?#22815;?#26469;后提醒他将其借给Jill。该命令能够使用
触发动作语法识别。例如,用户可以讲出“提醒我Jill想要在Sam看完后看'Harry Potter'
全集(Remind me that Jill wants the'Harry Potter'collection when Sam is done
with it)?#34180;?#21487;替换地,该命令可能并不包括条件,但是可以以其它方?#25509;?#25152;暗示“提醒我
Jill想看'Harry Potter'全集?#34180;?#26681;据这样的命令,过程300能够生成有关将'Harry
Potter'全集提供给Jill的提?#36873;?#25552;醒可以被定期呈?#25351;?#29992;户,或者用户可以询问他设置了
哪些提?#36873;?#22312;一种实施方式中,提醒在完成?#24405;?#21457;生时被提供。例如,当Sam将对象归还用户
?#20445;?#29992;户可以讲出完成命令“我收回了'Harry Potter'全集(I got the'Harry Potter'
collection back)?#34180;?#21709;应于记录该完成命令,过程300可以向用户呈现有关该对象的任何
相关提醒,诸如“提醒我Jill想要借你的'Harry Potter'全集(Reminder that Jill would
like to borrow your'Harry Potter'collection)?#34180;?#22312;一些实施方式中,该提醒可以在声
明(例如,对象位置存储命令)发生时被提供。例如,用户可以在五月设置其必须在8月1日前
准备好他练习使用的足球护垫的第一提?#36873;?#22312;同一年的六月,该用户可以提交指示Bobby借
了足球护垫的对象位置存储命令。在发出这样的命令?#20445;?#36807;程300可以提醒用户为了及时练
习该足球护垫必须在8月1日前归还。过程300还可以在8月1日截止日期之前的特定时间提
醒用户Bobby需要在8月1日之前归还足球护垫。此外,如果用户作出了检索命令,例如“我的
足球护垫在哪儿?(Where are my football pads?)?#20445;?#21017;过程300能够利用该足球护垫(在
Bobby那里)的位置的指示对用户作出响应,并?#19968;?#24102;有在8月1日的练习中需要该足球护垫
的提?#36873;?#22312;一些实施方式中,用户能够指定有关对象和/或其位置的提醒在特定时间或以循
环方式被提供给该用户。

在一种实施方式中,该触发动作语法能够被用来设置在用户与特定位置的表示进
行交互时提醒用户对象已经被留在该位置的通知?#24405;?#22914;果用户指示对象已经被留给特定
的人(或者特定组织或其它一般地特定实体),则对应于该对象被借出的这个人的联系人能
够被确定,而使得在用户与该联系人进行交互时(例如,针对该联系人发送电子?#22987;MS消
息、视频呼叫、社交媒体通信、电话呼叫),能够呈现出该对象在对应于所确定联系人的那个
人那里的提?#36873;?#20363;如,如果用户将她的雪铲借给了Paula,则该用户下一次呼叫Paula或者
Paula呼叫该用户?#20445;?#33021;够向该用户自动显示消息,其提醒该用户Paula拿着该雪铲。在一些
实施方式中,能够针对来自查询的提到的对象的位置而确定地理位置,并且能够在用户(或
用户的设备)确定其当前位置处于所确定位置的阈值距离之内时自动生成通知。例如,在用
户驾车通过Paula邻居家时能够自动呈现有关雪铲的提醒信息,从而用户能够例如当该用
户处于Paula的区域中时方便地取回该对象。

在一种实施方式中,查询能够包括一个或多个对象、一个或多个位置以及一个或
多个命令的不同组合。例如,综合查询可以为[$A is at$X,and$B is at$Y]或者[Where
are$A and$B located?]的形式。在这样的情况下,过程300能够对查询进行解析并且以与
本文中为了简明而一般讨论的在单一分量查询的情况?#28388;?#36827;行的类似方式针对该查询的
每个分量执行类似动作。例如,相应语法可以被用来识别综合查询中的每个分量,其中语法
根据查询的个体分量是否指向不同命令而可以是相同或不同的。在一些实施方式中,可以
发出单一命令,但是过程300可以识别出与该命令相关联的多个对象和/或多个位置。例如,
对象位置存储命令“我的帽子和围巾在手套隔挡里(My hat and scarf are in the glove
compartment)”能够被划分为帽子在手套隔挡里以及围巾在手套隔挡里的单独声明,并且
这样的信息可以就像已经针对帽子和围巾对象形成了单独声明的情况那样进行存储。

在阶段306,在确定查询包括特定类型的对象位置命令?#20445;?#36807;程300对查询进行解
析从而识别该查询中所提到的对象。可以从查询中识别出一个或多个对象。在一些实施方
式中,对象的名称可以从查询中被提取出来并?#19968;?#26412;上以该对象在查询中被提供的方式进
行存储。例如,给定对象位置存储命令“Colts运动衣在洗衣房(The Colts jersey is in
the wash room)?#20445;癈olts运动衣”?#22336;?#20018;能够被提取并?#20197;凇?#27927;衣房”位置被存储在个人对
象数据结构中。在一些实施方式中,除了从查询所提取的原始对象?#22336;?#20018;之外或者作为其
替代,可以针对对象识别一个或多个能够被存储或使用的相关词项(例如,根据查询是存
储、完成还是检索命令)。例如,可以针对对象识别同义词或者经发音纠正的词项。因此,可
以基于如在自然语言查询中所使用的部?#32622;?#31216;“Colts运动衣”而识别出具有完整球?#29992;?#31216;
的“Indianapolis Colts运动衣?#34180;?#22312;一些实施方式中,所提取的对象?#22336;?#20018;可以与之前已
经被存储并且与个人对象数据结构中的多个位置相关联的其它对象进行比较。如果所提取
的对象?#22336;?#20018;或相关词项被确定为与现有(之前所存储的)对象相似或相关,则可以确定这
两个对象是相同的。如果两个对象是相同的,则可以针对该对象的新实例在个人对象数据
结构中创建附加条目,其可以被链接至之前所存储的对象。在一些实施方式中,如果两个对
象被确定为可能是相同对象,则可以针对个人对象数据结构中所存储的该对象的现有表示
生成附加或更新的参数。例如,如果扳手套装之前位于工具架中,但是新的查询指示该扳手
套装现在位于车库中,则可以访?#35797;?#22987;的扳手套装对象表示,并且其当前位置从工具架更
新为车库。在一些实施方式中,可以从查询中提取出对象?#22336;?#20018;并且针对该对象存储条目
而并不在提取和存储时执行所提取对象?#22336;?#20018;与其它对象的比较。在稍后的时间,当从用
户接收到检索或完成命令?#20445;?#20363;如,过程300可以识别匹配该检索或完成命令的所有实体,
包括识别同样的对象。例如,用户在第一次可以声明他的“纸牌(cards)”在办公室中,并且
随后声明他的“一副牌(deck of cards)”在地下室。可以在作出“一副牌”的声明时或者在
用户后续询问“我最后放我的纸牌的两个地方是哪里?(Where are the last two places
that I left my cards?)”时执行关于“纸牌”对象和“一副牌”对象是否相同的确定。如果
过程300确定部分对象?#22336;?#20018;“cards”标示出与“deck of cards”相同的对象,则过程300可
以利用纸牌的最后两个位置是地下室和办公室的指示对最后的查询作出响应。

在阶段308,过程300从查询中识别出对象的位置。该位置可以使用与被用来从查
询识别对象的那些相类似的技术进行识别。例如,查询可以被解析,并且提取出对应于对象
的位置的一个或多个单词。对于对象位置存储命令而言,对应于位置的一个或多个单词可
以被保存在个人对象数据结构中并且与对象进行关联。在一些实施方式中,在新查询中所
指定的对象位置可以被确定为与个人对象数据结构中之前所记录的其它位置相同。在一些
实施方式中,可以确定在特定查询中所识别的多个位置之间和/或查询中的位置与之前已
经记录在个人对象数据结构中的位置之间的关系。例如,之前保存在数据结构中的位置可
以是“办公室?#34180;?#26032;的查询可以指示对象位于“办公?#20918;?#27249;”中。可以在办公室和办公?#20918;?#27249;
之间建立层级关系而使得办公?#20918;?#27249;中的对象也可以被识别为处于办公室中,虽然并非所
有办公室的对象?#21363;?#20110;办公?#20918;?#27249;中。在一些实施方式中,与对象相关联的可以是地理位
置信息而不是概念位置。例如,地理位置可以从并未明确引用位置的一些查询或者从引用
能够针对其识别地理位置的位置的查询得到暗示。因此,查询“记住我将车停在这里
(Remember that I left my car here)”可以使得过程300使用诸如GPS之类的定位工具来
确定接收到查询的设备的地理坐标,并且这样的坐标能够被记录为汽车的当前位置。在另
一个示例中,用户可能说“我将我的外套留在了Jerry's World Famous Deli(I left my
coat at Jerry's World Famous Deli)?#34180;erry's World Famous Deli的地理位置可以被
确定,并且可以除了该熟食店的名称之外或者作为其替代被存储在个人对象数据结构中。

在阶段310,过程300确定从查询所识别的对象对应于一个或多个实体。实体例如
可以包括人、东西或想法。实体的示例是大?#27573;?#30340;并且可以包括从总统Barack Obama和美
国国会到Jon Bon Jovi,真人秀和袋鼠,电影、商业等的任何人和任何事物。一个或多个已
知实体之前已经被识别,或者可以在接收到查询之后进行识别。在一些实施方式中,在实体
之前已经被识别的情况下,实体可以在实体的数据结构中进行索引。在一些实施方式中,该
数据结构可以包括一个或多个子数据结构并且可以被表示为图形(例如,参见图2A)。例如,
每个实体可以由图形中的节点所表示,特定的多个实体可以在图形中利用一种或多种关系
而互相连接(例如,表示J.K.Rowling的实体可以通过指示J.K.Rowling创作了图书'Harry
Potter and the Philosopher's Stone'的双向关系而被连接至表示该图书的实体),每个
实体可以与相应的属性集合相关联,并且实体可以与一个或多个主题(类别)相关联。例如,
表示J.K.Rowling的实体可以被连接至其它实体,诸如表示作为该作者出生地的英国Yate
的实体。J.K.Rowling实体还可以具有与她相关联的属性,诸如出生日期、兴趣?#21462;?#26377;关实体
的信息可以由用户手工输入和/或可以从可公开获取的信息(例如,网页、博客以及其它电
子文档)进行?#21019;眨?#24182;?#20197;?#22522;于信息来源(例如,基于数据来源的可靠性,数据跨多个来源被
重复的频率以及数据的陈旧性)确定了至少一个阈值置信度水平的情况下被视为有关实体
的准确数据。在一些实施方式中,实体数据结构可以以类似于图2A和2B中所描绘的实体图
形202的方式进行表示。在一些实施方式中,有关对应于查询中的对象或位置的实体的信息
能够在接收到查询之后被识别,诸如通过基于该查询执行互联网搜索来执行以便识别出可
公共获取的有关该查询的信息。

在阶段312,确定关于已经被确定为对应于查询中所指定的对象的实体的一个或
多个属性。实体的属性通常能够被用来识别与该对象相关但是并未在查询中讲出的附加信
息。所存储的对象随后能够被标记或者以其它方式与其相对应实体的属性进行关联,而使
得用户随后能够通过引用该属性而识别出该对象。在一些实施方式中,附加关键词基于属
性而与对象相关联。例如,响应于指示用户已经将她的“To Kill a Mockingbird”的拷贝留
给Ryan的查询,使得表示被存储在表示对象“To Kill a Mockingbird”当前在“Ryan”的位
置的数据被存储在个人对象数据结构中。对象“To Kill a Mockingbird”可以在阶段310被
确定为对应于Harper Lee的经典小说(即,该小说是查询对象在该示例中与之相对应的实
体)。由于在查询中被引用的对象被确定为可能对应于小说,所以与该小说相关的附加属性
能够与该对象相关联。因此,作者姓名(Harper Lee)、最初出版年份(1960)、主题(种族歧
视、法律)、流派(南方哥特、虚构小说)和主要角色(Atticus Finch)是描述这本书的所有属
性。关键词能够从属性识别并且与所存储的对象进行关联,诸如“图书?#34180;ⅰ癏arper Lee?#34180;?br />“1960?#34180;ⅰ?#31181;族歧视?#34180;ⅰ?#27861;律?#34180;ⅰ?#21335;方哥特”和“Atticus Finch?#34180;?#22240;此,?#35789;?#29992;户最初指示“To
Kill a Mockingbird”在Ryan那里,但是能够使用不同词项在后续来引用该对象。例如,用
户可以发出检索命令“谁有我的有关Atticus Finch的数”或者完成命令“Harper Lee的书
已经归还?#20445;?#24182;且过程300随后能够识别出这些后续命令中的对象是Ryan已经借走的图书
“To Kill a Mockingbird?#34180;?#31867;似地,能够随对象标记以同义词、简短对象名称、完整长度的
对象名称、类别以及主题或类别信息而使得对象能够使用之前用来保存有关该对象的信息
的词项的可替换词项进行引用。

在一些实施方式中,实体属性能够通过访问包括有关实体以及它们的关系的信息
的实体数据结构而被识别。有?#20445;?#22810;个实体可能被确定为对应于查询中的对象。例如,“To
Kill a Mockingbird”可能并非是指那本书,而是涉及到1962年根据这本书所改变的电影,
其由Gregory Peck主演。在查询中所指定的对象存在歧义并且可能对应于多个不同候选实
体之一的情况下,来自一个或多个候选实体的属性可以与该对象相关联。

为了促成对候选实体的选择,能够针对候选实体确定置信度得分,其反映出每个
候选实体与用户查询中所指示的对象相匹配的相应可能性。置信度得分能够被用来选择哪
个实体的属性来与对象进行关联。在一些实施方式中,具有n个最高置信度得分的n个实体
的属性能够与一个对象相关联。在一些实施方式中,仅其置信度得分达到(例如,超过)阈值
置信度得分的实体可以使得其属性与对象相关联。实体的置信度得分可以基于一种或多种
因素,包括提到该对象的查询的上下文,以及相应实体在电子资源的一个或多个语料库中
被?#19994;?#30340;频率。例如,图书“To Kill a Mockingbird”可能在包括短语“To Kill a
Mockingbird”的互联网页面或其它资源上比电影的讨论频繁十倍。因此,实体数据结构可
以包括指示该图书与电影相比的相对流行度,并且这样的信息可以使得图书的置信度得分
高于电影的置信度得分。类似地,如果该查询自身包括消除候选实体的歧义的上下文,则这
样的上下文能够被用来影响候选实体的置信度得分。例如,从该查询能够清楚的是,“‘To
Kill a Mockingbird’的DVD在Ryan那里(The DVDs for'To Kill a Mockingbird'are at
Ryan's place)”包括对电影而不是图书的引用。因此,在该示例中可以使得电影实体的置
信度得?#25351;?#20110;图书的置信度得分,并且能够与该查询中所指定的对象相关联的是电影的属
性而不是图书的属性。

在阶段314,并未与相对应实体相关联的一个或多个附加属性能够与查询对象相
关联。该附加属性能够包括涉及到该对象但是并非必然从针对该对象的实体被识别的词
项、短语和其它信息。甚至在无法针对对象从实体数据结构识别出相对应实体的情况下,其
它信息源也可能只是该对象的相关属性。例如,具有特定且可能私人含义的个人对象可能
并不是在实体数据结构(其可能很大程度上基于可公开获得的信息而生成)中有所表示的
实体。因此,“祖母的手工编织毛衣(Grandma's hand-knit sweater)”可能是在实体数据结
构中没有实体的对象。同样,诸如“祖母?#34180;ⅰ?#23478;庭?#34180;ⅰ?#20256;?#20918;Α薄ⅰ?#32541;纫”和“衬衣”之类的关键词
属性可以与该对象相关联从而在该对象随后被用户在查询中引用时允许有所扩展的检索
能力。该附加属性在一些实施方式中可以通过访问辞典而被识别,从而通过从实体数据结
构识别出相关(但并非相对应的)实体和/或通过允许针对该对象的基于web的搜索并且从
相关搜索结果识别关键词来确定关键词的同义词。

对象的附加属性还能够基于用户账户数据来确定。例如,对象可以在与用户相关
联的账户中所存储的数据有所描述,该描述能够被解析从而识别出要与该对象相关联的关
键词属性。这例如对于确定对象的属性信息是有利的,而无论对应于该对象的实体是否在
现有实体数据结构中有所表示。因此,从来自用户的电子?#22987;?#24212;用、社交媒体账户、简档信
息或其它来源的对于对象的描述所得出的关键词或其它数据能够关联于对象而被存储在
个人对象数据结构中。用户可以选择加入或退出使得用户账户数据出于这样的目的而被分
析,并且可以限制什么样的数据被分析。

在阶段316,识别查询中所指定的对象、该对象的位置的信息以及与该对象相关联
的?#25105;?#23646;性被存储在个人对象数据结构中。该个人对象数据结构可以在一个或多个位置包
括数据结构的集?#24076;?#32780;使得数据虽然被关联也可以被存储在一起或者并不存储在一起。信
息可以在该查询是存储有关对象位置的信息的命令时在过程300的阶段316进行存储。针对
其它命令—诸如请求有关对象位置的信息的命令—的查询可能并不会使得有关对象或其
位置的新的信息被存储。在存储对象位置信息的情况下,除了对象标识符、位置和对象属性
之外还可以存储附加的信息。例如,位置的关键词或其它属性可以使用与用于对象属性的
那些相类似的技术来识别(例如,通过确定对应于命令中所提到的位置的实体的属性)。位
置属性信息因此能够利用对象-位置条目进行存储。标记对象被留在特定位置或者查询被
接收的日期和时间的时间戳也能够利用对象-位置条目进行存储。该时间戳能够被用来执
行复杂的对象-位置查?#20063;?#20316;。例如,该时间戳能够被用来对询问对象何时被留在一个位
置,对象已经处于一个位置多久,或者对象在特定时间?#25991;?#25152;在的所有位置的用户查询作
出响应。

在一些实施方式中,存储在个人对象库集中的信息能够被表示为图形。该图形可
以包括表示存储在该库集中的各种对象和位置的节点(顶点)以及连接该节点的边,后者表
示节点之间的关系。该图形可以以类似于图2中所示图形的方式进行表示。例如,一个或多
个对象已经位于那里或已经位于那里的特定位置可以由节点所表示,其连接至一个或多个
对象中的每一个的其它节点。已经位于一个或多个位置的对象可以具有分别连接至它们的
相应位置的其它节点的多个节点。在一些实施方式中,对象或位置的属性也可以由图形中
的节点所表示。例如,对象“To Kill a Mockingbird”可以对应于Harper Lee的书,这可以
通过访问实体数据结构并且将该对象与在该数据结构中被表示为实体的图书进行匹配来
确定。这本书的作者Harper Lee因此可以作为与该对象相关联的属性并且可以在个人对象
图形中被表示为连接至“To Kill a Mockingbird”对象节点的节点。

在阶段318,接收到第二查询。该第二查询可以涉及到之前已经存储在个人对象库
集中的对象。例如,在阶段302所接收的第一查询可能已经是对象-位置存储命令,并且该第
二查询可以是检索命令,其请求过程300利用来自第一查询的对象的位置作出响应。该第二
查询可以使用与第一查询相同、相似或者甚至非常不同的语言而涉及到相同的对象。例如,
该第一查询可以通过其标题(例如,“To Kill a Mockingbird”)而涉及到一本小说,而第二
查询则可以仅通过其标题的一部分(例如,“Mockingbird”)或者甚至通过完全不同的参数
而涉及到这本小说,上述参数诸如这本小说的作者(例如,“Harper Lee”)或另一属性。类似
地,在查询中所指定的特定位置可以以相同位置在之前查询中被指定的相同、相似或非常
不同的方式被提及。例如,一个查询可以识别出对象位于“妈妈家?#20445;?#32780;第二查询则可以将相
同位置识别为妈妈家的?#20540;?#22320;址,或者处于妈妈家的相对应地理坐标。

在阶段320,该第二查询被解析。过程300确定该查询是否为对象-位置命令的类
型,并且如果是,则确定其是何?#32622;?#20196;(例如,对象位置存储命令(声明)、完成命令、检索命
令、触发动作命令)。例如,各种的声明、完成、检索、触发动作和其它语法都能够被用来解析
所讲出的查询。该查询中的对象和/或位置?#22336;?#20018;通过解析该查询而被识别。例如,查询“我
将Harper的书放在了哪里?(Where did I leave the Harper Lee book?)”能够被解析并
确定为是检索类型的命令,其具有对象?#22336;?#20018;“Harper Lee book”并且没有指定的位置。

在阶段322,过程300确定第二查询中所指定的对象和/或位置与之前所接收的第
一查询中所指定的对象和/或位置相同。如果从第二查询所识别的对象和/或位置?#22336;?#20018;与
之前所接收的来自第一查询的对象和/或位置?#22336;?#20018;相匹配,则该对象和/或位置可以被确
定为在查询之间是相同的。如果在第二查询中以不同于其在第一查询中被识别的方式识别
出相同的对象或位置,则能够分别识别一个或多个匹配最为紧密的对象或位置。在一些实
施方式中,在第二查询的多个部分和第一查询的多个部分之间执行?#22336;?#20018;比?#24076;?#35832;如相同
查询中的对象串与从第一查询所提取的对象串之间的比较。在一些实施方式中,第二查询
中所提到的对象通过该对象的一个或多个属性而间接地引用第一查询中所提到的相同对
象。例如,“Harper Lee book”是对“To Kill a Mockingbird”的间接引用。如果第二查询包
括对象?#22336;?#20018;“Harper Lee book?#20445;?#21017;这样的?#22336;?#20018;可以通过将对象?#22336;?#20018;“Harper Lee
book”与标题为“To Kill a Mockingbird”的图书的属性进行比较而被匹配至“To Kill a
Mockingbird?#20445;?#24182;且能够从这本书的作者确定匹配。在一些实施方式中,属性?#19988;?#32463;针对之
前存储在个人对象数据结构中的“To Kill a Mockingbird”对象所标记的关键词,并且匹
配通过执行第二查询中所指定的间接对象与之前所存储对象的关键词的比较而被确定。以
这种方式,过程300能够识别出个人对象库集中可能对应于查询中间接引用的对象的一个
或多个对象。在一些实施方式中,个人对象数据结构中的对象或位置的实体能够在相对应
的对象或位置在一系列查询中被引用时进行更新,而无论针对该对象或位置的引用是否相
同或不同。例如,能够响应于接收到指示第一对象位于Bill的公寓的第一查询而在数据结
构中创建名为“Bill的公寓(Bill's Apartment)”的位置的条目。第二查询可以指示第二对
象位于Bill的公寓,但是可以通过?#20540;?#22320;址555Candy Cane Lane,Apartment No.3来识别
出Bill的公寓。过程300能够确定在第二查询中所提到的地址对应于Bill的公寓,并且因此
Bill的公寓的位置条目被更新从而指示该第二对象也位于Bill的公寓。例如,在个人数据
结构的图形表示中,第二对象的节点可以是出自于表示“Bill的公寓”位置的节点的?#31181;А?br />

在阶段324,过程300响应于该第二查询而执行与该对象相关联的动作。例如,对象
及其当前位置的识别信息能够被保存以便后续检索;有关对象或位置的信息能够被获取并
提供给用户;能够执行完成动作;并且能够响应于第二查询而执行触发动作。

图4描绘了用于管理并报告对象的位置信息的示例系统400。系统400能够被配置
为接收用户查询,后者用于存储有关用户已经将个人对象留在?#26410;?#30340;信息而使得这样的信
息能够在随后用户请求时被想起。系统400允许在查询中使用灵活的查询结构和自然语言
从而命令系统400存储有关对象和对象位置的信息,对所存储的对象及其位置的表示执行
操作,并且利用能够被用来向用户呈现所存储的有关对象和位置的信息的信息对查询作出
响应。系统400能够包括一个或多个用户设备402、网络410、对象和位置引擎404、实体数据
结构408和语音识别器406。虽然系统400的各个组件被图示为相互分离,但是在一些实施方
式中,特定多个组件能够以各种组合与其它组件进行整?#24076;?#24182;且一些组件能够被划分为另
外的子组件。例如,语音识别器406可以在用户设备402或远离用户设备402的一个或多个服
务器系统上实施。类似地,对象和位置引擎404能够在用户402上本地提供,在远离用户设备
402的一个或多个服务器系统上提供,或者特定子组件可以在本地提供而其它则在远程服
务器上提供。在一种实施方式中,系统400能够被配置为执行本文中所描述的特定处理,诸
如图1中所描绘的过程100或者图3中所描绘的过程300。

用户设备402被配置为接收来自用户的查询并且向用户呈现信息。用户设备402可
以是智能电话、平板计算设备、台式计算机、?#22987;?#26412;计算机,或者在一些实施方式中是智能
手表。用户设备402可以被配置为基于来自用户的口头输入或者基于用户所键入的文本输
入而接收查询。用户设备402还可以包括或者被操作地耦合至电子显示器,诸如触摸敏感显
示器,其能够向用户呈现信息。用户设备402可以包括I/O接口412、语音处理引擎414、显示
管理器416、时间和位置引擎418以及账户管理器420。I/O接口412被配置为从用户设备402
发送和接收数据。例如,I/O接口412可以包括能够通过网络410发送和接收数据的一个或多
个无线通信芯片,上述网络410诸如互联网或私人网络。语音处理引擎414能够对来自用户
的口头输入执行语音识别。在一些实施方式中,语音处理引擎414可以具有仅识别有限语音
命令集合的有限语法。复杂自然语言查询的口头输入的音频在一些实施方式中能够被传送
至语音识别器406以便在服务器上远程处理,上述服务器具有比用户设备402上的那些更为
复杂的语音识别能力?#36879;?#22823;的语法。在一些实施方式中,所有语音处理都在用户设备402上
执行。显示管理器416对要在与用户设备402上相关联的一个或多个电子显示器上显示什么
进行管理。查询可以在该查询被设备402所接收时被呈?#25351;?#29992;户,并且查询响应可以在电子
显示器上被示出以便将该响应呈?#25351;?#29992;户。

时间和位置引擎418被配置为对用户设备402的当前时间和位置进行追踪。使用来
自时间和位置引擎418的信息,系统400能够将用户查询与时间和/或位置进行关联。时间戳
能够与查询相关联从而例如指示对象被留在特定位置的日期和时间。因此,当用户作出诸
如“今天下午我将篮球借给了Paige(I lent the basketball to Paige this
afternoon)”的对象-位置存储命令?#20445;?#26102;间戳与该命令(查询)进行关联以便标记篮球被借
给Paige的日期和时间。在一些实施方式中,用户能够明确指定对象何时被留在一个位置,
并且这样的明确时间戳取代来自时间和位置引擎418的?#31508;?#30340;当前时间戳。例如,在6月5日
所接收的指出“我4天前将篮球给了Paige(I gave the basketball to Paige 4days
ago)”查询能够被标记以日期6月1日而不是6月5日,因为该查询的内容明确指示了日期。通
过记录对象被留在特定位置的日期和时间,系统400随后就能够使用这样的信息来对有关
对象和位置的基于时间的查询作出响应。例如,系统400可以使用与个人对象数据结构中的
条目相关联的时间戳来对有关对象何时被留在一个或多个位置,对象已经被留在一个或多
个位置多久,以及对象在特定时间?#25991;?#34987;放置的所有位置都是哪里的查询作出响应。

用户设备402的账户管理器420对设备402上的一个或多个用户账户进行管理。例
如,账户管理器420管理多个用户中的每一个的相应账户。每个用户账户可以包括用户简档
信息以及有关用户关于对象-位置类型命令的偏好的信息。用户账户信息能够被存储在用
户简档库集422中。相应用户账户的一个或多个个人对象数据结构能够被存储在对象数据
库集424中。因此,不同用户能够具有其自己的独立于其它用户的个人数据结构。当第一用
户以第一账户登入设备402?#20445;?#20182;可以在其相应的个人对象数据结构中保存并获取有关对
象位置的信息。当另一个用户以第二账户登入设备402?#20445;?#35813;用户可以在其相应的个人对象
数据结构中保存并获取有关对象位置的信息。该账户可以与用户设备402相关联(例如,由
用户设备402的操作系统所维护),或者由处于设备402上或者能够以其它方式被设备402所
访问的一个或多个服务或应用进行维护。例如,安装在设备上的对象-位置应用可以允许多
个不同用户登入该应用,并且可以针对每个用户维护相应的账户。在一些实施方式中,用户
简档库集422和对象数据库集424中的至少一个能够至少部分远离用户设备402进行维护,
诸如在对象-位置服务器进行维护。在一些实施方式中,包括个人对象数据结构在内的用户
数据可以同时在本地和远程进行维护。针对用户数据的改变—诸如针对个人对象数据结构
的更新—能够在设备之一处进行改变时在一个或多个本地和远程设备之间自动传播。

对象和位置引擎404(O&L引擎)被配置为接收、处理查询并对其作出响应,上述查
询包括一种或多种类型的对象-位置命令。O&L引擎404能够接收查询,对查询进行解析,并
?#19968;?#20110;查询的内容作出响应。例如,当用户在用户设备402发出语音查询?#20445;?#29992;户设备402可
以通过网络410将查询或查询的表征形式发送至O&L引擎404,后者可以被托管于一个或多
个远程服务器上。O&L引擎404能够响应于该查询而执行一个或多个动作,诸如存储有关对
象位于?#26410;?#30340;信息,识别对象位于?#26410;Γ?#26356;新有关对象位于?#26410;?#30340;信息,确定触发动作的信
息,并且生成指令以发送至用户设备402而使得动作响应于触发?#24405;?#32780;执行。

O&L引擎404可以包括I/O接口426、查询解析器428、命名实体识别引擎430、O&L数
据管理器432以及账户管理器434。此外,O&L引擎404能够与语音识别器406以及诸如实体数
据结构408的一个或多个外部数据源进行通信。I/O接口426被配置为通过诸如私人网络或
互联网的一个或多个网络410进行通信,并且能够与语音识别器406、实体数据结构408和其
它外部源进行通信,并且与用户设备402进行通信。

查询解析器428被配置为对从用户设备402所接收的查询进行解析。查询解析器
428能够对用户查询进行处理从而确定其是否是对象-位置命令,并且如果是,则确定对象-
位置命令的特定类型(例如,对象位置存储命令、检索命令、完成命令、触发动作命令,或者
另外的类型)。查询解析器能够识别查询所提到的每个对象,查询中所提到的每个位置,以
及查询中所提到的对象和位置之间的对应性。例如,查询可以指示“毛巾在烘干机中并且床
单在壁橱中(The towels are in the dryer and the sheets are in the closet)?#34180;?#26597;
询解析器428能够识别出该查询是对象-位置存储命令,其包括对两个对象(毛巾和床单)、
两个位置(烘干机和壁橱)的引用,并且该毛巾和烘干机作为对象-位置配对进行对应,并且
该床单和壁橱作为另一个对象-位置配对进行对应。

在一些实施方式中,查询解析器428使用一种或多种语法来处理并解析查询。例
如,语音查询可以由语音识别器406进行转录。语音识别器406包括被配置为识别各种类型
的自然语言的对象-位置命令的语法。声明语法440被配置为允许对象-位置存储命令(例
如,“冰球在后座中(The hockey puck is in the backseat)?#20445;?#35760;住艺术收藏品在Bill那
里(Remember that the art collection is at Bill's place)”)的识别。检索语法442被
配置为允许对象检索命令(例如,“冰球在哪儿?(Where is the hockey puck?)?#34180;ⅰ癇ill有
什么?(What does Bill have?)”)的识别。完成语法444被配置为允许对象完成命令(例如,
“我已经归还了冰球(I've returned the hockey puck)?#20445;癇ill不再有艺术收藏品了
(Bill no longer has the art collection)”)的识别。?#24405;?#35302;发语法446被配置为允许事
件触发命令(“提醒我Sally想要冰球(Remind me that Sally wants the hockey puck)?#20445;?br />“提醒我Sally在Bill之后想要艺术收藏品(Remind me that Sally wants the art
collection after Bill)”)的识别。查询解析器428能够发送查询以便由语音识别器406利
用语音识别器406的各种语法440-446进行转录。查询解析器428能够从语音查询的转录中
提取出一个或多个?#22336;?#20018;,其对应于该?#22336;?#20018;中的对象和位置。在一些实施方式中,语法
440-446能够被用来识别文本查询中的哪些词项对应于对象和位置,并?#19968;?#30830;定该查询是
何种特定类型的对象-位置命令。例如,每种语法可以被包括在已经对特定类型的大量训练
查询进行了训练的一个或多个语?#38405;?#22411;中。声明语法440能够基于声明类型查询(例如,对
象-位置存储命令)的训?#36153;?#26412;,检索语法442能够基于检索类型查询的训?#36153;?#26412;,完成语法
444能够基于完成类型查询的训?#36153;?#26412;,并且?#24405;?#35302;发语法446能够基于?#24405;?#35302;发类型查询
的训?#36153;?#26412;。当接收到新的查询?#20445;?#24050;经对各种类型的查询进行过统计训练的模型能够对
已经作出的查询的特定类型(例如,声明、检索、完成、?#24405;?#35302;发、其它)进行概率确定。

命名实体识别引擎430被配置为确定查询中所提及的对象或位置的一个或多个属
性。命名实体识别引擎430可以针对查询中的对象或位置或者针对对象和位置二者确定属
性。如果在查询中提供了多于一个的对象或位置,则引擎430能够针对所有或者仅一些对象
或位置来确定属性。命名实体识别引擎430能够访问一个或多个数据源来识别对象或位置
的属性。在一些实施方式中,数据源可以处于系统400外部。例如,命名实体识别引擎430可
以基于查询或者基于?#34892;?#36259;的对象或位置来执行一个或多个语料库的搜索。搜索结果的内
容随后能够被用来确定与对象或位置相关联的一个或多个关键词。例如,命名实体识别引
擎430可以通过针对单词相机执行搜索来识别对象“相机”的关键词属性,并且从一个或多
个排名最高的搜索结果确定与相机相关联的最为相关的关键词。这些关键词属性随后能够
与相机对象进行关联,而使得除了在查询中识别出相机的原始方式之外或者作为其替代,
随后能够基于其属性(例如,照片、镜头、取景器、D-SLR)等识别出相机。

在一些实施方式中,命名实体识别引擎430通过识别对象或位置在真实世界中与
之相对应的一个或多个实体,并且将那些实体的属性与查询中所提到的对象或位置进行关
联来确定对象或位置的属性。在一个示例中,实体及其属性参考实体数据结构408而被识
别。实体数据结构408通常包括实体(例如,人、地方、东西、想法)、实体间的关系以及这样的
实体的属性的结?#22815;?#34920;示。实体数据结构408可以被表示为图形,其具有表示实体的节点以
及连接表示实体间的关系和有关实体的各种属性(例如,事实)的节点的边。这样的图形的
一个示例在图2A和2B中示出。实体数据库集448包括数据结构408中所表示的实体的数据,
并且属性数据库集450包括有关实体属性的数据。实体数据结构448可以以人工方式、自动
方式或者二者的组合而获得。例如,实体可以通过抓取互联网上可公开获取的资源,分析可
公开获取的资源的内容,并?#19968;?#20110;对资源的分析作出有关实体存在和属性的确定而被确
定。例如,大量资源的主题可以是特定对象(或对象系列),诸如Arthur Conan Doyle所著的
Sherlock Holmes系列图书。可以确定该系列中的每本书是一个实体的高置信度,就如同其
作者Arthur Conan Doyle爵士。此外,可以针对图书确定各种属性,诸如流派(推理),以及
它们被书写并首次出版的时间和地点。这样的信息可以被存储在实体数据结构448中。

在一些实施方式中,命名实体识别引擎430可以将查询中的对象或位置与实体数
据结构448中的实体进行关联,诸如通过引用相关联实体的指针。以这种方式,如果有关实
体的信息被增加或以其它方式被更新,则这样的信息也能够针对来自查询的相对应的对象
和位置进行更新。

O&L数据管理器432管理有关对象和位置的信息。例如,随账户管理器434一起工作
并且响应于用户查询,O&L数据管理器432能够针对用户存储并访问有关对象和对象存储位
置的信息。一旦查询已经被解析并且对象或位置属性被确定,O&L数据管理器432就能够使
得这样的信息分别被查询解析器428和命名实体识别引擎430所存储,有关对象、其位置以
及对象和位置的属性的信息则能够被存储在个人对象数据结构438中,后者由账户管理器
434进行维护。例如,如用户账户库集436中的数据所指示的,相应的个人对象数据结构438
能够针对多个用户账户中的每一个进行维护。因此,例如,Fred能够保存并获取有关其自己
的个人对象位于?#26410;?#30340;信息,而Emma则无法这样做。例如,O&L数据管理器432还能够从个人
对象数据结构438拉取数据从而对诸如对象检索查找的查询作出响应。

图5示出了可以被用来实施这里所描述的技术的计算设备500和移动计算设备的
示例。计算设备500意在表示各种形式的数字计算机,诸如膝上计算机、台式机、工作?#23613;?#20010;
人数?#31181;?#29702;、服务器、刀片服务器、主机和其它?#23454;?#35745;算机,计算设备550意在表示各种形式
的移动设备,诸如个人数?#31181;?#29702;、移动电话、智能电话和其它类似的计算设备。这里所示出
的组件、其连接和关系以及其功能仅意在进行示例,而并?#19988;?#22312;对本文中所描述和/或要求
保护的发明的实施方式进行限制。

计算设备500包括处理器502、存储器504、存储设备506、连接到存储器504?#36879;?#36895;
扩展端口510的高速接口508,以及连接到?#36864;?#24635;线514和存储设备506的?#36864;?#25509;口512。每个
组件502、504、506、508、510和512使用各种总线进行互连,并且可以安装在共用主板上,或
者以其它?#23460;?#26041;式进行安装。处理器502能够处理指令以便在计算设备500内执行以在诸如
耦合到高速接口508的显示器516的外部输入/输出设备上显示用于GUI的图形信息,所述指
令包括存储在存储器504中或者存储设备506中的指令。在其它实施方式中,如果?#23460;耍?#21487;使
用多个处理器和/或多个总线,以及多个存储器和存储器类型。而且,多个计算设备500可以
与提供各部分必要操作的每个设备进行连接(例如,作为服务器组、刀片服务器分组或多处
理器系统)。在一些示例中,处理器502可以是一个或多个微处理器。

存储器504存储计算设备500内的信息。在一种实施方式中,存储器504是一个或多
个?#36164;?#24615;存储单元。在另一实施方式中,存储器504是一个或多个?#19988;资?#24615;存储单元。存储
器504还可以是其它形式的计算机可读介?#21097;?#35832;如磁盘或光盘。

存储设备506能够为计算设备500提供大型存储。在一种实施方式中,存储设备506
可以是或者可包含计算机可读介?#21097;?#35832;如软盘设备、硬盘设备、光盘设备、磁带设备、闪存或
其它类似固态存储设备、或者设备阵列,包括存储域网络或其它配置中的设备。计算机程序
产品可切实实现在信息载体中。所述计算机程序产品还可包含指令,当被执行?#20445;?#25152;述指令
执行诸如以上所描述的一个或多个方法。所述信息载体是计算机或机器可读介?#21097;?#35832;如存
储器504、存储设备506、处理器502上的存储器。

高速控制器508管理用于计算设备500的带宽密集操作,而?#36864;?#25511;制器512管理较
低带宽密集的操作。这样的功能分配仅是示例性的。在一种实施方式中,高速控制器508耦
合到存储器504、显示器516(例如,通过图?#26410;?#29702;器或加速器),并且耦合到可接受各种扩展
卡(?#35789;?#20986;)的高速扩展端口510。在所述实施方式中,?#36864;?#25511;制器512耦合到存储设备506和
?#36864;?#25193;展端口514。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的?#36864;?#25511;
制端口514可耦合到一个或多个输入/输出设备,诸如键盘、指示设备、扫描仪,或者例如通
过网络适配器耦合到诸如交换机和路由器之类的联网设备。

如图所示,计算设备500能够以各种不同形式来实现。例如,其可以实现为标准服
务器520,或者这种服务器分组中的多个服务器。其还可以被实现为机架式服务器系统524
的一部分。此外,其还可以在诸如膝上计算机522的个人计算机中实施。作为选择,来自计算
设备500的组件可以与诸如设备550的移动设备(?#35789;?#20986;)中的其它组件相结合。每个这样的
设备可包含一个或多个计算设备500和移动计算设备550,并且整个系统可由多个彼此通信
的计算设备所构成。

除其它组件之外,移动计算设备550包括处理器552、存储器564、诸如显示器554的
输入/输出设备、通信接口566和收发器568。移动计算设备550还可提供以诸如微驱动器或
其它设备的存储设备以提供附加存储。处理器552、存储器564、显示器554、通信接口566和
收发器568使用各种总线进行互连,并且若干组件可安装在共用主板上或者以其它?#23460;?#26041;
式进行安装。

处理器552能够执行移动计算设备550内的指令,包括存储在存储器564中的指令。
所述处理器可被实现为包括单独且多个的模拟和数?#25191;?#29702;器的芯片的芯片组。例如,所述
处理器可提供移动计算设备550的其它组件的协同,诸如控制用户接口、移动计算设备550
所运行的应用程序以及移动计算设备550所进行的无线通信。

处理器552可以通过耦合到显示器554的控制接口558和显示接口与用户进行通
信。显示器554例如可以是TFT LCD(薄膜晶体管液晶显示器)显示器或OLED(有机发光二极
管)显示器,或者其它?#23454;?#30340;显示技术。显示接口556可以包括用于驱动显示器554向用户显
示图形和其它信息的?#23454;?#30005;路。控制接口558可以从用户接收命令并且对其进行转换以便
向处理器552进行提交。此外,可提供与处理器552进行通信的外部接口562,从而使得移动
计算设备550能够与其它设备进行近域通信。例如,外部接口562在一些实施方式中可提供
有线通信,或者在其它实施方式中提供无线通信,并且也可使用多个接口。

存储器564存储移动计算设备550内的信息。存储器564可以被实施为一个或多个
计算机可读介质或媒体、一个或多个?#36164;?#24615;存储器单元或者一个或多个?#19988;资?#24615;存储器单
元。也以提供扩展存储器574并通过扩展接口572连接到设备550,例如,所述扩展接口572可
以包括SIMM(单列存储组模)卡接口。这样的扩展存储器574可为设备550提供额外的存储空
间,或者还可以为设备550存储应用程序或其它信息。特别地,扩展存储器574可以包括指令
以执行或补充以上所描述的处理,并?#19968;?#21487;以包括安全信息。例如,扩展存储器574由此可
被提供作为设备550的安全模块,并且可利用允许对设备550进行安全使用的指令进行编
程。此外,可经由SIMM卡提供安全应用程序以及附加信息,诸如以不可破坏的方式在SIMM卡
上设置识别信息。

例如,如以?#28388;?#25551;述的,所述存储器可以包括闪存和/或NVRAM存储器(?#19988;资?#24615;随
机存取存储器)。所述计算机程序产品还可包含指令,当被执行?#20445;?#25152;述指令执行诸如以上
所描述的一个或多个方法。所述计算机程序产品是计算机或机器可读介?#21097;?#35832;如存储器
564、扩展存储器574、处理器552上的存储器。在一些实施的方式中,例如能够通过收发器
568或外部接口562在传播的信号中接收计算机程序产品。

移动计算设备550可通过通信接口566进行无线通信,在必要情况下,所述通信接
口566包括数字信号处理电路。通信接口566可在各种模式或协议下提供通信,除其它之外,
所述模式或协议诸如GSM语音呼叫(全球移动通信系统)、SMS(短消息服务)、EMS(增强消息
服务)或MMS消息发送(多媒体消息服务)、CDMA(码分多址)、TDMA(时分多址)、PDC(个人数字
蜂窝)、WCDMA(宽带码分多址)、CDMA2000或GPRS(通用分组无线电服务)。例如,这样通信可
使用无线电频率通过射频收发器568进行。此外,诸如可使用蓝牙、WiFi或其它这样的收发
器(?#35789;?#20986;)进行短距离通信。此外,GPS(全球定位系统)接收器模块570可为移动计算设备
550提供附加的?#24049;?#21644;位置相关的无线数据,其可由设备550上运行的应用程序?#23454;?#20351;用。

移动计算设备550还使用音频编解码器560进行可听通信,所述音频编解码器560
接收来自用户的语音信息并且将其转换为可用的数字信息。音频编解码器560同样可以诸
如通过扬声器为用户生成可听声音,例如在移动计算设备550的听筒中。这样的声音可以包
括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等),并?#19968;?br />可以包括移动计算设备550上运行的应用程序所生成的声音。

如图所示,移动计算设备550可以以多种不同方式来实现。例如,其可以实现为蜂
窝电话580。其还可以实现为智能电话582、个人数?#31181;?#29702;或其它类似移动设备的一部分。

因此,这里所描述的系统和技术的各种实施方式可以以数字电路、集成电路、专门
设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合来实现。这些各种实施方
式可以包括一个或多个计算机程序中的实施方式,所述计算机程序可在包括至少一个可编
程处理器的可编程系统上执行和/或解?#20572;?#25152;述可编程系统可以为专用或通用,其耦合以从
存储设备、至少一个输入设备以及至少一个输出设备接收数据和指令并且向其传送数据和
指令。

这些计算机程序(也称作程序、软件、软件应用程序或代码)包括用于可编程处理
器的机器指令,并且能够以高级程序和/或面向对象编程语言来实施,和/或以汇编/机器语
言来实施。如这里所使用的,术语机器可读介质、计算机可读介质是指用来向可编程处理器
提供机器指令和/或数据的?#25105;?#35745;算机程序产品、装置和/或设备(例如,磁碟、光盘、存储
器、可编程逻辑器件PLD),其包括接收机器指令作为机器可读信号的机器可读介质。术语机
器可读信号是指被用来为可编程处理器提供机器指令和/或数据的?#25105;?#20449;号。

为了提供与用户的交互,这里所描述的系统和技术可在具有用于向用户显示信息
的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)和用户能够通过其为计算
机提供输入的键盘和指示设备(例如,鼠标或轨迹球)的计算机上实施。也可以使用其它类
型的设备来提供与用户的交互;例如,提供给用户的反馈可以为?#25105;?#24418;式的传感器反馈(例
如,视觉反馈、听觉反馈或触觉反馈);并且来自用户的输入可以以?#25105;?#24418;式接收,包括声
音、语音或触觉输入。

这里所描述的系统和技术可在计算系统中实现,所述计算系统包括后端组件(例
如,数据服务器),或者其包括中间件组件(例如,应用服务器),或者其包括前端组件(例如,
具有用户能够通过其与这里所描述的系统和技术的实施方式进行交互的图形用户界面或
web浏览器的客户端计算机),或者这些后端、中间件或前端组件的?#25105;?#32452;合。所述系统的组
件可通过?#25105;?#24418;式的介质或数字数据通信(例如,通信网络)进行互连。通信网络的示例包
括局域网(LAN)、广域网(WAN)和互联网。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通
过通信网络进行交互。客户端和服务器的关系通过在各自计算机上运行的计算机程序建立
并且彼?#21496;?#26377;客户端-服务器关系。

虽然上文中已经详细描述了一些实施方式,但是其它修改也是可能的。此外,在图
中所描绘的逻辑流程并不要求所示出的特定顺序或连续顺序来实现所期望的结果。此外,
可以提供其它动作,或者可以从所描述的流程中消除动作,并且可以向所描述的系统增加
组件或者从中去除组件。因此,其它实施方式处于以下权利要求的?#27573;?#20043;内。

关于本文
本文标题:保存并获取对象的位置.pdf
链接地址:http://www.pqiex.tw/p-6091674.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 三分彩开奖号码 体彩新疆11选5走势图 北京赛车pk10下载 11选5投注技巧 网上棋牌赚钱平台 希腊股票指数 2014年股票推荐 幸运赛车开奖走势手机版 江苏11选5号码 新浪斗地主安卓版下载