扩展存储器系统的制作方法

文档序号:11160969阅读:434来源:国知局
扩展存储器系统的制造方法与工艺

随着计算设备已经变得普遍存在,人们生成的数据量已经变得庞大,并且被预计几乎指数地增长。因此,用户通常难以记住特定数据位于何处(例如,在什么计算设备上,在什么文件中,在什么名称下),数据被生成的时间等。常规地,文件系统已被用来帮助用户组织数据,并且用户依靠它们的存储器和组织模式(例如,命名约定)来定位感兴趣的数据。这种方法有点过时,因为由用户采用的许多应用程序生成不太适合保留在手动地生成的文件夹中的数据。例如,许多用户采用社交联网应用,其将数据放置在不断被更新的馈送中。因此,“馈送”或其部分通常不太适合于保留在文件夹中。此外,馈送中的数据量可能非常大,因此使得用户以与社交联网应用原生支持的方式不同的方式组织数据变得冗长乏味。此外,用户倾向于采用许多不同类型的应用,其中的每个应用以不同方式保留数据。因此,用户可能难以记住哪个应用程序被用于生成数据,所生成的数据引用什么,等等。



技术实现要素:

以下是在此被更详细描述的主题内容的简要概述。本发明内容并非旨在关于权利要求的范围进行限制。

在此公开了一种计算系统。该计算系统包括处理器和存储器,其中存储器包括由处理器执行的扩展存储器系统。扩展存储器系统在由处理器执行时被配置为从在计算设备上执行的第一计算机可执行应用接收计算机可读数据。扩展存储器系统还被配置为从在计算设备上执行的第二计算机可执行应用接收在时间上对应于计算机可读数据的上下文数据。扩展存储器系统还被配置为将计算机可读数据暴露给搜索组件,计算机可读数据根据上下文数据被编索引。

附图说明

图1是被配置为帮助用户记住关于人、地点或事物的信息的示例性计算系统的功能框图。

图2是被配置为构造可搜索数据库并在可搜索数据库上搜索的示例性扩展存储器系统的功能框图。

图3是被配置为帮助用户记住关于人、地点或事物的信息的客户端计算设备的功能框图。

图4是被配置为捕获用于保留的信息并且还被配置为促进先前捕获的信息的取回的示例性客户端扩展存储器系统的功能框图。

图5图示了可以在客户端计算设备的显示器上被呈现的示例性图形用户界面,其可以帮助用户记住关于人、地点或事物的信息。

图6图示了使得客户端计算设备捕获信息和与其相关联的上下文数据的与客户端计算设备的示例性用户交互。

图7图示了促进邀请扩展存储器系统作为社交联网应用中的联系人的示例性图形用户界面,其中扩展存储器系统被配置为捕获通过社交联网应用生成的内容以及对应于该内容的上下文。

图8图示了统一通信(UC)应用的示例性图形用户界面,其中扩展存储器系统已经被邀请到通过UC应用进行的会议。

图9图示了电子邮件应用的示例性图形用户界面,其中电子邮件被传输给扩展存储器系统以用于保留和编索引。

图10图示了内容页面的示例性图形用户界面,其中在内容页面上显示的内容被选择并使得在数据库中被存储和编索引。

图11图示了促进在内容创建期间对实体进行消歧的示例性图形用户界面。

图12是图示了用于通过对应于计算机可读数据的上下文数据来对数据库中的计算机可读数据编索引的示例性方法的流程图。

图13是图示了用于通过与计算机可读数据对应的上下文数据来对计算机可读数据编索引的示例性方法的流程图。

图14是图示了用于对在计算机可读数据中引用的对象或实体进行消歧并且通过经消歧的对象或实体来对计算机可读数据编索引的示例性方法的流程图。

图15是图示了用于在数据库上执行搜索的示例性方法的流程图,其中用于执行搜索的查询包括对上下文数据的引用。

图16是图示了用于基于用户的标识出的上下文来自动地构建要在数据库上执行的查询的示例性方法的流程图。

图17是图示了用于生成和传输要用来对捕获的计算机可读数据编索引的上下文数据的示例性方法的流程图。

图18是示例性计算系统。

具体实施方式

现在参照附图来描述与帮助用户回忆关于人、地点和/或事物的信息有关的各种技术,其中相似的标号始终用于指代相似的元件。在下面的描述中,为了说明的目的,阐述了许多具体细节以提供对一个或多个方面的透彻理解。然而,可以显而易见的是,这样的一个或多个方面可以在没有这些具体细节的情况下被实践。在其他实例中,以框图形式示出了公知的结构和设备以便促进描述一个或多个方面。另外,将会理解,被描述为由某些系统组件执行的功能可以由多个组件执行。类似地,例如,一个组件可以被配置为执行被描述为由多个组件执行的功能。

另外,术语“或”旨在意指包括性的“或”而不是排他性的“或”。也就是说,除非另有说明或从上下文清楚可见,否则短语“X采用A或B”旨在表示任何自然的包括性排列。就是说,短语“X采用A或B”被以下实例中的任何实例满足:X采用A;X采用B;或X采用A和B两者。此外,除非另有说明或从上下文清楚可见,否则针对于单数形式,本申请和所附权利要求中所使用的冠词“一”和“一个”通常应被解释为意指“一个或多个”。

另外,如在此使用的,术语“组件”和“系统”旨在包括被配置有计算机可执行指令的计算机可读数据存储装置,其当由处理器执行时使得某些功能被执行。计算机可执行指令可包括例程、函数等。还将会理解,组件或系统可以位于单个设备上或跨若干设备被分布。此外,如在此使用的,术语“示例性”旨在意味着用作某事物的图示或示例,并且并非旨在指示偏好。

现在参考图1,被配置为帮助用户回忆关于人、地点和/或事物的信息的示例性计算系统100被图示。计算系统100可以是单个计算设备或分布式计算系统。例如,计算系统100可以是数据中心中的一个机架式服务器、数据中心中的若干机架式服务器、企业计算系统的一部分、数据中心的整体等。计算系统100包括处理器102和存储器104,其中存储器104的内容可由处理器102访问。更具体地,存储器104包括可由处理器102执行的扩展存储器系统106。计算系统100附加地包括数据存储库108,其包括可搜索数据库110。如将在此更详细地被描述的,数据库110包括由用户所采用的应用生成的计算机可读数据,并且还包括对应于这样的计算机可读数据的上下文数据。例如,计算机可读数据可以通过上下文数据在数据库110中被编索引。

现在将总体上描述计算系统100的操作。如前所述,计算系统100是由用户采用的客户端计算设备或与客户端计算设备通信。客户端计算设备可以具有在其上可执行的应用,其中应用被配置为基于来自用户的输入来生成计算机可读数据,其中这一输入可以由用户显式地提供或隐式地提供。例如,应用可以监视用户的位置并记录用户的活动—因此,用户不需要显式地提供这样的信息。在另一示例中,操作系统或应用可以跟踪用户正在使用哪些应用以及相关联的上下文。例如,可以预先配置这样的数据的集合。应用还可以被配置为生成用于向用户呈现的计算机可读数据。可以合意地获得由应用生成的计算机可读数据中的至少一些以用于后续用户审查、用于发出提醒、用于生成推荐等。因此,由客户端计算设备上的应用生成的计算机可读数据112可以在计算系统100处被接收以用于存储和编索引。

结合接收计算机可读数据112,客户端计算设备的用户可以可选地提出计算机可读数据112将被保留的指示,由此允许对计算机可读数据112的随后取回和/或分析。下面阐述了用于指示计算机可读数据将被保留的示例性机制。附加地,可以从客户端计算设备或从某个其他设备(例如,用于支持web服务的设备)接收在时间上(并且可选地在空间上)对应于计算机可读数据112的上下文数据114。例如,可以从支持被配置为提供更新后的天气信息的web服务的计算设备接收当前天气状况。上下文数据114描述在时间上对应于计算机可读数据112的上下文。在一个示例中,计算机可读数据112可以由第一计算机可执行应用生成,并且上下文数据114可以由第二计算机可执行应用程序生成。

在非限制性的示例中,用户可能正在查看网页并且可以读取用户发现有趣的故事;因此用户可能希望记住故事的至少一部分。用户可以提出网页上的故事期望被用户记住的指示(例如,通过轻敲触敏显示器,通过选择在右击时呈现的菜单选项等),其可以使得计算机可读数据112被提供给计算系统100。在这一示例中,计算机可读数据112可以包括故事本身、到网页的链接、故事的一部分等。附加地,在客户端计算设备上执行的至少一个其他应用可以捕获在时间上对应于用户查看网页的上下文数据。例如,上下文数据可以是当用户正在查看网页时正在被执行的其他应用的身份、当用户正在查看网页时用户正与之会见的人的身份、当用户正在查看网页时正在用户的生活中发生的事件(例如,用户正在她的生日查看网页)、当用户正在查看网页时发生的天气事件(例如,雷暴、暴风雪、外部温度)、在用户正在查看网页的那一天发生的新闻事件等。

扩展存储器系统106接收计算机可读数据112和上下文数据114,并通过上下文数据114来对数据库110中的计算机可读数据112编索引。在另一示例中,计算机可读数据112可以通过计算机可读数据的内容被编索引。扩展存储器系统106可以随时间来接收计算机可读数据和相应的对应的上下文数据的多个实例,并且可以用这样的计算机可读数据和对应的上下文数据来填充数据库110,其中计算机可读数据通过上下文数据被编索引。

当以这种方式被格式化时,数据库110支持对以下的取回:1)基于与计算机可读数据对应的上下文数据的计算机可读数据;2)基于与上下文数据对应的计算机可读数据的上下文数据;以及3)基于计算机可读数据和上下文数据的组合的计算机可读数据和/或上下文数据的取回。例如,扩展存储器系统106可以响应于诸如以下查询来取回适当的计算机可读数据:“在我与John Doe会见期间我正查看什么网页”、“谁去年参加了我的生日聚会”、“当总统正式就任时我正在干什么”、“当在我的设备上播放歌曲X时我正在读什么故事”、“寻找我上周阅读的关于A公司的页面”等等。

如将在此被更详细地描述的,要在数据库110上执行的查询可以从由用户所采用的客户端计算设备被接收,可以基于上下文数据被自动地构建(例如,以生成推荐或提醒),或者可以是经消歧的查询,其中用户提出查询并且扩展存储器系统106消除查询的歧义。这可以在查询引用歧义实体时发生,并且扩展存储器系统106可以向查询添加元数据或重新制定查询,从而使得实体被消歧。由于被保留的上下文数据的量,当与用于定位计算机可读数据的常规机制(其经常包括多个搜索、通过文件夹的导航等)比较时,对计算机可读数据的搜索可以被更快地完成。例如,利用扩展存储器系统106,用户可以提出查询“在与Jane会见时我正在编辑什么文档?”,并且扩展存储器系统106可以使用关于Jane的上下文信息来执行搜索,从而使得正被搜索的文档被相对快速地取回。相反,在没有扩展存储器系统106的情况下,用户将被迫尝试回忆文档中的单词或短语,并且对文档内容的搜索(特别是如果存在大量文档时)可能花费大量时间。

现在参考图2,扩展存储器系统106的功能框图被图示。扩展存储器系统106包括被配置为构建和填充数据库110的数据库构造器组件202。扩展存储器系统106还包括被配置为在数据库110上执行搜索的搜索组件204。数据库构造器组件202和搜索组件204将被依次讨论。

数据库构造器组件202包括实体消歧器组件206,其被配置为消除在将由数据库构造器组件202编索引的计算机可读数据112中引用的实体的歧义。例如,计算机可读数据112可以包括对可能不一致或有些歧义的一个或多个实体的引用。例如,计算机可读数据112可以包括首字母缩略词“US”,其可以指代美国、超声、正在研究、用户段等等。在另一示例中,要由数据库构造器组件202编索引的计算机可读数据112可以包括单词“bears”,其中根据上下文,术语“bears”可以指职业美国橄榄球队、大学吉祥物、股票、动物等。

实体消歧器组件206可以利用各种方式来消除在接收的计算机可读数据中引用的实体的歧义。在一个示例中,实体消歧器组件206可以查看关于用户的动作的历史观察以标识用户感兴趣的主题,并且可以基于标识出的感兴趣的主题来消除实体的歧义。例如,如果已知用户是狂热的体育迷(例如,基于由数据库构造器组件202编索引的先前计算机可读数据),则实体消歧器组件206可以推断出计算机可读数据中的术语“bear”很可能指的是职业橄榄球队。在另一示例中,实体消歧器组件206可以包括或能够访问将单词或单词序列映射到经消歧的实体的(针对用户的)字典。因此,术语“bears”可以被包括在字典中并被映射到“Chicago Bear”。

在另一示例中,实体消歧器组件206可以利用自然语言处理(NLP)技术来标识歧义术语所出现于的上下文,并且可以基于这样的上下文来消除该术语的歧义。因此,例如,当计算机可读数据的其他部分指的是“肉食哺乳动物”时,则实体消歧器组件可以将计算机可读数据中的术语“bears”消岐为指代动物。在计算机可读数据表示对话的情况下,实体消歧器组件206可以消除对话中的代词的歧义。例如,计算机可读数据可以包括短语“I like the shirt that you are wearing”。在这样的短语中,当孤立地看时,代词“you”是含糊的。然而,实体消歧器组件206可以通过接收和分析其他上下文数据来消除这样的代词的歧义。例如,实体消歧器组件206可以挖出(scrape)用户的日历,并且确定当说出短语时用户被安排与John Doe会见。因此,实体消歧器组件206可以将代词“you”消歧为指代John Doe。

实体消歧器组件206可以进一步利用语音标识技术来确定说话者的身份,其转而可以用来消除对话中的代词的歧义。在又一示例中,实体消歧器组件206可以利用位置来消除实体的歧义。例如,用户可以使用移动电话捕获足球场的图像,并且可以用元数据“great day to watch a game”来标记照片。这里,术语“game”是不明确的。实体消歧器组件206可以基于照片被捕获的时间和照片被捕获的位置来消除术语“game”的歧义。例如,使用位置和时间,实体消歧器组件206可以标识定于在该位置和时间发生的比赛。实体消歧器组件206然后可以向图像分配消除术语“game”的歧义的元数据。

此外,实体消歧器组件206可以采用基于视觉的技术来消除要由数据库构造器组件202编索引的计算机可读数据中的实体和/或对象的歧义。例如,用户可能正在参与和特定人的视频会议,其中该人的名字从未在对话中说出。用户可能希望回忆对话的至少一部分,从而使得对话的该部分将由数据库构造器组件202在数据库110中编索引。实体消歧器组件206可以接收该人的面部的图像,并且可以使用面部标识技术来标识该人。实体消歧器组件206可以将该人的身份作为元数据应用于计算机可读数据。因此,如果用户随后使用该人的身份来查询数据库110,则适当的视频会议可被标识和返回。

总而言之,实体消歧器组件206可以接收将被包括在数据库110中的计算机可读数据。实体消歧器组件206可以消除在计算机可读数据中引用的对象和/或实体的歧义,并且可以基于对对象和/或实体的消歧来生成用于计算机可读数据的元数据。计算机可读数据然后可以由数据库构造器组件202通过元数据来编索引。可以查明的是,实体消歧器组件206可以被配置为以统一的方式生成这种元数据,从而使得例如US、USA、US of A和“United States”可以都映射到经消歧的实体“the United States of America”。

数据库构造器组件202还可以包括上下文获取器组件208,其被配置为获取关于接收到的计算机可读数据的上下文数据。例如,响应于数据库构造器组件202接收计算机可读数据,上下文获取器组件208可以查明与其对应的上下文数据。如果没有足够的上下文数据或者如果需要更多的上下文数据,则上下文获取器组件208可以获取关于接收到的计算机可读数据的上下文数据。例如,上下文获取器组件208可以使得信号被传输给请求与客户端计算设备对应的上下文的客户端计算设备。这一上下文可以是客户端计算设备的位置、正在客户端计算设备上被执行的应用的标识、接近客户端计算设备的人、随时间而被记录的上下文数据(例如,在指定的时间窗口上)等。数据库构造器组件202然后可以通过上下文数据来对计算机可读数据编索引。在其中上下文随时间而被记录的示例中,使用上下文对数据库110的查询导致按时间应用过滤器。

如前所述,扩展存储器系统106被配置为通过帮助人们回忆关于人、地点、事物等的信息来使他们的生活更好。也就是说,扩展存储器系统106被配置为通过使用技术来改善人们的生活。为此,搜索组件204被配置为将计算机可读数据暴露于搜索,其中可以基于对应于用户可以记住的计算机可读的上下文数据而不是计算机可读数据本身的内容来搜索数据库110。再次,如上所述,搜索组件204可以支持基于诸如“在我与John Doe会面期间讨论了什么文档”之类的查询的在数据库110上的搜索。

为了促进在数据库110上的搜索,搜索组件204可以包括查询消歧器组件210,查询消歧器组件210可以消除从由用户采用的客户端计算设备接收的查询中的实体和/或对象的歧义。更具体地,类似于上述计算机可读数据,查询可以包括歧义关键字。查询消歧器组件210可以利用各种技术来消除在查询中被引用的实体和/或对象的歧义。例如,查询消歧器组件210可以接收由用户发出的先前的查询,并且基于先前的查询来消除接收到的查询的歧义(例如,与过去的特定主题兴趣相关的查询指示用户将继续对该话题感兴趣)。在另一示例中,查询消歧器组件210可以接收由用户选择的搜索结果的标识,其中搜索结果具有例如通过开放目录项目(ODP)而被分配给搜索结果的分类(上下文)数据。这允许查询消歧器组件210确定用户可能感兴趣的类别或话题,其可以用于消除查询和/或其中的术语的歧义。在另一示例中,查询消歧器组件210可以访问数据库110并且标识被分配给数据库110中的条目的类别。在非限制性的示例中,查询消歧器组件210可以基于查询中的歧义对象和/或实体来搜索数据库110,并且可以标识数据库110中的对象和/或实体的至少一个经消歧的版本。查询消歧器组件210可以基于频繁出现的对关键字或短语的消歧来消除查询中的关键字或短语的歧义。

在非限制性的示例中,查询消歧器组件210可以接收查询“who was I with when watching the bears”。基于用户展示的先前的兴趣(例如,基于显式用户输入而被确定或通过基于观察到的用户的先前的动作的推断而被确定),查询消歧器组件210可以确定用户对自然有兴趣,并且因此术语“bear”最可能指代动物,而不是大学团队。然后,查询消歧器组件210可以向查询添加指示术语“bear”指代动物的元数据,并且搜索组件204可以基于元数据来搜索数据库110。在另一示例中,搜索组件204可以执行覆盖歧义查询的多个(例如,所有)解释的搜索,并且基于显式提供或学习的偏好来在后端执行对结果的过滤。参考上面的示例,即使当用户对自然感兴趣,但是在观看熊时没有与任何人一起时(但是确实参加了以“熊”作为吉祥物的大学体育赛事),则与她一起参加了体育运动的人也可以作为潜在答案而被返回。

搜索组件204还可以包括推荐器组件212,推荐器组件212被配置为搜索数据库110并向用户输出推荐的计算机可读数据。在一个示例中,推荐器组件212可以接收与用户相关的上下文,并且可以基于该上下文来构造查询。例如,推荐器组件212可以接收用户具有被安排在某一时间的会议的指示,其中术语“bears”被包括在会议的主题行中。推荐器组件212基于这一上下文可以构造包括关键字“bears”的查询,并且搜索组件204可以在数据库110中搜索与“bears”有关的计算机可读数据。推荐器组件212可以利用时间信息(上下文)来确定何时向用户输出推荐(例如,何时提供计算机可读数据作为推荐)。例如,如果会议在特定时间,则推荐器组件212可以构造前述查询并使得在会议之前15分钟执行查询。推荐器组件212然后可以输出基于查询而被定位的计算机可读数据(或到计算机可读数据的链接)作为推荐。在这一示例中,用户可以在完全准备好与会议相关的计算机可读数据的情况下进入会议。因此,推荐器组件212可以接收关于用户的上下文数据(例如,用户当前采用的应用的标识、用户的位置、与用户一起的人、用户的日程表等),并且可以基于上下文数据来构造查询。搜索组件204可以在数据库110上执行基于构造的查询的搜索,并且可以将计算机可读数据作为推荐输出给用户。

搜索组件204还包括可以在数据库110上执行搜索的提醒组件214,其中查询基于上下文数据而被触发。上下文数据可以是时间的、基于位置的、基于事件的等。例如,用户可能希望被提醒以在工作之后在行近杂货店时在杂货店处停下,并且可以向扩展存储器系统106注册提醒。提醒可以由提醒组件214监视,从而使得当在提醒中陈述的上下文被触发时,提醒组件214可以通过数据库110来执行查询并且输出对应的计算机可读数据(或其链接)作为对用户的提醒。在另一示例中,可以向用户提供指示零售商店对用户感兴趣的产品有促销的计算机实现的广告。用户可以提出如下指示,即期望促销被保留在数据库110中作为用户希望记住的东西。用户可以向广告添加元数据,诸如零售商店的位置(或者这样的位置可以由上下文获取器组件208自动地确定)。附加的上下文信息可以包括促销何时为活动的,以及用户与商店的接近度。提醒组件214可以随着时间来监视用户的上下文,并且可以基于用户的上下文来生成查询。当用户的上下文与向扩展存储器系统106注册的提醒匹配时,提醒组件214可以使得搜索组件204执行对数据库110的搜索,以取回计算机可读数据,以及向用户呈现计算机可读数据作为提醒。再次,扩展存储器系统106帮助用户回忆用户有兴趣回忆的某事物。

