CN107438814A - 移动设备上的实体动作建议 - Google Patents
移动设备上的实体动作建议 Download PDFInfo
- Publication number
- CN107438814A CN107438814A CN201680020024.0A CN201680020024A CN107438814A CN 107438814 A CN107438814 A CN 107438814A CN 201680020024 A CN201680020024 A CN 201680020024A CN 107438814 A CN107438814 A CN 107438814A
- Authority
- CN
- China
- Prior art keywords
- entity
- action
- mobile
- user
- mobile device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000009471 action Effects 0.000 title claims abstract description 287
- 238000000034 method Methods 0.000 claims abstract description 70
- 238000013507 mapping Methods 0.000 claims abstract description 69
- 230000015654 memory Effects 0.000 claims abstract description 47
- 238000003860 storage Methods 0.000 claims abstract description 43
- 230000004044 response Effects 0.000 claims description 17
- 230000005055 memory storage Effects 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 30
- 230000008569 process Effects 0.000 description 18
- 230000014509 gene expression Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 11
- 238000009434 installation Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 230000000977 initiatory effect Effects 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000012163 sequencing technique Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 230000000712 assembly Effects 0.000 description 5
- 238000000429 assembly Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 241000282372 Panthera onca Species 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72406—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/012—Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
Abstract
提供了用于为在移动设备上的内容中发现的实体建议动作的系统和方法。一种示例方法可以包括:运行具有用于移动应用的深度链接的移动设备仿真器,确定针对深度链接的主实体,将主实体映射到深度链接,将主实体到深度链接的映射存储在存储器中,以及将映射提供给移动设备,映射使移动设备的用户能够在主实体被显示在移动设备的屏幕上时选择深度链接。另一种示例方法可以包括:识别移动应用生成的内容中的至少一个实体,识别映射到至少一个实体的动作,动作表示进入第二移动应用的深度链接,以及提供控件以发起针对实体的动作。
Description
相关申请
本申请主张于2015年4月28日提交、题为“Entity Action Suggestion on aMobile Device”的美国临时申请第62/153,756号以及于2015年5月29日提交、题为“EntityAction Suggestion on a Mobile Device”的美国专利申请第14/724,965号的优先权。通过引用将这些较早提交的申请的主题并入本文。
背景技术
由于移动设备诸如智能电话和平板的使用,与移动应用的用户交互已经不断增加。当用户从基于web的浏览器离开转而使用移动设备时,他们经常丧失轻松地将数据从一个移动app传送到另一个移动app的能力。一般来说,移动应用是单用途的并且非常擅长做某一件具体的事,但是在移动应用之间移动信息可能是麻烦的,用户可能不知道哪一个app擅长给定用途,或者甚至不知道何时查找app来帮助他们解决问题。
发明内容
实现方式在移动app环境中执行实体检测,并为一个或多个检测到的实体提供建议的动作。例如,实现方式可以检测屏幕上内容中的实体,并为检测到的实体中的一些提出一个或多个动作。所述动作为进入目标移动应用的深度链接。这样,在第一移动应用中被选择的建议的动作允许用户无缝且快速地执行在目标(例如,第二不同的)应用中的动作。用户不必使目标移动应用安装在设备上,因为一些实现方式可以给用户建议目标移动应用以执行动作。这样,系统能够提出与特定实体一起使用的受欢迎的移动应用,有效地在适当时告知用户有用的移动应用。动作(深度链接)可以在映射表中与目标移动应用关联。所述表中的条目可以由移动应用的开发者、由发现深度链接的仿真器或由移动设备的用户采取的动作来提供。
在一个一般方面,一种移动设备包括至少一个处理器以及存储器,所述存储器存储在被至少一个处理器执行时使得移动设备执行操作的指令。所述操作包括:响应于用户请求识别移动应用生成的内容中的至少一个实体,识别映射到至少一个实体的动作,所述动作表示进入第二移动应用的深度链接,以及提供允许用户发起对于实体的动作的控件。
在一个一般方面,一种方法包括:运行具有用于移动应用的深度链接的移动设备仿真器,确定针对深度链接的主实体,将主实体映射到深度链接,将主实体到深度链接的映射存储在存储器中,以及将映射提供给移动设备,所述映射使移动设备的用户能够在主实体被显示在移动设备的屏幕上时选择深度链接。
在一个一般方面,一种方法包括:响应于移动设备上的用户手势识别移动应用生成的内容中的至少一个实体,识别映射到至少一个实体的动作,所述动作表示进入第二移动应用的深度链接;以及提供允许用户发起对于实体的动作的控件。
在一个一般方面,实现在计算机可读存储设备上的计算机程序产品包括指令,当被形成在基板中的至少一个处理器执行时,所述指令使得计算设备执行所公开的方法、操作或过程中的任一个。另一个一般方面包括基本上如至少一个附图中所示和/或联系于至少一个附图描述并且在权利要求中更全面地阐述的用于从移动屏幕内容检测和排序实体并为一些检测到的实体提供动作的系统和/或方法。
可以实现本文所描述的主题的一个或多个实现方式,以便实现以下优点中的一个或多个。作为一个示例,实现方式可以跨多个移动应用提供一致的用户体验,使得相似类型的动作被建议用于跨多个移动应用的实体。作为另一示例,实现方式可以通过向用户建议能够帮助用户更快地找到/处理信息的应用来改善用户体验,即便用户可能不具有该应用的知识。作为另一示例,实现方式通过帮助用户更快地执行任务来改善用户体验,例如用来自用户的较少的手势来执行任务。在一些实现方式中,可以针对移动设备的用户定制所建议的动作,使得用户更有可能发现所建议的动作有帮助。实现方式还可以提供已知对于其他用户来说是有用的动作建议。因此,实现方式还可以允许移动设备以最小的来自用户的输入来自动地执行任务。
一个或多个实现方式的细节在下面的附图和描述中阐述。根据说明书、附图并且根据权利要求书,将明了其他特征。
附图说明
图1是示意了根据公开的主题的示例系统的框图。
图2是移动计算设备的示例显示。
图3是具有建议的动作控件的移动计算设备的示例显示。
图4示意了根据公开的实现方式的用于为移动计算设备上显示的实体建议动作的示例过程的流程图。
图5示意了根据公开的实现方式的用于填充实体-动作表的示例过程的流程图。
图6示意了根据公开的实现方式的用于填充实体-动作表的另一示例过程的流程图。
图7示意了根据公开的实现方式的用于在移动计算设备上显示建议的动作控件的示例过程的流程图。
图8示意了根据公开的实现方式的示例实体-动作映射结构。
图9示出了能够用于实现描述的技术的计算机设备的示例。
图10示出了能够用于实现描述的技术的分布式计算机设备的示例。
各附图中同样的附图标记指示同样的元件。
具体实施方式
实现方式包括为各种移动应用识别深度链接并且将深度链接与至少一个实体关联的系统和方法。可以在知识库中识别实体,或者实体可以匹配实体模板。实现方式还可以识别移动设备的屏幕上内容中的实体,并且为实体中的至少一个提供深度链接。所述系统可以生成建议的动作控件以提供使用户执行深度链接表示的动作的方式。从而,当用户选择控件时,系统可以发起动作。所述系统跨移动设备上使用的所有应用操作,使得用户的体验一致。动作建议因此不限于特定的移动应用。另外,建议的动作可以针对用户还没有安装的移动应用,从而能够用作通知用户关于有用的移动应用的方式。
图1中根据示例实现方式的移动动作建议系统的框图。系统100可以用于为在移动设备的屏幕上内容中识别的实体提供深度链接形式的动作。所述动作可以包括针对用户还没有安装在移动设备上的移动应用的深度链接。深度链接所表示的移动应用还称为目标应用(destination application)。动作建议可以基于用户执行/选择的先前动作。图1中系统100的描绘是客户端-服务器系统,其中在服务器110处进行一些数据处理。然而,可以使用其他配置和应用。例如,数据处理可以专有地在移动设备150上进行。在一些实现方式中,移动设备150的用户可以指示部分处理在服务器110处执行。因此,实现方式不限于所示意的确切配置。
移动动作建议系统100可以包括知识库134。知识库134可以是基于大型图表的数据存储库(large graph-based data store),其以提供演绎推理的形式存储数据和描述关于数据的知识的规则。例如,在知识库中,可以以与其他实体的关系的形式存储关于实体的信息。实体可以是人、地点、项目、想法、话题、词、短语、抽象概念、具体元素、其他合适事物或这些的任意组合。实体可以通过表示关系的标记的边缘(labeled edge)而彼此相关。标记的边缘可以是定向的或不定向的。例如,表示国家橄榄球联盟的实体可通过“具有俱乐部”的关系而与美洲虎(Jaguar)实体相关。具有大量实体甚至有限数量的关系的知识库可以具有数以亿计的连接。在一些实现方式中,知识库134可以存储在能够从服务器110和/或移动设备150访问的外部存储设备中。在一些实现方式中,知识库134可以跨多个存储设备和/或多个计算设备(例如,多个服务器)分布。知识库134中的实体和关系例如可以经由索引搜索。例如,索引可以包括实体已经通过其被查阅的文本。因此,对知识库134的提及可以被理解为包括索引,所述索引利用文本等价物促进查找实体。
移动动作建议系统100可以包括服务器110,其可以是计算设备或成多个不同设备形式的设备,例如标准服务器、一组这样的服务器或机架式服务器系统。例如,服务器110可以以分布式方式跨多个计算设备实现。此外,服务器110可以实现在个人计算机(例如,膝上型计算机)中。服务器110可以是如图9中描绘的计算机设备900或如图10中描绘的计算机设备1000的示例。服务器110可以包括形成在基板中的一个或多个处理器,所述一个或多个处理器配置为执行一个或多个机器可执行指令或软件、固件或其组合。所述处理器可以是基于半导体的——即,所述处理器可以包括能够执行数字逻辑的半导体材料。服务器110还可以包括一个或多个计算机存储器。所述存储器(例如,主存储器)可以配置为暂时性地、永久性地、半永久性地或其组合地存储一条或多条数据。存储器可以包括以能够被一个或多个处理器读取和/或执行的存储信息的任何类型的存储设备。存储器可以包括易失性存储器、非易失性存储器或其组合,并且存储在被一个或多个处理器执行时执行某些操作的模块或引擎。在一些实现方式中,模块可以存储在外部存储设备中并且被加载到服务器110的存储器中。
移动动作建议系统100可以包括仿真器120。仿真器120可以在批处理环境中仿真移动设备。换言之,仿真器120可以配置为执行移动应用并确定由移动应用生成的屏幕内容。在一些实现方式中,可以从移动应用的开发者向仿真器120提供一组深度链接,例如作为移动应用清单136的一部分。这样的清单136常规上包括关于应用的信息,诸如开发者、图标、描述、版本等。该信息中的一些可以用于帮助用户决定是否安装应用。该信息中的一些可以专供其他应用开发者所用,诸如应用编程接口(API)或深度链接。移动应用清单136中的深度链接可以与当被提供给移动应用时使得移动应用显示特定内容的参数类似。在一些实现方式中,深度链接可以是编码应用识别符的识别符和用于在特定状态下开始应用的数据。在一些实现方式中,深度链接可以是当被提供给移动应用时使得移动应用显示特定内容的变量-值对(例如,XML元素)的列表。在一些实现方式中,深度链接可以是具有正则表达式(regular expression)的单个变量-值对(例如,XML元素)。这样的深度链接可以称为深度链接模板。在一些实现方式中,深度链接模板还可以指定实体类型或与实体类型相关联。仿真器120可以配置为使用模板和实体类型(如果适用)确定针对移动应用的深度链接。
仿真器120可以配置为将深度链接提供给移动应用并确定响应于深度链接生成的内容。在一些实现方式中,所述内容可以是帧缓冲器中的信息。在一些实现方式中,所述内容可以是操作系统用来生成帧缓冲器的信息。在移动应用清单136中的深度链接是深度链接模板的一些实现方式中,仿真器120可以配置为在匹配正则表达式的值上迭代以确定哪些值导致有效内容(与错误或“未找到”屏幕相对)。在这个意义上,仿真器120能够爬行(crawl)深度链接模板以确定哪些深度链接有效。在一些实现方式中,深度链接可以与搜索用户接口对应。在这样的实现方式中,仿真器120可以配置为爬行搜索接口以确定哪些实体类型导致有效内容。一旦仿真器120发现针对搜索接口的有效实体类型,仿真器120就可以配置为尝试知识库134中存在的那种类型的每个实体。例如,仿真器120可以配置为在搜索用户接口中使用实体的名称并且确定应用是否返回有效内容。在一些实现方式中,仿真器120可以确定搜索接口响应于匹配特定实体模板的实体。例如,出租车请求应用可以接受地址作为搜索输入。仿真器120可以配置为在搜索输入中尝试街道地址以确定生成什么内容。在一些实现方式中,应用清单136可以向搜索接口指示深度链接并且指定实体模板类型作为用于搜索接口的有效输入。在一些实现方式中,仿真器120可以爬行提供给仿真器的深度链接的列表。深度链接的列表可以由应用提供(例如,在清单中)。
仿真器120还可以包括内容引擎122。内容引擎122可以包括分析仿真器120生成的屏幕内容(例如,作为将深度链接/搜索请求提供给移动应用的结果)并识别屏幕内容中的实体的组件。被识别的实体可以是也在知识库134中的实体。因此,当内容来自于帧缓冲器时,内容引擎122可以配置为利用常规或之后开发的技术执行各种类型的辨别,诸如字符辨别、图像辨别、图标辨别等。内容引擎122可以将识别的项目(例如,文本、图像、图标)与知识库134中的实体进行匹配。被识别的实体还可以包括符合特定模板的文本,诸如电话号码、电子邮件地址或街道地址。识别移动应用生成的内容中的实体的过程称为实体检测。仿真器120可以包括实体检测的任何已知方法或之后的方法。
内容引擎122还可以配置为计算针对屏幕内容中识别的实体的话题性分数(topicality score)。话题性排序表示实体对于屏幕内容有多重要。用于生成内容(例如,在搜索输入中或满足正则表达式)的实体可以接收高排序。作为另一示例,在标题中出现或在屏幕中出现几次的实体可以接收高话题性分数。同样地,作为内容中被识别的唯一实体的实体可以具有高话题性分数。内容中出现的同等重要的实体可以接收相等的话题性分数。仿真器120随后可以配置为将任何实体(或多个实体)映射到表示内容的深度链接。仿真器120可以在实体-动作映射132中存储所述映射。实体-动作映射132可以将来自知识库134的实体的识别符与用于生成在其中发现实体的屏幕内容的深度链接映射。对于符合特定实体模板的实体(诸如,电话号码、街道地址和电子邮件地址),实体-动作映射132可以将实体的类型映射到动作。实体-动作映射132还可以包括实体对于深度链接的话题性分数。此外,实体-动作映射可以包括描述。可以手动管理(hand-curated)描述(例如,在排序之后),或者可以例如使用应用清单136中移动应用的名称自动地生成描述。在一些实现方式中,实体-动作映射可以包括次级动作和次级描述。次级动作可以是将用户引领到应用商店以选择移动应用进行安装的深度链接。次级描述可以描述该动作,例如“安装出租车App”。如果用户没有使移动应用安装在移动设备上,则可以将次级动作和描述显示给使用移动设备的用户。图8示意了根据一些实现方式的在实体-动作映射条目800中找到的数据元素。
系统100还可以包括排序引擎125。排序引擎125可以将从一个实体映射的动作在实体-动作映射132中排序。例如,可以通过仿真器120将实体(例如,由唯一实体识别符从知识库134识别的或与特定格式对应的实体类型)映射到十个不同动作(即,深度链接)。排序引擎125可以使用一个或多个信号来确定动作中的哪些对于实体最相关。排序信号可以包括静态信号。静态排序信号中的一种可以是实体的话题性分数。其他静态排序信号可以从应用商店数据130获得。应用商店是移动应用开发者将他们的移动应用放于其中以供下载的资源库(repository)。应用商店可以在应用商店数据130中保持关于每个移动应用的元数据。所述数据可以包括移动应用的下载数、已经下载应用的用户给予应用的评级等。另一静态排序信号可以是文档(诸如,网页)中移动应用以及实体名称的提及。另一静态排序信号可以包括针对移动应用的网页等价物的基于web的排序信号。例如,许多移动应用具有网页副本或web镜像。例如,餐厅排序网站也可以具有对应的移动应用。排序引擎125可以使用用于对网站排序的信号也对对应的移动应用进行深度链接排序。在一些实现方式中,排序引擎125可以使用这样的静态排序信号以丢弃针对实体的除了顶级(top)动作(深度链接)之外的所有动作,以保持实体-动作映射132的大小可管理。在一些实现方式中,排序引擎125保持每个实体的顶级的四个动作。
移动动作建议系统100还可以包括移动设备150。移动设备150可以是在封闭移动环境而不是常规的基于开放web的环境中操作的任何移动个人计算设备(诸如,智能电话)或其他手持式计算设备、平板、可穿戴计算设备等。移动设备150可以是图9中描绘的计算机设备900的示例。移动设备150可以是用户180使用的一个移动设备。用户180可以还具有其他移动设备,诸如移动设备190。移动设备150可以包括形成在基板中的一个或多个处理器,所述一个或多个处理器配置为执行一个或多个机器可执行指令或软件、固件或其组合。移动设备150因此可以包括一个或多个计算机存储器,所述一个或多个计算机存储器配置为暂时性地、永久性地、半永久性地或其组合地存储一条或多条数据。移动设备150因此可以包括移动应用155,移动应用155表示软件、固件或其组合形式的机器可执行指令。在移动应用155中识别的组件可以是操作系统的一部分,或者可以是针对移动处理环境开发的应用。常规上,移动应用在封闭环境中进行操作,意味着用户利用单独的应用来执行常规上在基于web的浏览器环境中执行的行为。例如,不是到bookit.com预订酒店,移动设备150的用户可以使用bookit.com提供的移动应用155中的移动应用。网页可以对移动应用镜像,例如,提供与移动应用相同或相似的内容。因此,在一些实现方式中,(一个或多个)网页(例如,bookit.com)可以被视为(由bookit.com提供的)移动应用的web镜像。
移动应用155可以包括屏幕捕获应用160、动作建议应用162和排序引擎164。在一些实现方式中,这些应用中的一个或多个可以由移动设备150的操作系统提供。在一些实现方式中,这些应用中的一个或多个可以由用户下载并安装。
屏幕捕获应用160可以包括各种功能。在一些实现方式中,屏幕捕获应用160可以配置为从应用程序接口(API)获得表示在屏幕上的文本信息。在一些实现方式中,屏幕捕获应用160可以内装到操作系统中,操作系统可以确定在当前屏幕上显示的文本字段的内容。在一些实现方式中,屏幕捕获应用160可以配置为捕获移动设备150的当前屏幕。屏幕捕获应用160可以通过复制或读取设备的帧缓冲器中的内容来捕获屏幕。捕获的屏幕因此可以是图像并且被称为捕获的图像。屏幕捕获应用160可以以一定时间间隔捕获屏幕。时间间隔可以很小,例如每半秒或每秒。在一些实现方式中,响应于显式的用户请求或命令或在设备从一个移动应用转换到另一个移动应用时,屏幕捕获应用160可以配置为在每次触摸事件发生时(例如,用户每次触摸屏幕以滚动、缩放、点击链接等)就捕获屏幕。在一些实现方式中,当屏幕不发生改变时,屏幕捕获应用160可以增加屏幕捕获发生的时间间隔。换言之,当屏幕处于静态时,屏幕捕获应用160可以较不频繁地捕获图像。屏幕捕获应用160可以将捕获的屏幕图像和元数据提供给辨别引擎,所述辨别引擎可以在移动设备150或服务器(诸如,服务器110)上。元数据可以包括时间戳、移动设备类型、移动设备识别符、屏幕被捕获时运行的移动应用,例如生成屏幕的应用等。在一些实现方式中,元数据还可以包括哪些应用处于启用、设置的位置、环境光、设备的移动等。系统可以使用该附加设备信息以辅助内容分析(例如,实体消歧)、建议的动作生成(例如,当设备正移动时减少建议的数量、决定什么内容最相关)等。
在一些实现方式中,屏幕捕获应用160可以包括索引引擎,其配置为根据在图像中识别的文本、实体、图像或图标等为屏幕捕获图像编索引。这样,例如,索引引擎可以为捕获的图像生成索引条目。在一些实现方式中,索引引擎可以在服务器(诸如,服务器110)上,并且屏幕捕获应用160可以将捕获的图像和/或捕获的图像中被辨别的项目提供给服务器。索引可以是倒排索引,其中键值(例如,词、短语、实体、图像、图标等)与包括该键值的图像的列表关联。索引可以包括与所述列表中每个捕获的图像关联的元数据(例如,键值出现在捕获的图像上的何处、图像键值的排序等)。在一些实现方式中,索引还可以包括通过时间戳编索引的捕获的图像的列表。索引引擎可以将索引存储在存储器中,例如在屏幕捕获索引172中。当然,在一些实现方式中,系统可以在除了将索引存储在移动设备150上之外或替代将其存储在移动设备150上而将索引存储在服务器上的用户账号中。移动设备150的用户可以控制屏幕捕获应用160何时处于启用。例如,用户可以指定屏幕捕获应用160仅在其他指定的移动应用155运行时(例如,仅在社交媒体移动应用中时)才处于启用。用户还可以例如经由设置应用手动开启或关闭屏幕捕获应用160。在一些实现方式中,用户可以用也调用(invoke)动作建议应用162的手势或动作来调用屏幕捕获应用160。
移动设备150也可以包括动作建议应用162。动作建议应用162可以配置为使用实体-动作映射(诸如,实体-动作映射170或实体-动作映射132)来确定在捕获的图像中识别的任何实体是否与动作关联。在一些实现方式中,用户180可以特别地调用或发起动作建议应用162。例如,用户180可以使用动作或手势,诸如,上滑、长按、双指点击或从菜单(例如,在上滑或下滑之后出现的菜单)选择,以发起动作建议应用162。在一些实现方式中,手势也可以调用屏幕捕获应用160。在一些实现方式中,手势/动作还可以服务于选择屏幕上显示的特定实体。例如,如果用户180在图像或词上执行长按,所述图像或词被确定为与知识库中的实体对应或匹配实体类型模板,则系统可以将手势解读为用于为该实体(或实体类型)提供动作的请求。
动作建议应用162可以使用实体-动作映射,诸如,实体-动作映射170或实体-动作映射132来确定识别的实体或实体模板中的任一个是否包括匹配动作。在一些实现方式中,实体-动作映射170可以是实体-动作映射132的副本。在一些实现方式中,实体-动作映射170可以是实体-动作映射132中实体的子集。例如,系统可以推送来自实体-动作映射132的与移动设备150的用户180最相关的条目。相关度例如可以使用屏幕捕获索引172或为用户兴趣提供上下文的一些其他数据存储库(data store)中的条目来确定。
实体-动作映射将特定实体或实体模板与一个或多个建议的动作关联。例如,实体-动作映射170可以将电话号码模板与“现在拨号”动作关联,将电子邮件模板与“编写新消息”动作关联,将街道地址模板与“在地图上查看”动作或“搜索出租车/乘车”动作关联等。在一些实现方式中,实体-动作映射170可以由用户180进一步定制。例如,移动设备的用户可以针对每个模板(例如,实体模板的每个类型)选择默认动作,诸如,将电子邮件地址与“添加到联系人”动作而不是“编写消息”动作关联。
如所提及,实体-动作映射可以对于实体(包括匹配实体模板的实体)包括多个建议的动作。在一些实现方式中,动作建议应用162可以使用排序引擎(诸如,排序引擎164)来确定从实体-动作映射选择哪个动作。在一些实现方式中,排序引擎164可以使用在映射170中提供的话题性分数。在一些实现方式中,如果实体在实体-动作映射170中具有四个可能的动作,则排序引擎164可以确定移动设备150是否已经具有与安装的动作对应的移动应用中的任一个。在一些实现方式中,如果仅安装了与所述动作对应的四个移动应用中的一个,则排序引擎164可以选择与安装的移动应用对应的动作作为建议的动作。在一些实现方式中,排序引擎164可以确定在移动设备150上移动应用中的哪一个被最频繁地使用,并且选择与被最频繁地使用的移动应用155对应的建议的动作。在一些实现方式中,用户180可以已经指示对于建议的动作中的一个的偏好,并且排序引擎164可以选择用户180偏好的动作。在一些实现方式中,排序引擎164可以返回多于一个建议的动作,伴随与每个动作关联的排序。在这样的实现方式中,另一程序可以选择动作或者可以提供多于一个动作用于由用户选择。在一些实现方式中,排序可以基于相关度。在一些实现方式中,用于对动作排序的数据(例如,移动应用使用、用户偏好等)可以包括在排序数据176中。在一些实现方式中,在用户允许的情况下,排序数据176可以是存储在服务器110处的用户配置文件(userprofile)的一部分。在一些实现方式中,排序数据176可以包括关于放弃(例如,未被用户采用的过去的建议的动作)的信息,并且可以使用该数据选择用哪些建议的动作来继续。在一些实现方式中,排序数据176还可以包括关于用户的先前动作选择的信息。例如,排序数据176可以反映用户180用特定类型的实体执行动作的频率。该信息可以用于针对特定实体类型促进(boost)该动作。在一些实现方式中,排序数据176可以包括关于源和目标应用的信息。例如,排序数据176可以包括指示用户180或一般用户通常来说从一个特定移动应用移动到另一特定移动应用的信息。当建议的动作与这样的信息对应时,排序引擎164可以促进该建议的动作。在一些实现方式中,在用户允许的情况下,排序数据176可以被匿名化并且提供给服务器110,以使得排序引擎125可以使用聚合数据来更新实体-动作映射132或对实体-动作映射132排序新条目。
在一些实现方式中,排序引擎164还可以对在捕获的图像中识别的实体排序并且选择识别的实体的子集。例如,捕获的图像可以包括许多识别的实体并且为每个实体提供建议的动作可以导致太拥挤和令人困惑而不能有用的用户界面。因此,排序引擎164可以选择将具有建议的动作的几个(例如,一个、两个或三个)实体。在一些实现方式中,选择的实体的数量可以是屏幕大小的因素。例如,作为平板的移动设备150可以比作为手表或智能电话的移动设备150允许更多的动作建议。在一些实现方式中,排序引擎164可以仅从在实体-动作映射中具有条目的实体中进行选择,以使得自动丢弃没有对应动作的一些实体。在一些实现方式中,排序引擎164可以使用实体对于当前屏幕的相关性来选择实体,以便选择突出或高度相关的实体。在一些实现方式中,排序引擎164可以使用与实体关联的动作的预期的有用性(例如,基于排序数据176中的数据)。在一些实现方式中,排序引擎164可以使用屏幕捕获索引、用户配置文件或其他排序数据来确定哪些实体与移动设备150的用户180相关。在一些实现方式中,可以无需选择,因为可以经由发起动作建议应用162的手势(诸如,长按在屏幕的表示识别的实体的区域上)选择唯一的一个实体。
一旦系统已经从实体-动作映射选择了与在捕获的图像中识别的实体对应的动作,动作建议应用162就可以提供用户界面,所述用户界面以跨移动应用一致的方式将(一个或多个)建议的动作提供给设备的用户。在一些实现方式中,建议的动作可以呈可选择控件的形式。所述控件可以是显示在正被显示的屏幕顶部上的叠加(overlay)、显示在正被显示的屏幕后面的底层(underlay)或配置为被添加到移动设备的显示缓冲器中的当前屏幕的信息。换言之,建议的动作控件表示被添加到在移动设备处生成的屏幕的信息,不管其被显示时是显示在屏幕上方、下面或结合到屏幕中。
建议的动作控件可以配置为检测发起对应的动作(例如,以深度链接的形式)的选择。建议的动作因此表现得像基于HTML文档中的超链接。由于移动动作建议系统100可以为在移动设备上运行的任何移动应用提供建议的动作控件,所以动作跨移动应用皆一致。尽管被示意为在移动设备150上执行,但是在一些实现方式中,动作建议应用162可以是在服务器,诸如,服务器110上执行的模块。在这样的实现方式中,屏幕捕获应用160可以将在捕获的图像中识别的实体提供给服务器处的动作建议应用162,并且动作建议应用162可以给屏幕捕获应用160提供对应的(一个或多个)动作。在一些实现方式中,屏幕捕获应用160可以使用对应的(一个或多个)动作来提供界面,所述界面在屏幕上将建议的动作与识别的实体结合并且使得动作可选择。在一些实现方式中,动作建议应用162可以将建议的动作控件与屏幕坐标关联,所述屏幕坐标与在捕获的图像中识别的实体的位置对应。坐标可以被选择成在捕获的图像中的关联实体附近但是不完全使得该关联实体模糊。
在一些实现方式中,屏幕捕获应用160可以将建议的动作控件与当前屏幕结合。例如,如果屏幕捕获应用160接收选择的动作,则屏幕捕获应用160可以将选择的动作控件与当前显示组合。在一些实现方式中,屏幕捕获应用160可以生成叠加作为底层,或者可以将建议的动作控件与显示缓冲器中的当前屏幕交织(interleave)。在一些实现方式中,屏幕捕获应用160可以配置为在显示建议的动作控件之前验证当前显示的屏幕与捕获的屏幕图像足够相似。例如,屏幕捕获应用160可以使用控件或对应的识别的实体的坐标来从捕获的图像中确定视觉提示(visual cue),并且将视觉提示与当前显示的图像的相同坐标比较。在一些实现方式中,屏幕捕获应用160可以配置为在短距离上查找与视觉提示的视觉元素相似的当前图像中的视觉元素。如果找到,则屏幕捕获应用160可以调整建议的动作控件的坐标以匹配底层屏幕的移动。在一些实现方式中,屏幕捕获应用160可以发起在当前屏幕的顶部显示捕获的图像、选择的实体和动作的行为或模式。可以显示先前捕获的图像、选择的实体和动作直到用户选择动作或取消显示(例如,用取消或“返回(go-back)”命令)。
移动设备150可以包括数据存储库157,其存储在移动设备150的存储器中并被移动应用155使用。在一些实现方式中,数据存储库157可以包括实体-动作映射170、屏幕捕获索引172、知识库174和排序数据176。这些数据存储库中的一个或多个可以与用户账户或配置文件关联。因此,数据存储库还可以驻留在服务器110上。此外,数据存储库157中的一个或多个可以是存储在服务器110上或在用户指定的另一位置中的数据的副本或子集。数据存储库157可以存储在任何非暂态存储器上。排序数据176可以包括对于在屏幕捕获图像中识别的各种实体的排序。可以存储实体关于特定屏幕捕获图像的排序,例如作为屏幕捕获索引172中的元数据。此外或可选地,实体的排序还可以表示在一段时间上实体的排序,例如,实体已经在屏幕上多长时间以及实体是否在不同的上下文(例如,不同的移动应用)中出现过。因此,排序数据176可以包括实体与用户多么相关的指示。在一些实现方式中,排序数据176可以包括用于实体类型或实体的集合的排序数据。例如,排序数据176可以包括“恐怖电影”或“意大利餐厅”的排序。因此,匹配该类型或作为集合的一部分的实体可以接收排序数据176中与所述类型或集合排序对应的排序分数。换言之,实体可以分组成集合并且基于集合进行排序。
当存储在移动设备150上的数据存储库157中时,知识库174可以是知识库134中的实体和关系的子集,尤其是如果知识库134包括数百万实体和数十亿关系。例如,知识库174中的实体和关系可以表示来自知识库134的最受欢迎的实体和关系,或者可以基于用户偏好来进行选择。例如,如果用户具有配置文件,则可以基于配置文件来选择实体和关系用于包括在知识库174中。
移动设备150可以通过网络140与服务器110通信并且与其他移动设备190通信。网络140可以是例如互联网,或者网络140可以是利用例如网关设备、桥、交换机等实现的有线或无线局域网(LAN)、广域网(WAN)等。网络140还可以表示蜂窝通信网络。经由网络140,服务器110可以与移动设备150和190通信并且将数据传输到移动设备150和190/从移动设备150和190传输数据,并且移动设备150可以与其他移动设备190通信(未示出)。
移动动作建议系统100代表一个示例配置并且实现方式可以并入其他配置。例如,一些实现方式可以将仿真器120、排序引擎125、动作建议应用162或排序引擎164的组件中的一个或多个组合成单个模块或引擎。类似地,一些实现方式可以将屏幕捕获应用160、动作建议应用162和排序引擎164中的一个或多个组合成单个模块或应用。另外,可以在服务器110处执行动作建议应用162、屏幕捕获应用160或排序引擎164的组件中的一个或多个,而可以在移动设备150处执行仿真器120或排序引擎125的组件中的一个或多个。作为另一示例,数据存储库诸如移动应用清单136、知识库134、应用商店数据130或实体-动作映射132中的一个或多个可以组合成单个数据存储库或者可以跨多个计算设备分布,或者可以存储在移动设备150处。同样地,屏幕捕获索引172和排序数据176中的一个或多个可以存储在服务器110或用户指定的另一位置处。
就移动动作建议系统100收集并存储用户特定的数据或可以利用个人信息来说,可以给用户提供控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或行为、用户的偏好或用户的当前位置的信息)或控制是否和/或如何接收可能与用户更相关的内容的机会。此外,可以在存储或使用某些数据之前以一种或多种方式处理所述数据,以便去除个人可识别信息。例如,可以处理用户的身份以使得不能够确定该用户的个人可识别信息,或者可以笼统化获得定位信息的用户的地理位置(诸如,到市、邮政编码或州级),以使得不能够确定用户的特定位置。因此,用户可以控制如何收集关于用户的信息和移动动作建议系统如何使用所述信息。
图2示意了移动计算设备的示例显示200。在图2的示例中,所述显示来自于提供新闻内容的移动应用,其可以是社交媒体应用的一部分或者可以是报纸、杂志或其他通讯社提供的移动应用。所述显示可以是移动设备,诸如图1的移动设备150的显示。显示200包括可能表示实体的文本和图像。例如,实体205可以是演员的图像,实体210可以是与电影关联的图像,诸如电影海报或DVD封面。因此,显示200示意了实体提及(entity mention)可以是图像而不必与文本关联。实体215是文本中女演员的姓名。还用椭圆形圈出其他类似实体。实体205、210和215可以存在于知识库中。所述知识库可以包括实体的文本等价物、与实体关联的图像等,以便能够识别实体。
在显示200中的实体220为日期。日期实体220是匹配实体模板的实体的示例。这样的实体可以不在知识库中。而是,当它们匹配实体模板时系统可以识别这些实体。匹配实体模板的其他类似实体为电话号码、街道地址和电子邮件地址。尽管,显示200在显示200中的实体提及周围示意了椭圆形,然而这样的椭圆形是出于说明和实体识别的方便而呈现的,并且可以实际上将其显示给用户或作为从屏幕捕获的图像的一部分。
图3示意了移动计算设备的示例显示300,其中添加了建议的动作。移动动作建议系统诸如图1的系统100可以在图像中捕获显示200、在图像上执行辨别、找到图像中的实体并基于实体-动作映射确定针对识别的实体的动作。系统然后可以提供能够用当前屏幕显示的数据以生成建议的动作控件。这样,图3示意了根据公开的实现方式的图2的示例显示,其中添加了建议的动作控件。
在图3的示例中,系统已经为建议的动作选择了两个实体,来自图2的实体210和实体220。如先前所讨论,选择可以基于许多因素,诸如实体是否存在于知识库中或匹配实体模板、对于相同类型实体的过去用户动作、实体对于用户的相关性、实体对于页面的话题性等。对于两个选择了的实体,系统已经生成了建议的动作控件。建议的动作控件305与实体210对应。如果被选择,则建议的动作控件305可以打开好莱坞维基(Hollywood wiki)移动应用到关于实体210的页面。如果用户未安装好莱坞维基移动应用,则建议的动作控件305可以建议安装好莱坞维基移动应用(未示意)。因此,选择建议的动作可以使得移动设备打开移动应用商店到用于安装移动应用的界面。在另一实现方式中,动作可以直接开始安装(例如,不去移动应用商店)。以这种方式,系统能够建议应对用户可能不知道的实体的适当或受欢迎的应用。例如,如果实体是餐厅,则系统能够建议安装包括餐厅评价和/或允许用户进行预订的移动应用。
在一些实现方式中,建议的动作控件305可以包括多于一个动作。例如,建议的动作控件305可以包括用于购买电影票看电影的动作。在一些实现方式中,当电影新上映时,可以替代好莱坞维基动作而显示用于购买电影票的动作。换言之,系统可以使用上下文来选择要显示哪个动作。在一些实现方式中,系统可以使交换(alternate)哪个动作被显示,跟踪动作是被忽略还是被选择以学习用户偏好。在一些实现方式中,系统可以呈现多个选项直到系统得知用户偏好哪些选项。用户偏好信息可以被保持作为用于选择动作以显示给用户的排序数据的一部分。
显示300还包括建议的动作控件310。控件310与匹配实体模板的实体对应。动作可以通过实体匹配哪个实体模板来确定。因此,例如,日期可以具有在动作控件被选择时使得移动设备打开日历移动应用的建议的动作。在一些实现方式中,动作还可以基于实体填充默认值,以便用户仅需要保存日历条目。尽管控件305被示意为基于文本的控件并且控件310被示意为基于图像或图标的控件,但是控件305可以基于图像或图标并且控件310可以基于文本,或者每一个都可以基于文本和基于图像的组合。因此,动作控件被理解为包括基于文本的、基于图像的或文本和图像控件的组合。
图4示意了根据公开的实现方式的用于为移动计算设备上显示的实体建议动作的示例过程400的流程图。过程400可以由移动动作建议系统,诸如图1的系统100执行。过程400可以用于将实体映射到动作、识别来自移动设备的屏幕捕获图像中的实体以及生成为一些实体提供动作的建议的动作控件。过程400可以以生成实体-动作映射条目(405)而开始。实体-动作映射可以将实体映射到一个或多个动作。动作表示针对移动应用的深度链接。除了将实体映射到动作之外,实体-动作映射条目可以包括排序信息、动作的文本描述和关于实体-动作对的其他元数据。在一些实现方式中,条目还可以包括交替的文本描述和动作,其可以表示在用户还没有安装移动应用时为用户显示的描述。条目还可以包括次级动作,当被选择时其发起移动应用在移动设备上的安装,使得便于用户安装建议的应用。图5和图6示意了生成实体-动作映射中条目的两个示例方法。
系统然后可以过滤实体-动作映射条目(410)。可能需要过滤以保持映射的大小可管理。过滤可以基于根据许多信号而计算的排序,所述多个信号诸如实体关于由深度链接表示的内容的话题性分数以及移动应用和实体名称在文档(诸如,网页)中的提及(这样的一起出现促进排序)。信号还可以包括关于与深度链接关联的移动应用的信息,诸如应用的下载数(更多下载导致更高排序)、已经下载应用的用户给出的评级(更高的评级导致更高排序)等。其他排序信号可以包括移动应用的网页等价物的基于web的排序信号。例如,受欢迎的网页镜像可以促进对应的移动应用的排序。在一些实现方式中,可以使用网页镜像的网页排序。其他排序信号可以基于关于过去建议的动作所收集的数据。例如,系统可以聚合关于用户对于特定实体类型通常选择哪些动作的数据。对于特定实体类型用户使用特定应用越频繁,包括该特定实体类型的实体和调用该特定应用的深度链接的实体-动作对的排序越高。
系统可以使用该排序以减少每个实体所保持的动作的数量。例如,系统可以仅保持针对实体的由排序确定的顶级四个或六个动作。在一些实现方式中,排序或用于计算排序的信息可以与实体-动作对一起存储在映射条目中。在一些实现方式中,实体-动作映射或其一部分可以被推送到移动设备。系统可以在持续的基础上执行步骤405和410。例如,当新移动应用被添加到应用商店或当以定期时间间隔更新用于现有应用的信息等时,系统可以执行步骤405和410。因此,可以理解步骤405和410可以在持续的基础上执行。
图5示意了根据公开的实现方式的用于填充实体-动作表的示例过程500的流程图。过程500可以由移动动作建议系统诸如图1的系统100中的仿真器来执行。过程500可以用于经由在移动应用中提供的搜索用户界面通过“爬行”移动应用来发现深度链接以及其关联的实体。可以执行发现深度链接例如作为图4的步骤405的一部分。过程500可以以从知识库选择实体(505)开始。在一些实现方式中,选择的实体可以属于特定实体类型,因为知道移动应用对什么类型的实体有效。然而,如果不知道这样的信息,则经由过程500系统可以仍然用随机实体类型爬行移动应用。系统可以使用移动设备仿真器来在移动应用的搜索用户界面中提交实体的本文等价物(例如,搜索意图)(510)。仿真器可以配置为模拟移动设备的操作系统并且配置为确定对于特定用户界面有效的系统和应用变量。系统然后可以确定搜索请求是否返回了针对实体的内容(515)。例如,如果移动应用返回“未查找到信息”或“不可用”或类似消息,则对于实体未查找到内容(515,否)。
如果查找到内容(515,是),则系统可以将实体(例如,经由实体识别符)映射到与内容对应的深度链接(520)。深度链接可以表示具有搜索意图的搜索界面或预填充有实体描述的搜索输入框,以使得当用户选择了建议的动作控件时系统能够提交搜索,或者深度链接可以表示作为搜索的结果而返回的内容,以使得激活建议的动作控件直接转到内容而不必提交搜索。在一些实现方式中,深度链接可以是应用开发者限定的编码应用识别符的识别符和用于在特定状态下开始应用的数据的识别符。在一些实现方式中,深度链接可以是当被提供给移动应用时使得移动应用显示内容(即,响应于搜索而返回的内容)的变量-值对(例如,XML元素)的列表或与填充的搜索界面(例如,搜索意图)对应的变量-值对(例如,XML元素)的列表。系统可以通过将条目添加到实体-动作映射来将实体映射到深度链接。条目可以识别实体和深度链接。系统还可以为动作添加描述,所述描述可以与移动应用相关(例如,“用ReserveIt移动app打开”)。在一些实现方式中,描述可以在稍后时间手动管理。系统还可以添加与下载和安装移动应用对应的次级描述和次级深度链接,使得如果用户没有安装应用,则可以向用户提供下载应用的机会作为动作。在一些实现方式中,次级动作可以在过滤之后添加(例如,在实体-动作对被选择为用于实体的顶级动作之一之后)。
在为移动应用查找到激活内容的实体之后,系统可以通过选择相同实体类型的实体来智能地开始从知识库中选择实体(525)。例如,如果被测试的移动应用是预订应用,则系统可能会发现餐厅实体返回内容。因此,系统可以继续测试其他餐厅实体,而不是从知识库中选择随机实体进行测试。因此,系统可以确定是否存在相同实体类型的另一实体(525)。如果如此(525,是),则系统可以选择相同实体类型的另一实体(530),并且确定使用该实体的搜索是否带来内容(510,515),如上所述。
如果相同实体类型的实体使用搜索界面不导致内容(515,否),则系统可以确定是否坚持(stay with)相同实体类型(535)。如果该类型的先前实体确实导致内容,则系统可以坚持相同的实体类型(535,是)。如果系统不坚持相同的实体类型(535,否),或一旦实体已用尽(525,否),则系统可以确定是否继续测试实体(540)。例如,在一些实现方式中,系统可以测试所有实体,并且只要知识库中有实体尚未被测试则可以继续。在一些实现方式中,系统可以测试每个类型的实体的子集。例如,系统可以测试特定类型的100或200或1000个实体,并且可以得出结论,如果该类型的实体中没有一个实体产生内容,则不再需要测试该类型的更多实体。
在一些实现方式中,系统可以提前知道哪些实体类型对于移动应用有效。例如,移动应用开发者可以提供实体类型作为应用清单的一部分。在这种情况下,系统可以仅测试指定类型的实体,并确定存在的另一个实体是否限于指定(一个或多个)类型的实体。如果还有其他要测试的实体(540,是),则系统可以从知识库中选择另一个实体(545),并如上所解释在510继续测试。当对于该移动应用没有其他要测试的实体(540,否)时,过程500结束。
图6示意了根据公开的实现方式的用于填充实体-动作表的另一示例过程600的流程图。过程600可以由移动动作建议系统诸如图1的系统100中的仿真器来执行。过程600可用于发现与由移动应用开发者提供的深度链接关联的实体。例如,移动应用开发者可以公开(expose)用于移动应用的深度链接,例如作为应用清单的一部分。开发者公开的深度链接可以是深度链接的列表或基于模板的深度链接。例如,深度链接可以是变量-值对(例如,XML元素)的集合。作为另一示例,深度链接可以是具有正则表达式的单个变量-值对(例如,XML元素)。这样的深度链接可以称为深度链接模板。在一些实现方式中,深度链接模板还可以指定实体类型或与实体类型关联。可以执行发现与开发者提供的深度链接关联的实体例如作为图4的步骤405的一部分。
如果深度链接是深度链接模板(605,是),则过程600可以以完成正则表达式(610)开始。作为一个示例,深度链接模板可以是bookit://hotel/[0-9]{3}。本示例中的正则表达式指定深度链接以三位数字识别符(three digit identifier)结束。系统可以通过在结尾替换三位数字识别符来完成正则表达式。当扩展正则表达式时,系统可以循环遍历每个有效的三位数字识别符(例如,经由630,否)。当然,正则表达式可以包括字符或数字或它们的组合。在一些实现方式中,完成可以伴随与模板关联或对于模板指定的实体类型的实体被选择。例如,正则表达式可以指定实体的类型,并且系统可以通过替换实体识别符或实体描述等来完成正则表达式。在一些实现方式中,系统可以使用来自web镜像的信息来完成正则表达式。例如,来自bookit的移动应用可以具有包括在移动应用中执行的相同种类的动作的相应网站。系统可以知道web镜像站点支持符合正则表达式的一个集合的实体(例如,某些实体识别符)。然后系统可以使用所述集合约束生成的深度链接的数量,例如仅通过使用所述集合中的实体来完成正则表达式。然后系统可以使用移动设备仿真器生成用于深度链接的内容(615)。仿真器可以如上所述地起作用,从而导致由移动应用生成的内容。系统可以确定返回的内容中的至少一个主实体(620)。例如,仿真器可以包括如上关于图1所述的屏幕捕获应用,其对包含内容的文本和图像执行实体检测。因此,系统可以发现内容中的一个或多个实体。系统还可以仅选择主实体,例如具有满足(例如,符合或超过)阈值的话题性分数的那些。然后,系统可以通过将实体-深度链接对作为条目添加到实体-动作映射中而链接查找到的任何主实体与深度链接(625)。如先前讨论的,映射还可以包括描述,反映实体-动作对的分数的元数据,次级动作和描述等。如果深度链接是从深度链接模板生成的(630,是),则系统可以继续如上所述完成正则表达式(610),直到可能的组合已经用尽(630,否)。然后过程600结束,但是要理解系统可以为应用开发者提供的每个深度链接/深度链接模板执行过程600。
返回到图4,独立于步骤405和410,系统可以在移动设备的捕获的屏幕上执行实体辨别(415)。实体辨别可以由用户动作触发。例如,动作可以是预定义的手势,诸如上滑或下滑或多手指敲击或长按等。在一些实现方式中,用户动作可以是选择小组件或菜单选项。响应于该动作,系统可以接收在移动设备上捕获的屏幕的图像。可以使用常规技术获得捕获的图像。系统可以通过使用常规技术执行实体辨别来识别捕获的屏幕中的实体。实体辨别可以包括识别文本字符或数字、地标、图标等,并将文本、地标或图标与知识库中的实体匹配或将文本与实体模板匹配。因此,可以经由词以及图像和图标等辨别实体。
系统可以将识别的实体与实体-动作映射中的实体匹配(420)。当实体在知识库中时,系统可以使用针对实体的识别符来定位映射中的匹配条目。当实体匹配实体模板时,系统可以使用实体模板来在映射中查找对应动作。系统可以从匹配条目中选择至少一个实体-动作对(425)。例如,如果屏幕尺寸小,而许多实体被识别,则系统可以基于实体对屏幕内容的话题性、实体对用户的相关性、对相同类型的实体的过去的动作选择等过滤实体。因此,系统可以减少显示对应的建议的动作控件的实体的数量。在一些实现方式中,发起动作建议过程的用户动作可以隐式地选择实体。例如,长按在演员的图像上可以是对该演员的隐式选择并且系统可以只针对该演员提供(一个或多个)建议的动作。
除了过滤实体之外,系统还可以对动作进行过滤。例如,每个实体可被映射到多个对应的动作(例如,以深度链接的形式)。系统可以基于许多因素,诸如用户是否安装了相应的移动应用,用户使用移动应用的频率,对于所述实体类型过去的动作建议等(例如,如果用户在过去忽略了动作,则其可以接收较低的排序,但是如果用户经常选择动作,则其可以接收较高的排序),来过滤用于实体的动作。系统还可以基于显式用户偏好或上下文来过滤动作。一旦实体和用于实体的动作已被过滤,系统就可以具有对于建议的动作的选择的实体-动作对。
在一些实现方式中,针对实体选择的动作可以与未安装在移动设备上的移动应用关联。当发生这种情况时,用于所选择的实体的动作可以是次级动作(次级深度链接),当其被选择时,将用户带到用户能够下载和安装移动应用的界面,或者自动发起移动应用的安装。因此,应当理解,实体-动作对可以表示次级动作,其使得用户能够安装移动应用。在一些实现方式中,在移动应用成功安装之后,系统可以使用来自实体-动作映射的深度链接来打开安装的移动应用。在这种实现方式中,这样选择建议的动作控件可以首先发起次级动作,然后再发起主要动作。
系统可以针对所选择的每个实体-动作对显示建议的动作控件(430)。建议的动作控件可以包括标识用于用户的动作的文本。建议的动作控件也可以是可选择的,例如使用敲击、按下或点击等被选择。系统可以确定用户是否选择动作之一(435)。例如,用户可以选择可选择控件之外的区域,其可以被解释为放弃。一些实施方式,不选择控件的一些其他用户手势可以指示放弃。如果用户没有选择建议的动作(435,否),则系统可以记录对于与显示的建议的动作关联的实体-动作对的放弃(445)。放弃可以记录在针对用户的排序数据中,并且可以在下一次针对用户降级该动作或降低该动作权重。如果用户选择建议的动作控件(453,是),则系统可以接收所选择的动作并且可以发起相应的动作(440)。发起动作可以包括使用深度链接将移动应用打开到由深度链接表示的内容。换句话说,不仅仅是将焦点切换到移动应用中的主屏幕,深度链接导致移动应用对移动应用内的特定内容开放。例如,如果选择演员,则特定内容可以是关于好莱坞维基移动应用中的演员的传记页面。在一些实现方式中,深度链接可以表示搜索用户界面,其具有由实体的文本等价物填充的搜索意图。在一些实现方式中,该动作可以发起移动应用的安装。系统还可以记录历史中的实体-动作对(440),在用户许可的情况下,其可以用于定制建议的动作。在一些实现方式中,历史可以被存储为排序数据,例如图1的排序数据176的一部分。这些对可以包括用户是否选择了建议的动作控件的指示。例如,系统可以通过历史来了解用户偏好某些移动应用或者偏好用于特定实体类型的建议的动作。同样,系统可能发现用户从不选择具有特定移动应用的动作,并且可以停止使用该动作作为针对该特定用户的建议的动作。因此,系统可以更新排序引擎使用的排序数据。在一些实现方式中,系统可以向服务器提供历史数据以辅助维护/生成实体动作映射条目。然后过程400结束,直到用户用不同的屏幕捕获提供使得系统再次执行步骤415的用户动作。
如早先指示的,过程400可以跨移动设备上运行的所有移动应用提供一致的用户交互体验,使得相似类型的实体不管产生内容的移动应用如何都相同地作用。当然,一个用户可以选择关闭屏幕捕获特征,这可能会阻止过程400的某些部分运行。
图7示意了根据公开的实现方式的用于显示被显示在移动计算设备上的建议的动作控件的示例过程700的流程图。可以执行过程700作为图4的步骤430的一部分。
系统可以为所识别的(一个或多个)实体-动作对(705)中的每一个生成建议的动作控件。控件可以是弹出窗口、图标、链接或一些其他视觉提示,其识别屏幕的区域可选择并且提供当被选择时发生什么的指示。在一些实现方式中,控件的外观可以提供动作类型的指示。例如,实体可以具有使用第一颜色的控件,电话号码可以具有使用第二种颜色的控件,网站使用第三种颜色,电子邮件地址使用第四种颜色,街道地址使用第五种颜色等。每个控件都是可选择的,这意味着如果移动设备的用户触摸视觉提示上方的屏幕,移动设备将接收触发或发起与该控件关联的动作的选择输入。例如,如果用户触摸图3的控件305上方的屏幕,系统可以打开好莱坞维基移动应用到属于实体210的内容。当然,控件可以包括用于两个动作的选项,并且系统可以提示移动设备的用户选择动作中的一个。
每个控件可以具有指示屏幕上与控件关联的实体位于何处的坐标。在一些实现方式中,每个控件还可以具有对应于底层实体的坐标的所捕获的屏幕图像的图像数据。换句话说,控件可以包括屏幕捕获图像的与用于建议的动作控件的实体-动作对的实体对应的一部分。在一些实现方式中,移动设备可以利用为其生成动作-实体对的屏幕捕获图像,并且可能不需要将图像数据与控件关联,因为系统可以使用坐标从屏幕捕获图像确定图像数据。在另一实现方式中,系统可以存储屏幕捕获图像的一部分以及其坐标作为参考点。屏幕捕获图像的坐标和部分可以帮助系统确定是否用当前屏幕显示建议的动作控件。如果服务器生成实体-动作对,则服务器可以向移动设备提供实体-动作对和对应的实体坐标。
在移动设备处,系统可以确定建议的动作控件是否与当前屏幕匹配(710)。例如,如果当前运行的移动应用(例如,正在生成当前屏幕的移动应用)不同于生成用于确定实体-动作对的屏幕捕获图像的移动应用,系统可以确定控件与当前屏幕不匹配。作为另一示例,系统可以使用屏幕坐标或部分图像数据用于至少一些建议的动作控件以确定当前显示的屏幕是否类似于为其生成建议的动作控件的屏幕捕获图像。例如,系统可以使用屏幕坐标将与用于控件的实体对应的图像部分与当前屏幕的相同部分匹配。如果用于该部分的图像数据不匹配,则系统可以确定建议的动作控件与当前屏幕不匹配。作为另一个示例,建议的动作控件可以包括基准标记,例如用于识别与建议的动作控件关联的实体的屏幕捕获图像的一部分,并且系统可以仅比较基准标记与当前屏幕的对应部分。在任一情况下,如果用户已经滚动、放大或缩小,则当前屏幕可能与用于生成建议的动作控件的屏幕不匹配。在一些实现方式中,系统可以寻找靠近实体的坐标的当前图像中的基准标记或参考点,并且可以相应地移动建议的动作控件的显示。在这种情况下,系统可以确定当前屏幕和建议的动作控件确实匹配。
如果建议的动作控件和当前屏幕匹配(710,是),则系统可以用当前屏幕显示建议的动作控件(715)。如果建议的动作控件和当前屏幕不匹配(710,否),系统可能不会用当前屏幕显示建议的动作控件,过程700结束为屏幕捕获图像。
这里要注意,还可以应用于本文所述的各种实施例,可以提供能力(capability)来确定注释数据(和/或功能)的提供是否与使用内容、布局、功能或被显示在设备屏幕上的图像的其他方面的权利一致,并相应地设置能力。例如,可以提供限制那样做可能违反服务条款、内容许可或其他关于使用的限制的内容或功能注释的设置。这种设置可以诸如由用户在建立新服务或设备使用许可时手动或自动地进行,或者通过app安装例程等手动或自动地进行。
图9示出了可以作为图1的服务器110和/或客户端150操作的通用计算机设备900的示例,其可以与这里描述的技术一起使用。计算设备900旨在表示各种计算设备的示例形式,诸如笔记本电脑、台式机、工作站、个人数字助理、蜂窝电话、智能手机、平板电脑、服务器和其他计算设备(包括可穿戴设备)。在这里示出的部件、它们的连接和关系以及它们的功能仅意味着示例,而不意味着限制本发明在本文件中描述和/或请求保护的实现方式。
计算设备900包括经由接口908连接的处理器902、存储器904、存储设备906和扩展端口910。在一些实现方式中,计算设备900可以包括收发器946、通信接口944和GPS(全球定位系统)接收器模块948以及其他经由接口908连接的组件。设备900可以通过通信接口944无线地通信,通信接口944在必要时可以包括数字信号处理电路。组件902、904、906、908、910、940、944、946和948中的每一个可安装在共同的母板上或者酌情以其他方式安装。
处理器902可处理用于在计算设备900内执行的指令,包括存储在存储器904中或在存储设备906上的指令以为在诸如显示器916的外部输入/输出设备上的GUI显示图形信息。显示器916可以是监视器或平板触摸屏显示器。在一些实现方式中,可酌情连同多个存储器或多种类型的存储器一起使用多个处理器和/或多个总线。另外,可以连接多个计算设备900,其中每个设备提供所需操作的多个部分(例如,作为服务器阵列(server bank)、一组刀片服务器或多处理器系统)。
存储器904存储计算设备900内的信息。在一个实现方式中,存储器904是易失性存储器单元或多个单元。在另一实现方式中,存储器904是非易失性存储器单元或多个单元。存储器904还可以是另一形式的计算机可读介质,诸如磁盘或光盘。在一些实现方式中,存储器904可以包括通过扩展接口提供的扩展存储器。
存储设备906能够为计算设备900提供大容量存储。在一个实现方式中,存储设备906可为或包括计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或带设备、快闪存储器或其他类似固态存储器设备或设备阵列,包括在存储区域网络或其他配置中的设备。计算机程序产品可以有形地实施在这样的计算机可读介质中。计算机程序产品还可以包括指令,所述指令在被执行时执行诸如上述方法的一个或多个方法。计算机可读介质或机器可读介质是诸如存储器904、存储设备906或处理器902上的存储器的存储设备。
接口908可以是高速控制器或低速控制器或这样的控制器的组合,高速控制器管理用于计算设备900的带宽密集型操作,而低速控制器管理较低的带宽密集型操作。可以提供外部接口940以便使能设备900与其他设备的近区域通信。在一些实现方式中,控制器可以耦合到存储设备906和扩展端口914。可包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的扩展端口可耦合到一个或多个输入/输出设备,诸如键盘、指点设备、扫描仪或诸如交换机或路由器的联网设备(例如通过网络适配器)。
如图中所示,计算设备900可以以许多不同形式来实现。例如,其可以被实现为标准服务器930或在这样的服务器的群组中实现多次。它也可以被实现为机架服务器系统的一部分。此外,它可以在诸如膝上型计算机932、个人计算机934或平板电脑/智能电话936的计算设备中实现。整个系统可以由彼此通信的多个计算设备900组成。其他配置是可能的。
图10示出了通用计算机设备1000的示例,其可以是图1的服务器110,其可以与这里描述的技术一起使用。计算设备1000旨在表示大规模数据处理设备的各种示例形式,诸如服务器、刀片服务器、数据中心、大型机和其他大规模计算设备。计算设备1000可以是具有多个处理器的分布式系统,可能地包括由一个或多个通信网络互连的网络附加存储节点。在本文示出的组件、它们的连接和关系以及它们的功能仅意味着示例,而不意味着限制在本文件中描述和/或请求保护的本发明的实现方式。
分布式计算系统1000可以包括任何数量的计算设备1080。计算设备1080可以包括通过本地或广域网络、专用光链路、调制解调器、网桥、路由器、交换机、有线或无线网络等通信的服务器或机架服务器、大型机等。
在一些实施方式中,每个计算设备可以包括多个机架。例如,计算设备1080a包括多个机架1058a-1058n。每个机架可以包括一个或多个处理器,诸如处理器1052a-1052n和1062a-1062n。处理器可以包括数据处理器、网络附接的存储设备和其他计算机控制的设备。在一些实现方式中,一个处理器可以作为主处理器操作并且控制调度和数据分发任务。处理器可以通过一个或多个机架交换机1058互连,并且一个或多个机架可以通过交换机1078连接。交换机1078可以处理多个连接的计算设备1000之间的通信。
每个机架可以包括存储器以及存储(storage),存储器诸如存储器1054和存储器1064,存储诸如1056和1066。存储1056和1066可以提供大容量存储,并且可以包括易失性或非易失性存储,诸如网络附接的盘、软盘、硬盘、光盘、磁带、快闪存储器或其他类似的固态存储器设备,或包括存储区域网络或其他配置中的设备的设备阵列。存储1056或1066可以在多个处理器、多个机架或多个计算设备之间共享,并且可以包括存储可由一个或多个处理器执行的指令的计算机可读介质。存储器1054和1064可以包括例如一个或多个易失性存储器单元或一个或多个非易失性存储器单元,和/或其他形式的计算机可读介质,诸如磁盘或光盘、快闪存储器、高速缓存、随机存取存储器(RAM)、只读存储器(ROM)及其组合。诸如存储器1054的存储器也可以在处理器1052a-1052n之间共享。诸如索引的数据结构可以例如跨存储1056和存储器1054存储。计算设备1000可以包括未示出的其他组件,诸如控制器、总线、输入/输出设备、通信模块等。
诸如系统100的整个系统可以由彼此通信的多个计算设备1000组成。例如,设备1080a可以与设备1080b、1080c和1080d通信,并且这些可以统称为系统100。作为另一示例,图1的系统100可以包括一个或多个计算设备1000。一些计算设备可以定位为地理上彼此靠近,并且其他一些可以定位为地理上远离。系统1000的布局仅是示例,系统可能呈现其他布局或配置。
根据本公开的某些方面,移动设备包括至少一个处理器和存储器,其存储指令,当由至少一个处理器执行指令时,其使得移动设备执行操作。操作包括:响应于用户请求,识别由移动应用生成的内容中的至少一个实体,识别映射到至少一个实体的动作,动作表示进入第二移动应用的深度链接,以及提供允许用户发起对于实体的动作的控件。
这个和其他方面可以包括以下特征中的一个或多个。例如,第二移动应用可以未被安装在移动设备上。当第二移动应用未被安装在移动设备上时,存储器可以进一步存储指令,当由至少一个处理器执行该指令时,响应于确定第二移动应用未被安装而使得移动设备接收对控件的选择,在移动设备上下载并安装第二移动应用,并且在安装之后使用深度链接来打开第二移动应用。作为另一示例,操作还可以包括接收对控件的选择并且针对用户增加在至少一个实体与动作之间的映射的权重。作为另一示例,操作还可以包括接收清除所述控件的命令而不进行选择,并且针对用户减少在至少一个实体与动作之间的映射的权重。作为另一示例,动作可以是第一动作,并且操作还可以包括确定至少一个实体被映射到第一动作和第二动作,第二动作表示进入第三移动应用的第二深度链接,确定第二移动应用安装在移动设备上但是第三移动应用没有安装在移动设备上,并且作为响应选择第一动作而不是第二动作。
作为另一示例,动作可以是第一动作,并且操作还可以包括确定至少一个实体被映射到第一动作和第二动作,第二动作表示进入第三移动应用的第二深度链接,确定用户比第三移动应用更频繁地使用第二移动应用,并且作为响应选择第一动作而不是第二动作。作为另一示例,该动作可以是第一动作,并且操作也可以包括确定至少一个实体被映射到第一动作和第二动作,第二动作表示进入第三移动应用的第二深度链接,确定实体相对于第二移动应用比相对于第三移动应用具有较高的话题性分数,并且作为响应选择第一动作而不是第二动作。
根据本公开的某些方面,一种方法包括:使用用于移动应用的深度链接运行移动设备仿真器,确定用于深度链接的主实体,将主实体映射到深度链接,在存储器中存储主实体到深度链接的映射,并且向移动设备提供映射,当主实体显示在移动设备的屏幕上时,映射使得移动设备的用户能够选择深度链接。
这个和其他方面可以包括以下特征中的一个或多个。例如,所述方法还可以包括基于移动应用在应用商店中的属性对映射进行排序,其中当排序满足阈值时发生提供映射。作为另一示例,可以基于由移动应用的开发者提供的深度链接模板来生成深度链接和/或可以基于由移动应用的开发者提供的深度链接列表来生成深度链接。在一些这样的实现方式中,所述方法还可以包括从模板生成多个深度链接,对于多个深度链接中的每一个确定深度链接是否有效,并且当深度链接有效时,确定对于深度链接的主实体,将相应的主实体映射到深度链接,并将映射存储在存储器中。
作为另一示例,移动应用可以是第一移动应用,并且移动设备使用映射来识别映射到在移动设备上运行的第二移动应用中辨别的至少一个实体的深度链接,并且提供控件,所述控件允许用户导航到第一移动应用中的深度链接。作为另一示例,所述方法可以包括在运行移动设备仿真器之前从知识库中选择实体用于输入到针对移动应用的搜索意图中,其中运行移动设备仿真器包括使用仿真器提交利用实体的搜索,并且当移动应用返回针对实体的内容时执行映射、存储和排序。
根据本公开的某些方面,一种方法包括:响应于移动设备上的用户手势识别移动应用生成的内容中的至少一个实体,识别映射到至少一个实体的动作,所述动作表示进入第二移动应用的深度链接,以及提供允许用户发起针对实体的动作的控件。
这个和其他方面可以包括以下特征中的一个或多个。例如,第二移动应用可能未被安装在移动设备上。在一些这样的实现方式中,所述方法还包括接收对控件的选择,以及将第二移动应用下载和安装在移动设备上。作为另一示例,实体可以匹配实体模板,并且实体经由实体模板映射到动作。作为另一示例,实体是在内容中识别的多个实体中的第一实体,并且所述方法还包括基于与用户的相关性从多个实体中选择第一实体。作为另一示例,实体是在内容中识别的多个实体中的第一实体,并且所述方法还包括基于内容的话题性从多个实体中选择第一实体。作为另一示例,动作是第一动作,并且所述方法还可以包括确定至少一个实体被映射到第一动作和第二动作,第二动作表示进入第三移动应用的第二深度链接,确定与第三移动应用相比用户更多地使用第二移动应用,并且作为响应选择第一动作而不是第二动作。
各种实现方式可以包括在一个或多个计算机程序中的实现,计算机程序可以在可编程系统上执行和/或解译,可编程系统包括至少一个可编程处理器,其可以是专用或通用目的,可编程处理器耦合为从存储系统、至少一个输入设备以及至少一个输出设备接收数据和指令和向它们发送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或者代码)包括用于可编程处理器的机器指令,并且可以以高级程序化和/或面向对象的程序语言来实现,和/或以汇编/机器语言来实现。当在本文中使用时,术语“机器可读介质”、“计算机可读介质”指用于向可编程处理器提供机器指令和/或数据的任何非暂态计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器(包括读取访问存储器)、可编程逻辑器件(PLD))。
这里描述的系统和技术可以在计算系统中实现,该计算系统包括后端组件(例如,作为数据服务器),或包括中间件组件(例如,应用服务器),或包括前端组件(例如,具有图形用户界面或网页浏览器的客户端计算机,用户可通过其与这里描述的系统和技术的实现进行交互),或者这样的后端、中间件或前端组件的任意组合。可以通过数字数据通信的任意形式或介质(例如,通信网络)将系统的组件互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和因特网。
计算系统可以包括客户端和服务器。一般来说,客户端和服务器彼此远离,并且通常通过通信网络交互。通过运行在各个计算机并且彼此具有客户端-服务器关系的计算机程序而形成的客户端和服务器的关系。
已经描述了许多实现方式。然而,在不背离本发明的精神和范围的情况下可以进行各种修改。此外,图中描绘的逻辑流程不要求所示出的特定次序或者顺序次序来实现合意的结果。此外,可以提供其他步骤,或可以从描述的流程排除步骤,并且可以将其他组件添加到描述的系统或从描述的系统除去其他组件。因此,其他实现方式落入所附权利要求的范围内。
Claims (17)
1.一种移动设备,包括:
至少一个处理器;以及
存储器,所述存储器存储在被至少一个处理器执行时使得移动设备执行下述操作的指令:
响应于用户请求,识别移动应用生成的内容中的至少一个实体,
识别映射到至少一个实体的动作,所述动作表示进入第二移动应用的深度链接,以及
提供允许用户发起用于实体的动作的控件。
2.根据权利要求1所述的移动设备,其中存储器还存储在被至少一个处理器执行时使得移动设备执行下述操作的指令:
接收对控件的选择;以及
为用户增加至少一个实体和动作之间的映射的权重。
3.根据任意前述权利要求所述的移动设备,其中存储器还存储在被至少一个处理器执行时使得移动设备执行下述操作的指令:
接收清除控件的命令而不选择;以及
为用户减少至少一个实体和动作之间的映射的权重。
4.根据任意前述权利要求所述的移动设备,其中动作是第一动作,并且存储器还存储在被至少一个处理器执行时使得移动设备执行下述操作的指令:
确定至少一个实体被映射到第一动作和第二动作,所述第二动作表示进入第三移动应用的第二深度链接;
确定第二移动应用被安装在移动设备上但是第三移动应用未安装在移动设备上,或者用户比第三移动应用更频繁地使用第二应用,或者与第三移动应用相比实体关于第二移动应用具有较高的话题性分数;以及
作为响应选择第一动作而不是第二动作。
5.根据任意前述权利要求所述的移动设备,其中第二移动设备未被安装在移动设备上,并且其中存储器还存储在被至少一个处理器执行时使得移动设备执行下述操作的指令:
接收对控件的选择;
将第二移动应用下载并安装在移动设备上;以及
在安装之后使用深度链接打开第二移动应用。
6.一种方法,包括:
运行具有用于移动应用的深度链接的移动设备仿真器;
确定针对深度链接的主实体;
将主实体映射到深度链接;
将主实体到深度链接的映射存储在存储器中;以及
将映射提供给移动设备,所述映射使移动设备的用户能够在主实体被显示在移动设备的屏幕上时选择深度链接。
7.根据权利要求6所述的方法,还包括:
基于移动应用在应用商店中的属性来对映射排序,
其中在排序满足阈值时发生提供映射。
8.根据权利要求6-7中任一项所述的方法,其中基于移动应用的开发者提供的深度链接模板或基于移动应用的开发者提供的深度链接列表来生成深度链接。
9.根据权利要求6-8中任一项所述的方法,其中移动应用是第一移动应用,并且其中移动设备使用映射来识别被映射到运行在移动设备上的第二移动应用中辨别出的至少一个实体的深度链接,并提供允许用户导航到第一移动应用中的深度链接的控件。
10.根据权利要求6-9中任一项所述的方法,进一步包括:
在运行移动设备仿真器之前从知识库选择实体用于输入到针对移动应用的搜索意图中,
其中运行移动设备仿真器包括使用仿真器提交利用实体的搜索,以及
在移动应用返回针对实体的内容时执行映射、存储和排序。
11.根据权利要求6所述的方法,其中基于移动应用的开发者提供的深度链接模板来生成深度链接,并且所述方法进一步包括:
从模板生成多个深度链接;
对于多个深度链接中的每一个确定深度链接是否有效,并且在深度链接有效时,确定针对深度链接的主实体;
将相应的主实体映射到深度链接;以及
将映射存储在存储器中。
12.一种方法,包括:
响应于移动设备上的用户手势识别移动应用生成的内容中的至少一个实体,
识别映射到至少一个实体的动作,所述动作表示进入第二移动应用的深度链接;以及
提供允许所述用户发起对于实体的动作的控件。
13.根据权利要求12所述的方法,其中实体匹配实体模板并且经由实体模板将实体映射到动作。
14.根据权利要求12-13中任一项所述的方法,其中动作是第一动作并且所述方法进一步包括:
确定至少一个实体被映射到第一动作和第二动作,所述第二动作表示进入第三移动应用的第二深度链接;
确定与第三移动应用相比用户使用所述第二移动应用更多;以及
作为响应选择第一动作而不是第二动作。
15.根据权利要求12-13所述的方法,其中第二移动应用未安装在移动设备上,并且其中所述方法进一步包括:
接收对控件的选择;
将第二移动应用下载并安装在移动设备上。
16.根据权利要求12-15中任一项所述的方法,其中实体是在内容中识别的多个实体中的第一实体,并且所述方法进一步包括:
基于与用户的相关性从多个实体当中选择第一实体。
17.根据权利要求12-15中任一项所述的方法,其中实体是在内容中识别的多个实体中的第一实体,并且所述方法进一步包括:
基于内容的话题性从多个实体当中选择第一实体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562153756P | 2015-04-28 | 2015-04-28 | |
US62/153,756 | 2015-04-28 | ||
US14/724,965 US9703541B2 (en) | 2015-04-28 | 2015-05-29 | Entity action suggestion on a mobile device |
US14/724,965 | 2015-05-29 | ||
PCT/US2016/027875 WO2016176062A1 (en) | 2015-04-28 | 2016-04-15 | Entity action suggestion on a mobile device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107438814A true CN107438814A (zh) | 2017-12-05 |
Family
ID=55913707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680020024.0A Pending CN107438814A (zh) | 2015-04-28 | 2016-04-15 | 移动设备上的实体动作建议 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9703541B2 (zh) |
EP (1) | EP3289486A1 (zh) |
CN (1) | CN107438814A (zh) |
WO (1) | WO2016176062A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113657100A (zh) * | 2021-07-20 | 2021-11-16 | 北京百度网讯科技有限公司 | 实体识别方法、装置、电子设备及存储介质 |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9870247B2 (en) * | 2014-06-16 | 2018-01-16 | Cyber Reliant Corporation | System and method for dynamic provisioning of applications |
US9811352B1 (en) | 2014-07-11 | 2017-11-07 | Google Inc. | Replaying user input actions using screen capture images |
US9965559B2 (en) | 2014-08-21 | 2018-05-08 | Google Llc | Providing automatic actions for mobile onscreen content |
US20160179343A1 (en) * | 2014-12-19 | 2016-06-23 | Facebook, Inc. | Systems and methods for creating, selecting, presenting, and executing calls to action |
US10078803B2 (en) | 2015-06-15 | 2018-09-18 | Google Llc | Screen-analysis based device security |
US10650067B2 (en) * | 2015-08-13 | 2020-05-12 | Samsung Electronics Co., Ltd. | Cloud-enabled architecture for on-demand native application crawling |
US10970646B2 (en) | 2015-10-01 | 2021-04-06 | Google Llc | Action suggestions for user-selected content |
US20170103129A1 (en) * | 2015-10-12 | 2017-04-13 | Google Inc. | Scoring content within native applications |
US20170109814A1 (en) * | 2015-10-19 | 2017-04-20 | Wesley John Boudville | Linket to control mobile deep links |
US10178527B2 (en) | 2015-10-22 | 2019-01-08 | Google Llc | Personalized entity repository |
US9792101B2 (en) * | 2015-11-10 | 2017-10-17 | Wesley John Boudville | Capacity and automated de-install of linket mobile apps with deep links |
US10055390B2 (en) | 2015-11-18 | 2018-08-21 | Google Llc | Simulated hyperlinks on a mobile device based on user intent and a centered selection of text |
KR20180093040A (ko) | 2015-12-21 | 2018-08-20 | 구글 엘엘씨 | 메시지 교환 스레드들에 대한 자동적인 제안들 |
WO2017112796A1 (en) | 2015-12-21 | 2017-06-29 | Google Inc. | Automatic suggestions and other content for messaging applications |
US10120954B2 (en) | 2015-12-31 | 2018-11-06 | Samsung Electronics Co., Ltd. | Transformation and presentation of on-demand native application crawling results |
US10073826B2 (en) * | 2016-06-30 | 2018-09-11 | Microsoft Technology Licensing, Llc | Providing action associated with event detected within communication |
CN109952572B (zh) | 2016-09-20 | 2023-11-24 | 谷歌有限责任公司 | 基于消息贴纸的建议响应 |
JP6659910B2 (ja) | 2016-09-20 | 2020-03-04 | グーグル エルエルシー | データへのアクセス許可を要求するボット |
US10535005B1 (en) | 2016-10-26 | 2020-01-14 | Google Llc | Providing contextual actions for mobile onscreen content |
US11237696B2 (en) | 2016-12-19 | 2022-02-01 | Google Llc | Smart assist for repeated actions |
US10514833B2 (en) | 2016-12-30 | 2019-12-24 | Google Llc | Contextual paste target prediction |
US10701166B2 (en) | 2017-01-31 | 2020-06-30 | Microsoft Technology Licensing, Llc | Automated application linking |
US11153411B2 (en) * | 2017-04-10 | 2021-10-19 | Samsung Electronics Co., Ltd. | Method and apparatus for processing user request |
US10891485B2 (en) | 2017-05-16 | 2021-01-12 | Google Llc | Image archival based on image categories |
US10404636B2 (en) | 2017-06-15 | 2019-09-03 | Google Llc | Embedded programs and interfaces for chat conversations |
US10348658B2 (en) | 2017-06-15 | 2019-07-09 | Google Llc | Suggested items for use with embedded applications in chat conversations |
US11113604B2 (en) * | 2017-11-06 | 2021-09-07 | Google Llc | Training and/or utilizing an interaction prediction model to determine when to interact, and/or prompt for interaction, with an application on the basis of an electronic communication |
US11941542B2 (en) * | 2017-11-20 | 2024-03-26 | Diveplane Corporation | Computer-based reasoning system for operational situation control of controllable systems |
WO2019106237A1 (en) * | 2017-11-30 | 2019-06-06 | Hookle Oy | User's social media rate of activity |
US10891526B2 (en) | 2017-12-22 | 2021-01-12 | Google Llc | Functional image archiving |
US10768952B1 (en) | 2019-08-12 | 2020-09-08 | Capital One Services, Llc | Systems and methods for generating interfaces based on user proficiency |
CN111221614A (zh) * | 2020-01-03 | 2020-06-02 | 北京小米移动软件有限公司 | 一种信息处理方法、装置、电子设备及存储介质 |
US11709691B2 (en) * | 2021-09-01 | 2023-07-25 | Sap Se | Software user assistance through image processing |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101410774A (zh) * | 2004-05-03 | 2009-04-15 | 微软公司 | 在线服务切换和定制 |
WO2012137215A1 (en) * | 2011-04-08 | 2012-10-11 | Yogesh Chunilal Rathod | A system and method for communication |
US20130073389A1 (en) * | 2011-09-15 | 2013-03-21 | Stephan HEATH | System and method for providing sports and sporting events related social/geo/promo link promotional data sets for end user display of interactive ad links, promotions and sale of products, goods, gambling and/or services integrated with 3d spatial geomapping, company and local information for selected worldwide locations and social networking |
US20130263098A1 (en) * | 2012-03-29 | 2013-10-03 | Pawel Piotr Duda | Method and system for testing of mobile web sites |
CN103918001A (zh) * | 2011-09-09 | 2014-07-09 | 脸谱公司 | 通过社交网络系统传播的通信的理解效果 |
CN104115147A (zh) * | 2012-02-16 | 2014-10-22 | 微软公司 | 位置感知应用搜索 |
US20140316890A1 (en) * | 2013-04-23 | 2014-10-23 | Quixey, Inc. | Entity Bidding |
US8954836B1 (en) * | 2014-08-19 | 2015-02-10 | Adlast, Inc. | Systems and methods for directing access to products and services |
Family Cites Families (108)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5946647A (en) | 1996-02-01 | 1999-08-31 | Apple Computer, Inc. | System and method for performing an action on a structure in computer-generated data |
US6662226B1 (en) | 2000-01-27 | 2003-12-09 | Inbit, Inc. | Method and system for activating and capturing screen displays associated with predetermined user interface events |
US8224776B1 (en) | 2000-07-26 | 2012-07-17 | Kdl Scan Designs Llc | Method and system for hosting entity-specific photo-sharing websites for entity-specific digital cameras |
EP1370992A2 (en) | 2000-10-18 | 2003-12-17 | Chipworks | Design analysis workstation for analyzing integrated circuits |
EP1497751A4 (en) | 2002-04-05 | 2009-10-21 | At & T Corp | METHOD AND SYSTEM FOR DETECTION AND EXTRACTION OF NAMED ENTITIES OF SPONTANEOUS COMMUNICATIONS |
US7421153B1 (en) | 2002-04-05 | 2008-09-02 | Bank Of America Corporation | Image and data processing system |
US7054917B1 (en) | 2002-08-07 | 2006-05-30 | Propel Software Corporation | Method for accelerating delivery of content in a computer network |
US7376696B2 (en) | 2002-08-27 | 2008-05-20 | Intel Corporation | User interface to facilitate exchanging files among processor-based devices |
US20050083413A1 (en) | 2003-10-20 | 2005-04-21 | Logicalis | Method, system, apparatus, and machine-readable medium for use in connection with a server that uses images or audio for initiating remote function calls |
KR20120038000A (ko) | 2004-01-20 | 2012-04-20 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 대화의 주제를 결정하고 관련 콘텐트를 획득 및 제시하는 방법 및 시스템 |
US7707039B2 (en) | 2004-02-15 | 2010-04-27 | Exbiblio B.V. | Automatic modification of web pages |
US7536382B2 (en) | 2004-03-31 | 2009-05-19 | Google Inc. | Query rewriting with entity detection |
US7639387B2 (en) | 2005-08-23 | 2009-12-29 | Ricoh Co., Ltd. | Authoring tools using a mixed media environment |
US8745483B2 (en) | 2004-10-07 | 2014-06-03 | International Business Machines Corporation | Methods, systems and computer program products for facilitating visualization of interrelationships in a spreadsheet |
US8812551B2 (en) | 2004-11-18 | 2014-08-19 | International Business Machines Corporation | Client-side manipulation of tables |
US7702611B2 (en) | 2005-01-07 | 2010-04-20 | Xerox Corporation | Method for automatically performing conceptual highlighting in electronic text |
US7702128B2 (en) | 2005-03-03 | 2010-04-20 | Cssn Inc. Card Scanning Solutions | System and method for scanning a business card from within a contacts address book and directly inserting into the address book database |
US7809722B2 (en) | 2005-05-09 | 2010-10-05 | Like.Com | System and method for enabling search and retrieval from image files based on recognized information |
US20070008321A1 (en) | 2005-07-11 | 2007-01-11 | Eastman Kodak Company | Identifying collection images with special events |
US7548915B2 (en) | 2005-09-14 | 2009-06-16 | Jorey Ramer | Contextual mobile content placement on a mobile communication facility |
US7752209B2 (en) | 2005-09-14 | 2010-07-06 | Jumptap, Inc. | Presenting sponsored content on a mobile communication facility |
US7933897B2 (en) | 2005-10-12 | 2011-04-26 | Google Inc. | Entity display priority in a distributed geographic information system |
US7822759B2 (en) | 2005-12-13 | 2010-10-26 | Microsoft Corporation | Query-driven sharing and syndication |
US8533199B2 (en) | 2005-12-14 | 2013-09-10 | Unifi Scientific Advances, Inc | Intelligent bookmarks and information management system based on the same |
US20070168379A1 (en) | 2006-01-17 | 2007-07-19 | Patel Sushma B | Method and apparatus for cataloging screen shots of a program |
CN101075236A (zh) | 2006-06-12 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 一种加快浏览器网页显示的装置和方法 |
US8347237B2 (en) | 2006-06-27 | 2013-01-01 | Palo Alto Research Center Incorporated | Method, apparatus, and program product for efficiently detecting relationships in a comprehension state of a collection of information |
US7917514B2 (en) | 2006-06-28 | 2011-03-29 | Microsoft Corporation | Visual and multi-dimensional search |
US8489987B2 (en) | 2006-07-31 | 2013-07-16 | Ricoh Co., Ltd. | Monitoring and analyzing creation and usage of visual content using image and hotspot interaction |
CN101201827B (zh) | 2006-12-14 | 2013-02-20 | 阿里巴巴集团控股有限公司 | 一种网页显示的方法和系统 |
KR101370895B1 (ko) | 2007-01-19 | 2014-03-10 | 엘지전자 주식회사 | 콘텐츠 표시 방법 및 이를 이용한 단말기 |
US8869191B2 (en) | 2007-01-23 | 2014-10-21 | Cox Communications, Inc. | Providing a media guide including parental information |
US8214367B2 (en) | 2007-02-27 | 2012-07-03 | The Trustees Of Columbia University In The City Of New York | Systems, methods, means, and media for recording, searching, and outputting display information |
US20080275701A1 (en) | 2007-04-25 | 2008-11-06 | Xiaotao Wu | System and method for retrieving data based on topics of conversation |
CA2686601C (en) | 2007-05-07 | 2016-10-04 | Fourthwall Media | Providing personalized resources on-demand over a broadband network to consumer device applications |
GB2462399A (en) | 2007-06-28 | 2010-02-10 | Taptu Ltd | Search result ranking |
US7921069B2 (en) | 2007-06-28 | 2011-04-05 | Yahoo! Inc. | Granular data for behavioral targeting using predictive models |
CA2702937C (en) | 2007-10-17 | 2014-10-07 | Neil S. Roseman | Nlp-based content recommender |
US8594996B2 (en) | 2007-10-17 | 2013-11-26 | Evri Inc. | NLP-based entity recognition and disambiguation |
WO2009054619A2 (en) | 2007-10-22 | 2009-04-30 | Moon Key Lee | Augmented reality computer device |
US9159034B2 (en) | 2007-11-02 | 2015-10-13 | Ebay Inc. | Geographically localized recommendations in a computing advice facility |
US20110246471A1 (en) | 2010-04-06 | 2011-10-06 | Selim Shlomo Rakib | Retrieving video annotation metadata using a p2p network |
US8255386B1 (en) | 2008-01-30 | 2012-08-28 | Google Inc. | Selection of documents to place in search index |
JP5336748B2 (ja) | 2008-03-06 | 2013-11-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンテンツ中のアクセシビリティに関する問題箇所を他人へ効果的に伝達するためのコンピュータ、方法、プログラム |
US7970808B2 (en) | 2008-05-05 | 2011-06-28 | Microsoft Corporation | Leveraging cross-document context to label entity |
US8630972B2 (en) | 2008-06-21 | 2014-01-14 | Microsoft Corporation | Providing context for web articles |
CN101667185B (zh) | 2008-09-05 | 2012-10-17 | 深圳富泰宏精密工业有限公司 | 行动装置及其图片快速显示方法 |
CN101763357B (zh) | 2008-11-13 | 2016-09-14 | 北京搜狗科技发展有限公司 | 一种用于浏览器加载互联网资源的方法及系统 |
CN102257502B (zh) | 2008-12-18 | 2015-11-25 | 皇家飞利浦电子股份有限公司 | 软件错误和性能缺陷报告系统 |
US8229883B2 (en) | 2009-03-30 | 2012-07-24 | Sap Ag | Graph based re-composition of document fragments for name entity recognition under exploitation of enterprise databases |
WO2010114543A1 (en) | 2009-04-01 | 2010-10-07 | Hewlett-Packard Development Company, L.P. | Screen capture |
US8370762B2 (en) | 2009-04-10 | 2013-02-05 | Cellco Partnership | Mobile functional icon use in operational area in touch panel devices |
US8533223B2 (en) | 2009-05-12 | 2013-09-10 | Comcast Interactive Media, LLC. | Disambiguation and tagging of entities |
CN101587495A (zh) | 2009-07-08 | 2009-11-25 | 伍帝州 | 通过浏览器下载部署应用并提供应用入口的方法及系统 |
US8571319B2 (en) | 2009-07-28 | 2013-10-29 | International Business Machines Corporation | Enhanced screen capture for form manipulation |
US9135277B2 (en) | 2009-08-07 | 2015-09-15 | Google Inc. | Architecture for responding to a visual query |
US20120191840A1 (en) | 2009-09-25 | 2012-07-26 | Vladislav Gordon | Managing Application State Information By Means Of A Uniform Resource Identifier (URI) |
KR101651128B1 (ko) | 2009-10-05 | 2016-08-25 | 엘지전자 주식회사 | 이동 단말기 이것의 애플리케이션 실행 제어 방법 |
US9405772B2 (en) | 2009-12-02 | 2016-08-02 | Google Inc. | Actionable search results for street view visual queries |
US20110128288A1 (en) | 2009-12-02 | 2011-06-02 | David Petrou | Region of Interest Selector for Visual Queries |
US8977639B2 (en) | 2009-12-02 | 2015-03-10 | Google Inc. | Actionable search results for visual queries |
US20110145692A1 (en) | 2009-12-16 | 2011-06-16 | Peter Noyes | Method for Tracking Annotations with Associated Actions |
US8494439B2 (en) | 2010-05-04 | 2013-07-23 | Robert Bosch Gmbh | Application state and activity transfer between devices |
KR101657545B1 (ko) | 2010-05-11 | 2016-09-19 | 엘지전자 주식회사 | 휴대 단말기 및 그 동작 방법 |
US9158846B2 (en) | 2010-06-10 | 2015-10-13 | Microsoft Technology Licensing, Llc | Entity detection and extraction for entity cards |
US8468110B1 (en) | 2010-07-22 | 2013-06-18 | Intuit Inc. | Real-time user behavior prediction |
US20120083294A1 (en) | 2010-09-30 | 2012-04-05 | Apple Inc. | Integrated image detection and contextual commands |
US9189549B2 (en) | 2010-11-08 | 2015-11-17 | Microsoft Technology Licensing, Llc | Presenting actions and providers associated with entities |
CN103493069A (zh) | 2010-12-01 | 2014-01-01 | 谷歌公司 | 响应于视觉查询识别匹配的规范文档 |
US8880555B2 (en) | 2010-12-17 | 2014-11-04 | Facebook, Inc. | Ranking of address book contacts based on social proximity |
KR101741551B1 (ko) | 2010-12-20 | 2017-06-15 | 엘지전자 주식회사 | 이동 단말기 및 이것의 애플리케이션 제어 방법 |
WO2012101585A1 (en) | 2011-01-28 | 2012-08-02 | Strangeloop Networks, Inc. | Prioritized image rendering based on position within a web page |
JP2012252742A (ja) | 2011-06-02 | 2012-12-20 | Elpida Memory Inc | 半導体装置 |
CN107643828B (zh) | 2011-08-11 | 2021-05-25 | 视力移动技术有限公司 | 车辆、控制车辆的方法 |
US8204966B1 (en) | 2011-09-26 | 2012-06-19 | Google Inc. | Map tile data pre-fetching based on user activity analysis |
US8280414B1 (en) | 2011-09-26 | 2012-10-02 | Google Inc. | Map tile data pre-fetching based on mobile device generated event analysis |
WO2013052866A2 (en) | 2011-10-05 | 2013-04-11 | Google Inc. | Semantic selection and purpose facilitation |
US20150212695A1 (en) | 2011-10-05 | 2015-07-30 | Google Inc. | Suggested action feedback |
US20130097507A1 (en) | 2011-10-18 | 2013-04-18 | Utc Fire And Security Corporation | Filmstrip interface for searching video |
EP2587745A1 (en) | 2011-10-26 | 2013-05-01 | Swisscom AG | A method and system of obtaining contact information for a person or an entity |
CA2854142A1 (en) | 2011-11-01 | 2013-05-10 | Google Inc. | Launching applications from webpages |
US20130117252A1 (en) | 2011-11-09 | 2013-05-09 | Google Inc. | Large-scale real-time fetch service |
US9665643B2 (en) | 2011-12-30 | 2017-05-30 | Microsoft Technology Licensing, Llc | Knowledge-based entity detection and disambiguation |
EP2810216B1 (en) | 2012-01-31 | 2017-11-15 | Given Imaging Ltd. | System and method for displaying motility events in an in vivo image stream |
US9171068B2 (en) | 2012-03-07 | 2015-10-27 | Ut-Battelle, Llc | Recommending personally interested contents by text mining, filtering, and interfaces |
US9836545B2 (en) | 2012-04-27 | 2017-12-05 | Yahoo Holdings, Inc. | Systems and methods for personalized generalized content recommendations |
WO2013173940A1 (en) | 2012-05-22 | 2013-11-28 | Beijing Baina Info - Tech,Co., Ltd | A method and system for providing application data |
US9582146B2 (en) | 2012-05-29 | 2017-02-28 | Nokia Technologies Oy | Causing display of search results |
US9075974B2 (en) | 2012-07-25 | 2015-07-07 | Google Inc. | Securing information using entity detection |
US9165406B1 (en) | 2012-09-21 | 2015-10-20 | A9.Com, Inc. | Providing overlays based on text in a live camera view |
US9407824B2 (en) | 2012-11-01 | 2016-08-02 | Google Inc. | Multi-directional content capture on mobile devices |
EP2728481A1 (en) | 2012-11-04 | 2014-05-07 | Rightware Oy | Evaluation of page load performance of web browser |
US20140146200A1 (en) | 2012-11-28 | 2014-05-29 | Research In Motion Limited | Entries to an electronic calendar |
US9245372B2 (en) | 2012-12-04 | 2016-01-26 | Nintendo Co., Ltd. | Map systems and methods for displaying panoramic images |
US20150178786A1 (en) | 2012-12-25 | 2015-06-25 | Catharina A.J. Claessens | Pictollage: Image-Based Contextual Advertising Through Programmatically Composed Collages |
US20140188956A1 (en) | 2012-12-28 | 2014-07-03 | Microsoft Corporation | Personalized real-time recommendation system |
US20140188889A1 (en) | 2012-12-31 | 2014-07-03 | Motorola Mobility Llc | Predictive Selection and Parallel Execution of Applications and Services |
US20150169701A1 (en) | 2013-01-25 | 2015-06-18 | Google Inc. | Providing customized content in knowledge panels |
WO2014134598A1 (en) | 2013-03-01 | 2014-09-04 | Quixey, Inc. | Generating search results containing state links to applications |
US20140279013A1 (en) | 2013-03-13 | 2014-09-18 | Ebay Inc. | Online and offline ecommerce connections |
US9247309B2 (en) | 2013-03-14 | 2016-01-26 | Google Inc. | Methods, systems, and media for presenting mobile content corresponding to media content |
WO2014146265A1 (en) | 2013-03-20 | 2014-09-25 | Nokia Corporation | Method and apparatus for personalized resource recommendations |
US9721107B2 (en) | 2013-06-08 | 2017-08-01 | Apple Inc. | Using biometric verification to grant access to redacted content |
KR102136602B1 (ko) | 2013-07-10 | 2020-07-22 | 삼성전자 주식회사 | 휴대단말기의 컨텐츠 처리 장치 및 방법 |
US9329692B2 (en) | 2013-09-27 | 2016-05-03 | Microsoft Technology Licensing, Llc | Actionable content displayed on a touch screen |
US9436918B2 (en) | 2013-10-07 | 2016-09-06 | Microsoft Technology Licensing, Llc | Smart selection of text spans |
US9811352B1 (en) | 2014-07-11 | 2017-11-07 | Google Inc. | Replaying user input actions using screen capture images |
US9965559B2 (en) | 2014-08-21 | 2018-05-08 | Google Llc | Providing automatic actions for mobile onscreen content |
-
2015
- 2015-05-29 US US14/724,965 patent/US9703541B2/en active Active
-
2016
- 2016-04-15 WO PCT/US2016/027875 patent/WO2016176062A1/en active Application Filing
- 2016-04-15 EP EP16720962.6A patent/EP3289486A1/en not_active Withdrawn
- 2016-04-15 CN CN201680020024.0A patent/CN107438814A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101410774A (zh) * | 2004-05-03 | 2009-04-15 | 微软公司 | 在线服务切换和定制 |
WO2012137215A1 (en) * | 2011-04-08 | 2012-10-11 | Yogesh Chunilal Rathod | A system and method for communication |
CN103918001A (zh) * | 2011-09-09 | 2014-07-09 | 脸谱公司 | 通过社交网络系统传播的通信的理解效果 |
US20130073389A1 (en) * | 2011-09-15 | 2013-03-21 | Stephan HEATH | System and method for providing sports and sporting events related social/geo/promo link promotional data sets for end user display of interactive ad links, promotions and sale of products, goods, gambling and/or services integrated with 3d spatial geomapping, company and local information for selected worldwide locations and social networking |
CN104115147A (zh) * | 2012-02-16 | 2014-10-22 | 微软公司 | 位置感知应用搜索 |
US20130263098A1 (en) * | 2012-03-29 | 2013-10-03 | Pawel Piotr Duda | Method and system for testing of mobile web sites |
US20140316890A1 (en) * | 2013-04-23 | 2014-10-23 | Quixey, Inc. | Entity Bidding |
US8954836B1 (en) * | 2014-08-19 | 2015-02-10 | Adlast, Inc. | Systems and methods for directing access to products and services |
Non-Patent Citations (2)
Title |
---|
KEITH SINK著: "《DirectX与VB.NET程序开发》", 31 January 2003, 中国电力出版社, pages: 144 - 152 * |
张荣、邵伟萍、刘蓓: "《电子商务案例分析》", 30 June 2007, 北京理工大学出版社, pages: 61 - 62 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113657100A (zh) * | 2021-07-20 | 2021-11-16 | 北京百度网讯科技有限公司 | 实体识别方法、装置、电子设备及存储介质 |
CN113657100B (zh) * | 2021-07-20 | 2023-12-15 | 北京百度网讯科技有限公司 | 实体识别方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US9703541B2 (en) | 2017-07-11 |
EP3289486A1 (en) | 2018-03-07 |
US20160321052A1 (en) | 2016-11-03 |
WO2016176062A1 (en) | 2016-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107438814A (zh) | 移动设备上的实体动作建议 | |
JP6791963B2 (ja) | モバイルデバイス上での擬似ハイパーリンク | |
CN108139849B (zh) | 针对用户选择内容的动作建议 | |
CN106575195B (zh) | 移动设备上的改进的拖放操作 | |
CN107851092A (zh) | 个人实体建模 | |
CN107291560A (zh) | 一种智能设备的内容确定方法和装置 | |
CN105378728B (zh) | 用于表示和操纵元数据的装置和方法 | |
CN102929925A (zh) | 一种基于浏览内容的搜索方法及装置 | |
CN107615270B (zh) | 一种人机交互方法及其装置 | |
CN102929926A (zh) | 一种基于浏览内容的取词搜索方法及装置 | |
RU2637882C2 (ru) | Способ управления отображением веб-ресурсов в браузерном окне, способ помещения вкладок в стек в браузерном окне, электронное устройство и сервер | |
CN105528338B (zh) | 智能预测的输入方法和系统 | |
CN102945243A (zh) | 一种基于浏览内容的联系信息识别方法 | |
US20230013569A1 (en) | Combined local and server context menus | |
CN107797750A (zh) | 一种屏幕内容识别处理方法、装置、终端和介质 | |
CN109948101A (zh) | 页面切换方法、装置、存储介质及电子设备 | |
CN105229638B (zh) | 作为对内容的收集的贡献者的自动化的库管理员 | |
CN106371706A (zh) | 应用快捷方式位置选择的方法及装置 | |
CN102446094A (zh) | 用于有效地实现系统和桌面配置增强的装置和方法 | |
CN104765630B (zh) | 软件安装方法及装置 | |
CN110134406B (zh) | 一种智能云网络产品的部署方法及系统 | |
CN117112124A (zh) | Kubernetes对象的参数校验方法、服务器及终端 | |
CN117762403A (zh) | 组件扩展方法、装置、电子设备和存储介质 | |
US20140108926A1 (en) | Using metadata | |
CN112732464A (zh) | 粘贴方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |