互联网提供对广泛多种资源的访问。例如,视频和/或音频文件,以及针对特定主题或特定新闻报道的网页,是可在互联网上访问的。对这些资源的访问带来了使其他内容(例如广告)与资源一起提供的机会。例如,网页能够包括能够呈现内容的槽位(slot)。这些槽位能够在网页中被限定或者被限定以用于例如连同搜索结果一起来利用网页呈现。这些示例中的内容能够处于各种格式,而消费(例如呈现)内容的设备能够同样在其类型和效能上不同。
技术实现要素:
一般的,本说明书中所述的主题的一个创新方面能够以方法来实现,所述方法包括计算机实现的方法以用于提供内容。所述方法能够包括:由服务器设备接收与用户对计算设备的使用相关联的多个快照,所述多个快照中的每个快照都基于在所述计算设备上呈现给所述用户的内容。所述方法能够进一步包括,评估多个快照包括:针对每个相应快照,识别由该相应快照指示的相应实体集合,以及向存储器存储对该相应实体集合的指示和指示该相应快照被捕获的相应时间的相应时间戳,其中,所述相应实体集合和相应时间戳在所述存储器中被关联。所述方法能够进一步包括:基于所述多个快照中的第一快照,确定向所述用户呈现一个或多个信息卡的第一时间。所述方法能够进一步包括:在所述第一时间,在存储器中定位具有与所述第一时间相对应的时间戳的实体。所述方法能够进一步包括:基于所定位的实体中的一个或多个实体来生成信息卡。所述方法能够进一步包括:提供所生成的信息卡以用于向所述用户呈现。
附图说明
图1是用于递送内容的示例环境的框图。
图2A示出用于基于与向用户呈现的内容的快照相关联的实体来呈现信息卡的示例系统。
图2B示出与电话号码实体相关联的示例信息卡。
图2C示出与位置实体相关联的示例信息卡。
图2D示出与主题实体相关联的示例信息卡。
图3是用于基于从被呈现给用户的内容中提取的快照来提供信息卡的示例过程的流程图。
图4是能够内用于实现本公开中所述的方法、系统和过程的示例计算机系统的框图。
在各个附图中的类似附图标记和名称指示类似的元素。
具体实施方式
描述了用于提供基于呈现给用户的内容的一个或多个经评估的快照来确定的信息卡或其他形式的通知的系统、方法、和计算机程序产品。能够基于在一个或多个用户的相应用户设备上向其呈现的内容来持续地捕获和评估快照。内容可以被呈现给用户,例如在浏览器、应用(例如移动应用)、web站点、广告、社交网络页面、或者其他数字内容环境中呈现。每个快照能够包括以下中的一个或多个中的至少一部分:日历条目、地图、电子邮件消息、社交网络页面条目、web页面元素、图像、或一些其他内容。评估特定快照能够包括识别相关联的实体(例如人、地点(例如特定位置、地址、城市、州、国家、房间号、建筑物、或者其他特定地理位置)、事物(诸如电话号码)、主题、所排程的的事件(例如午餐约会、生日、会见)、或者其他可识别实体。与快照的接收相关联的时间戳还能够与快照和/或快照所基于的实体相关联地来被存储。基于例如与快照的接收相关联的时间戳,和/或基于使用快照所识别的一个或多个事件的时间,能够确定目标呈现时间。在与目标呈现时间相对应的时间,标识实体中的一个或多个的一个或多个信息卡能够被提供(例如用于向用户呈现)。例如,每个信息卡还能够指示用户能够用来理解对给定信息卡的显示的基本原理的场境(context)。对动作的至少一个调用也能够被包括在信息卡中,例如以允许用户执行与实体相关联的动作(诸如拨叫电话号码、获得导航路线指引(driving direction)、或者接收额外信息)。信息卡能够充当对种类的提示(例如,用于使用户想起概念和/或一些其他信息片(piece)),或者信息卡能够充当对即将到来的事件的提醒。
对于这里讨论的系统收集和/或使用包括关于用户的个人信息的信息的情形,用户能够被提供有机会来启用/禁用或者控制可以收集和/或使用个人信息(例如,关于用户的社交网络、社交动作或活动、用户的偏好或用户的当前位置的信息)的程序或特征。此外,某些数据在其被存储或使用之前能够以一个或多个方式来处理,使得与用户相关联的个人可识别信息被删除。例如,用户的身份可以被匿名化,使得无法确定用户的个人可识别信息,或者可以在获得地理位置的情况下将用户的地理位置一般化(诸如到城市、邮编、或州层级),使得用户的特定位置无法被确定。
特定实施方式可以不实现或实现下面优点中的一个或多个。能够自动向用户呈现与事件或主题相关的信息卡,所述事件或主题与该用户所接收到的内容相关联。
本说明书中所述的主题的一个或多个实施方式的细节在下面的附图和描述中阐述。根据说明书、附图和权利要求书,主题的其他特征、方面、和优点将变得显而易见。
图1是用于递送内容的示例环境100的框图。示例环境100包括用于响应于对于内容的请求而选择和提供内容的内容管理系统110。示例环境100包括网络102,诸如局域网(LAN)、广域网(WAN)、互联网、或者其组合。网络102连接网站104、用户设备106、内容赞助者108(例如广告主)、发布者109、和内容管理系统110。示例环境100可以包括数以千计的网站104、用户设备106、内容赞助者108和发布者109。
环境100能够包括多个数据存储库,其能够由内容管理系统110来本地存储、使用网络102在其他地方存储、根据来自相应数据源的需要而生成、或者这些的组合。实体131的数据存储库,例如,能够包括实体的列表,其能够被用于识别呈现给用户的内容的快照中的实体。例如,实体能够包括电话号码、位置(例如地址、城市、州、国家、房间号、建筑物、特定地理位置)、主题(例如与话题相关)、人物名称、所排程的事件(例如午餐约会、生日、会见)、电子邮件地址、组织名称、产品、电影、音乐、或者能够在知识图或其他信息表示中被表示的其他主题。
例如,实体131的数据存储库能够包括多元实体,被评估的每个快照各有一个实体。快照能够在被捕获之后被评估,并且被包括在快照中或在快照中引用的一个或多个排名最靠前或最显著的实体能够被存储为群组(例如,实体131的数据存储库中的实体)。
例如,时间戳132的数据存储库能够包括与相应快照被捕获的时间相关联的时间戳。时间戳能够与从相应快照中识别出的实体相关联。
例如,事件133的数据存储库能够包括与已从相应快照中被识别出的事件相关联的信息。例如,事件的信息能够包括以下中的一个或多个:日期、开始时间、结束时间、持续时间、参与者名称、关联的位置、关联的电话号码和/或其他联系信息(例如电子邮件地址)、事件类型(例如会见、生日、午餐约会)、以及描述或场境(例如,从相应快照中获得)。
例如,目标呈现时间的数据存储库能够包括由内容管理系统110建立的、对相应信息卡的呈现的一个或多个时间。例如,针对午餐约会建立的目标呈现时间可以包括在午餐约会前一个小时的时间(例如,作为对离开或准备午餐约会的提醒)以及在午餐约会之前的白天或夜晚的所标定(designate)的时间以通知用户第二天的午餐约会。所讨论的数据存储库中的一些或全部能够在单个数据存储库中组合,诸如包括所识别实体、事件、时间戳和目标呈现时间的组合的数据存储库,全部都与单个快照相关联。
内容管理系统110能够包括多元引擎,其中的一些或全部能够被组合或分离,并且能够共处一处或者被分布(例如通过网络102连接)。例如,快照评估引擎121能够评估在设备上呈现给用户的内容的快照。例如,对于每个快照,快照评估引擎121能够识别被包括在快照中的实体和/或事件并且连同与相应快照被捕获的时间或呈现时间相关联的时间戳一起存储所识别的实体/事件。
例如,信息卡引擎122能够执行与以下相关联的功能:聚集在信息卡中使用的信息、生成信息卡、和确定呈现信息卡的时间。例如,在接收到的快照被评估之后,信息卡引擎122能够确定用于包括在信息卡中的内容和呈现一个或多个信息卡给用户的时间,包括确定呈现的目标时间。内容的选择和呈现的定时在下面更详细讨论。
网站104包括与域名相关联且由一个或多个服务器托管的一个或多个资源105。示例网站是以超文本标记语言(HTML)来格式化的网页的集合,其能够包含文本、图像、多媒体内容、和诸如脚本的编程元素。每个网站104能够由内容发布者来维护,该内容发布者是控制、管理和/或拥有网站104的实体。
资源105能够是能够通过网络102来提供的任何数据。资源105能够由与资源105相关联的资源地址来标识。资源包括HTML页面、文字处理文档、便携式文档格式(PDF)文档、图像、视频、和新闻馈给源,仅举数例。资源能够包括内容,诸如词、短语、图像、视频和声音,所述内容能够包括嵌入式信息(诸如元信息超链接)和/或嵌入式指令。
用户设备106是在用户控制下且能够通过网络102请求和接收资源的电子设备。示例用户设备106包括个人计算机(PC)、具有嵌入其中或耦合至其的一个或多个处理器的电视、机顶盒、游戏控制台、移动通信设备(例如智能电话)、平板计算机和能够通过网络102发送和接收数据的其他设备。用户设备106通常包括一个或多个用户应用,诸如web浏览器,以促进网络102上的数据的发送和接收。
用户设备106能够从网站104请求资源105。进而,表示资源105的数据能够被提供到用户设备106以用于由用户设备106呈现。表示资源105的数据还能够包括指定资源的一部分或用户显示的一部分的数据,诸如弹出窗口的呈现位置或能够呈现内容的第三方内容站点或网页的槽位。资源的这些所指定的部分或用户显示被称为槽位(例如广告位)。
为了促进对这些资源的搜索,环境100能够包括搜索系统112,其通过爬取和索引由内容发布者在网站104上提供的资源来识别资源。关于资源的数据能够基于数据所对应的资源来被索引。被索引的且可选地被缓存的资源副本能够被存储在经索引缓存114中。
用户设备106能够通过网络102提交搜索查询116到搜索系统112。作为响应,例如,搜索系统112能够访问经索引缓存114以识别与搜索查询116相关的资源。搜索系统112识别处于搜索结果118形式的资源并且以搜索结果页面来向用户设备106返回搜索结果118。搜索结果118能够是由搜索系统112生成的数据,其标识响应于特定搜索查询而提供的资源,并且包括指向资源的链接。搜索结果页面还能够包括一个或多个槽位,在其中能够呈现其他内容项(例如广告)。
当资源105、搜索结果118和/或其他内容(例如视频)被用户设备106请求时,内容管理系统110接收对于内容的请求。对于内容的请求能够包括针对所请求的资源或搜索结果页面来被限定的槽位的特性,并且能够提供给内容管理系统110。
例如,对针对其来限定槽位的资源、槽位的大小、和/或可用于在槽位中呈现的媒体类型的引用(例如URL)能够与给定请求相关联地被提供给内容管理系统110。类似地,与所请求的资源相关联的关键字(“资源关键字”)或针对其来请求搜索结果的搜索查询116也能够被提供给内容管理系统110以促进对与资源或搜索查询116相关的内容的识别。
至少部分地基于被包括在请求中的数据,内容管理系统110能够选择有资格响应于请求而被提供的内容(“适格内容项”)。例如,适格内容项能够适格广告,其包括具有匹配广告位特性的特性并且被识别为与所指定的资源关键字或搜索查询116相关。此外,当没有执行搜索或没有关键字可用时(例如因为用户没有在浏览网页),其他信息——诸如从一个或多个快照获得的信息——能够被用来对接收到的请求作出响应。在一些实施方式中,对适格内容项的选择能够进一步取决于用户信号,诸如群体特征信号、行为信号或者从用户档案导出的其他信号。
内容管理系统110能够至少部分地基于竞拍的结果(或者通过一些其他选择过程)来从待被提供用于在资源或搜索结果页面的槽位中呈现的适格内容项中选择。例如,对于适格内容项,内容管理系统110能够从内容赞助者108接收出价(offer)并且至少部分地基于接收到的出价来分配槽位(例如,基于竞拍成交的最高竞价者或者基于其他准则,诸如与满足开放预留和学习价值相关的那些准则)。出价表示内容赞助者愿意为其内容与资源或搜索结果页面一起呈现(或者对其内容的选择或与其内容的其他交互)而支付的数额。例如,出价能够指定内容赞助者愿意为内容项的每1000个闪现(impression)(即呈现)支付的数额,其被称为CPM竞价。替选地,出价能够指定内容赞助者愿意为对内容项的选择(即点击)或对内容项的选择之后的转化来支付的数额。例如,所选择的内容项能够基于出价来被单独确定,或者基于每个内容赞助者的出价乘以一个或多个因子来被确定,所述因子诸如从内容效能导出的质量分值、着陆页面分值、学习价值、和/或其他因子分值。
当用户执行和与资源或搜索结果页面一起提供的内容项相关的特定交易或动作时,可以认为发生了转化。构成转化的要素能够因情况而不同,并且能够通过各种方式来确定。例如,转化可以发生在:当用户点击内容项(例如广告),被引至网页,并且在离开该网页之前在该处消费了购买。转化还能够被内容提供商限定为任何可测量或可观察的用户动作,诸如下载白皮书(white paper)、导航到网站的至少给定深度、查看至少一定数目的网页、在web站点或网页上花费至少预定的时间量、在网站上注册、体验媒体、或者执行关于内容项(例如广告)的社交动作,诸如赞同(endorsing)、重新发布或共享内容项。也能够使用构成转化的其他动作。
图2A是用于基于与呈现给用户的内容的快照202相关联的实体来呈现信息卡201的系统200的框图。例如,快照202能够从在用户设备106a上呈现给用户206的内容204a、204b中随时间推移来被捕获。内容204a、204b能够是与用户设备相关联的显示区域中内容(例如,仅在活动窗口中的内容)中的的全部或一部分。内容204a、204b可以在以下中的一个或多个中呈现:浏览器、应用、web站点、广告、社交网络页面、或一些其他用户接口或应用。例如,内容204a、204b能够包括以下中的一个或多个:日历条目、地图、电子邮件消息、社交网络页面条目、web页面元素、图像、或者一些其他内容或元素。例如,内容204a、204b的快照202能够被评估以识别相关联的实体131,诸如电话号码、位置(例如地址、城市、州、国家、房间号、建筑物、特定地理位置)、或其他可识别实体。例如,与接收到的快照202相关联的时间戳132能够与所识别的实体131一起使用来标识与实体131相关联的信息卡201的目标呈现时间133。例如,在与目标呈现时间133相关联的时间,内容管理系统110能够提供信息卡201以用于向用户206呈现。
在一些实施方式中,能够基于被包括在快照中的实体(例如标识人、地点和电话号码的日历条目)来识别一个或多个事件(例如午餐约会)。能够关于事件何时发生来确定(例如,在未来的)第一时间(例如,午餐约会会见时间),并且事件能够连同第一时间一起被存储(例如在事件133的存储仓库中)。能够确定在事件之前的第二时间,诸如用户206需要被通知离开以便按时到达事件的时间。通常,第二时间能够是在事件要发生之前执行与该事件相关的动作的时间,诸如为周年纪念订购鲜花或者发送生日贺卡。确定呈现信息卡的时间(例如,与午餐约会相关联的信息卡)能够包括确定当前时间(例如现在时间)等于第二时间(例如午餐约会之前一个小时)。信息卡能够在第二时间为事件而呈现。在一些实施方式中,下面的示例阶段能够被用于提供信息卡。
在阶段1,例如,内容管理系统110能够接收快照202,例如与用户206对用户设备106a的使用相关联的多个快照。例如,接收到的快照202能够包括在用户设备106a上呈现给用户206的内容204a、204b的快照。例如,快照202能够包括:从电子邮件消息(例如内容204a)或从图像(例如内容204b)和/或从呈现给用户206的其他内容拍摄的快照。
在阶段2,例如,快照评估引擎121能够评估接收到的快照202。例如,对于每个快照,快照评估引擎121能够识别被包括在快照202中的实体131。例如,对于从内容204a获得的快照202所识别的实体能够包括Bob、Carol、J’s餐馆、和Carol的手机号码。快照评估引擎121能够将所识别的实体(或者其子集,诸如最突出的实体)连同与相应快照被捕获的时间相关联的时间戳一起存储。在一些实施方式中,作为确定实体过程的一部分,能够对于任何所确定的实体是否彼此相关作出确定,诸如与公共的事件相关。相关性能够基于接近度(例如,实体处于互相紧密接近)或者快照中的一些其他关系。在一些实施方式中,时间戳能够被存储在时间戳132的数据存储库中,例如以用于稍后在生成和呈现与快照202相关的信息卡201时使用。在一些实施方式中,一个或多个实体能够与事件相关联。即,实体可以是人,并且事件可以涉及与人的会见(如被包括在正在被评估的快照中所示的电子邮件消息中的内容所指示)。当事件由快照评估引擎121识别时,能够在用户的日历中建立日历项,并且可选地,在与事件相关联的其他用户的日历中也建立日历项(例如包括不必是事件参加者的用户)。在一些实施方式中,被识别的事件能够包括用户不参加的事件,但是用户通过接收到信息卡仍旧可以从其获益(例如,在线销售的优惠券期满)。在下面更详细讨论事件。
例如,与内容204a相关联的快照202的评估能够确定:在用户206(例如Bob)和Carol之间存在午餐约会事件。从快照202中识别出的其他信息能够包括时间、位置信息、以及电话号码。在这个示例中,被识别的实体能够包括:Bob、Carol、餐厅(例如,J’s)、以及Carol的电话号码。作为快照评估的一部分,能够确定与快照和/或事件相关联的场境。例如,基于Bob、Carol、餐厅和Carol的电话号码的实体,能够确定“在日期X的中午与Carol在J’s进行午餐约会(lunch date at noon on date X with Carol at J's.)”的场境。例如,场境信息能够被确定、存储以及稍后访问,以向用户提供关于为什么呈现特定信息卡的信息。在一些实施方式中,其他信息能够被包括在场境中,诸如对应用的识别或者从其提取快照的其他源、评估信息的方式、或者与屏幕截图相关联的场境。在一些实施方式中,场境信息能够处于从其提取实体或事件的文本摘录(snippet)的形式。在一些实施方式中,例如,在场境信息被随后呈现时,场境所基于的摘录能够被格式化以高亮显示信息的相关片。
在阶段3,例如,在评估接收到的快照中的一个或多个之后,信息卡引擎122能够确定向用户呈现一个或多个信息卡的时间,包括确定目标时间。在一些实施方式中,目标时间能够被存储在目标呈现时间134的数据存储库中。例如,对于Bob与Carol的即将发生的午餐约会,信息卡引擎122能够确定对于Bob的提醒时间,其是所排程的的中午午餐约会之前一个小时。在一些实施方式中,能够确定呈现信息卡的多个时间,例如,其包括将在前一天晚上发送的提醒——次日Bob与Carol有午餐约会。在一些实施方式中,能够使用各种因素来确定目标时间,所述因素诸如交通模式、距离、位置和/或其他因素。例如,对于充当对用户的提示的信息卡,目标时间能够包括自概念最初被呈现给用户——例如以从其获得相应的快照的内容的形式来呈现——起的一个或多个时间。
在阶段4,例如,信息卡引擎122能够基于目标时间和与所存储的实体的相应实体相关联的时间戳的比较来从存储的实体中识别实体。例如,对于Carol和Bob来排程的午餐约会,信息卡引擎122能够识别要在与即将发生的午餐约会相关联的信息卡中使用的信息。例如,Carol的电话号码能够是能够为生成信息卡来识别的实体,例如以用于给Bob的提醒,所述提醒在午餐约会之前一个小时的目标时间被发送并且还包括Carol的手机号码。
在阶段5,例如,信息卡引擎122能够基于一个或多个所识别的实体131来生成信息卡201。例如,信息卡201能够包括与午餐约会相关联的信息和Carol的手机号码。在一些实施方式中,信息卡201能够被存储在例如内容管理系统110处以供在相同信息卡的多个后续呈现中使用。
在阶段6,例如,内容管理系统110能够提供信息卡201以用于向用户呈现。例如,信息卡201可以被提供给用户设备106a以用于在屏幕208c上呈现,其可以是与屏幕208a、208b相同或不同的屏幕,从所述屏幕208a、208b,快照202从用户206的多元用户会话210来获得。在一些实施方式中,屏幕208a、208b、208c能够是在用户设备106a中与用户206相关联的的多个用户设备上呈现的屏幕。例如,呈现信息卡的时间能够是自与该信息卡相关联的概念例如以从其获得相应快照的内容的形式来最初被呈现给用户起的时间。在这个示例中,能够提供信息卡以唤起用户的记忆。例如,呈现信息卡的时间还能够是和与信息卡相关联的事件(例如午餐约会)相关的时间。
在一些实施方式中,一些信息卡201可能适用于多于一个的用户。例如,内容管理系统110能够将信息卡201提供给与事件相关联的所有方,诸如关于他们的即将发生的的午餐约会来向Bob和Carol二者提供。
在一些实施方式中,当快照被评估以预测向用户提供信息卡的可能时,用户能够可选地接收通知(例如,顺着“你可能将基于X而接收信息卡……(You may be receiving information cards based on X...)”的用词的通知)。在一些实施方式中,用户能够具有选项来单独地按群组(或者按信息卡的类型)或者全局地改变何时和任何呈现信息卡。在一些实施方式中,用户能够被呈现控件以用于指定能够被用于信息卡的信息类型,诸如顺着“不要使用来自我的电子邮件的信息来生成信息卡(Don’t use information from my email to generate information cards.)”的用词的复选框控制。在一些实施方式中,用户能够控制呈现信息卡的时间,例如日内时间或者特定快照的时间。在一些实施方式中,用户能够被提供针对任何特定信息卡的透明控件,例如以了解如何或为何准备和呈现信息卡。
图2B示出与电话号码实体相关联的示例信息卡220a。例如,继续上面关于图2A所述的示例,信息卡220a能够在Bob和Carol的即将发生的午餐约会之前一个小时被呈现。例如,信息卡220a能够包括通知标题222a(例如“拨号器…(Dialer…)”),其通知用户:该信息卡是与电话号码——例如Carol的手机号码相关联的类型。例如,场境224a能够识别与信息卡相关联的场境。在这个示例中,场境224a能够包括(或者根据以下被确定)快照202的一部分,包括Bob从Carol接收的电子邮件消息的摘录,其包含与即将发生的午餐约会相关联的信息(诸如位置、电话号码、日期226a)。例如,信息卡220a还能够包括,与信息卡一起被显示在Bob的智能电话上的诸如控件的行动召唤(call-to-action)228a,其用于拨打Carol的手机号码。其他行动召唤228a在本示例中是可能的,诸如用以显示到餐馆的地图的行动召唤。
图2C示出与位置实体相关联的示例信息卡220b。例如,信息卡220b能够包括通知标题222b(例如“位置…(Location…)”),其通知用户信息卡与位置——例如法国巴黎(Paris France)相关联。例如,信息卡220b能够根据与用户浏览与巴黎相关联的在线信息相关联的快照202来生成,诸如在线旅行或度假信息。例如,场境224b能够标识与信息卡相关联的场境。在这个示例中,场境224b能够包括(或者根据以下确定)快照202的一部分,包括可能被包括在快照中的地图或从快照中的信息中识别的地图。例如,信息卡220b还能够包括行动召唤228b,诸如控件,其在Bob的智能电话上显示,以用于获得到巴黎或巴黎内的导航路线指引。与信息卡220b的呈现相关联的时间能够基于当前时间和用户的当前位置(例如到达巴黎机场)来确定。
图2D示出与信息性实体相关联的示例信息卡220c。例如,信息卡220c能够包括通知标题222c(例如“应答…(Answer…)”),其通知用户信息卡与主题——例如纽约证券交易所(NYSE)相关联。在这个示例中,NYSE还能够是位置。例如,“应答”类型的信息卡能够应用于信息性实体,例如来自摘录、传记、报价(quote)(例如在用户屏幕上显示的股票报价)、或者其他信息性内容。例如,信息卡220c能够根据与用户浏览与NYSE相关联的在线信息或来自其他源的信息相关联的快照而生成。例如,场境224c能够标识与信息卡相关联的场境。在这个示例中,场境224c能够包括(或者根据以下被确定)快照的一部分,其包括关于NYSE的文本的摘录,所述本文可能已经作为来自网站的内容而向用户呈现过。例如,信息卡220c还能够包括行动召唤228c,诸如控件,其在Bob的智能电话上显示以用于获得关于NYSE的更多信息。
图3A是基于从呈现给用户的内容中提取的快照来提供信息卡的示例过程300的流程图。例如,并存(coincidence)能够包括向用户的感官内容项的同时、接近同时或者近期的呈现。在一些实施方式中,内容管理系统110能够使用由一个或多个处理器执行的指令来执行过程300的阶段。图1-2C被用于提供示例结构以用于执行过程300的步骤。
由服务器设备接收与用户对计算设备的使用相关联的多个快照(302)。该多个快照中的每个快照基于在计算设备上呈现给用户的内容。例如,服务器设备——诸如内容管理系统110能够接收与对用户设备106a的使用相关联的快照202,包括呈现给用户206的内容204a、204b的快照202。
在一些实施方式中,过程300能够进一步包括由设备获得多个快照。例如,用户设备106a能够拍摄快照202并且将它们提供给内容管理系统110。在一些实施方式中,快照202能够由内容管理系统110从内容管理系统110提供给用户设备106a的内容中获得。
在一些实施方式中,与用户对设备的使用相关联的快照能够包括:呈现给用户或者由用户所体验的音频。例如,快照202能够包括已经提供给用户设备106a的录音。在这个示例中,获得快照202还能够包括使用语言辨识或者其他辨识技术来获得所呈现的音频的文本翻译或识别(例如标题)。在一些实施方式中,获得快照202能够包括获得音频指纹(例如特定歌曲的音频指纹)以用于识别音频。
在一些实施方式中,与用户对设备的使用相关联的快照能够包括与浏览器没有关联的内容。作为示例,快照202能够从诸如应用、web站点、社交网络站点、广告、和/或其他源的非浏览器源获得。
在一些实施方式中,由设备获得多个快照能够周期性发生或者基于环境事件来发生。例如,快照202能够被周期性获得——诸如以N秒或者M分钟的间隔来获得,或者快照202能够在每当特定触发发生时获得——例如包括用户动作或其他触发。在一些实施方式中,环境事件能够由设备(例如用户设备106a)、由应用(例如,当用户开启应用或者执行触发动作时)、由与设备通信的服务(例如地图应用、日历、或者电子邮件)、由与设备相关联的操作系统触发,或者基于场境的改变、场景的改变、或者用户对设备的使用的改变。例如,新快照202能够发生在确定用户设备106a上的屏幕的阈值百分比已经改变的时候。
在一些实施方式中,环境事件能够是在设备上执行的应用的场境的改变,其中,被用于检测场境改变的时间包括:大致当前的时间和先前的时间中的至少一个。例如,环境事件能够由以下来触发:用户206从应用或游戏的一个层级移动到另一层级、或者通过到达与应用或游戏相关联的里程碑。场境的改变(例如,层级的改变或到达里程碑)能够通过例如比较先前时间和当前时间的场境来确定。
多个快照被评估(304)。例如,快照评估引擎121能够评估接收到的快照202。例如,快照评估引擎121能够针对每个快照来识别被包括在快照202中的实体131。快照评估引擎121能够将识别出的实体连同与捕获相应快照的时间相关联的时间戳一起存储。
在一些实施方式中,接收与用户对设备的使用相关联的快照包括:接收表示被包括在相应快照中的内容的散列,以及评估接收到的快照包括:在评估中使用散列以代替原始内容。例如,代替评估快照202(或者除其之外),快照评估引擎121能够评估与所提供内容相关联的散列信息。例如,信息能够包括,与内容相对应的文本(例如,“你的信用卡尾号*1437”),或者与描述在内容中包含什么的内容相关联的元数据(例如“你的地址加邮编”)。
在一些实施方式中,评估接收到的快照能够进一步包括:基于被包括在快照中的实体来识别一个或多个事件,确定事件将发生的未来的第一时间,将事件连同第一时间一起来存储,确定事件之前的第二时间,并且确定呈现的时间能够包括:确定当前时间等于第二时间,并且呈现信息卡包括:在第二时间呈现事件的信息卡。例如,如上面结合图2A所述,评估快照202能够指示Bob和Carol之间的午餐约会事件的存在。午餐约会的时间/地点和Carol的手机号码也能够根据快照202来确定。内容管理系统110能够使用该信息来识别午餐约会并且在午餐约会将发生之前的预定时间生成一个或多个信息卡。
在一些实施方式中,识别被包括在快照中的实体能够进一步包括:在文本中识别对事件的自然语言描述。例如,快照评估引擎121能够识别内容204a中的文本,其描述事件(例如午餐约会)或指示与事件相关联的实体(例如Bob、Carol、J’s餐馆、和Carol的电话号码)。
在一些实施方式中,事件能够是发生在未来的用户感兴趣的活动。作为示例,由快照评估引擎121识别的事件能够是Bob与Carol的午餐约会,其是Bob感兴趣的。
对于每个相应的快照,相应快照所指示的相应实体集被识别(306)。例如,快照评估引擎121能够识别被包括在从内容204a获得的快照202中的实体131。例如,针对快照202所识别的实体能够包括Bob、Carol、J’s餐馆、和Carol的手机号码。
将对相应实体集的指示和指示捕获相应快照的相应时间的相应时间戳存储到存储器(308)。相应实体集和相应时间戳在存储器中相关联。作为示例,快照评估引擎121能够将最显著识别的实体连同与捕获相应快照的时间相关联的时间戳一起存储。例如,时间戳能够被存储在时间戳132的数据存储库中以供稍后用于生成和呈现与快照202及相关联的实体有关的信息卡201。
基于多个快照中的第一快照,确定向用户呈现一个或多个信息卡的第一时间(310)。例如,信息卡引擎122能够确定向用户呈现一个或多个信息卡的时间,包括确定目标时间。例如,对于Bob与Carol的即将发生的午餐约会,信息卡引擎122能够确定对Bob的提醒时间,其是在所排程的的中午午餐约会之前一个小时。在一些实施方式中,能够确定呈现信息卡的多个时间,例如以包括Bob次日有与Carol的午餐约会的提醒,该提醒将在该约会之前的夜晚发送。对于已经被处理的非事件快照——诸如所获得的与NYSE相关联的快照202,目标时间能够和与快照202相关联的时间戳有关,诸如用以在稍后的时间向用户示出信息卡220c。在一些实施方式中,目标时间能够被计算为更接近事件的开始时间,或者能够基于将接收信息卡的用户的当前位置来被重新计算(例如,基于Bob的当前位置,Bob可能需要90分钟来驾车前往午餐约会)。
在一些实施方式中,目标时间能够是过去的时间,并且信息卡能够提供对在过去向用户显现的事件或实体的提醒。例如,信息卡220c能够不基于事件,而基于与NYSE相关的内容的过去的呈现。
在一些实施方式中,确定呈现一个或多个信息卡的时间能够包括确定过去的一个或多个预定时间,以及针对每个时间,确定用于向用户呈现的一个或多个信息卡。例如,信息卡引擎122能够确定呈现信息卡220c的多个时间,并且这些时间能够基于首次向用户呈现信息卡220c所基于的、与NYSE相关联的内容的时间。
在一些实施方式中,预定时间能够依赖于用户的当前场境而变化。例如,基于用户206的当前动作——例如在偶然在互联网冲浪或者应用中间,信息卡引擎122能够延迟或加速数据卡的生成(例如基于用户的当前位置)。在一些实施方式中,信息卡能够在用户请求时显现——诸如在打开显示和/或管理信息卡的应用或工具的时候,和/或通过请求所有或特定信息卡被呈现来显现。能够使用用于显现信息卡的其他信号。
在第一时间,具有与第一时间相对应的时间戳的实体位于存储器中(312)。例如,基于目标时间和与所存储的实体中的相应实体相关联的时间戳的比较,信息卡引擎122能够从所存储的实体131中识别实体以用于生成信息卡。例如,对于为Carol和Bob所排程的午餐约会,信息卡引擎122能够识别与即将发生的午餐约会相关联的、待在信息卡中使用的信息。例如,Carol的电话号码能够是被识别以用于生成包括对Bob的提醒的信息卡的实体。信息卡能够在午餐约会之前一个小时的目标时间被发送并且能够包括Carol的手机号码。
在一些实施方式中,识别实体能够进一步包括:辨识快照中的文本,以及对该文本进行解析以识别实体。例如,快照评估引擎121能够辨识:快照202包括文本。快照评估引擎121能够以各种方式来提取文本,诸如通过使用光学字符辨识(OCR)或者其他字符辨识技术来提取、通过从超文本标记语言(HTML)或被用于生成内容(例如,内容204a或204b)的其他代码中提取文本,或者通过其他技术来提取。在一些实施方式中,辨识快照中的文本能够包括:使用自然语言处理技术,例如其使用与文本中的词或短语相关联的语法,或者快照的源(例如,基于电子邮件格式,日历条目格式、或者其他格式)。在一些实施方式中,其他视觉辨识技术能够被应用于快照,例如对象识别、地标识别、和/或从图像中检测实体的其他方式。
信息卡基于经定位的实体中的一个或多个来生成(314)。例如,信息卡引擎122能够生成包括一个或多个所识别的实体131的信息卡201(例如,包括Carol的手机号码的信息卡)。
生成的信息卡被提供用于呈现给用户(316)。例如,一旦信息卡201被生成,信息卡201就可以被呈现多次,例如在用户设备106a的屏幕208c上呈现。
在一些实施方式中,存储所识别的实体能够包括:存储与所识别的实体相关联的场境信息,以及呈现信息卡能够进一步包括:将场境信息连同关于所识别实体的信息一起在信息卡上呈现。例如,当由快照评估引擎121评估快照202时,还能够针对场境信息来确定和存储信息,场境与包括实体的相应快照相关联(例如,识别电子邮件消息和即将发生的午餐约会)。例如,在信息卡201被提供用于呈现时,信息卡201能够包括场境224a(例如识别午餐约会电子邮件或相关联的信息)。其他示例场境在场境224b和224c中示出。
图4是可以被用来实现本文档中所述的系统和方法的、作为客户端或作为服务器或多个服务器的示例计算设备400、450的框图。计算设备400意图表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片式服务器、大型主机、以及其他适当的计算机。计算设备400进一步意图表示任何其他的通常非移动的设备,诸如电视或具有嵌入其中或附接至其上的一个或多个处理器的其他电子设备。计算设备450意图表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话、以及其他计算设备。这里所示的组件、它们的连接和关系、以及它们的功能仅意在作为示例,并且不意在限制在本文档中所描述和/或要求保护的技术的实施方式。
计算设备400包括处理器402、存储器404、存储设备406、连接到存储器404和高速扩展端口410的高速控制器408、以及连接到低速总线414和存储设备406的低速控制器412。组件402、404、406、408、410、和412中的每个都使用各种总线互连,并且可以在公共主板上或者视情况以其他方式安装。处理器402可以处理指令以用于在计算设备400内执行,所述指令包括存储在存储器404中或存储设备406上以在诸如耦合到高速控制器408的显示器416的外部输入/输出设备上显示GUI的图形信息的指令。在其他实施方式中,多个处理器和/或多个总线能够视情况与多个存储器和多个类型的存储器一起使用。而且,多个计算设备400可以被连接,其中每个设备提供必要操作的部分(例如,作为服务器组、刀片式服务器的群组、或者多处理器系统)。
存储器404在计算设备400内存储信息。在一个实施方式中,存储器404是计算机可读介质。在一个实施方式中,存储器404是一个或多个易失性存储器单元。在另一实施方式中,存储器404是一个或多个非易失性存储器单元。
存储设备406能够提供用于计算设备400的大容量存储。在一个实施方式中,存储设备406是计算机可读介质。在各种不同的实施方式中,存储设备406可以是软盘设备、硬盘设备、光盘设备、或者磁带设备、闪速存储器或其他类似的固态存储器设备、或者设备的阵列——包括存储区域网络或其他配置中的设备。在一个实施方式中,计算机程序产品有形地以信息载体来体现。计算机程序产品包含指令,其在被执行时实施一个或多个方法——诸如上述的那些方法。信息载体是计算机或机器可读介质,诸如存储器404、存储设备406、或者处理器402上的存储器。
高速控制器408管理计算设备400的带宽密集型操作,而低速控制器412管理较低的带宽密集型操作。这样的职责分配只是示例。在一个实施方式中,高速控制器408耦合到存储器404、显示器416(例如,通过图形处理器或加速器),以及耦合到高速扩展端口410,其可以接受各个扩展卡(未示出)。在该实施方式中,低速控制器412耦合到存储设备406和低速总线414。可以包括各种通信端口(例如,USB、以太网、无线以太网)的低速总线414(例如低速扩展端口)可以耦合到一个或多个输入/输出设备——诸如键盘、指示设备、扫描仪、或者例如通过网络适配器来耦合到诸如开关或路由器的联网设备。
计算设备400可以以多种不同形式来实现,如图所示。例如,其可以被实现为标准服务器420,或者在这样的服务器的群组中多次实现。其还可以被实现为机架式服务器系统424的一部分。此外,其可以以诸如膝上型计算机422的个人计算机来实现。替选地,来自计算设备400的组件可以与诸如计算设备450的移动设备中的其他组件(未示出)相组合。这样的设备中的每一个可以包含计算设备400、450中的一个或多个,并且整个系统可以由彼此通信的多个计算设备400、450构成。
除了其他组件以外,计算设备450包括处理器452、存储器464、诸如显示器454的输入/输出设备、通信接口466、以及收发器468。计算设备450还可以被提供有存储设备——诸如微型驱动器或者其他设备以提供额外的存储。组件450、452、464、454、466、和468中的每个使用各种总线互连,并且组件中的若干组件可以被安装在公共主板上或者视情况以其他方式安装。
处理器452能够处理指令以用于在计算设备450内执行,所述指令包括存储在存储器464中的指令。处理器还可以包括分离的模拟和数字处理器。例如,处理器可以提供计算设备450的其他组件的协调,诸如对用户接口、计算设备450运行的应用、以及计算设备450进行的无线通信的控制。
处理器452能够通过耦合到显示器454的控制接口458和显示接口456与用户通信。例如,显示器454可以是TFT LCD显示器或者OLED显示器,或者其他适当的显示技术。显示接口456可以包括适当电路以用于驱动显示器454向用户呈现图形和其他信息。控制接口458可以从用户接收命令并且将它们变换以用于提交给处理器452。此外,可以提供与处理器452通信的外部接口462,从而使得计算设备450能够与其他设备进行近区域通信。例如,外部接口462可以提供有线通信(例如经由对接程序(docking procedure))或者无线通信(例如经由或其他这样的技术)。
存储器464在计算设备450内存储信息。在一个实施方式中,存储器464是计算机可读介质。在一个实施方式中,存储器464是一个或多个易失性存储器单元。在另一实施方式中,存储器464是一个或多个非易失性存储器单元。还能够提供扩展存储器474并通过扩展接口472将其连接到计算设备450,扩展接口472可以包括例如订户识别模块(SIM)卡接口。这样的扩展存储器474能够为计算设备450提供额外的存储空间,或者还可以存储计算设备450的应用或其他信息。具体地,扩展存储器474可以包括执行或补充上述过程的指令,并且可以还包括安全信息。因此,例如,扩展存储器474可以被提供作为计算设备450的安全模块,并且可以被编程有许可对计算设备450的安全使用的指令。此外,可以经由SIM卡提供连同额外信息一起的安全应用,诸如以不可非法侵入的方式将识别信息设置在SIM卡上。
如下面所讨论的,存储器可以包括例如,闪速存储器和/或MRAM存储器。在一个实施方式中,计算机程序产品有形在信息载体中体现。计算机程序产品包含指令,其在被执行时实施一个或多个方法——诸如上述的那些方法。信息载体是计算机或机器可读介质,诸如存储器464、扩展存储器474、或者处理器452上的存储器。
在必要的情况下,计算设备450可以通过通信接口466无线地通信,通信接口466可以包括数字信号处理电路。通信接口466可以提供在各种模式或协议下的通信,除了其他以外,诸如GSM语言通话、SMS、EMS或MMS消息传递、CDMA、TDMA、PDC、WCDMA、CDMA2000或者GPRS。例如,这样的通信可以通过收发器468(例如,射频收发器)而发生。此外,短距离通信可以诸如使用WiFi、或者其他这样的收发器(未示出)而发生。此外,GPS接收器模块470可以向计算设备450提供额外无线数据,其视情况可以被运行在计算设备450上的应用使用。
计算设备450还可以使用音频编解码器460来可听地通信,可以从用户接收说出的信息且将其变换为可使用的数字信息。同样,音频编解码器460可以为用户生成可听的声音,诸如通过例如,在计算设备450的送受话器中的扬声器来生成。这样的声音可以包括来自语音电话呼叫的声音,可以包括已记录的声音(例如,语音消息、音乐文件等)并且还可以包括在计算设备450上操作的应用所生成的声音。
计算设备450可以用多个不同形式来实现,如图所示。例如,其可以被实现为蜂窝电话480。其还可以被实现为智能电话482、个人数字助理、或其他移动设备的一部分。
这里所述的系统和技术的各个实施方式可以用数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件、和/或其组合来实施。这些各个实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现,所述可编程系统包括至少一个可编程处理器、至少一个输入设备以及至少一个输出设备,所述可编程处理器可以是专用或通用的处理器,其被耦合以从存储系统接收数据和指令,以及传送数据和指令到存储系统。
这些计算机程序(还被称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且能够用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实现。能够使用其他编程范例,例如功能性编程、逻辑编程、或者其他编程。如本文所使用的,术语“机器可读介质”指代用于提供机器指令和/或数据给可编程处理器的任何计算机程序产品、装置、和/或设备(例如磁盘、光盘、存储器、可编程逻辑器件(PLD)),其包括接收机器指令以作为机器可读信号的机器可读介质。术语“机器可读信号”指代用于提供机器指令和/或数据给可编程处理器的任何信号。
为了提供与用户的交互,这里所述的系统和技术能够在计算机上实现,该计算机具有用于向用户显示信息的显示设备(例如CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户能够通过其向计算机提供输入的键盘和指示设备(例如鼠标或轨迹球)。其他种类的设备也能够被用来提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感官反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且来自用户的输入能够以任何形式接收,包括声学、语音、或触觉输入。
这里所述的系统和技术能够在计算系统中实现,该计算系统包括后端组件(例如,作为数据服务器)、或包括中间件组件(例如,应用服务器)、或包括前端组件(例如,具有用户通过其能够与这里所述的系统和技术的实现交互的图形用户界面或web浏览器的客户端计算机)、或这样的后端、中间件、或前端组件的任何组合。系统的组件能够通过数字数据通信的任何形式或介质(例如通信网络)来互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)、和互联网。
计算系统能够包括客户端和服务器。客户端和服务器一般互相处于远程并且通常通过通信网络交互。客户端和服务器的关系借助于运行在相应计算机上且彼此具有客户端-服务器关系的计算机程序而产生。
尽管本说明书包含许多特定实施方式细节,但这些不应当被解释为对任何技术的范围或可以要求保护的范围的限制,而应当被解释为对特定技术的特定实施方式的特征的描述。本说明书中在单独实施例的场境中所描述的某些特征还能够在单个实施方式的组合中实现。相反,单个实施方式的场境中所述的各个特征也能够分别在多个实施方式中单独地或者以任何合适的子组合来实现。此外,尽管特征可以在上面被描述为以特定组合来动作并且甚至最初如此要求保护,但是在一些情况下来自所要求保护的组合的一个或多个特征能够从组合中被删去,并且所要求保护的组合可以涉及子组合或子组合的变型。
类似地,尽管附图中以特定次序描绘了操作,但是这不应当被理解为需要这样的操作以所示的特定次序或者以连续顺序来执行,或者所有图示的操作都被执行才能以达到所需结果。在某些状况下,多任务和并行处理可能是有利的。而且,上述的实施方式中的各个系统组件的分离不应当被理解为在所有实施方式中都需要这样的分离,并且应当理解,所述的程序组件和系统通常能够一起整合到单个软件产品中或者封装到多个软件产品中。因此,已经描述了本主题的特定实施方式。其他实施方式落入所附权利要求书的范围内。在一些情况下,权利要求书中所记载的动作能够以不同顺序来执行且仍旧达到所需结果。此外,附图中所描绘的过程不必要求所示的特定顺序或者连续顺序来达到所需结果。在某些实施方式中,多任务和并行处理可能是有利的。