在另一示例中,提醒组件214可以用于帮助用户提醒其他人任务或事件。在这样的情形下,用户可以标识要被提醒的一个或多个人—例如,“提醒John在他通过杂货店时取牛奶”。用户可以进一步指定如何提醒John。例如,用户可以选择已知John使用的特定应用,其中扩展存储器系统106可以保留用于John的帐户信息,包括应用的标识和John的用户名。这一提醒可以被保留在数据库110中,并且提醒组件214可以使用关于John的上下文信息来查询数据库。例如,John可以同意允许扩展存储器系统106获取关于John的某些上下文信息,包括他随时间的位置。提醒组件214可以基于关于John的上下文信息来查询数据库110,并且可以在提醒被触发时向John提供提醒。

在又一示例中,继续参考上述示例性情形,当用户将John标识为要被提醒的人(例如,通过扩展存储器系统106)时,可以向John提供来自John的扩展存储器系统的提醒请求,其源自用户的扩展存储器系统106。因此,用户的扩展存储器系统106可以与由相同服务提供的其它扩展存储器系统通信。备选地,可向John提供电子邮件、文本消息或其他电子消息,其包括提醒请求。当John接受提醒请求时,可以为John设立扩展存储器系统(如果不是已经存在的话)。提醒请求可以指示用户希望关于某事提醒约翰(例如,取牛奶)。当John接受请求时,用于John的扩展存储器系统可以监视关于John的上下文,并可以在适当时触发提醒。在完成上述任务(John已经在杂货店取了牛奶)时,John的扩展存储器系统可以可选地通知用于用户的扩展存储器系统106该任务已经被完成。

此外,用户可以指定关于何时通过提醒组件214来共享信息的更详细的信息。例如,参考上面的示例,用户可以指示仅当John在一个或多个时间窗口内在杂货店附近的时候才提醒John。例如,用户可以指定仅在如果在未来三天内在下午5:00和下午6:00之间的某个时间通过杂货店并且只有在交通不拥堵时才提醒John。

此外,提醒组件214可以帮助用户与某一个人或多个人共享信息。这种信息共享可以被认为是关于与谁共享信息、何时共享信息以及如何共享信息的提醒。例如,用户可以使用他们的移动电话来捕获图像,并且如果家庭成员恰好行进到接近图像被捕获的位置的位置,则用户可以指示该图像将被与家庭成员共享。另外,用户可以指示该信息将被如何共享—例如,通过社交联网应用、SMS消息、电子邮件消息等。用户的家庭成员可以可选地向扩展存储器系统106注册,从而使得可以随时间来跟踪关于家庭成员的上下文信息,并且提醒组件214可以使用这样的上下文信息来查询数据库110。在另一示例中,用户可以标识关于另一用户的帐户信息;例如,社交联网帐户、电子邮件帐户、电话号码等。用户可能希望与另一用户共享计算机可读数据(例如,图像、博客帖子等),并且可以指令提醒组件214在由用户指定的上下文数据触发计算机可读数据的共享时向另一用户提供信息。例如,用户可能希望向另一用户提供防晒乳液的优惠券,其中当温度在某一位置高于70度(华氏)时,这样的优惠券被合意地浮现给另一用户(例如,通过由用户指定的应用)。用户还可以指定用于优惠券的到期日期。当这一上下文信息触发提醒(例如,共享优惠券)时,提醒组件214可以使得优惠券被提供给另一用户。

搜索组件204还可以可选地包括对话引擎216,对话引擎216被配置为使得能够在用户和扩展存储器系统106之间进行连续对话。例如,用户可以初始地提出查询,并且搜索组件204可以接收查询并基于该查询来从数据库110标识多个结果。对话引擎216可以被配置为输出搜索结果的至少子集,以及向用户提出关于用户可能感兴趣的其他项目的建议。用户然后可以“通过浏览搜索”—例如,用户可以选择建议,其可以充当对取回的搜索结果的过滤器或者充当新的查询。

例如,用户可以提出查询“我与John Doe一起去的音乐会的开幕乐队是哪个?”。搜索组件204可以基于查询来在数据库110上执行搜索,并且可以输出基于查询的计算机可读数据(例如,以用于向用户呈现)。对话引擎216还可以输出建议以帮助用户浏览用户可能感兴趣的内容。例如,对话引擎216可以允许用户仅通过“John Doe”进行查询,从而使得可以取回在数据库110中由“John Doe”索引的附加计算机可读数据。在另一示例中,计算机可读数据可以指示乐队“band”是用户与John Doe一起去的音乐会的开场表演。对话引擎216可以突出显示搜索结果中的“band”,并且还可以突出显示在音乐会上与用户一起的其他人。用户可以随后选择这些其他人,这可以导致基于由用户选择的人来构建查询。因此,对话引擎216促进通过浏览来探索数据库110的内容。

现在参考图3,图示了被配置为捕获以下各项的示例性客户端计算设备300:1)计算机可读数据;以及2)时间上对应的上下文数据,其中这样的数据被捕获以用于包括在数据库110中。计算设备300可以是移动计算设备(诸如移动电话、平板计算设备、可穿戴计算设备等)、膝上型计算设备、台式计算设备等。客户端计算设备300包括处理器302和可由处理器访问的存储器304。存储器304包括客户端扩展存储器系统306,客户端扩展存储器系统306被配置为捕获计算机可读数据和对应的上下文数据以用于包括在数据库110中。存储器304还包括多个计算机可执行应用308-310。应用308-310可以包括文字处理应用、web浏览应用、游戏应用或可以由客户端计算设备300执行的任何其它合适的应用。客户端计算设备300还包括多个传感器312-314。传感器312-314可以包括麦克风、陀螺仪、速度计、加速度计、定位传感器(例如,GPS传感器)、相机、温度计、气压计等。

如前所述,客户端扩展存储器系统306被配置为捕获(例如,由第一应用308生成的)计算机可读数据,还被配置为捕获在时间上对应于计算机可读数据的上下文(例如,其中上下文可以由第n个应用310生成)。客户端扩展存储器系统306可以响应于接收到各种用户命令来捕获数据。例如,用户可以阐述使得客户端扩展存储器系统306捕获计算机可读数据和对应的上下文数据的语音命令。在另一示例中,客户端扩展存储器系统306可以响应于接收到在客户端计算设备300的触敏显示器上执行的手势来捕获计算机可读数据和对应的上下文数据。在又一示例中,客户端扩展存储器系统306可以被配置为基于由一个或多个传感器312-314输出的信号来捕获计算机可读数据和对应的上下文数据。例如,当位置传感器指示用户在相对长的时间段内已经保持静止、并且语音传感器指示用户正在与另一人进行会话时,客户端扩展存储器系统306可以推断用户可能希望记住会话的至少部分并且可以使得计算机可读数据被捕获(例如,可以导致生成会话的转录),并且还可以导致捕获对应的上下文数据(例如,会话的时间、会话发生的位置、用户与之交谈的人、当会话发生时的环境温度、当会话发生时正发生的世界新闻事件等)。

