针对个性化和任务完成服务而对应用去主题归类的制作方法

文档序号:11288872阅读:285来源:国知局
针对个性化和任务完成服务而对应用去主题归类的制造方法与工艺



背景技术:

在移动设备上花费的至少一些时间是使用应用(“app”)而花费的。一些已知应用是单独的程序,其将内容显示为用户可以与其交互并且在其之间导航的一组页面。至少一些已知应用的功能限于显示由用户明确地请求的内容。

用于跟踪和/或分析与应用的用户交互的已知方法和系统包括手动地标注应用。然而,手动地标注应用要求附加的编程时间和/或努力,并且可能是耗费时间的、乏味的并且易于出错的。而且,特别地当在几乎没有开发者努力的情况下完成时,用于跟踪和/或分析用户交互的已知方法和系统是计算量大的,并且当本地存储或强加网络开销时要求大量的存储器,以及当在远程服务器上执行时潜在地违反用户隐私。



技术实现要素:

本公开的示例支持多个应用在移动设备上被管理。一些示例包括移动设备接收与应用相关联的模板,采集与应用的一个或多个用户交互,以及通过将一个或多个用户交互与被包括在模板中的多个实体相比较来确定一个或多个用户兴趣。

提供该概述以引入以在详细描述中下文进一步描述的简化形式的概念的选择。该概述不旨在标识所要求保护的主题的关键特征或基本特征,其也不旨在用作辅助确定所要求保护的主题的范围。

附图说明

图1是图示包括可以被实现在移动设备上的一个或多个应用的示例性移动设备的示意图。

图2是图示诸如图1中所示的应用的元素之间的关系的示意图。

图3是图示包括一个或多个移动设备(诸如图1中所示的移动设备)和通信地耦合到一个或多个移动设备的一个或多个服务器的示例系统的示意图。

图4是图示示例计算设备(诸如图1中所示的移动设备或图3中所示的服务器之一)的示意图。

图5是图示诸如图4中所示的系统的操作的示例流程图。

图6是图示诸如图1中所示的移动设备的操作的示例流程图。

对应的附图标记贯穿附图指示对应的部分。

具体实施方式

本公开的示例使得计算设备(诸如移动设备)能够有效并且高效地管理多个应用以向用户提供定制服务。在一些示例中,应用被用于采集用户交互(诸如用户做出的购买、用户预定的餐馆和/或用户听的歌曲)。用户交互被分析以提供关于用户兴趣、偏好和/或意图的有价值的信息。例如,知道用户已经选择应用中的餐馆使得操作系统能够提供调用包含餐馆的评论的另一应用和/或建议类似餐馆的选项。而且,在一些示例中,分析用户交互使得至少一个应用能够基于用户兴趣、偏好和/或意图被直接调用,最终更有效地完成任务。在一些示例中,模板被离线生成,并且实体被在线提取。模板可以被用于提取实体和/或引导应用中的内容的提取。

本公开的各方面使得行为分析数据能够从多个应用被聚合,并且在设备操作系统上使得数据对其服务和/或其他应用可用。通过这种方式,数据可以被用于在很少开发和/或开销的情况下实现更好的个性化和新颖功能,同时利用模板减少在线操作并且通过处理客户端设备处的用户特定信息来保护隐私。用于记录使用数据的模板和代码自动地被注入到应用二进制代码中。在一些示例中,实体模板以用户不可知的方式被离线生成并且与运行时期间的应用的内容相关联。在至少一些示例中,实体模板包括与用户接口控制相关联的数据(例如,实体类型、用户接口树中的路径到根)。当从应用的内容提取实体时,利用跨越应用和应用内的结构相似性。在一些示例中,相关内容至少部分基于兴趣指示符而被确定,其包括点击指示积极情绪的用户接口控制(例如,“喜欢”、“分享”、“徽章”)、离开动作(例如,打开浏览器中的链接、查看餐馆的菜单)、花费的时间、点击数目、实体再现和/或跨应用交互。在一些示例中,应用内的用户交互是可重放的。通过以本公开中所描述的方式并入行为分析数据,一些示例增加系统功能、增加用户交互性能、减少处理器负载和/或改进操作系统资源分配。

图1是图示包括可以被实现在移动设备100上的一个或多个应用(“app”)110的示例性移动设备100的示意图。在一些示例中,移动设备100将针对每个应用110的图标120呈现在用户接口130(例如,触摸屏显示器)上,其使得应用110能够在移动设备100上被执行。移动设备100可以包括使得移动设备100能够运行的任何数目的应用110,如在此所描述的。

应用110包括一个或多个页面类140,其中的每个类由一个或多个页面实例化。在一些示例中,每个页面包括一个或多个用户接口(ui)元素190。示例ui元素190包括按钮、文本框、列表和图像。在至少一些示例中,ui元素190包括内容和/或与内容相关联(例如,文本框包括文本串和/或与文本串相关联)。在至少一些示例中,ui元素190被嵌套在另一ui元素190内。例如,“父”ui元素190(例如,列表)包括和/或包含父ui元素190内的一个或多个“子”ui元素190(例如,文本框)。一些ui元素190(例如,按钮)是交互式的并且具有相关联的事件处理器。例如,用户通过与在至少一些移动设备100上提供的ui元素190和返回按钮交互与应用110的页面交互并且在其之间导航。

在一些示例中,内容基于页面类140中所定义的ui布局或结构而被布置在页面上。例如,从相同页面类140实例化的页面具有相同ui结构但是潜在地不同的内容。在该示例中,餐馆预定应用110包括两个页面类140:第一类(“类1”)150,其与示出包括多个餐馆的列表的一个或多个第一页面160相关联;以及第二类(“类2”)170,其与示出与餐馆相关联的详细信息的一个或多个第二页面180相关联。应用110可以包括使得应用110能够运行的任何数目的页面种类140,如在此所描述的。

在该示例中,第一页面160包括使得餐馆能够从餐馆列表被选择的ui元素190,并且第二页面180包括使得信息能够被查看、餐馆被联系、菜单被查看、餐馆被支持或“喜欢”和/或预定被做出的ui元素190。在该示例中,第一页面160可以被实例化以示出例如移动设备100的当前位置附近的餐馆列表,并且第二页面180可以被实例化以显示与例如从第一页面160上所示的列表所选择的餐馆相关联的详细信息。使得应用110能够运行的每个页面能够被实例化任何次数,如在此所描述的。

图2是图示被包括在应用110(图1中所示的)中的ui元素190(图1中所示的)之间的关系的示意图。用户与应用110内的ui元素190交互或访问ui元素190。在该示例中,ui元素190示意性地被布置为树200中的节点。应用110包括一个或多个页面210(诸如第一页面160或第二页面180)。在该示例中,页面210包括第一表或网格220和第二表或网格230。例如,子ui元素190(例如,第一网格220或第二网格230)被包含在其父ui元素190(例如,页面210)内。

在该示例中,第一网格220包括:按钮240,其包括文本250;和列表260,其包括多个自定义布置270。在该示例中,每个自定义布置270包括第一文本280(例如,名称)和第二文本290(例如,地址)。在该示例中,第二网格230包括表300和包括文本320的按钮310。

至少一些应用110包括多个ui元素190的重复序列或模式330。在该示例中,每个自定义布置270(其包括相应的第一文本280和相应的第二文本290)被标识为模式330。而且,至少一些应用110包括重复序列或包括多个模式330的模式窗口340。在该示例中,同类对象的类似列表的结构(例如,模式330)被标识为模式窗口340。

图3是图示示例系统400的示意图,其包括经由网络430通信地耦合到彼此的移动设备100、应用服务器410(例如,针对应用的市场)和模板服务器420。移动设备100、应用服务器410以及模板服务器420之间的通信可以使用任何有线或无线连接上的任何协议或机制而发生。

在该示例中,应用服务器410被配置为提供和/或存储一个或多个应用110。应用110被配置为向移动设备100提供功能。示例应用包括邮箱应用程序、网络浏览器、日历应用程序、通讯录应用程序、消息程序、媒体应用、基于位置的服务、搜索程序,等等。应用110可以与同等应用或服务(诸如经由网络430可访问的网络服务)通信。例如,应用110可以表示移动设备100上的客户端应用,其对应于在云中执行的服务器端服务和/或被存储在云、应用服务器410、模板服务器420和/或由移动设备100可访问的其他存储器区域中的服务器端组件。这样的示例减少移动设备100上的计算和存储负担。

在该示例中,模板服务器420被配置为提供和/或存储一个或多个模板440。在至少一些示例中,一个或多个模板440由模板服务器240生成和/或使可用于利用应用服务器410处的应用110进行下载。应用110的结构特性(例如,ui结构)被用于利用在运行时期间保持有效的语义信息(例如,元数据(诸如实体类型))来标识应用110。每个模板440包括与ui元素190相关联的多个实体。至少一些ui元素190与单个实体相关联。示例单个实体ui元素190包括文本框,其包括对于一种类型的信息的文本(例如,餐馆名称、地址、电话号码)。每个单个实体ui元素190是独立地可定制的并且因此利用精确语义可分配的。在一些示例中,每个ui元素的文本与名称、各种相关元数据和/或使用信息相关联。在一些示例中,模板440被配置为在运行时向与应用110的用户交互提供上下文,并且因此使得应用110能够利用移动设备100上的低开销而更高效并且更有效地被利用。

在一些示例中,在应用110被更新时和/或之后,模板440被更新。例如,对应用110的更新由移动设备100检测和/或标识,并且相关联的模板440基于应用更新的标识由移动设备100自动地请求和/或下载。在另一示例中,更新应用110由模板服务器420在移动设备100上检测和/或标识,并且更新模板440基于更新应用110的标识由模板服务器420自动地生成。在又一示例中,在更新应用110由移动设备100下载之前,更新模板440与更新应用110相关联,并且更新模板440在与更新应用110同时或之后由移动设备100下载。备选地,应用110和模板440可以由任何计算设备并且在使得系统400能够运行的任何时间更新和/或从其下载,如在此所描述的。

在一些示例中,模板服务器420包括ui自动化组件450、模板生成组件460以及插装器组件470。ui自动化组件450被配置为自动地导航应用110,并且以用户不可知的方式和/或在没有人类介入的情况下采集和/或记录与来自应用110的一个或多个ui元素190的一个或多个用户交互。模板生成组件460被配置为提取ui元素190和所包含的文本,将ui元素190与实体相关联,以及生成包括具有相关联的实体的ui元素190的映射的模板440。插装器组件470被配置为将日志代码注入应用110中。至少一些模板440和日志代码被注入移动设备100上的应用二进制代码中,以使得应用110能够在运行时期间提取一个或多个实体。备选地或者附加地,可以以使得应用110能够运行的任何水平注入模板440和/或日志代码,如在此所描述的。在至少一些示例中,模板和/或日志代码在没有附加的开发者输入的情况下被注入,使得移动设备100被配置为在不修改底层应用110的情况下执行如在此所描述的功能。

