针对移动屏上内容提供自动动作的制作方法

文档序号:11160958阅读:270来源:国知局
本申请要求于2014年8月21日提交的、题为“PROVIDINGAUTOMATICACTIONSFORMOBILEONSCREENCONTENT(针对移动屏上内容提供自动动作)”的美国非临时专利申请No.14/465,265的优先权并且是其继续申请,其通过引用全部并入本文。
背景技术
::移动设备——诸如智能电话和平板计算机的使用一直在增加。但是在移动环境中在应用之间导航可以是冗杂的,因为移动应用一般执行特定功能并且通常不交互。此外,移动应用能够在它们提供的特征上显著地不同,并且因为外部输入设备的有限屏幕大小和有限使用,导航能够易于出错的并且相对费时。技术实现要素:实施方式提供了界面,该界面允许移动设备的用户快速且容易地执行与该用户在该移动设备上当前正查看的内容相关的各种动作。例如,所述系统可以在被显示在移动设备上的屏幕中识别实体并且提供界面以用于针对每个实体发起动作、以及显现关于所述实体的信息的摘录。所述实体可以包括知识库——诸如知识图中的人、地点、或事物,或者可以是在所述移动设备本地或者对其远程但与所述用户相关联的数据存储中的联系人。所述系统可以对所述实体进行排名以确定与所述用户最相关的那些实体并且针对最相关的经排名实体来生成具有建议动作的动作卡片。针对实体的所述动作卡片中提供的所述动作以及显示在所述动作卡片中的任何信息可以取决于针对所述实体的搜索结果。根据本公开的某些方面,一种方法包括:对从移动设备的显示捕捉的内容执行辨识;在所述内容中识别多个实体;以及针对所述多个实体中的每一个发出相应查询。所述方法还包括:基于针对所述相应查询所返回的搜索结果,对所述多个实体进行排名;针对排名最高的实体中的至少一些实体,生成相应的动作卡片;以及提供所述动作卡片以用于向所述移动设备的用户显示。根据另一方面,一种系统包括:至少一个处理器;经索引文档语料库(corpus);基于图的数据存储;以及存储指令的存储器,所述指令在由所述至少一个处理器执行时,使得所述系统执行操作。所述操作可以包括:对从移动设备的显示捕捉的内容执行辨识,以及在所述内容中识别多个实体。针对所述多个实体中的每一个,所述操作还可以包括向搜索引擎发出针对所述实体的相应查询,所述搜索引擎搜索所述基于图的数据存储和所述经索引文档语料库以针对所述实体来生成搜索结果。所述操作还可以包括:基于所述搜索结果对所述多个实体进行排名,以及将所述多个实体与相应的排名和搜索结果一起提供给所述移动设备,所述移动设备针对使用所述相应搜索结果所生成的排名最高的实体中的至少一些来生成动作卡片。在另一方面,一种系统包括:联系人数据存储;至少一个处理器;以及存储指令的存储器,所述指令在由所述至少一个处理器执行时,使得所述系统执行操作。所述操作可以包括:对显示在移动设备的显示器上的内容执行辨识、在所述内容中识别实体、以及确定在所述联系人数据存储中与所述实体相对应的至少一个联系人。所述操作还可以包括:针对所述实体来生成动作卡片,所述动作卡片具有使用针对所述联系人的、来自所述联系人数据存储的第一信息的第一动作以及使用针对所述联系人的、来自所述联系人数据存储的第二信息的第二动作;以及将所述动作卡片显示在所述显示器上。在另一方面,包含在计算机可读存储设备上的计算机程序产品包括指令,所述指令在由形成在基底中的至少一个处理器来执行时,使得计算设备执行本文中所公开的经公开方法、操作、或过程中的任何一个。本文中所描述的主题的实施方式中的一个或多个能够被实现以便实现以下优点中的一个或多个。作为一个示例,实施方式可以提供具有对用户有用的动作的接口,所述动作能够在无需在移动环境中导航穿过各个应用和屏幕的情况下被发起。因此,动作可以被视为是自动的。实施方式能够提供不管底层应用如何——例如跨任意界面的界面,其提供跨在设备上运行的所有移动应用来访问相同功能的能力。实施方式基于底层内容来为提供用户很可能感兴趣的实体提供建议动作。这些动作是有用的,因为它们与内容的底层场境相关。换言之,建议动作适合于并且基于内容的类型。例如,评论动作适合于电影或餐馆但是不适合于人。类似地呼叫动作适合于人而不是电影。所述动作可以表示指向特定移动应用的深度链接,从而通过减少用户输入运动的量以及减少在完成动作中输录(typographical)错误的可能性来节约用户时间和免受挫折。在一些情况下,显示在动作卡片上的信息可以消除用户导航到另一应用以查找该信息的需要。在附图和以下描述中阐述一个或多个实施方式的细节。其它特征根据本说明书和附图以及根据权利要求书将变得显而易见。附图说明图1是依据所公开的主题的、图示了示例系统的框图。图2图示了移动计算设备的示例显示。图3图示了提供基于图2的显示来生成的建议动作的示例用户界面。图4图示了依据所公开的实施方式的、用于针对在移动屏幕的内容中识别的至少一些实体来提供动作卡片的示例过程的流程图。图5图示了依据所公开的实施方式的、用于针对实体来确定动作的示例过程的流程图。图6图示了依据所公开的实施方式的、用于选择缺省动作的示例用户界面。图7示出了能够被用来实现所公开的技术的计算设备的示例。图8示出了能够被用来实现所公开的技术的分布式计算设备的示例。各个附图中相似的附图标记指示相似的元素。具体实施方式图1是依据示例实施方式的移动动作建议系统的框图。系统100可以被用来针对在被显示在移动设备上的屏幕的内容中所标识的实体来提供建议动作。实体可以是人、地点、项目、想法、主题、词、短语、抽象概念、实在元素、其它合适的事物、或这些的任何组合。图1中的系统100的描绘是客户端-服务器系统,其中在服务器110处发生一些数据处理。然而,可以使用其它配置和应用。例如,在一些实施方式中,系统100可以仅包括移动设备170,并且可以在移动设备170上排他地发生所有数据处理。在一些实施方式中,大多数处理可以在移动设备170上完成并且服务器110可以被用来例如经由搜索引擎107来提供信息。在一些实施方式中,移动设备170的用户可以指示处理的部分在服务器110处被执行。例如,用户可以提供在一个或多个远程服务器上的联系人数据存储(contactsdatastore)的位置,移动设备170能够访问该联系人数据存储以识别联系人实体。因此,实施方式不限于图1中所图示的确切配置。移动动作建议系统100可以包括移动设备170。移动设备170可以是在封闭移动环境而不是常规的开放式基于web的环境中操作的任何移动个人计算设备,诸如智能电话或其它手持式计算设备、平板计算机、可穿戴计算设备等。移动设备170可以是如图7中所描绘的计算设备700的示例。移动设备170可以包括形成在基底中的一个或多个处理器,其被配置成执行一个或多个机器可执行指令或软件的片、固件或其组合的。移动设备170可以包括操作系统(未示出)以及被配置成暂时地、永久地、半永久地、或其组合地存储一个或多个数据片的一个或多个计算机存储器。因此,移动设备170可以包括移动应用,包括自动动作应用175,其表示处于软件、固件、或其组合的形式的机器可执行指令。常规地,移动应用在封闭环境中操作,这意味着用户采用单独的应用来执行常规上在基于web的浏览器环境中执行的活动。例如,不同于前往hotels.com来预约旅馆或者前往opentable.com来进行预订,移动设备170的用户能够使用分别由hotels.com或opentable.com提供的移动应用。虽然自动动作应用175被图示为在移动设备170上运行的移动应用,但是要理解的是,在自动动作应用175中标识的组件中的一个或多个可以是操作系统的一部分。在一些实施方式中,自动动作应用175的所有组件可以是操作系统的一部分。在一些实施方式中,可以在服务器110处执行自动动作应用175的组件中的一个或多个。自动动作应用175可以包括屏幕捕捉引擎201。屏幕捕捉引擎201可以被配置成捕捉当前屏幕(例如,通过复制或者读取设备的帧缓冲区的内容来捕捉)。屏幕捕捉引擎201可以每隔一定时间或者根据移动设备170的用户180的命令来捕捉当前屏幕。例如,用户可以执行启动屏幕捕捉引擎201和自动动作应用175的动作,诸如向上轻扫、向下轻扫、斜向轻扫、双指轻扫等。替选地,屏幕捕捉引擎201可以以可能为小间隔的某个间隔——诸如每半秒或每秒来捕捉屏幕,并且用户动作可以使用最新近捕捉的屏幕来经由该动作启动自动动作应用175。在一些实施方式中,屏幕捕捉引擎201可以通过复制针对屏幕所生成的辅助访问(accessibility)数据来捕捉屏幕。例如,一些移动设备170的操作系统可以生成描述当前屏幕的文本文件,例如以协助具有视觉缺陷的人。在一些实施方式中,屏幕捕捉引擎201可以在捕捉当前屏幕时除了使用来自帧缓冲区的信息之外还使用此文本文件或者代替来自帧缓冲区的信息其而使用此文本文件。因此,对屏幕捕捉图像、所捕捉的屏幕、或屏幕内容的引用被理解成包括:帧缓冲区的内容、辅助访问文件中的内容、或这两者。在一些实施方式中,所述屏幕可以是在移动设备上先前捕捉的屏幕。例如,移动设备可以包括代理,其在用户许可的情况下每隔一定时间捕捉当前屏幕并且对屏幕的内容编索引以使得用户能够搜索先前捕捉的屏幕。用户能够对先前捕捉的屏幕执行的动作中的一个是:针对在屏幕中识别的实体生成动作。屏幕捕捉引擎201可以将所捕捉的屏幕内容和元数据提供给实体提取引擎202。元数据可以包括时间戳、移动设备类型、移动设备的位置、移动设备标识符、在屏幕被捕捉时正运行的移动应用——或者换言之生成屏幕的应用、以及其它设备信息——诸如哪些应用是活动的、环境光、设备的运动等。元数据可以协助内容分析(例如,实体消歧)以及判定什么内容是最相关的。实体提取引擎202可以包括一个或多个辨识引擎。辨识引擎可以被配置成使用常规的或后来开发的技术来对所捕捉的屏幕执行各种类型的辨识,包括字符辨识、图像辨识、徽标辨识等。因此,实体提取引擎202可以被配置成:从所捕捉的屏幕中确定文本、地标、徽标等以及这些项目在屏幕中的位置。使用在所捕捉的屏幕中辨识的文本、地标、徽标等,实体提取引擎202可以识别实体。实体识别涉及若干技术,包括词性标记、依存句法分析、名词短语提取、以及共指消解。词性标记识别文档的文本中的每个词属于的词性。依存句法分析识别词性之间的关系。名词短语提取识别诸如短语“BarackObama(巴拉克·奥巴马)”、“SecretaryClinton(国务卿克林顿)”或“FirstLady(第一夫人)”的名词短语或者将其分隔。换言之,名词短语提取目标在于识别对实体的潜在提及,包括被用来描述它们的词。共指消解目标在于使代词或代名词与名词短语相匹配。实体提取引擎202可以将任何常规的技术用于词性标记、依存句法分析、名词短语提取、以及共指消解。实体提取引擎202还可以使用常规的名称标识技术——诸如名称分类器来识别可能为名称的文本。这样的文本可以被视为实体。实体提取引擎202可以将可能的名称发送到一个或多个联系人数据存储以了解是否有任何实体与该名称匹配。例如,搜索引擎210可以被用来针对与可能的名称相匹配的联系人,来搜索用户180标识的联系人数据存储250和/或远程联系人数据存储——诸如联系人150。联系人数据存储可以是地址簿、社交媒体联系人、电子邮件联系人、邮件列表等,并且可以被本地地存储在移动设备——诸如联系人250上,或者可以是远程的,例如联系人150。实体提取引擎202可以可选地试图将屏幕内容中的实体与数据图——诸如数据图130或数据图230或这两者中的实体相匹配。屏幕内容中的单个实体可以与数据图中的多于一个实体相匹配。例如,屏幕内容中的文本“Jaguar(美洲豹)”可以和数据图中的三个实体匹配:一个表示动物,一个表示NFL球队,并且第三个表示汽车。在一些实施方式中,实体提取引擎202可以使用实体消歧以使用常规的或后来发现的技术来选择数据图中的实体中的一个作为屏幕内容中所提及的实体。要理解的是,实体可以与文本或者与图像和徽标相关联。例如,大本钟(BigBen)的图片可以与数据图中的表示大本钟的实体相关联。类似地,奥巴马总统的图片可以与数据图中的表示巴拉克·奥巴马的实体相关联。因此,实体提取引擎202可以在图像以及文本中识别实体。实体提取引擎202可以发出(issue)针对在屏幕内容中识别的实体的查询。在一些实施方式中,实体提取引擎202可以向诸如搜索引擎107的搜索引擎发出该查询。如将在下面更详细地讨论的,搜索引擎107可以生成搜索结果并且可以提供关于查询的其它信息。在一些实施方式中,自动动作应用175可以包括搜索引擎210,其搜索本地存储的数据图230和/或联系人250。搜索引擎210还可以搜索远程地定位的联系人数据存储——诸如联系人150。搜索引擎210可以返回包括来自联系人数据存储的信息的查询结果以及与由搜索引擎107提供的那些搜索结果类似的搜索结果。自动动作应用175还可以包括实体排名引擎203。基于搜索结果,该实体排名引擎可以基于查询结果、关于查询的信息、以及搜索结果的源来对所识别的实体进行排名并且针对动作卡片来选择实体。例如,在联系人数据存储中找到的实体可以自动地接收高排名。实体排名引擎203可以为动作卡片选择排名最高的实体。在一些实施方式中,实体排名引擎203可以使用与用户简档相关联的实体——诸如经排名实体240来确定哪些实体是排名最高的。经排名实体240可以包括:对实体例如基于用户提供的简档而与用户有多相关、或者在用户许可情况下该实体多久在用户浏览的内容中被识别一次的指示。动作卡片引擎204可以针对每个所选择的实体生成动作卡片。动作卡片包括针对实体用户能够选择的一个或多个动作。该动作基于针对实体的搜索结果。例如,在联系人数存储中找到的实体可以具有动作,诸如呼叫、消息、电子邮件、示出信息等。该动作可以是由移动设备170确定的缺省动作或者可以是由用户180选择并且例如存储在联系人动作255中的动作。因此,用户可以能够定制针对在联系人数据存储中找到的实体而示出的建议动作。数据图中的实体可以具有基于搜索结果的动作。例如,如将在本文中更详细地解释的,可以从知识板块中或者从作为常规搜索结果所提供的链接和数据中提取动作。如将在本文中更详细地解释的,动作卡片引擎204还可以基于实体的类型及其排名来按顺序布置卡片。实体提取引擎202可以在移动设备170或服务器——诸如服务器110或这两者上操作。例如,实体提取引擎202可以具有在移动设备170上的一个或多个组件,其在内容中寻找可能的名称并且在联系人数据存储中寻找那些实体;并且实体提取引擎202可以具有在服务器110上的一个或多个组件,其在图像和文本中辨识实体并且试图将这些实体与数据图中的实体相匹配。作为另一示例,屏幕捕捉引擎201可以将屏幕内容发送到服务器110,其中内容由辨识引擎分析并且辨识引擎可以将所识别的实体发送到移动设备170以供进一步处理。在一些实施方式中,服务器110可以继续实体识别和排名、将搜索结果、排名、或动作卡片发送到移动设备170以供进一步处理。当然,在一些实施方式中实体提取引擎202可以单独驻留在移动设备170上。移动设备170还可以包括数据177,其被存储在移动设备170的存储器中并且由移动应用使用,所述移动应用包括操作系统和自动动作应用175。当被存储在移动设备170上的数据177中时,数据图230可以是图1的数据图130中的实体和关系的子集,特别是在数据图130包括数以百万计的实体和数以十亿计的关系的情况下。例如,数据图230中的实体和关系可以表示来自数据图130的最流行的实体和关系,或者可以基于用户偏好来选择。例如,如果用户具有简档,则实体和关系可以基于该简档被选择以用于包括在数据图230中。联系人动作255可以表示用户针对在联系人数据存储——诸如联系人250和联系人150中找到的联系人来选择的动作。该动作可以基于存储在联系人数据存储中的信息。例如,动作可以包括:呼叫联系人的家庭电话号码、呼叫联系人的移动电话号码、在地图上示出联系人的地址、向联系人发送电子邮件、向联系人发送文本消息、查看联系人的信息、在社交媒体站点上或者在社交媒体移动应用中打开联系人的页面等。因此,通过选择联系人动作,用户能够在动作卡片上定制动作。在一些实施方式中,联系人动作255可以被存储在可由多个计算设备访问的位置中,使得例如用户180能够跨多个移动计算设备而具有相同的缺省动作。联系人数据存储250可以表示任何类型的数据存储,其被用来存储用户180认识的人或企业的信息。例如,联系人数据存储250可以是以下中的一个或多个:地址簿、来自日历或邮件应用的联系人、来自社交媒体站点的联系人、来自邮件发送列表的联系人等。移动动作建议系统100可以包括服务器110,其可以是计算设备或采取多个不同设备的形式的设备,例如标准服务器、这样的服务器的群组、或者机架服务器系统。例如,可以跨多个计算设备来以分布式方式来实现服务器110。此外,可以将服务器110实现在个人计算机——例如膝上型计算机中。服务器110可以是如图7中所描绘的计算设备700或如图8中所描绘的计算设备800的示例。服务器110可以包括被形成在基底中的一个或多个处理器,其被配置以执行一个或多个机器可执行指令或软件片、固件、或其组合。服务器110还能够包括一个或多个计算机存储器。存储器——例如主存储器可以被配置成暂时地、永久地、半永久地、或其组合地来存储一个或多个数据片。存储器可以包括以能够由一个或多个处理器读取和/或执行的格式来存储信息的任何类型的存储设备。存储器可以包括易失性存储、非易失性存储器、或其组合,并且存储在由一个或多个处理器执行时执行某些操作的模块。在一些实施方式中,模块可以被存储在外部存储设备中并且被加载到服务器110的存储器中。移动动作建议系统100可以包括数据图130。数据图130可以是大型的基于图的数据存储,其以提供用于演绎推理(deductivereasoning)的形式来存储描述关于数据的知识的数据和规则。例如,在数据图中,可以以与其它实体的关系以及关于实体的性质或属性的形式来存储关于实体的信息。作为非限制性示例,实体可以包括人、地点、项目、想法、主题、词、短语、抽象概念、实在元素、其它合适的事物、或者这些的任何组合。实体可以通过表示关系的加标签的边来彼此相关。加标签的边可以是有向的或无向的。例如,表示国家橄榄球联盟的实体可以通过“具有团队(hasteam)”关系来与Jaguar实体相关相关。具有大量实体以及甚至有限数目的关系的数据图可以具有数十亿个连接。在一些实施方式中,数据图130可以被存储在可从服务器110和/或移动设备170访问的外部存储设备中。在一些实施方式中,数据图130可以跨多个存储设备和/或多个计算设备——例如多个服务器分布。数据图130中的实体、属性、和关系可以是可例如经由索引来搜索的。例如,索引可以包括实体通过其已被引用的文本。因此,对数据图130的引用可以被理解成包括索引,其使用文本等同物来促进找到实体。移动动作建议系统100可以包括文档集120。文档集120可以包括用于在文档的语料库内搜索术语或短语的索引。在一些实施方式中语料库可以是可在互联网上获取的文档。文档可以包括存储内容的任何类型的文件,诸如声音文件、视频文件、文本文档、源代码、新闻文章、博客、web页面、PDF文档、电子表格等。在一些实施方式中,文档集120可以存储一维倒排列表(postinglists),其包括短语、词项、或文档特性以作为倒排列表值并且针对每个倒排列表值包括与短语、词项、或特性相关的文档的标识符。虽然所爬取的文档120的索引已被描述为使用倒排列表,但是该索引可以具有某个其它已知的或后来开发的格式。系统100还可以包括搜索记录125。搜索记录125可以包括搜索日志、从查询收集的经汇总数据,或者关于先前所处理的查询的日期/时间和搜索项目的其它数据。在一些实施方式中,搜索记录125可以由搜索引擎107在生成搜索结果的正常过程中生成。数据图130、文档集120、和搜索记录125被存储在被配置成以半永久或非瞬时形式存储数据的有形计算机可读存储设备——例如盘、闪存、高速缓存存储器、或其组合上。在一些实施方式中,数据图130、文档集120、和搜索记录125可以被存储在各种存储器的组合中和/或可以跨多个计算设备分布。在一些实施方式中,系统100可以包括索引引擎105,所述索引引擎105包括一个或多个处理器,其被配置来执行一个或多个机器可执行指令或软件片、固件、或其组合以创建并维护数据图130和/或文档集120等。索引引擎可以从例如一个或多个服务器获得内容,并且使用该内容来维护数据图130和/或文档集120。在一些实施方式中,服务器可以是web服务器、专用网络上的服务器、或者可由索引引擎访问的其它文档源。索引引擎可以是一个或多个单独的计算设备,使得数据图130由计算设备的第一集合来维护并且文档集120由计算设备的第二集合来维护等。服务器110可以包括搜索引擎107。搜索引擎107可以包括一个或多个计算设备,其使用数据图130和/或文档集120以例如使用常规的或其它信息检索技术来确定查询的搜索结果。搜索引擎107可以包括从请求者——诸如移动设备170接收查询并且向该请求者提供搜索结果的一个或多个服务器。例如,搜索引擎107可以从自动动作应用175或自动动作应用175的组件——诸如实体提取引擎202接收查询。查询可以包括对于实体的文本引用、描述实体的文本、实体标识符等。查询还可以包括能够帮助搜索引擎107生成查询结果的元数据,诸如移动设备的位置。搜索结果可以包括:来自响应于查询的文档的信息、来自数据图130中的关系和实体的信息(例如事实)、和/或关于来自搜索记录的查询的信息性质(例如流行度、频率、最频繁选择的搜索结果等)。如上面所讨论的,数据图130可以通过表示关系并且包括实体的属性或性质的边来连接实体。当搜索引擎107查询数据图130时搜索结果可以包括知识板块。知识板块一般包括基于数据图中的实体类型和关系的、所请求的关于特定实体的最常见信息。知识板块可以包括对实体的简要描述以及实体的属性和关系。例如,表示位置的实体的知识板块可以包括电话号码和地址并且可能包括评级、图片、网站、到描述该实体的百科全书或维基页面的链接等。表示人的实体的知识板块可以包括传记信息、他们已演过的电影、图片等。搜索结果还可以包括来自文档集的信息,例如处于指向web页面的链接以及描述web页面或其内容的摘录(snippet)的形式的信息。因此,由搜索引擎107响应于查询而生成的搜索结果可以包括来自对数据图130的搜索和/或对文档集120的搜索的结果。搜索引擎107还可以向自动动作应用175提供关于查询的元数据,诸如其流行度。移动动作建议系统100可以包括与用户账户或简档相关联的数据存储。数据存储在图1中被图示为驻留在服务器110上,但是数据存储中的一个或多个可以驻留在移动设备170上或者在由用户指定的另一位置中。数据存储可以包括经排名实体140和联系人150。数据存储可以被存储在任何非暂时性存储器上。经排名实体140可以包括实体与用户有多相关的指示。移动设备170可以通过网络160与服务器110以及与其它移动设备通信。例如,网络160可以是互联网,或者网络160可以是使用例如网关设备、桥接器、交和/或换机等来实现的有线或无线局域网(LAN)、广域网(WAN)等。网络160还可以表示蜂窝通信网络。经由网络160,服务器110可以与移动设备170通信并且向/从移动设备170传送数据,并且移动设备170可以与服务器110通信。移动动作建议系统100表示一个示例配置并且实施方式可以包含其它配置。例如,一些实施方式可以将屏幕捕捉引擎201、实体提取引擎202、实体排名引擎203、动作卡片引擎204、以及搜索引擎210的组件中的一个或多个组合成单个模块或引擎,并且自动动作应用175的组件中的一个或多个可以由服务器——诸如服务器110执行。作为另一示例,数据存储中的一个或多个——诸如数据图130、联系人150、经排名实体140、联系人250、联系人动作255、数据图230、以及经排名实体240可以被组合成单个数据存储或者可以跨多个计算设备分布,或者可以被存储在服务器处。尽管仅图示了一个服务器110,然而要理解的是,移动动作建议系统100可以包括多个服务器并且作为服务器110的一部分所图示的组件可以跨不同的服务器分布。例如,联系人数据存储150和经排名实体140数据存储可以在与文档集120和数据图130不同的服务器上。作为另一示例,数据图130和/或文档集120可以跨多个服务器分布。就移动动作建议系统100收集并存储特定于用户的数据或者可以利用个人信息的方面,可以向用户提供机会来控制程序或特征是否收集用户信息(例如关于用户的社交网络、社交动作或活动、用户输入动作、职业、用户的偏好、或用户的当前位置的信息),或者用于控制是否和/或如何接收可能与用户更相关的内容。此外,某些数据可以在它被存储或使用之前以一个或多个方式处理,使得个人可识别的信息被去除。例如,可以处理用户的身份,使得无法确定用户的个人可识别信息,或者可以在获得位置信息的情况下一般化用户的地理位置(诸如到城市、ZIP编码、或州层级),使得无法确定用户的特定位置。因此,用户可以控制移动动作建议系统如何收集和使用信息关于用户的信息。为了在移动应用环境中提供个性化协助,所公开的实施方式可以在用户同意的情况下识别显示在移动设备的屏幕上的实体。系统可以使用搜索结果来对实体进行排名并且为排名最高的实体提供建议的动作以及关于动作卡片的其它信息。建议动作可以基于搜索结果。图2图示了移动计算设备的示例显示200。在图2的示例中,显示由移动应用生成,其允许一个用户向一个或多个其它用户发送文本消息以及接收文本消息。当然,实施方式不限于图2中所图示的移动应用。来自任何移动应用的任何内容可以充当自动动作建议的基础。图3图示了提供针对在图2的显示200中识别的实体所生成的建议动作的示例用户界面300。在图3的示例中,显示300图示了三个动作卡片,从显示200的内容识别的三个实体中的每一个各有一个卡片。第一动作卡片针对由标签340所图示的实体PeterSmith。PeterSmith是在联系人数据存储中的、与移动设备的用户相关联的联系人。在联系人数据存储中找到的针对实体的动作卡片可以被列举在相对于其它实体的动作卡片突出的位置中。显示300的针对PeterSmith实体的动作卡片包括由四个图标表示的四个建议动作。第一动作是呼叫动作310,由电话图标来表示。如果移动设备的用户选择呼叫动作310,则移动设备可以发起从电话应用到联系人数据存储中与PeterSmith相关联的电话号码的电话呼叫。类似地,与显示200中所图示的应用类似,消息动作345可以启动向联系人数据存储中所列举的PeterSmith的号码或地址的消息传送应用。邮件动作350可以通过打开地址为联系人数据存储中的PeterSmith的电子邮件地址的新消息来启动电子邮件应用。对信息动作355的选择可以打开显示联系人数据存储中PeterSmith的条目的内容的应用。取决于可在联系人数据存储中获取的信息,其它可能的动作可以是可能的。例如,其它动作可以打开PeterSmith的社交媒体页面,打开到PeterSmith的地址的地图,发起向PeterSmith的视频呼叫等。因此,实施方式不限于显示300中所图示的动作。此外,用户可以通过针对在联系人数据存储中识别的实体来选择可能的动作或者对可能的动作进行排名来定制建议动作。尽管在用户界面300中未图示,然而动作卡片还可以包括其它信息,诸如联系人的昵称、联系人的图片等。图3的用户界面300中所图示的第二动作卡片是针对由标签305所图示的餐馆Mr.Calzone的。标签305可以基于诸如数据图130的基于图的数据存储中的实体的文本描述,或者可以是来自屏幕——例如显示200的文本或图像。该动作卡片包括针对餐馆的四个缺省动作。第一动作是由电话图标表示的呼叫动作。第二动作是地图动作315。地图动作315可以打开到餐馆的地址的地图移动应用。例如,可以从针对与实体相关的查询所返回的搜索结果获得餐馆的电话号码和地址。第三动作是预订动作320。例如,当用户选择预订动作320时系统可以打开允许用户在餐馆处进行预订的移动应用。系统可以打开移动应用,其中餐馆已经被选择以使得用户不需要搜索该餐馆。在这个意义下,建议动作可以是深度链接。如果用户没有用于进行预订的移动应用,则系统可以打开浏览器应用以前往允许用户进行预订的网站。第四动作是信息动作325。信息动作325可以打开与餐馆相关的维基或百科全书页面或者可以打开或者显示餐馆的知识板块。当然,可以如将在本文中更详细地解释的那样基于搜索结果来呈现其它动作。该动作卡片还可以包括其它信息或动作。例如,该动作卡片可以包括能够从搜索结果获得的、到餐馆的官方网站的链接330和/或餐馆的简要描述335。图3中所图示的第三动作卡片是针对电影Gravity(地心引力)的。这个动作卡片也包括四个建议动作。第一动作是播放电影动作360。例如,该动作可以是指向电影预告片的链接。该链接可以打开浏览器应用以前往电影预告片或者可以打开电影相关的移动应用以前往电影预告片。第二动作是购票动作365。对购票动作365的选择可以打开允许用户购买在本地电影院处的电影票的移动应用或网站。第三动作是评级动作370。对评级动作370的选择可以打开具有电影的评论的移动应用,或者可以打开浏览器以前往提供对电影评论的网站。第四动作是信息动作,其可以与上面针对餐馆所讨论的信息动作325类似地起作用。该动作卡片还可以包括附加信息,诸如描述电影的摘录以及指向电影的官方网站的链接等。用户界面300可以是可导航的。例如,尽管仅图示了三个动作卡片,然而用户可以滚动用户界面300以展现针对附加实体的附加动作卡片。针对排名最高的实体的动作卡片可以出现在初始屏幕上,并且针对其它排名高的实体的动作卡片可以是可通过导航——例如滚动或者在‘next(下一个)’链接或图标上选择来访问的。在一些实施方式中,用户界面300可以提供用于选择显示在动作卡片中的实体的机制。例如,用户界面300可以包括过滤器控件375,其在被选择时打开允许用户来选择实体类型的用户界面过滤器。控件375可以是链接、按钮、复选框、或任何其它类型的控件。作为示例,当用户选择控件375时,系统可以使得用户能够选择来显示针对联系人和地点而非电影或餐馆等的动作卡片。可在过滤器中选择的实体类型可以基于具有在底层界面300中的动作卡片的实体类型。作为示例,如果用户界面300的用户使用过滤器来选择餐馆实体类型,则用户界面可以显示图3的示例中的第二动作卡片但是可以不显示第一动作卡片和第三动作卡片。如果存在针对其它餐馆的其它动作卡片,则系统可以显示那些动作卡片以作为替代。因此,用户可以交互地定制用户界面300。如所图示的,用户界面300向移动设备的用户提供了用于得到关于实体的信息以及针对该实体执行附加动作的捷径。例如,如果用户意图呼叫Peter以作出午餐安排,不同于必须退出消息传送应用、导航到电话应用、找到Peter的电话号码并且利用一个轻扫(例如向上轻扫、向下轻扫、斜向轻扫等)来发起呼叫,用户能够选择呼叫动作310以发起呼叫。因此,用户界面300向用户提供了完成动作的更快且更有效率的方法。图4图示了依据所公开的实施方式的、用于针对在移动屏幕的内容中所识别的至少一些实体来提供动作卡片的示例过程400的流程图。过程400可以由移动动作建议系统——诸如图1的系统100来执行。过程400可以被用来在移动设备的显示的内容中识别实体,对实体进行排名以确定与用户最相关的那些实体,以及针对实体中的至少一些实体来提供建议动作和基本信息。过程400可以通过接收移动设备上的屏幕的内容并且对该内容执行辨识来开始(405)。所捕捉的图像可以使用常规的技术——例如通过复制或者读取移动设备的帧缓冲区、和/或通过复制或者读取针对当前屏幕所生成的辅助访问数据来获得。系统可以对内容执行辨识。所辨识的项目可以是使用各种识别技术来定位的文本字符或数字、地标、徽标等,所述各种辨识技术包括字符辨识、图像辨识、徽标辨识等。因此,所辨识的项目可以包括词语以及位置、地标、徽标等。系统可以在辨识出的内容中找到实体(410)。例如,系统可以使用用于找到可能的实体的任何常规的技术来执行词性标记、依存句法分析、名词短语提取、以及共指消解。在一些实施方式中,系统可以查询数据图来确定实体实际上是否对应于该图中的一个或多个实体。系统还可以使用名称分类器或命名实体辨识算法来识别实体。当然,系统还可以根据图像辨识或徽标辨识来识别实体。在一些实施方式中,系统可以仅保持可能指代人(例如可能的人名)或者与数据图中的实体相对应的实体以供进一步处理。换言之,在这样的实施方式中系统可以丢弃不与数据图中的实体相对应并且很可能不是名称的实体。一旦系统已在屏幕内容中识别出实体,系统就可以针对每个实体向搜索引擎发出查询(415)。针对可能表示人的实体,系统可以直接搜索、或者向与用户相关联的一个或多个联系人数据存储发送查询。该查询可以在联系人数据存储中寻找作为名、姓、昵称、或其组合的实体。例如,系统可以使用API来访问联系人数据存储。系统还可以将实体作为查询来发送到搜索引擎。该查询可以包括场境(context)信息——诸如移动设备的位置,以帮助搜索引擎递送更相关的结果。搜索引擎可以对照多个数据源来处理查询和场境信息。例如,搜索引擎可以返回来自基于图的数据存储——诸如数据图130的结果。在一些实施方式中,来自数据图的搜索结果可以是知识板块或被用来生成知识板块的信息。知识板块可以包括来自数据图的、通常被请求或查看的实体的信息。搜索引擎还可以搜索文档集,诸如可通过互联网获取的文档。这样的集可以返回链接,每个链接是指向特定web站点、指向特定文档等的链接、以及对该网站或文档中的相关内容的摘录或短描述。系统可以接收针对实体的查询结果(420)。如上面所指示的,查询结果可以是从联系人数据存储返回的信息、知识板块或被用来生成知识板块的信息、以及包括关于文档的链接和文本的摘录的常规的搜索结果。如果存在尚未被查询的其它实体(425,是),则系统可以针对那些实体重复步骤414和420。当实体全部都被查询并且具有对应的搜索结果(425,否)时,系统可以对所述实体进行排名(430)。排名可能取决于若干因素,包括结果源、查询结果、以及其它查询信息。例如,在联系人数据存储中找到的实体可以被认为与移动设备的用户高度相关并且可以接收高排名。这样的实体也能够被称为联系人。因此,系统可以在相对于针对非联系人实体的动作卡片突出的位置中显示针对联系人的动作卡片。在一些实施方式中,当在联系人数据存储中找到多个联系人时,系统可以确定与每个联系人的交互的频率并且基于该频率来对联系人进行排名,从而向具有更高频率交互的联系人指派更高的排名。交互的频率可以基于聊天、呼叫、电子邮件、文本消息、视频聊天等。该信息可以是可在移动设备上获取的并且在用户许可的情况下能够通过用户账户来被增强。在一些实施方式中,如果实体是名并且两个联系人共享该名,则系统可以比具有更少交互的联系人优先地来选择具有更多交互的联系人。在一些实施方式中,如果交互的数目是接近的,则系统可以选择两个联系人,使得可以针对动作卡片来选择两个实体。在一些实施方式中,如果交互的频率不满足阈值则系统可能不给予联系人高排名。在这个情景中,系统可以在排名高的非联系人实体的动作卡片之后显示排名更低的联系人的动作卡片。针对不具有来自联系人数据存储的搜索结果的实体,系统可以使用查询结果以及关于该查询的信息来对实体进行排名。例如,包括知识板块的搜索结果可以导致排名的提升。作为另一示例,指示查询是流行的(例如是频繁的查询主题)的查询信息可以提升相对应的实体的排名。排名还可以基于实体是在哪里并如何出现在所捕捉的屏幕上的。例如,(当与屏幕的其余部分相比时)以大字体出现的实体可以接收排名的提升,或者处于标题中的或全大写字母的实体可以接收排名的提升。基于屏幕位置的实体的排名可以是特定于移动应用。例如,在大多数移动应用中出现在屏幕顶部处的实体可以接收排名的提升,但是在聊天应用中在出现更新近消息的屏幕的底部处提及的实体可以接收排名的提升。此外,具有更大量的个体相关文档的实体可以接收排名的提升。系统可以将实体中的一些选择作为动作卡片的主体(435)。在一些实施方式中,可以选择排名最高的实体中的预定数目的实体,例如三个或四个。在一些实施方式中,所有实体在它们的排名满足阈值的情况下被选择。这可能导致一次生成比移动设备的屏幕上能容纳的动作卡片更多的动作卡片,从而使用户界面可导航以看到附加的排名较低的动作卡片。系统可以针对每个所选择的实体来生成动作卡片(440)。如关于图5更详细地解释的,针对动作卡片所选择的动作以及任何文本摘录可以基于搜索结果。如图3的示例中所图示的,系统可以将动作卡片显示在移动设备的屏幕上(445)。系统可以根据动作卡片的排名来显示它们,使得针对排名较高的实体的动作卡片出现在相对于针对排名更低的实体的动作卡片突出的位置中。在一些实施方式中,针对联系人的所有动作卡片可以出现在相对于针对非联系人实体的动作卡片突出的位置中。然后,过程400结束。显示通过过程400所生成的用户界面可能不终止底层移动应用。换言之,建议动作用户界面的显示可以是暂时的,其中底层应用仍然在运行。因此,如果用户不选择动作而是关闭建议动作用户界面,则用户可以返回在经由过程400生成建议动作用户界面之前显示的屏幕。然而,从用户界面中选择建议动作可以使得移动设备切换到与动作相关联的应用,从而使所切换到的应用成为当前运行的应用。图5图示了依据所公开的实施方式的、针对实体来确定动作的示例过程500的流程图。过程500可以作为图4的步骤440的一部分来由移动动作建议系统——诸如图1的系统100来执行。过程500可以被用来从搜索结果中针对实体来选择动作并且使用所述动作来生成动作卡片。过程500可以通过确定实体是否是联系人来开始(505)。联系人是具有来自用户的联系人数据存储的搜索结果的实体。如果实体是联系人(505,是),则系统可以使用从联系人数据存储中提取的信息来生成动作(510)。在一些实施方式中,用户可能已经例如在图1的联系人动作数据存储255中针对联系人选择了动作,并且系统可以从联系人数据存储中提取信息以发起所选择的动作。例如,如果用户已选择发起呼叫作为建议动作,则系统可以提取联系人的电话号码。在其它实施方式中,系统可以具有缺省建议动作。在一些实施方式中,系统可以具有建议动作的层级结构(hierarchy)并且如果联系人缺少足够信息以用于一个动作,则其位置的下一个动作可以被选择。例如,如果联系人缺少电子邮件地址,则系统可以选择打开联系人的社交媒体页面而不是撰写电子邮件消息以作为建议动作。每个建议动作可以具有与其相关联的图标,并且系统可以使用来自步骤510的所提取的信息和联系人动作来生成动作卡片(540)。该动作卡片可以包括每个建议动作的图标,该图标是可选择的并且被配置成在被选择时发起相对应的动作。此外,该动作卡片可以显示实体的标签并且能够显示其它信息。例如,针对联系人的动作卡片可以包括联系人的小照片、联系人的昵称等。然后,在已针对联系人生成动作卡片后,过程500结束。如果实体不是联系人(505,否),则在搜索结果中存在知识板块的情况下,系统可以从知识板块中提取动作(515)。所生成的建议动作的类型可以取决于知识板块中示出的信息。例如,如果系统找到电话号码,则系统可以生成发起对该电话号码的呼叫的动作。如果系统找到地址,则系统可以生成打开地图应用以前往该地址的动作。如果系统找到指向维基页面的链接,则系统可以生成打开该页面的动作。如果系统找到评论,则系统可以生成允许用户编写或者读取对于实体的评论的动作。除生成动作之外,系统还可以使用知识板块来提取其它信息以显示在动作卡片上。例如,系统可以例如从知识板块信息中提取对实体的简要描述、针对实体的web页面、针对实体的标签等。这些可以被包括在动作卡片中。在一些实施方式中,系统可以使用机器学习算法来预测来自知识板块的哪一个信息对于用户而言是最有帮助的。系统还可以从搜索结果中提取链接(520)。该结果可以表示来自搜索引擎的排名最高的结果,例如,常规地在第一页面上显示的那些搜索结果。在一些实施方式中,可以从结果中自动地选择能够被转变为深度链接(例如,具有对应的移动应用)的链接。在搜索结果中的剩余链接之中,系统可以选择所述链接中的一个、两个、或全部。在一些实施方式中,系统可以选择具有高于阈值的排名的剩余链接。在一些实施方式中,可以基于机器学习算法来选择链接,所述算法基于过去用户对链接的选择来预测最有用的链接。链接可以来自知识板块或者来自常规的搜索结果。在一些实施方式中,链接可以具有对应的已安装移动应用。例如,指向域yelp.com的链接可以对应于由YELP开发的移动应用或执行类似动作的另一移动应用。如果链接确实具有对应的已安装移动应用(525,是),则系统可以针对建议动作来生成深度链接(535)。该深度链接不仅可以打开移动应用,而且可以已与实体相关的状态来打开应用。例如,如果系统打开YELP移动应用,则系统可以打开该应用以前往系统正在针对其来生成动作卡片的餐馆或电影。生成深度链接的方式是特定于操作系统并且一般是已知的。例如,在IOS操作系统中系统可以经由NSURL对象来生成定制URL,然而在ANDROID操作系统中系统可以使用专用消息传送对象。当然,实施方式不限于任何特定操作系统。如果链接不具有相对应的已安装移动应用(525,否),则系统可以生成打开浏览器应用以前往由该链接所表示的文档的动作(530)。当系统已识别出建议动作和任何附加信息(例如文本摘录)时,系统可以生成动作卡片(540)。如上面所讨论的,这可以包括提供标签、指向官方网站的链接、以及与每个建议动作相关联的可选择的图标。然后,针对该实体的过程500结束。在一些实施方式中,移动设备可以向服务器提供关于频繁选择的建议动作的反馈。服务器可以使用该反馈作为机器学习算法的输入,例如作为训练数据。机器学习算法可以被配置成基于过去的动作来预测最相关的将来的动作,并且能够被用来像上面所讨论的那样确定建议动作。反馈可以在其被存储在服务器处或者在服务器处使用之前被以一个或多个方式处理,使得个人可识别的信息被去除。例如,可以处理数据,使得无法确定用户的个人可识别信息,或者可以在获得位置信息的情况下一般化用户的地理位置(诸如到城市、ZIP编码、或州层级)。在一些实施方式中,服务器可以周期性地向移动设备提供系数并且移动设备可以使用所述系数来执行算法以预测动作与用户相关的可能性,使得移动设备能够在无需针对每个预测与服务器进行通信的情况下做出预测。移动设备可以利用历史数据来周期性地更新服务器,服务器可以使用所述历史数据来计算更新的系数。服务器可以将经更新的系数提供给移动设备。在一些实施方式中,用户设备可以操作它自己的机器学习算法来确定预测系数,从而消除对于与任何其它计算机通信的需要。图6图示了用于选择缺省动作的示例用户界面600。在该示例界面600中建议动作是针对在联系人数据存储中识别的联系人的。当然,系统可以提供等同的用户界面以用于针对其它实体类型——诸如电影、餐馆、地点等来选择缺省动作。在图6的示例中,用户界面600提供界面,其使得用户能够指定哪些建议动作被显示在针对联系人的动作卡片中。用户界面可以向用户提供机制或控件以用于选择优选动作并且可选地用于对动作进行排名。例如,用户界面600提供了针对每个可能的动作的列表条目。每个动作能够包括诸如图标605的图标,其表示动作卡片上的动作。此外,用户界面600可以提供控件,诸如下拉菜单650。控件可以使得用户能够选择建议动作作为缺省动作。在一些实施方式——诸如图6中所图示的实施方式中,控件还可以使得用户能够对缺省动作进行排名并且系统可以使用该排名来生成动作卡片,使得排名最高的缺省动作首先出现。在一些实施方式中,系统可以使用排名来确定替换建议动作。例如,如果联系人数据存储没有联系人的电子邮件地址,则系统可以跳过这个缺省动作并且使用排名其次的缺省动作。因此,用户界面600可以使得用户能够确定哪些动作应该出现在动作卡片上以及它们出现的顺序。图7示出可以与这里所描述的技术一起使用的、可以作为图1的系统100和/或客户端170被操作的通用计算机设备700的示例。计算设备700旨在表示各种示例形式的计算设备,诸如膝上型计算机、台式机、工作站、个人数字助理、蜂窝电话、智能电话、平板计算机、服务器、以及其它计算设备——包括可穿戴设备。在这里示出的组件、它们的连接和关系以及它们的功能仅意在为示例,而不意在限制本文档中所描述和/或要求保护的本发明的实施方式。计算设备700包括经由接口708连接的处理器702、存储器704、存储设备706、和扩展端口710。在一些实施方式中,计算设备700可以包括经由接口708连接的收发器746、通信接口744、以及GPS(全球定位系统)接收器模块748。设备700可以通过通信接口744来以无线方式通信,所述通信接口744必要时可以包括数字信号处理电路。组件702、704、706、708、710、740、744、746、和748中的每一个可以被安装在公共母板上或者酌情以其它方式安装。处理器702能够处理用于在计算设备700内执行的指令,包括存储在存储器704中或者在存储设备706上的指令,以将GUI的图形信息显示在外部输入/输出设备——诸如显示器716上。显示器716可以是监视器或平面触摸屏显示器。在一些实施方式中,可以酌情与多个存储器和多种类型的存储器一起使用多个处理器和/或多个总线。另外,多个计算设备700可以被连接,其中每个设备提供必要操作的部分(例如,作为服务器组、刀片服务器群组、或多处理器系统)。存储器704存储计算设备700内的信息。在一个实施方式中,存储器704是一个或多个易失性存储器单元。在另一实施方式中,存储器704是一个或多个非易失性存储器单元。存储器704还可以是另一形式的计算机可读介质,诸如磁盘或光盘。在一些实施方式中,存储器704可以包括通过扩展接口来提供的扩展存储器。存储设备706能够为计算设备700提供大容量存储。在一个实施方式中,存储设备706可以是或者包括计算机可读介质,诸如软盘设备、硬盘设备、光盘设备、或磁带设备、闪速存储器或其它类似的固态存储器设备、或设备阵列——包括存储区域网或其它配置中的设备。计算机程序产品能够以这样的计算机可读介质来有形地体现。计算机程序产品还可以包括指令,其在被执行时执行一个或多个方法——诸如上面所描述的那些方法。计算机可读或机器可读介质是诸如存储器704、存储设备706、或处理器702上的存储器的存储设备。接口708可以是管理计算设备700的带宽密集型操作的高速控制器或者管理更低带宽密集型操作的低速控制器、或这样的控制器的组合。可以提供外部接口740以便实现设备700与其它设备的近区域通信。在一些实施方式中,控制器708可以耦合到存储设备706和扩展端口714。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的扩展端口可以耦合到一个或多个输入/输出设备,诸如键盘、指示设备、扫描器,或者例如通过网络适配器来耦合到诸如交换机或路由器的联网设备。如图所示,可以以许多不同的形式实现计算设备700。例如,它可以作为标准服务器730被实现,或者被多次实现在这样的服务器群组中。它还可以作为机架服务器系统的一部分被实现。此外,它可以被实现在计算设备中,所述计算设备诸如膝上型计算机732、个人计算机734、或平板计算机/智能电话/手持式设备/可穿戴设备736。整个系统可以由彼此进行通信的多个计算设备700组成。其它配置是可能的。图8示出可以与这里所描述的技术一起使用的、可以作为图1的系统100的、通用计算机设备800的示例。计算设备800旨在表示各种示例形式的大规模数据处理设备,诸如服务器、刀片服务器、数据中心、大型主机、以及其它大规模计算设备。计算设备800可以是具有多个处理器的分布式系统,其可能包括通过一个或多个通信网络互连的附接网络的存储节点。在这里示出的组件、它们的连接和关系、以及它们的功能仅意在作为示例,并且不意在限制本文档中所描述和/或要求保护的本发明的实施方式。分布式计算系统800可以包括任何数目的计算设备880。计算设备880可以包括:通过局域网或广域网、专用光学链路、调制解调器、桥接器、路由器、交换机、有线或无线网络等进行通信的服务器或机架服务器、大型主机等。在一些实施方式中,每个计算设备可以包括多个机架。例如,计算设备880a包括多个机架858a-858n。每个机架可以包括一个或多个处理器,诸如处理器852a-852n以及862a-862n。处理器可以包括数据处理器、附接网络的存储设备、以及其它计算机控制的设备。在一些实施方式中,一个处理器可以作为主处理器操作并且控制调度和数据分发任务。处理器可以通过一个或多个机架交换机858互连,并且一个或多个机架可以通过交换机878连接。交换机878可以处理多个连接的计算设备800之间的通信。每个机架可以包括存储器——诸如存储器854和存储器864,以及存储,诸如856和866。存储856和866可以提供大容量存储并且可以包括易失性或非易失性存储,诸如附接网络的盘、软盘、硬盘、光盘、磁带、闪速存储器或其它类似的固态存储器设备,或设备阵列——包括存储区域网或其它配置中的设备。存储856或866可以被共享在多个处理器、多个机架、或多个计算设备之间,并且可以包括存储可由处理器中的一个或多个执行的指令的计算机可读介质。存储器854和864可以包括例如一个或多个易失性存储器单元、一个或多个非易失性存储器单元、和/或其它形式的计算机可读介质,诸如磁盘或光盘、闪速存储器、高速缓存、随机存取存储器(RAM)、只读存储器(ROM)、及其组合。存储器——诸如存储器854也可以被共享在处理器852a-852n之间。可以例如跨存储856和存储器854存储数据结构,诸如索引。计算设备800可以包括未示出的其它组件,诸如控制器、总线、输入/输出设备、通信模块等。整个系统——诸如系统100可以由彼此通信的多个计算设备800组成。例如,设备880a可以与设备880b、880c、和880d进行通信,并且这些可以被统称为系统100。作为另一示例,图1的系统100可以包括一个或多个计算设备800。所述计算设备中的一些可以在地理上彼此靠近,并且其它设备可以在地理上远离。系统800的布局仅作为示例,并且该系统可以采取其它布局或配置。根据本公开的某些方面,一种方法包括:对从移动设备的显示捕捉的内容执行辨识;在所述内容中识别多个实体;以及针对所述多个实体中的每一个发出相应查询。所述方法还包括:基于针对所述相应查询所返回的搜索结果,对所述多个实体进行排名;针对排名最高的实体中的至少一些实体,生成相应的动作卡片;以及提供所述动作卡片以用于向所述移动设备的用户显示。这些和其它方面能够包括以下特征中的一个或多个。例如,针对所述多个实体中的第一实体发出查询能够包括:使用名称分类器来确定所述第一实体可能是名称;使用所述第一实体来查询与所述移动设备的用户相关联的联系人数据存储;以及在所述第一实体对应于所述联系人数据存储中的联系人时,从所述联系人数据存储返回信息以作为所述查询的搜索结果。在这样的实施方式中,针对所述第一实体发出所述查询还能够包括:在所述第一实体未能对应于所述联系人数据存储中的联系人时,针对所述第一实体向搜索引擎发出所述查询。作为另一示例,查询的搜索结果包括:关于所述查询的流行度的信息以及与流行的查询相对应的实体可以接收排名的提升。作为另一示例,所述多个实体中的、具有包括来自基于图的数据存储的结果的搜索结果的实体可以接收排名的提升。作为另一示例,针对第一实体来生成动作卡片能够包括:在所述搜索结果中识别链接,以及确定所述链接的域对应于安装在所述移动设备上的移动应用,其中,所述动作卡片包括打开所述移动应用的动作。作为另一示例,所述多个实体中的第一实体可以对应于联系人数据存储中的联系人,以及针对所述第一实体来生成所述动作卡片能够包括:确定由所述用户针对联系人实体所选择的缺省动作,以及使用来自所述联系人数据存储的信息来针对与所述缺省动作相对应的所述联系人生成所述动作卡片。根据本公开的特定方面,一种系统包括:至少一个处理器;经索引文档语料库;基于图的数据存储;以及存储指令的存储器,所述指令在由所述至少一个处理器执行时,使得所述系统执行操作。所述操作可以包括:对从移动设备的显示捕捉的内容执行辨识,以及在所述内容中识别多个实体。针对所述多个实体中的每一个,所述操作还可以包括向搜索引擎发出针对所述实体的相应查询,所述搜索引擎搜索所述基于图的数据存储和所述经索引文档语料库以针对所述实体来生成搜索结果。所述操作还可以包括:基于所述搜索结果对所述多个实体进行排名,以及将所述多个实体与相应的排名和搜索结果一起提供给所述移动设备,所述移动设备针对使用所述相应搜索结果所生成的排名最高的实体中的至少一些来生成动作卡片。这些和其它方面能够包括以下特征中的一个或多个。例如,所述多个实体中的、具有在所述基于图的数据存储中的对应实体的第一实体可以接收排名的提升。作为另一示例,对所述多个实体进行排名能够包括:确定与第一实体相关的查询的频率;以及在所述频率满足阈值或者大于与第二实体相关的查询的频率时,提升所述第一实体的排名。根据本公开的特定方面,一种系统包括:联系人数据存储、至少一个处理器;以及存储指令的存储器,所述指令在由所述至少一个处理器执行时,使得所述系统执行操作。所述操作可以包括:对显示在移动设备的显示器上的内容执行辨识、在所述内容中识别实体、以及确定在所述联系人数据存储中与所述实体相对应的至少一个联系人。所述操作还可以包括:针对所述实体生成动作卡片,所述动作卡片具有使用针对所述联系人的、来自所述联系人数据存储的第一信息的第一动作以及使用针对所述联系人的、来自所述联系人数据存储的第二信息的第二动作;以及将所述动作卡片显示在所述显示器上。这些和其它方面能够包括以下特征中的一个或多个。例如,所述实体是第一实体并且所述动作卡片是第一动作卡片,以及所述存储器还存储指令,所述指令在由所述至少一个处理器执行时,使得所述移动设备:在所述内容中识别第二实体;针对所述第二实体,向搜索引擎发出查询,所述查询包括所述第二实体;从所述搜索引擎接收所述查询的结果;基于所述结果来识别与所述第二实体相关联的动作;生成具有所识别的动作的第二动作卡片;以及将所述第二动作卡片与所述第一动作卡片一起显示在所述显示器上。在一些这样的实施方式中,所述第一动作卡片可以基于与所述联系人相对应的所述第一实体来被显示在突出的位置中。替选地或另外地,这样的实施方式还可以包括基于图的数据存储,其中,所述查询的所述结果包括:来自所述基于图的数据存储的、所述第二实体的信息。作为另一示例,所述第一动作能够启动第一移动应用并且所述第二动作可以启动第二移动应用。此外,所述存储器还可以存储指令,所述指令在由所述至少一个处理器执行时,使得所述移动设备接收对所述第一动作的选择,以及使用第一信息来启动所述第一移动应用。作为另一示例,对显示在所述显示器上的所述内容执行辨识能够包括:检查针对显示在所述显示器上的所述内容所生成的辅助访问数据。作为另一示例,识别所述实体能够包括使用名称分类器来确定可能表示名称的单词集合。作为另一示例,所述实体可以是第一实体,所述动作卡片可以是第一动作卡片,并且所述联系人可以是第一联系人,以及所述存储器还可以存储指令,所述指令在由所述至少一个处理器执行时,使得所述移动设备:确定在所述联系人数据存储中的、对应于在所述内容中识别的第二实体的第二联系人;针对所述第二联系人生成第二动作卡片;确定针对所述第一联系人的交互的频率高于针对所述第二联系人的交互的频率;以及将所述第一动作卡片显示在相对于所述第二动作卡片突出的位置中。作为另一示例,所述联系人可以是第一联系人,以及所述存储器还存储指令,所述指令在由所述至少一个处理器执行时,可以使所述移动设备:确定在所述联系人数据存储中的、对应于所述实体的第二联系人;确定针对所述第一联系人的交互的频率高于针对所述第二联系人的交互的频率;以及将所述第一联系人选择为与所述实体相对应。作为另一示例,所述联系人数据存储可以是距所述移动设备远程地来存储的所述移动设备的用户的联系人数据存储。各个实施方式能够包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括可以是专用或通用的至少一个可编程处理器,其被耦合以从存储系统、至少一个输入设备、以及至少一个输出设备接收数据和指令,以及将数据和指令传送到存储系统、至少一个输入设备以及至少一个输出设备。这些计算机程序(也被称为程序、软件、软件应用或代码)包括针对可编程处理器的机器指令,并且能够以高级过程和/或面向对象程序设计语言来实现、和/或以汇编/机器语言来实现。如本文中所用的,术语“机器可读介质”、“计算机可读介质”指代用来向可编程处理器提供机器指令和/或数据的任何非暂时性计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器(包括读访问存储器)、可编程逻辑器件(PLD))。在这里描述的系统和技术能够被实现在计算系统中,所述计算系统包括后端组件(例如作为数据服务器),或者其包括中间件组件(例如应用服务器),或者其包括前端组件(例如,具有用户能够用来与在这里描述的系统和技术的实施方式交互的图形用户界面或Web浏览器的客户端计算机),或这样的后端、中间件、或前端组件的任何组合。本系统的组件能够通过任何形式或介质的数字数据通信(例如通信网络)来互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)、以及互联网。计算系统能够包括客户端和服务器。客户端和服务器一般彼此处于远程并且通常通过通信网络交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生。已经描述了多个实施方式。然而,可以在不脱离本发明的精神和范围的情况下作出各种修改。此外,图中所描绘的逻辑流程不要求所示出的特定次序或顺序次序,以实现所期望的结果。此外,可以提供其它步骤,或者可以从所描述的流程中消除这些步骤,并且其它组件可以被添加到所描述的系统,或者被从所描述的系统去除。因此,其它实施方式在以下权利要求书的范围内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1