现在参考图4,客户端扩展存储器系统306的功能框图被图示。客户端扩展存储器系统306包括设立组件402,其被配置为促进为客户端计算设备300的用户向扩展存储器系统106设立账户。设立组件402可以接收用户标识符以及关于当用户采用客户端计算设备300或要与帐户相关联的其他计算设备(例如,用户可以在其上提供登录凭证的设备)时可以收集什么类型的信息的信息。例如,用户可以标识可以从其收集计算机可读数据的应用,并且可以标识将不从其收集计算机可读数据的应用。另外,通过设立组件402,用户可以提供关于计算机可读数据可以被收集的时间、计算机可读数据可以和不能被收集的位置、从其可以收集和不能收集数据的计算设备等的约束。

客户端扩展存储器系统306还可以包括客户端捕获组件404,其被配置为响应于客户端计算设备300的用户提出命令和/或响应于正被观察的特定上下文来捕获计算机可读数据。可由内容捕获组件404标识的使得内容捕获组件404捕获计算机可读数据的示例性命令包括触敏显示器上的手势(例如,触敏显示器上的轻敲)、语音命令、可以通过分析用户的视频而被标识的空间中的手势、对菜单项的选择、对图形按钮的选择等。在另一示例中,内容捕获组件404可以被配置为响应于预定义上下文被标识来捕捉计算机可读数据。例如,在一个示例中,内容捕获组件404可以被配置为每当用户在特定位置时捕获特定的计算机可读数据。如前所述,由内容捕获组件404捕获的计算机可读数据可以由客户端扩展存储器系统306传输给计算系统100,扩展存储器系统106在计算系统100处可以在数据库110中存储或引用计算机可读数据。

客户端扩展存储器系统306还包括上下文捕获组件406,其被配置为捕获在时间上对应于计算机可读数据的上下文数据。可以由上下文捕获组件406捕获的示例性上下文数据可以包括但不限于从其捕获计算机可读数据的应用的身份、在计算机可读数据被捕获时执行的其他应用、当计算机可读数据被捕获时知道客户端计算设备300的用户与之在一起的人的身份、计算机可读数据被捕获的时间、当计算机可读数据被捕获时的天气状况、当计算机可读数据被捕获时的季节(例如,春天、夏天、秋天或冬天)、当计算机可读数据被捕获时的显著新闻事件、当计算机可读数据被捕获时用户特有的生活中的事件(例如,用户、用户的家庭成员、用户的朋友的生日、周年纪念日等)等等。

关于在由内容捕获组件404捕获计算机可读数据时标识用户附近的一个或多个人,上下文捕获组件406可以按照各种方式标识一个或多个人。在第一示例中,上下文捕获组件406可以刮取客户端计算设备300的用户的日历应用,并且在与捕获计算机可读数据时对应的时间内,标识在日历应用中引用的人。在另一示例中,可以利用客户端计算设备300的硬件来标识当计算机可读数据被捕获时客户端计算设备300的用户与之交互的人。例如,客户端计算设备300的传感器312-314可以包括捕获客户端计算设备300的周围环境的图像的相机。图像分析软件可以被配置为在图像中搜索面部,并且面部识别技术可以用来标识在图像中捕获的人。在另一示例中,传感器312-314可以包括麦克风,并且客户端计算设备300可以利用可以基于她的语音来标识人的语音识别技术。在又一示例中,传感器312-314可以包括接近传感器,其可以检测客户端计算设备300何时接近另一用户的另一客户端计算设备(例如,通过握手协议)。在这样的示例中,客户端计算设备可以在其之间传输指示设备的用户的身份的数据。另外,客户端计算设备300的用户可以通过语音命令、通过经由键盘输入人的身份等来显式地标识人。响应于内容捕获组件404捕获计算机可读的数据和上下文捕获组件406捕获关于计算机可读数据的上下文数据,扩展存储器系统306可以被配置为将这样的数据传输给计算系统100。

客户端扩展存储器系统306还包括内容取回组件408,其被配置为促进从计算系统100的数据库110取回数据。内容取回组件408可以包括输入接收器组件410,其接收与数据库110中的数据相关的输入。在一个示例中,输入接收器组件410可以接收由用户显式提出的查询,其中该查询例如可以包括对用于在数据库110中对计算机可读数据编索引的上下文数据的引用。扩展存储器系统106可以基于查询来取回相关的计算机可读数据,其中引用上下文数据的查询通常不容易被支持。由输入接收器组件410接收的查询可以是由用户提出的语音查询、通过键盘提出的查询或用于输入查询的其他类似机制。在另一示例中,输入接收器组件410可以接收由被安装在客户端计算设备300上的应用308-310中的一个或多个应用输出的或从客户端计算设备300上的传感器312-314中的一个或多个传感器输出的上下文数据。响应于接收到这样的上下文数据,输入接收器组件410可以基于上下文数据来构造查询并将该查询传输给计算系统100的扩展存储器系统106。

内容取回组件408还包括输出组件412,其接收由扩展存储器系统106标识为与查询相关的数据,其中查询由输入接收器组件410传输给扩展存储器系统106。例如,输出组件412可以将搜索结果输出到客户端计算设备300的显示器,其中搜索结果包括数据库110中的计算机可读数据、应用数据库110中的计算机可读数据的标识符、到数据库110中的计算机可读数据的链接等。输出组件412还可以生成关于搜索结果的音频输出。例如,当搜索结果包括表示捕获的会话的计算机可读数据时,输出组件412可以重放会话的相关部分。类似地,输出组件412可以呈现视频、图像等。

在一个示例中,客户端扩展存储器系统306可以被包括作为用于客户端计算设备300的操作系统的一部分。也就是说,客户端扩展存储器系统306可以被构建到客户端计算设备300的操作系统中,并且因此可以访问被安装在客户端计算设备300上的应用308-310和/或被安装在客户端计算设备300上的传感器312-314的输出。在另一示例中,客户端扩展存储器系统306可以是被安装在客户端计算设备300上的独立应用,并且应用308-310中的一个或多个应用可以被配置为向这样的应用传输数据。另外,尽管客户端扩展存储器系统306和扩展存储器系统106已经被引用为被包括在分离的计算系统中,但是将会理解,客户端扩展存储器系统306和扩展存储器系统106可以驻留在同一计算系统中。例如,客户端计算设备300可以被配置有扩展存储器系统106。另外,客户端扩展存储器系统306可以被配置有被描述为由扩展存储器系统106执行的功能。例如,客户端扩展存储器系统306可以被配置有消歧功能,诸如上面关于实体消歧器组件206和查询消歧器组件210描述的消歧功能。在又一个示例中,客户端扩展存储器系统306可以被包括作为网络可访问服务的一部分,诸如用于将消息转发给代理电子邮件地址、邀请代理聊天等的服务。