在该示例中,移动设备100被配置为从应用服务器410取回和/或下载一个或多个应用110,和/或从模板服务器420取回和/或下载一个或多个模板440,并且将一个或多个应用110和一个或多个模板440本地存储在移动设备100处。在至少一些示例中,应用服务器410从模板服务器420取回和/或下载一个或多个模板440,并且移动设备100从应用服务器410取回和/或下载一个或多个应用110和其相应模板440。在一些示例中,移动设备100包括实体提取组件480,其被配置为使用模板440记录用户交互并且分析用户交互。在至少一些示例中,使用模板440所提取的ui元素中所包含的实体包括名称和指示内容的各种语义信息的键值对的列表,以及关于在应用中实体出现在何处的语法信息。例如:

名称=‘izumi’,

信息={类型=‘餐馆’,菜系=‘日本菜’,价格=‘便宜’},

应用=‘[餐馆应用名称]’,应用页面=0xad4352,ui元素=0x3425a所提取的实体可以被存储在操作系统(os)服务和其他应用110的实体表中,如果授予许可,则可以通过使用例如标准结构化查询语言(sql)查询进行查询。例如:

select菜系from[应用名称]

where信息.类型=‘餐馆’

andinteraction.num_taps>10

图4是图示示例计算设备500(诸如(图1中所示的)移动设备100、(图3中所示的)应用服务器410和/或(图3中所示的)模板服务器420)的示意图。尽管参考作为移动设备100、应用服务410和/或模板服务器420的计算设备在此图示和描述了本公开的一些示例,但是本公开的各方面是利用执行用于实现与计算设备和/或服务器相关联的操作和功能的指令(例如,作为应用110、操作系统(os)功能或二者)的任何计算设备和/或服务器可操作的。例如,计算设备500可以包括便携式媒体播放器、移动电话、平板电脑、上网本、膝上型电脑、台式计算机、计算平板电脑、公共电话、桌面设备、工业控制设备、无线充电站、电动汽车充电站和其他计算设备。此外,计算设备500可以表示一组处理单元或其他计算设备。

在该示例中,计算设备500包括一个或多个计算机可读介质(诸如存储器区域510,其存储计算机可执行指令、应用数据、模板数据、用户数据和/或其他数据)和一个或多个处理器520(其被编程为执行用于实现本公开的各方面的计算机可执行指令)。存储器区域510包括与计算设备相关联或由计算设备可访问的任何数量的介质。存储器区域510可以在计算设备(如在图4中所示)内部、在计算设备(未示出)外部或二者(未示出)。

在一些示例中,除了其他数据之外,存储器区域510还存储(图1中所述的)一个或多个应用110和/或(图3中所示的)一个或多个模板440。在一个示例中,与应用服务器410相关联的存储器区域510存储一个或多个应用110,与模板服务器420相关联的存储器区域510存储一个或多个模板440,并且与移动设备100相关联的存储器区域510存储一个或多个应用110和/或一个或多个模板440。

处理器520包括任何数量的处理单元,并且指令可以由处理器520、或由计算设备内的多个处理器、或由计算设备外部的处理器执行。在一些示例中,处理器520被编程为执行指令(诸如附图(例如,图5和图6)中所图示的那些指令)。

在一些示例中,处理器520通过执行计算机可执行指令或以其他方式被编程而被转变为专用微处理器。例如,当由处理器520执行时,ui自动化组件450使得处理器520自动地与应用110交互,以在运行时期间通过各种页面210导航并且采集由应用110所显示的内容;当由处理器520执行时,模板生成组件460使得处理器520通过使用复杂实体提取技术以产生用于应用110中的每个页面类140的实体模板来处理内容;当由处理器520执行时,插装器组件470使得处理器520将模板和日志代码注入应用110中以采集用户交互;和/或当由处理器520执行时,实体提取组件480使得处理器520使用模板440记录用户交互并且分析用户交互。尽管处理器520被示出与存储器区域510分离,但是本公开的示例预期存储器区域510可以被板载在处理器520上(诸如在一些嵌入式系统中)。

在一些示例中,计算设备500包括用于在计算设备500与用户540之间交换数据的至少一个用户接口530(例如,用户接口130)。例如,用户接口530包括和/或被耦合到呈现设备(未示出),其被配置为将信息(诸如文本、图像、音频、视频、图形、警报等)呈现给用户540。呈现设备可以包括但不限于显示器、扬声器和/或振动组件。附加地或者备选地,用户接口530包括和/或被耦合到输入设备(未示出),其被配置为从用户540接收信息(诸如用户命令)。输入设备可以包括但不限于控制器、照相机、麦克风和/或加速度计。在至少一些示例中,呈现设备和输入设备被集成在共同用户接口530中,其被配置为将信息呈现给用户540并且从用户540接收信息。例如,用户接口设备可以包括但不限于电容性触摸屏显示器和/或包括振动组件的控制器。

在一些示例中,计算设备500包括用于在计算设备500与计算机可读介质和/或另一计算设备之间交换数据的至少一个通信接口550。在该示例中,移动设备100经由网络430被耦合到应用服务器410和模板服务器420。计算设备500与计算机可读介质和/或另一计算设备之间的通信可以使用任何有线或无线连接上的任何协议或机制而发生。

图4的块图仅图示了可以结合本公开的一个或多个示例使用的示例系统,并且不旨在以任何方式进行限制。进一步地,本领域中已知的计算设备的外围或者组件未示出,但是利用本公开的各方面是可操作的。可以通过图4中的其他元素或图4中未示出的实体(例如,处理器、网络服务、服务器、应用110、计算设备等)执行图4中的各种元素的功能的至少一部分。

图5是图示操作一个或多个计算设备500(图4中所示的)以生成与应用110相关联的模板440的方法600的示例流程图。在一些示例中,应用110和/或与应用110相关联的模板440被下载到移动设备100。在一个示例中,应用110由模板服务器420在移动设备100上检测和/或标识,并且相关联的模板440基于应用110的标识由模板服务器420自动地生成。在另一示例中,应用110的下载由移动设备100检测和/或标识,并且相关联的模板440基于应用下载的标识由移动设备100自动地请求和/或下载。在又一示例中,在应用110由移动设备100下载之前,模板440与应用110相关联,并且模板440与应用110同时或基本上同时由移动设备100下载。备选地,应用110和/或模板440可以由任何计算设备并且在使得系统400能够运行的任何时间处生成和/或从其下载,如在此所描述的。

在一些示例中,应用110以用户不可知的方式由模板服务器420自动地离线执行。模板服务器420可以通过自动地与ui元素190交互来通过应用110中的各种页面210进行导航,并且在610处标识和采集与每个ui元素190(例如,文本框)相关联的内容(例如,文本串)。例如,模板服务器420通过自动地叩击按钮、自动地填写文本字段和/或自动地滑动页面210与ui元素190相互作用。在一些示例中,当模板服务器420通过应用110中的各种页面210导航时,遍历树200(图2中所示的)的至少一部分。在一个示例中,模板服务器420包括和/或具有登录信息(例如,用户名、密码)的访问权,以使得模板服务器420能够通过应用110中的安全页面210导航。在一些示例中,应用110在一段时间期间被执行多次以记录在一段时间期间的ui结构、ui元素190和/或内容的改变。

在一些示例中,在620处从所采集的内容自动地提取一个或多个实体。例如,当模板服务器420通过应用110中的各种页面210导航和/或与ui元素190交互时,与每个ui元素190相关联的内容(例如,文本串)利用语义信息(例如,菜系类型、价格范围)被标注。

在至少一些示例中,针对每个实体类型确定分类ui元素内容(例如,与实体相关联的文本)的概率,并且基于所确定的概率的比较,内容被分类在实体类型中。在一些示例中,模板服务器420指代相关词典。例如,当针对餐馆预定应用分类内容时,模板服务器420指代包含餐馆类型、菜系和地址的一个或多个词典,并且当针对音乐应用分类内容时,模板服务器420指代包含音乐流派、歌曲标题和艺术家姓名的一个或多个词典。

在一些示例中,内容基于内容与相关词典中的条目的匹配和相似性而被分类。将内容与词典条目匹配通常是布尔函数。确切地匹配词典条目的内容可以利用增加的置信度被分类。示例被示出在以下式(1)中。

wx,e=100%或接近于100%(1)

其中w是权重,x是实体内容,e是实体类型。

对于具有一些复杂性和/或二义性的至少一些实体类型而言(诸如餐馆名称或歌曲标题),分类基于内容是否匹配相关词典中的条目的第一预定比例(例如,90%)。通过使用第一预定比例,布尔函数被配置为当确定内容是否匹配词典条目时,调节内容与包括词语变化(例如,cafévs.cafeteria)和/或附加/缺失词典(例如,内容“abc餐馆”和词典条目是“abc”)的词典条目之间的一些差异。

对于具有更多复杂性和/或二义性的至少一些实体类型而言(诸如菜系),分类基于内容是否匹配小于相关词典中的条目的第一预定比例的第二预定比例。通过使用第二预定比例,布尔函数被配置为调节内容与词典条目之间的(例如,与第一预定比例相比)更多的差异。例如,至少一些菜系具有创意名称和/或包括不确切地匹配相关词典内的任何菜系的原料的组合。附加地或者备选地,至少一些词典是不完整的和/或在大小方面有限的。在一些示例中,相似性采集度量(例如,基于tf-idf的余弦相似性)被用于确定内容是否匹配词典条目。在高水平处,内容的tf-idf值与其词语出现在词典条目中的次数(例如,术语频率)成正比地增加,并且由其词语出现在词典中的次数(例如,相反文档频率)进行偏移以调节频繁使用的词语。备选地,可以使用使得移动设备100能够运行的任何度量和/或算法确定内容与词典条目之间的相似性和/或差异,如在此所描述的。

在一些示例中,基于内容的长度,内容被分类在实体类型中。在至少一些示例中,内容的长度与关联于实体的长度分布相比较。在至少一些示例中,如果内容具有比实体类型的已知内容的下(或相应上)限更少(或更多)的词语,那么内容未被分类在实体类型中。示例被示出在以下式(2)中。

wx,e=0%或接近于0%(2)

例如,餐馆的名称通常比地址更短,并且地址通常少于20个词语。在至少一个示例中,当内容具有50个词语并且已知地址的上限具有13个词语时,那么内容未被分类为具有增加的置信度的地址实体类型。示例被示出在以下式(3)中。

wx,e=0%或接近于0%(3)

在一些示例中,未被分类在任何实体类型中的内容的置信度水平或权重被确定为以下式(4)中所示。

wx,φ=k*∏e(1-wx,e)(4)

其中

在以上式(5)中,n是待识别的条目的数目,并且c控制实体分类的积极性。直观地,当内容被分类在具有增加的置信度的一个或多个实体类型中时,接近于零,并且当内容未被分类在具有增加的置信度的任何实体类型中时,其接近于一。在一些示例中,用于分类实体类型中的内容的置信度水平或权重(例如,wx,e)被归一化以确定分类实体类型中的内容的一个或多个概率,如下面式(6)中所示。

px,e=wx,e/(wx,φ+∑wx,e)(6)

在一些示例中,随着模板服务器420与ui元素190交互所导航的页面210被标识,并且基于每个页面210上的ui元素190的结构而被自动地聚类到多个页面类140中。跨共同页面类140的页面210的相似性被用于对内容进行分类。在至少一个示例中,ui元素ux是实体类型e的概率被计算,如以下式(7)中所示。

其中x1,x2,...,xn是根据页面类x实例化的页面;是页面类x中包含的ui元素ux的内容;并且是实体内容是实体类型e的概率。

例如,当与第一页面的顶部处的ui元素190相关联的内容包括模糊本文(例如,“主街”),模板服务器420在分类内容时具有相对低的置信度。当相同页面类140中的其他页面的顶部处的ui元素190与餐馆名称相关联时,模板服务器420将内容分类为具有增加的置信度(例如,90%)的餐馆名称。类似地,当相同页面类140中的其他页面的顶部处的ui元素190与地址相关联时,模板服务器420将内容分类为具有增加的置信度(例如,85%)的街道名称。

附加地或者备选地,跨页面210内的ui元素190的相似性被用于对内容进行分类。在一些示例中,当页面210包括模式330和/或模式窗口340时,模板服务器420标识页面210、标识页面210内的ui元素190的一个或多个模式330并且分类具有增加的置信度的内容。在一个示例中,当列表包括三个ui元素190并且ui元素190中的两个与被分类为餐馆名称的内容相关联时,模板服务器420将与第三ui元素190相关联的内容分类为具有增加的置信度的餐馆名称。在一些示例中,模板服务器420标识包括模式330的多个出现的一个或多个模式窗口340。

在图2中所示的示例中,n个不确定项(例如,ui元素)的概率序列s包括九个t节点(例如,文本250、280、290、300和320)。模式窗口340是在其内模式330重复或可能重复的概率序列s的一部分。在一些示例中,模式窗口340基于包括重复的路径到根模式的一致结构而被标识。例如,文本250、300和320不共享路径到根模式(例如,针对文本250、300以及320的路径到根相应地是t-b-g-p、t-g-p、以及t-b-g-p)并且因此不可能在模式330中。第一文本280和第二文本共享共同路径到根模式(例如,对于每个第一文本280和第二文本290的路径到根是t-c-l-g-p)并且因此不大可能在模式330中。在一些示例中,具有共同路径到根值的节点形成一个模式窗口340。在图2中所示的示例中,模式窗口340包括第一文本280和第二文本290。页面可以包括多个模式窗口340。

对于每个模式窗口340而言,确定一个或多个可能模式长度。例如,针对包括六个节点的模式窗口340的可能模式长度(诸如图2中所示的模式窗口340)是二、三和六(例如,可以存在具有二的模式长度的三组、具有三的模式长度的两组或具有六的模式长度的一组)。一些模式长度不可能归因于ui结构。在图2中所示的示例中,三的模式长度是不可能的,这是因为那将使c节点不均匀。

在一些示例中,针对每个模式窗口340并且针对每个可能模式长度(例如,二、三和六)或每个可能模式长度(例如,三和六)确定期望频率。在至少一些示例中,概率序列s中的模式p的期望频率被计算,如以下式(8)中所示。

具有满足(例如,大于)预定阈值的期望频率的模式330被确定为是频率模式。当多个模式330满足预定阈值时,在至少一些示例中,具有满足预定阈值的期望频率的最小模式被标识为频率模式。如果在至少一些示例中,没有模式330满足预定阈值,那么没有模式330被发现是频率模式。

在一些示例中,在630处根据多个实体生成一个或多个模板440。在一些示例中,针对应用110的每个页面类140生成模板440,其中与页面类140相关联的ui树中的每个ui元素190利用一些元数据(诸如实体类型)被标注。例如,可以从所采集的内容自动提取实体以生成应用110中的每个页面类140的模板440。在一些示例中,模板440和日志代码被注入应用二进制代码以使得用户交互能够在运行时期间有效地采集。在一些示例中,模板440被配置为通过仅从在模板440中出现的每个ui元素提取文本内容来引导应用中的相关内容的采集。在一些示例中,模板440与所提取的内容相匹配以利用低开销实时被分类为实体。

图6是图示操作(图1中所示的)移动设备100的方法700的示例流程图。在710处,移动设备100接收、取回和/或下载应用110以及与应用110相关联的模板440。在720处,采集与应用110的一个或多个用户交互。在一些示例中,当页面210初始地被加载并且每次用户540与页面中的任何ui元素190交互时,采集内容、ui元素190和/或ui结构。因此,采集页面负载和/或按钮叩击之间的内容(例如,对于键入搜索关键字的文本字段)、ui元素190和/或ui结构的改变。在一些示例中,当一个或多个用户交互被处理时,遍历(图2中所示的)树200的至少部分。在一些示例中,模板440决定树200的哪些部分遍历并且跳过树200的哪些部分。

在一些示例中,模板440使得语义能够在移动设备100上直接高效地被推断。对于每个实体而言,用户540与应用110交互或在应用110进行访问,提取实体名称和指示实体的各种语义信息的键值对的列表以及关于实体在何处出现在应用110中的语法信息。例如,模板440包括用于每个实体的名称和/或类别。在一些示例中,通过查看在相同页面210上或其足迹中的先前页面210上出现的实体来推断附加语义。在至少一些示例中,足迹是指示用户对实体做什么、用户是否并且如何表达对其感兴趣以及用户到达实体采取的ui动作的底层序列的键值对的列表。例如:

动作={花费的时间=23.12,叩击=‘钉住开始’,叩击数=2,访问数=5,

动作=‘预定表’},

足迹={启动(’[餐馆应用名称]’),点击(按钮9),点击(按钮)}

对于另一示例而言,通过知道用户540选择先前页面210中的“泰”菜系和“便宜”价格以到达餐馆实体和在其旁边出现的一个地址,实体与“泰”菜系、“便宜”价格和地址相关联。用户交互使得模板440能够推断实体的更丰富的语义。例如,在识别在先前页面210中选择特定菜系类型和价格范围之后用户540到达的页面210上的餐馆实体时,菜系类型和/或价格范围与所识别的餐馆实体相关联。

在一些示例中,采集由用户540交互的每个实体,并且在730处,

用户交互的一个或多个日志被存储在存储设备(例如,存储器区域510)处。在至少一些示例中,通过应用一个或多个模板440和/或提取一个或多个实体来处理日志。在至少一些示例中,所提取的实体被存储在存储设备处(例如,在一个或多个表中)。实体的子集可能对于用户540相关和/或感兴趣。也即,在740处,至少部分基于所提取的实体,确定一个或多个用户兴趣。在该示例中,相关实体被存储在存储设备处(例如,在一个或多个表中),从其相关实体可以与设备os、其服务和/或其他应用110共享。在一个示例中,在运行时处理日志。备选地,可以在一个或多个预定时间和/或时段处理日志(例如,一天一次,当移动时设备100充电时)。在750处,可以通过将用户交互与实体和/或模板440相比较来确定用户兴趣。例如,用户540可以使用应用110浏览经过许多餐馆但是最终仅呼叫一个。从与用户较少相关的实体过滤出与用户较多相关的实体。还随时间处理和更新实体以确保附加元数据(诸如使用信息(例如,相同餐馆已经被访问多次))生成并且更新,使得附加元数据(例如,使用信息)与实体相关联。

在至少一些示例中,一个或多个ui元素190与实体模板相比较,以标识对应于与模板440相关联的实体的第一组ui元素190以及不对应于与模板440相关联的任何实体的第二组ui元素190。例如,可以确定不对应于多个实体中的任何实体的一个或多个ui元素190。在至少一些示例中,检查和/或采集第一组ui元素190,并且未检查和/或采集第二组ui元素190。在至少一些示例中,忽略不对应于任何实体的一个或多个ui元素190。

在一些示例中,基于与应用110的用户交互,取回相关内容。通过将一个或多个用户交互与多个实体相比较来确定一个或多个相关实体(或相反地,较少相关的实体)。示例用户交互包括类似按钮、超链接和/或图像的ui元素190上的叩击事件。在一些示例中,与指示积极情绪的ui元素190交互可以被用于指示用户兴趣(例如,相关)。与用户兴趣相关联的ui元素190中使用的示例标签包括“喜欢”、“分享”和“添加到收藏”。在一些示例中,通过例如启动另一应用110或使用os特征实现离开动作可以被用于指示用户兴趣。示例离开动作包括打开浏览器中的统一资源定位符链接、通过另一应用110进行预定和使用电话特征打电话。在一些示例中,在页面210上花费的时间量(例如,在页面210上花费的时间的绝对量和/或相对于其他页面210在页面210上花费的时间量)和/或在页面210上、在一段时间内、跨多个页面210和/或跨越多个应用110的特定实体的出现的数目可以被用于指示用户兴趣。可以基于使得应用110和/或模板440能够运行的任何准则确定用户兴趣,如在此所描述的。在一些示例中,记录相关实体,并且基于相关实体(例如,用户兴趣)中的一个或多个,生成用户简档。

在一些示例中,设备os、其服务和/或其他应用110可以在760处访问至少一些数据(例如,相关实体、用户兴趣)以提出和/或完成个性化任务。例如,在至少一些示例中,当例如用户540请求与实体(例如,餐馆)相关联先前消费的内容或输入与实体相关联的特定动作(例如,查看餐馆的菜单)时,用户交互自动重复以实现任务完成。采集和/或存储用户交互,使得用户交互可重复以在几乎没有附加用户输入的情况下执行各种任务。在一些示例中,冗余用户交互和/或用户交互的循环被滤出以生成导致先前消费的内容的用户交互的更短的连续的序列。重复用户交互取回先前消费的内容,使得内容可再呈现给用户540。在一些示例中,先前消费的内容被确定和/或被标识为相关内容并且被存储以增加可访问性和/或可用性。

在一些示例中,当先前用户交互的足迹不再有效和/或被投影为是不可重复的(例如,由于动态内容,因而用户交互之一是不可再重复的)时,用户交互的序列在云中被离线计算、在定期基础上(例如,每天)被高速缓存在设备上、并且被重复以取回先前消费的内容。在一些示例中,当应用110被选择时,明确的服务应用编程接口(api)被用于调用应用功能并且取回相关内容。

在一些示例中,个人数字助理(例如,siri品牌语音识别软件、googlenow品牌语音识别软件、cortana品牌语音识别软件)自动地执行任务(例如,打开应用110、导航应用110和/或取回内容)和/或基于从用户交互所提取的实体和/或推断的用户简档,提供针对性的服务(例如,生成目标搜索结果、呈现目标内容)。(siri是苹果公司的商标,googlenow是谷歌公司的商标,并且cortana是微软公司的商标)。例如,标识用户540已经在应用110中选择餐馆使得个人数字助理能够调用和/或致动另一应用110以将餐馆的评论呈现给用户540和/或基于餐馆推荐其他餐馆。对于另一示例而言,标识用户540已经选择应用110内的许多素食餐馆使得个人数字助理能够推断在接收对餐馆的搜索请求时取回何种类型的餐馆。对于又一示例而言,标识用户540如何与应用110交互以预订餐馆使得个人数字助理能够在接收到对预订餐馆的请求时自动地以类似的方式完成任务。

在至少一个示例中,用户540让个人数字助理查看用户的最喜爱的中国餐馆的菜单。为了完成任务,个人数字助理确定用户的最喜爱的餐馆是什么,并且确定如何从最喜爱的餐馆取回菜单。例如,个人数字助理提交对于用户的最喜爱的中国餐馆的查询。

select名称from[应用名称]

where信息.类型=‘餐馆

and信息.菜系=‘中国菜

and(交互.访问数>3

or交互.动作=‘预定表’

or交互.叩击=‘添加到收藏’)