现在参考图5,促进捕获计算机可读数据以用于传输给扩展存储器系统106的示例性图形用户界面500被图示。因此,图形用户界面500可以被呈现在客户端计算设备300的显示器上。图形用户界面500包括描绘内容的内容部分502。内容可以是文本、图像、视频等。图形用户界面500还包括字段504,其包括若干可选择按钮506-512。在一个示例中,可以响应于用户在客户端计算设备300上提出命令来调用字段504。在一个非限制性示例中,可以通过由客户端计算设备300的用户提出的手势(诸如从显示器的底部向上的滑动、从显示器的侧面向内的滑动等)来调用字段504。在另一示例中,可以响应于从客户端计算设备300的用户接收到语音命令来调用字段504。字段504中的按钮506-512中的至少一个按钮在被选择时可以使得在内容字段502中示出的内容的至少一部分被捕获,并且还可以使得与其对应的上下文数据被捕获(如上所述)。内容和对应的上下文数据然后可以被传输给计算系统100,扩展存储器系统106在计算系统100处然后可以通过上下文数据来对数据库110中的内容字段502中的计算机可读数据编索引。

现在参考图6,示例性移动计算设备600被图示。移动计算设备600可以是移动电话、平板计算设备、可穿戴计算设备(诸如手表)等。移动计算设备600包括触敏显示器602。触敏显示器602可以在其上呈现内容。用户604可以执行相对于触敏显示器602的手势,以使得在其上示出的内容与对应的上下文数据一起被捕获并传输给扩展存储器系统106。在一个示例中,用户604可以用诸如手指、手写笔等的构件606“轻敲”触敏显示器602。移动计算设备600中的客户端扩展存储器系统306的内容捕获组件404可以检测“轻敲”,并且可以使得被显示在触敏显示器602上的内容被捕获并传输给计算系统100。此外,响应于内容捕获组件404检测到“轻敲”,客户端计算设备600可以使得上下文数据被捕获并传输给计算系统100。如先前所指示的,除了响应于相对于触敏显示器602的用户交互而捕获内容和上下文数据之外或者作为其备选,移动计算设备600可以被配置为响应于标识某一其他输入(诸如由用户604提出的口头话语、由用户604做出的手势(例如,眨眼或一系列眨眼)等)来捕获在触敏显示器602上示出的内容以及对应的上下文数据。

现在参考图7,社交联网应用的示例性图形用户界面700被示出。图形用户界面700包括可以被呈现给用户的馈送,其中馈送包括第一内容702、第二内容704和第三内容706。内容702-706可以是由用户的联系人发布的帖子、由用户发布的帖子、由用户正在关注的人发布的帖子,等等。用户可能希望扩展存储器系统106被配置为在社交联网应用中获得计算机可读数据,并通过与其对应的上下文数据来对计算机可读数据编索引。因此,例如,图形用户界面700可以包括按钮708,其可以被选择来邀请联系人成为社交联网应用上的“朋友”。在图7中示出的示例中,用户可以选择邀请扩展存储器系统106的表示(在窗口710中示出)。因此,用户已经授权扩展存储器系统106监视在用户可以访问的社交联网应用中呈现的信息。用户可以提出关于扩展存储器系统106要捕获什么的更详细的信息,诸如扩展存储器系统106将要跟随的用户的联系人的身份(例如,从而使得由标识的联系人生成的帖子可以被捕获和编索引)、用户希望扩展存储器系统106捕获的内容的类型(例如,图像和视频,而不是文本)等。

现在参考图8,可以被呈现在客户端计算设备300的显示器上的另一示例性图形用户界面800被图示。图形用户界面800可以用于即时消息接发应用、统一通信(UC)应用、视频会议应用等。在示例性图形用户界面800中,内容字段802可以包括由会议的一个或多个参与者在会议中呈现的内容。多个图形对象804-810分别表示会议的参与者。图形用户界面800还可以包括文本输入字段812,其中用户可以通过文本输入字段812来向会议参与者提出文本信息。在这一示例中,用户可以请求帮助记住会议的内容。因此,用户可以邀请扩展存储器系统的表示,如由图形对象810所示的。因此,将通知其他参与者正在监视会议,并且在会议期间提出的内容正被提供给扩展存储器系统106。会议的音频可以由客户端扩展存储器系统306捕获。在这一示例中,客户端扩展存储器系统306可以被包括在托管应用的数据中心中;由于音频被与在数据中心中执行的代理共享,所以客户端计算设备不需要在本地记录会议。客户端扩展存储器系统306可以向扩展存储器系统106提供音频、可以生成音频的转录并将该转录提供给扩展存储器系统106、可以捕获内容字段802中的内容并将这样的内容传输给扩展存储器系统106等、可以捕获会议参与者的身份并将这样的身份传输给扩展存储器系统106等。另外,客户端扩展存储器系统306可以捕获关于会议的上下文数据并将这样的上下文数据传输给扩展存储器系统106,其可以通过上下文数据来对会议的部分编索引。

现在参考图9,电子邮件应用的示例性图形用户界面900被图示。图形用户界面900包括内容字段902,其中用户可以查看内容或输入将通过电子邮件应用程序被传输的消息。图形用户界面900还包括“至”字段904,其中用户可以输入电子邮件的预期接收者的电子邮件地址。在图9中示出的示例中,用户希望将电子邮件发送到电子邮件地址“e-mail@e-mail.com”。用户还可以通过在“至”字段中输入扩展存储器系统106的电子邮件地址来指示她希望扩展存储器系统106对电子邮件地址的内容编索引。例如,电子邮件地址“memory@memory.com”可以是被分配给扩展存储器系统106的电子邮件地址,从而使得扩展存储器系统106知道用户希望电子邮件被捕获并在数据库110中被编索引。用户还可以将扩展存储器系统106配置为对电子邮件以及在此描述的其他数据源编索引。图形用户界面900包括“发送”按钮906,其中在用户选择“发送”按钮906时,电子邮件被传输给预期的接收者。

现在参考图10,图示了另一示例性图形用户界面1000,其促进捕获计算机可读数据以及通过对应的上下文数据对计算机可读数据编索引。图形用户界面1000包括文本、图像1002和视频1004。在图10中示出的示例中,用户可以选择文本的一部分1006,并且可以阐述使得窗口1008被呈现的某一命令。该命令可以是语音命令、在鼠标上的右击,等等。窗口1008包括表示可以针对被选择的文本而被执行的操作的多个可选择选项。这些操作可以包括例如复制、粘贴、发送、格式化等。操作还可以包括“记住”选项,其在被选择时使得被突出显示的文本(或由用户选择的其他内容)被提供给扩展存储器系统106。选择“记住”选项还可以使得对应于被选择的文本的上下文数据被捕获并被传输给扩展存储器系统106,在扩展存储器系统106处它可以用于对被突出显示部分1006编索引。