当命名“abc餐馆”的实体被返回时,个人数字助理然后提交查询以提取与关联于菜单的实体的交互(例如,“查看菜单”事件)的足迹。

select足迹from[应用名称]

where名称=‘abc餐馆’

and交互.叩击=‘查看菜单’

在一些示例中,库使得上下文敏感弹出式菜单能够基于模板440而被呈现在移动设备100上。库可以包括通常功能的集合(诸如购买音乐、呼叫电话号码和调用地图以示出地址),并且基于所选择的ui元素190的实体类型,调用正确功能。例如,取决于用户540选择是歌曲名称还是餐馆名称,库弹出具有用于相应地购买歌曲或呼叫餐馆的选项的菜单。在一些示例中,库自动地被注入应用库二进制代码中。例如:

select信息.类型from[应用名称]

where名称=ui元素.内容

在一些示例中,实体、用户交互和/或识别实体所收集的应用数据被本地存储在移动设备100上并且可用于设备os和其服务(例如,个人数字助理),以及在移动设备上运行的其他应用(如果授予许可)。消费所收集的数据的设备os、其服务和/或其他应用可以被配置为基于所收集的分析来提供针对性服务。例如,应用和/或服务可以被配置为通过使用更丰富的用户简档来提供目标内容(例如,广告)。应用市场可以生成对一个或多个应用的推荐以基于用户兴趣在移动设备100上进行安装。音乐播放器应用和/或音乐市场应用可以生成对一个或多个歌曲的推荐以基于用户兴趣下载和/或自动地生成播放列表。

在至少一些示例中,仅当由用户540授予许可(例如,授权)时,所收集的数据被传递离开移动设备100和/或与移动设备100上的另一应用,使得至少一些隐私被保护。例如,用户540可以管理安全性和/或访问控制模块,其确定哪些应用110和/或os服务服务可以访问所收集的数据。在一些示例中,仅当遵守使用和/或服务条款和/或由用户540授予许可时,移动设备100上的第三方应用110才可以从移动设备100上的另一应用110访问数据。在至少一些示例中,数据策略引擎被用于强加使用和/或服务和/或用户授权条款。

在一些示例中,标识与一个或多个应用110相关联的一个或多个使用和/或服务条款,遵守一个或多个使用和/或服务条款管理从应用110所提取的行为分析。在一个示例中,接收、确定和/或标识执行功能和/或服务的请求,并且移动设备100确定功能是否遵守(例如,违反)使用和/或服务条款中的一个或多个。当功能被确定为遵守使用和/或服务条款时,移动设备100调用功能。当功能被确定为不遵守(例如,违反)使用和/或服务条款中的一个或多个时,移动设备100不调用功能和/或服务和/或呈现请求被拒绝的指示。

附加地或者备选地,接收、确定和/或标识执行功能和/或服务的请求,并且移动设备100确定功能是否被授权和/或先前由用户540授权。当功能被确定为由用户540授权时,移动设备100调用功能。当功能被确定为未由用户540授权时,移动设备100提示用户授权功能。备选地,移动设备100不调用功能和/或服务和/或呈现请求被拒绝的指示。

例如,当从本地应用和/或远程设备接收对于与所收集的数据相关联的数据的请求时,移动设备100确定所收集的数据的传输是否遵守(例如,违反)使用和/或服务条款中的一个或多个和/或由用户540授权。当功能被确定为遵守使用和/或服务条款和/或由用户540授权时,移动设备100将所收集的数据传送到远程设备。当功能被确定为不遵守(例如,违反)使用和/或服务条款中的一个或多个和/或未由用户540授权时,移动设备100不将所收集的数据传送到远程设备和/或服务和/或呈现请求被拒绝的指示。

在此所描述的主题使得移动设备能够有效地并且高效地从应用提取行为分析,并且以资源高效和隐私敏感的方式管理所提取的数据。在一些示例中,应用的结构特性被用于利用在运行时间处保持有效的语义信息自动地标注应用。在不具有对应用源代码的访问权的情况下和/或在不答复用仪器装备应用的开发者的情况下,生成一个或多个模板。标注过程以用户不可知的方式在远程服务器处离线完成。在运行时期间,与应用的用户交互被采集,并且语义在移动设备上直接地被推断。以自动化方式和/或在几乎没有开发者努力的情况下采集用户交互。在一些示例中,当例如用户请求先前看到的实体(例如,餐馆)或与实体相关联的特定动作(例如,查看餐馆的菜单)时,用户交互可重复以使得任务完成。

示例计算机可读介质包括闪速存储器驱动器、数字通用光盘(dvd)、压缩光盘(cd)、软盘和磁带盒。以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于诸如计算机可读指令、数据结构、程序模块或其他数据的信息的存储的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。计算机存储介质是有形的并且对于通信介质相互专有的。计算机存储介质被实现在硬件中并且不包括载波和传播信号。出于本公开的目的,计算机存储介质不是信号自身。示例计算机存储介质包括硬盘、闪盘驱动器和其他固态存储器。相反,通信介质通常实现计算机可读指令、数据结构、程序模块或经调制的数据信号(诸如载波或其他传输机制)中的其他数据,并且包括任何信息递送介质。

尽管结合示例计算系统环境被描述,但是本公开的示例能够利用许多其他通用或专用计算系统环境、配置或设备进行实现。

可以适于供本公开的各方面使用的众所周知的计算系统、环境和/或配置的示例包括但不限于:移动计算设备、个人计算机、服务器计算机、手持式或膝上型设备、微处理器系统、游戏控制台、基于微处理器的系统、机顶盒、可编程消费者电子装置、移动电话、以可穿戴或配件形状因子的移动计算和/或通信设备(例如,手表、眼镜、耳机或耳麦)、网络pc、小型计算机、大型计算机、包括以上系统或设备中的任一个的分布式计算环境,等等。这样的系统或设备可以以任何方式(包括经由手势输入、接近输入(诸如通过悬停)和/或经由语音输入从输入设备(诸如键盘和/或指点设备))从用户接受输入。