现在转到图11,可以被包括在文本编辑器中的示例性图形用户界面1100被图示。文本编辑器可以在字处理应用中、在浏览器中等。在图11中示出的示例中,用户提出文本“do you want to watch the bears?”。如上所述,可以查明文本中提出的术语“bears”有些歧义。为了促进消除术语“bears”的歧义,可以呈现描绘可以向在图形用户界面中示出的文本分配以消除术语“bears”的歧义的元数据的窗口1102。例如,如果用户旨在指代Chicago Bears,则用户可以在窗口1102中选择“Chicago Bears”选项,这使得元数据“Chicago Bears”被分配给文本。这一元数据然后可被提供给扩展存储器系统106,其可以通过实体“Chicago Bears”来对文本编索引。因此,随后,如果用户希望回忆关于“Chicago Bears”的某事并提出关于“Chicago Bears”的查询,则扩展存储器系统106可以将相关数据提供回用户(例如,在图形用户界面1100中所示的消息)。

图12至图17图示了关于帮助用户回忆关于人、地点或事物的信息的示例性方法。虽然方法被示出和描述为按序列执行的一系列动作,但是将会理解和意识到,方法不受序列的次序的限制。例如,一些动作可以按照与在此描述的次序不同的次序发生。此外,一个动作可以与另一动作同时发生。另外,在一些情况下,不需要所有动作来实现在此描述的方法。

此外,在此描述的动作可以是可以由一个或多个处理器实现和/或存储在一个或多个计算机可读介质上的计算机可执行指令。计算机可执行指令可以包括例程、子例程、程序、执行的线程等。此外,方法的动作的结果可以被存储在计算机可读介质中,被显示在显示设备上等。

现在参考图12,促进通过时间上对应的上下文数据来对计算机可读数据编索引的示例性方法1200被图示。方法1200在1202处开始,并且在1204处,从第一计算机可执行应用接收计算机可读数据。例如,第一计算机可执行应用可以是web浏览器、社交联网应用、文字处理应用、图像查看应用、视频播放应用或其他合适的应用。在1206处,从第二计算机可执行应用接收关于计算机可读数据的上下文数据。在一个示例中,第二计算机可执行应用可以是语音标识应用,并且上下文数据可以是说话者的身份。在另一示例中,第二计算机可执行应用可以是操作系统,并且上下文数据可以是从传感器获取的数据。在1208处,在1204处接收的计算机可读数据通过在1206处接收的上下文数据被编索引。因此,用户可以随后基于上下文数据来查询数据库,从而导致取回计算机可读数据。方法1200在1210处完成。

现在参考图13,用于构建可搜索数据库的示例性方法1300被图示。方法1300在1302处开始,并且在1304处,从计算机可执行应用接收计算机可读数据。在1306处,来自计算设备上的传感器的数据被接收。传感器可以是位置传感器、相机、气压计、温度传感器等。在1308处,基于来自传感器的数据来标识关于计算机可读数据的上下文数据。例如,来自传感器的数据可以是人的图像,并且关于计算机可读数据的上下文数据可以是人的身份。在另一示例中,上下文数据可以是由传感器本身输出的数据—因此,上下文数据可以是由温度计输出的温度。在1310处,在1304处接收的计算机可读数据在可搜索数据库中通过在1308处标识的上下文数据被编索引。方法1300在1312处完成。

现在参考图14,促进由可搜索数据库中的经消歧的实体来对计算机可读数据编索引的示例性方法1400被图示。方法1400在1402处开始,并且在1404处从第一计算机可执行应用接收计算机可读数据。在1406处,消除在计算机可读数据中引用的对象的歧义。例如,实体消歧器组件206可以消除对象的歧义。在1408处,从第二计算机可执行应用接收关于计算机可读数据的上下文数据。在1410处,在1404处接收的计算机可读数据通过在计算机可读数据中引用的经消歧的对象被编索引,并且还通过在1408处接收的上下文数据被编索引。方法1400在1412处完成。

现在转到图15,促进查询由扩展存储器系统106生成的数据库的示例性方法1500被图示。方法1500在1502处开始,并且在1504处,接收引用围绕人、地点或事物的上下文的查询。上下文可以是人、时间、位置等。在1506处,基于在查询中引用的内容来搜索用户特定的索引。术语“用户特定的”指示索引是针对用户而被个性化的并且被配置为帮助用户回忆用户感兴趣的人、地点和事物的信息。在1508处,输出标识具有与其对应的上下文的人、地点或事物的数据。方法1500在1510处完成。

现在转到图16,促进输出推荐的示例性方法1600被图示。方法1600在1602处开始,并且在1604处用户的上下文被接收。这一上下文可以是用户的位置、用户正在查看的内容、用户要出席的会议等。在1606处,基于接收到的上下文来构造查询。如前所述,查询可以被自动地构建并且可以包括对在1604处接收的上下文的引用。在1608处,基于在1606处构建的查询来执行对用户特定的索引的搜索。搜索可以导致标识可能与用户的当前上下文相关的计算机可读数据。在1610处,基于对用户特定的索引的搜索,输出内容作为推荐。方法1600在1612处完成。

现在参考图17,促进向扩展存储器系统106传输数据的示例性方法1700被图示。方法1700在1702处开始,并且在1704处,相对于计算机可读内容来从用户接收对于存储器辅助的请求。如前所述,请求可以是由用户提出的口头命令、由用户执行的手势、由用户执行的菜单选择等。在1706处,响应于接收到请求来捕获内容和相关联的上下文。在1708处,向计算系统传输指示内容和相关联的上下文的数据以用于编索引。具体而言,指示内容和相关联的上下文的数据被传输给计算系统100,其中扩展存储器系统106可以通过相关联的上下文来对内容编索引。方法1700在1710处完成。

各种示例现在被阐述。

示例1.一种方法,包括:从第一计算机可执行应用接收计算机可读数据;从第二计算机可执行应用接收关于计算机可读数据的上下文数据,上下文数据独立于计算机可读数据而被生成;以及通过来自第二计算机可执行应用的上下文数据在数据库中对来自第一计算机可执行应用的计算机可读数据编索引。

示例2.根据示例1所述的方法,还包括:接收查询,该查询引用所述上下文数据;基于查询来搜索数据库;以及响应于搜索数据库来输出标识计算机可读数据的数据。

示例3.根据示例1至2中的任一示例所述的方法,数据库针对特定用户被定制。

示例4.根据示例1至3中的任一示例所述的方法,计算机可读数据包括对实体的引用,该方法还包括:向计算机可读数据添加元数据,该元数据消除实体的歧义;以及通过元数据来对计算机可读数据编索引。

示例5.根据示例4所述的方法,还包括:响应于接收到计算机可读数据,基于上下文数据来标识元数据。

示例6.根据示例1至5中的任一示例所述的方法,还包括:从客户端计算设备接收第二上下文数据;基于第二上下文数据来制定查询;基于查询来标识数据库中的计算机可读数据;以及响应于标识计算机可读数据来向客户端计算设备传输推荐,该推荐基于计算机可读数据。

示例7.根据示例1至6中的任一示例所述的方法,其中计算机可读数据向操作计算设备的人呈现的数据,并且上下文数据是当计算机可读数据被接收到时与人一起的第二人的身份。