本公开的示例可以被描述在由以软件、固件、硬件或其组合形式的一个或多个计算机或其他设备所执行的计算机可执行指令(诸如程序模块)的一般上下文中。计算机可执行指令可以被组织为一个或多个计算机可执行组件或模块。通常,程序模块包括但不限于执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、和数据结构等。可以利用任何数目和组织的这样的组件或模块实现本公开的方面。例如,本公开的方面不限于附图中所图示和在此所描述的特定计算机可执行指令或特定组件或模块。本公开的其他示例可以包括不同的计算机可执行指令或具有比在此所图示和所描述的更多或更少功能的组件。

在此所图示和所描述的示例、以及在此未特别描述但是在本公开的方面的范围内的示例构成用于管理多个移动设备应用的示例装置。例如,图1和图3中所图示的元件(诸如当被编码以执行相应地图6和图5中所图示的操作时)构成:用于与应用自动交互以通过应用的各种页面导航并且采集在运行时期间由应用显示的内容的示例装置、用于处理内容以生成用于应用的每个页面类140的实体模板的示例装置、用于将模板和/或记录代码注入应用中以采集用户交互的示例装置、以及用于记录用户交互并且使用实体模板基于用户交互来识别实体的示例装置。

除非另外指定,否则在此所图示和所描述的本公开的示例中的操作的执行或性能的顺序不是必要的。也即,除非另外指定,否则可以以任何顺序执行操作,并且本公开的示例可以包括比在此所公开的那些操作更多或更少的操作。例如,应预期到,在另一操作之前、同时或之后运行或执行特定操作在本公开的方面的范围内。

当引入本公开或其示例的各方面的元素时,量词“一”、“一种”、“该”和“所述”旨在意味着存在元素中的一个或多个。术语“包括”、“包含”和“具有”旨在是包括性的并且意味着可以存在除了所列出的元素之外的附加元素。短语“以下各项中的一项或多项:a、b和c”意味着“a中的至少一个和/或b中的至少一个和/或c中的至少一个”。

已经详细描述本公开的方面,将明显的是,在不脱离如所附的权利要求中所定义的本公开的方面的范围的情况下,修改和变型是可能的。由于在不脱离本公开的各方面的范围的情况下,可以在以上构造、产品或方法中做出各种改变,因而应预期到,以上描述中所包含和附图中所示的所有问题应当被解译为说明性的而非以限制性意义。

备选地或者除了在此所描述的其他示例之外,示例包括以下各项的任何组合:

-下载与应用相关联的模板,所述模板包括多个实体;

-采集与应用的一个或多个用户交互;

-通过将一个或多个用户交互与多个实体相比较来确定一个或多个用户兴趣,使得移动设备被配置为向移动设备的用户提供定制服务;

-在运行时将与应用相关联的一个或多个用户接口元素的文本内容与多个实体相比较,以确定一个或多个用户接口元素中的、不对应于多个实体中的任何实体的用户接口元素;

-忽视用户接口元素的文本内容,使得与用户接口元素相关联的文本内容不被处理;

-自动地重复与应用的所采集的一个或多个用户交互以使得相关内容能够被取回;

-在运行时期间提取多个实体中的一个或多个实体;

-将所采集的一个或多个用户交互和多个实体存储在移动设备上;

-将使用信息与多个实体相关联;

-接收对于执行功能的请求;

-确定功能是否遵守与应用相关联的一个或多个使用条款;

-呈现请求被拒绝的指示。

-确定功能是否由用户授权;

-提示用户以授权功能;

-呈现请求被拒绝的指示;

-自动地生成与应用相关联并且包括多个实体的模板;

-将模板传输到移动设备,使得移动设备被配置为采集与应用的一个或多个用户交互,并且通过将一个或多个用户交互与多个实体相比较来确定一个或多个用户兴趣,移动设备被配置为向移动设备的用户提供定制服务;

-标识与关联于应用的多个用户接口元素相关联的内容;

-自动地从内容提取多个实体;

-利用语义信息自动地标注与应用相关联的一个或多个用户接口元素;

-将与关联于应用的用户接口元素相关联的内容分类在实体类型中;

-标识与应用相关联的多个页面;

-将多个页面聚类为页面类;

-标识多个页面的一个或多个页面内的用户接口元素的模式;

-标识应用的下载,其中模板基于所标识的下载而被自动地生成;

-将模板传输到移动设备,使得移动设备被配置为在不修改应用的情况下,向用户提供定制服务,模板独立于应用源代码被生成;

-采集与多个应用中的应用的一个或多个用户交互;

-通过将一个或多个用户交互与模板相比较来确定一个或多个用户兴趣,使得计算设备被配置为向计算设备的用户提供定制服务,模板包括多个实体;

-通过将一个或多个用户与多个实体相比较来确定一个或多个相关实体;

-生成与用户相关联的用户简档;

-基于一个或多个用户兴趣,致动多个应用中的另一应用;

标识应用的下载;以及

自动地请求与应用相关联的模板。

在一些示例中,图5和图6中所图示的操作可以被实现为被编码在计算机可读介质上的软件指令、被编程或被设计为执行操作的硬件中、或二者。例如,本公开的各方面可以被实现为片上系统或包括多个相互连接的导电元件的其他电路。

虽然已经根据具有其相关联的操作的各种示例描述本公开的方面,但是本领域的技术人员将理解到,来自任何数目的不同示例的操作的组合也在本公开的方面的范围内。

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