示例8.根据示例1至5中的任一示例所述的方法,还包括:在对计算机可读数据编索引之后,从客户端计算设备接收第二上下文数据,第二上下文数据与上下文数据匹配;基于第二上下文数据来制定查询;基于查询来标识计算机可读数据;以及响应于标识计算机可读数据来向客户端计算设备或另一客户端计算设备传输提醒,该提醒基于计算机可读数据。

示例9.根据示例1至8中的任一示例所述的方法,计算机可读数据从第一计算设备被接收到,上下文数据从第二计算设备接被收到。

示例10.根据1至9中的任一示例所述的方法,还包括:在对计算机可读数据编索引之后,接收查询和人的身份,该查询引用上下文数据;基于该查询来执行搜索;基于搜索来标识计算机可读数据;以及响应于标识计算机可读数据,使得计算机可读数据对人可访问。

示例11.根据示例10所述的方法,还包括:在对计算机可读数据编索引之后,接收第三计算机可执行应用的身份,人具有第三计算机可执行应用的账户;以及使得计算机可读数据通过第三计算机可执行应用程序对人可访问。

示例12.一种计算系统,包括:处理器;以及存储器,该存储器包括由处理器执行的扩展存储器系统,该扩展存储器系统在由处理器执行时被配置为:从在计算设备上执行的第一计算机可执行应用接收计算机可读数据;从在计算设备上执行的第二计算机可执行应用接收在时间上对应于计算机可读数据的上下文数据;以及将计算机可读数据暴露给搜索组件,计算机可读数据通过上下文数据被编索引。

示例13.根据示例12所述的计算系统是数据中心。

示例14.根据示例12至13中的任一示例所述的计算系统,计算机可读数据包括对实体的引用,扩展存储器系统包括被配置为生成元数据以消除实体的歧义的实体消歧器组件,扩展存储器系统被配置为通过元数据来对计算机可读数据编索引。

示例15.根据示例14所述的计算系统,扩展存储器系统还包括上下文获取器组件,上下文获取器组件被配置为响应于接收计算机可读数据来向客户端计算设备传输信号,客户端计算设备被配置为生成上下文数据并且响应于接收到信号来向计算系统传输将上下文数据。

示例16.根据示例12至15中的任一示例所述的计算系统,扩展存储器系统包括搜索组件,搜索组件被配置为基于引用上下文数据的查询来返回计算机可读数据。

示例17.根据示例16所述的计算系统,搜索组件包括查询消歧器组件,当查询包括对实体的引用时,查询消歧器组件被配置为在搜索组件返回计算机可读数据之前消除实体的歧义。

示例18:根据示例16所述的计算系统,搜索组件被配置为响应于从客户端计算设备接收到上下文数据来生成查询。

示例19:根据示例16所述的计算系统,搜索组件包括对话引擎,对话引擎被配置为输出通过被编索引的数据来促进导航的建议。

示例20:一种包括指令的计算机可读存储介质,指令当由处理器执行时,使得处理器执行动作,这些动作包括:在数据库中通过在时间上对应的上下文数据来对计算机可读数据编索引,计算机可读数据由第一计算机可执行应用输出,上下文数据由第二计算机可执行应用输出;基于查询来在数据库上执行搜索,查询包括对上下文数据的引用;以及基于搜索来输出搜索结果,搜索结果包括计算机可读数据。

现在参考图18,可以根据在此公开的系统和方法而被使用的示例性计算设备1800的高级图示被图示。例如,计算设备1800可以在支持通过对应的上下文数据来对计算机可读数据编索引的系统中被使用。作为另一示例,计算设备1800可以在支持捕获计算机可读数据和对应的上下文数据的系统中被使用。计算设备1800包括执行被存储在存储器1804中的指令的至少一个处理器1802。指令可以是例如用于实现被描述为由上面讨论的一个或多个组件执行的功能的指令或用于实现上述方法中的一个或多个方法的指令。处理器1802可以通过系统总线1806访问存储器1804。除了存储可执行指令之外,存储器1804还可以存储计算机可读数据、上下文数据等。

计算设备1800附加地包括可由处理器1802通过系统总线1806访问的数据存储库1808。数据存储库1808可以包括可执行指令、计算机可读数据、上下文数据等。计算设备1800还包括允许外部设备与计算设备1800通信的输入接口1810。例如,输入接口1810可以用于从外部计算机设备、从用户等接收指令。计算设备1800还包括输出接口1812,输出接口1812将计算设备1800与一个或多个外部设备对接。例如,计算设备1800可以通过输出接口1812来显示文本、图像等。

设想了经由输入接口1810和输出接口1812与计算设备1800通信的外部设备可以被包括在提供用户可以与之交互的基本上任何类型的用户界面的环境中。用户界面类型的示例包括图形用户界面、自然用户界面等。例如,图形用户界面可以接受来自使用诸如键盘、鼠标、遥控器等一个或多个输入设备的用户的输入,并在诸如显示器的输出设备上提供输出。另外,自然用户界面可以使得用户能够以不受诸如键盘、鼠标、遥控器等的输入设备强加的约束的方式来与计算设备1800交互。相反地,自然用户界面可以依赖于语音识别、触摸和手写笔识别、屏幕上和屏幕附近的姿势识别、空气姿势、头部和眼睛跟踪、话音和语音、视觉、触摸、手势、机器智能,等等。

此外,虽然被图示为单个系统,但是将会理解,计算设备1800可以是分布式系统。因此,例如,若干设备可以通过网络连接通信,并且可以共同地执行被描述为由计算设备1800执行的任务。

在此描述的各种功能可以在硬件、软件或其任何组合中被实现。如果在软件中实现,则可以将这些功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输。计算机可读介质包括计算机可读存储介质。计算机可读存储介质可以是可由计算机访问的任何可用存储介质。通过示例而非限制,这样的计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储装置、磁盘存储装置或其他磁性存储设备,或可以用来以指令或数据结构的形式携带或存储期望的程序代码并且可由计算机访问的任何其他介质。如在此使用的磁盘和光盘包括紧凑盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘(BD),其中磁盘通常磁性地再现数据,并且光盘通常利用激光光学地再现数据。另外,传播的信号未被包括在计算机可读存储介质的范围内。计算机可读介质还包括通信介质,通信介质包括促进将计算机程序从一个地方传送给另一地方的任何介质。例如,连接可以是通信介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或诸如红外、无线电和微波之类的无线技术来从网站、服务器或其他远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或诸如红外、无线电和微波之类的无线技术被包括在通信介质的定义中。上述的组合也应被包括在计算机可读介质的范围内。

备选地或附加地,在此描述的功能可以至少部分地由一个或一个硬件逻辑组件执行。举例而言而非限制,可以被使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统系统(SOC)、复杂可编程逻辑器件(CPLD)等。

上面已经被描述的内容包括一个或多个实施例的示例。当然,为了描述上述方面的目的,不可能描述上述设备或方法的每个可想到的修改和改变,但是本领域普通技术人员可以认识到,各种方面的许多进一步的修改和置换是可能的。因此,所描述的方面旨在包括落入所附权利要求的精神和范围内的所有这样的改变、修改和变型。另外,在术语“包括”用于具体实施方式或权利要求中的程度上,这样的术语旨在以类似于当被用作权利要求中的连接词时、被解释的术语“包括”的方式而是包括性的。

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