《创建基于安卓系统的混搭应用的方法和设备.pdf》由会员分享,可在线阅读,更多相关《创建基于安卓系统的混搭应用的方法和设备.pdf(20页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104077116A43申请公布日20141001CN104077116A21申请号201310100319722申请日20130326G06F9/4420060171申请人富士通株式会社地址日本神奈川县72发明人邹纲皮冰锋张军张沈斌杨华钟朝亮黄琦珍周恩策于浩松尾昭彦74专利代理机构北京集佳知识产权代理有限公司11227代理人康建峰吴琼54发明名称创建基于安卓系统的混搭应用的方法和设备57摘要本发明公开了一种创建基于安卓系统的混搭应用的方法和设备。所述方法包括获得安卓系统中的动作组件执行历史信息和上下文信息;根据所获得的动作组件执行历史信息和上下文信息,确定所述上下文信息与动。
2、作组件之间的关系;以及根据所确定的所述上下文信息与所述动作组件之间的关系,创建基于所述动作组件的混搭应用,所述混搭应用根据所述上下文信息进行操作。51INTCL权利要求书2页说明书13页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书13页附图4页10申请公布号CN104077116ACN104077116A1/2页21一种创建基于安卓系统的混搭应用的方法,包括获得安卓系统中的动作组件执行历史信息和上下文信息;根据所获得的动作组件执行历史信息和上下文信息,确定所述上下文信息与动作组件之间的关系;以及根据所确定的所述上下文信息与所述动作组件之间的关系,创建基于所述动作。
3、组件的混搭应用,所述混搭应用根据所述上下文信息进行操作。2如权利要求1所述的方法,其中所述确定步骤还包括根据所获得的动作组件执行历史信息和上下文信息,确定所述动作组件之间的关系;并且所述创建步骤还根据所确定的所述动作组件之间的关系,创建所述混搭应用,所述混搭应用还根据之前执行的动作组件进行操作。3如权利要求1所述的方法,其中所述上下文信息包括用户位置信息、用户行为信息、时间信息中的至少一种;以及所述动作组件执行历史信息包括动作组件的名称、动作组件的执行时间、动作组件的输入参数和输出参数、用户输入中的至少一种。4如权利要求2所述的方法,其中所述确定步骤包括如果在一个动作组件处于活动状态期间的用户。
4、输入等于一个上下文信息,则确定该上下文信息与该动作组件存在因果关系;以及如果在一个动作组件处于活动状态期间的用户输入等于之前执行的另一个动作组件的输出参数,则确定该另一个动作组件与该动作组件存在因果关系。5如权利要求2所述的方法,其中所述确定步骤包括进行独立性测试,以确定所述上下文信息与所述动作组件之间的因果关系和所述动作组件之间的因果关系。6如权利要求2所述的方法,其中所述确定步骤包括根据预定义规则,确定所述上下文信息与所述动作组件之间的因果关系和所述动作组件之间的因果关系。7如权利要求3所述的方法,其中所述确定步骤包括根据所述时间信息和所述动作组件的执行时间,确定所述上下文信息与所述动作组。
5、件之间的因果关系和所述动作组件之间的因果关系。8如权利要求47之一所述的方法,其中所述确定步骤还包括确定与所述因果关系相关的输入输出关系,所述输入输出关系表明哪个上下文信息和/或哪个动作组件的输出参数作为哪个动作组件的输入参数。9如权利要求2所述的方法,其中所述方法还包括在所述确定步骤之后,根据所确定的关系,构造概率模型的结构,其中所述上下文信息和所述动作组件作为随机变量,所述随机变量之间的有向边表明所确定的关系;以及利用所收集的观测数据,训练所述概率模型,使得所述概率模型能够根据当前的上下文信息和/或之前执行的动作组件,给出候选动作组件及其概率。10一种创建基于安卓系统的混搭应用的设备,包括。
6、权利要求书CN104077116A2/2页3获得装置,被配置为获得安卓系统中的动作组件执行历史信息和上下文信息;关系确定装置,被配置为根据所获得的动作组件执行历史信息和上下文信息,确定所述上下文信息与动作组件之间的关系;以及应用创建装置,被配置为根据所确定的所述上下文信息与所述动作组件之间的关系,创建基于所述动作组件的混搭应用,所述混搭应用根据所述上下文信息进行操作。权利要求书CN104077116A1/13页4创建基于安卓系统的混搭应用的方法和设备技术领域0001本发明一般地涉及数据处理领域。具体而言,本发明涉及一种创建基于安卓系统的混搭(MASHUP)应用的方法和设备。背景技术0002近年。
7、来,基于安卓系统的设备和应用得到了迅猛的发展和普及。从平板电脑到智能手机,各种各样的基于安卓系统的设备出现在人们的生活中,为人们的工作和生活提供便利。安卓系统中丰富多彩的应用能够提供各种各样的服务。0003然而,随着应用的增多,人们面临的一个问题是如何方便地获得自己想要的应用以及如何方便地使用一系列相关联的应用。比如,一个使用基于安卓系统的智能手机的用户到达了北京首都国际机场,他在安检处、行李托运处等地点可能会面临较长的排队。此时,他很可能会用手机中的出行应用,查询他所搭乘航班的进出港信息,如是否准点等。此外,他可能在获知航班情况后,利用手机中的天气应用,查询航班目的地纽约的天气情况。此外,他。
8、可能会利用手机中的旅游推荐应用,查询纽约值得一去的观光地点等。如果能在用户到达机场时,自动提示甚至自动执行上述示例的应用,则用户将感到十分的方便和智能。0004现有技术中,为了创建混搭应用,需要由掌握编程技术的人员,通过设计和编程,编写出基于现有应用的新的应用,即混搭应用。然而,这样的混搭应用随着设计的结束而固定,不能满足用户的个性化需要,不能适应用户的个人使用习惯。并且,这样的混搭应用不能随着用户的环境、场景、行为等的不同而自适应地改变混搭的方式。0005因此,期望一种创建基于安卓系统的混搭应用的方法和设备,其所创建的混搭应用能够随着用户的环境、场景、行为等的上下文的不同而变化,并且能够按用。
9、户的使用习惯进行操作,利用该方法和设备创建混搭应用的过程应是全自动的,不需要用户的过多参与,不增加用户的负担。发明内容0006在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。0007本发明的目的是针对现有技术的上述问题,提出了一种能够自动地创建可以随用户的上下文不同而改变并且能够按用户的使用习惯操作的混搭应用的方法和设备。0008为了实现上述目的,根据本发明的一个方面,提供了一种。
10、创建基于安卓系统的混搭应用的方法,包括获得安卓系统中的动作组件执行历史信息和上下文信息;根据所获得的动作组件执行历史信息和上下文信息,确定所述上下文信息与动作组件之间的关系;以及根据所确定的所述上下文信息与所述动作组件之间的关系,创建基于所述动作组件的混搭应用,所述混搭应用根据所述上下文信息进行操作。说明书CN104077116A2/13页50009根据本发明的另一个方面,提供了一种创建基于安卓系统的混搭应用的设备,包括获得装置,被配置为获得安卓系统中的动作组件执行历史信息和上下文信息;关系确定装置,被配置为根据所获得的动作组件执行历史信息和上下文信息,确定所述上下文信息与动作组件之间的关系;。
11、以及应用创建装置,被配置为根据所确定的所述上下文信息与所述动作组件之间的关系,创建基于所述动作组件的混搭应用,所述混搭应用根据所述上下文信息进行操作。0010另外,根据本发明的另一方面,还提供了一种存储介质。所述存储介质包括机器可读的程序代码,当在信息处理设备上执行所述程序代码时,所述程序代码使得所述信息处理设备执行根据本发明的上述方法。0011此外,根据本发明的再一方面,还提供了一种程序产品。所述程序产品包括机器可执行的指令,当在信息处理设备上执行所述指令时,所述指令使得所述信息处理设备执行根据本发明的上述方法。附图说明0012参照下面结合附图对本发明实施例的说明,会更加容易地理解本发明的以。
12、上和其它目的、特点和优点。附图中的部件只是为了示出本发明的原理。在附图中,相同的或类似的技术特征或部件将采用相同或类似的附图标记来表示。附图中0013图1示出了根据本发明的第一实施例的创建基于安卓系统的混搭应用的方法的流程图;0014图2示出了根据本发明的第二实施例的创建基于安卓系统的混搭应用的方法的流程图;0015图3示出了根据本发明的第三实施例的创建基于安卓系统的混搭应用的方法的流程图;0016图4示出了根据本发明的第四实施例的创建基于安卓系统的混搭应用的方法的流程图;0017图5示出了根据本发明实施例的基于安卓系统的混搭应用的创建设备的结构方框图;以及0018图6示出了可用于实施根据本发。
13、明实施例的方法和设备的计算机的示意性框图。具体实施方式0019在下文中将结合附图对本发明的示范性实施例进行详细描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施方式的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。0020在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出。
14、了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。另外,还需要指出的是,在本发明的一个附图或一种实施方式中描述说明书CN104077116A3/13页6的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。0021首先,对安卓系统作简单介绍。0022安卓系统包括一个重要的基本组件,即动作组件(ACTIVITY),动作组件可以被认为代表一个单独的屏幕,其具有用户接口,能对事件进行响应。例如,一个收发EMAIL的应用可能具有多个动作组件,一个动作组件示出新的EMAIL的列表,一个动作组件用于编辑新的EMAIL,另一个动作组件用于阅读EMA。
15、IL。虽然这三个动作组件协同工作,组成了一个收发EMAIL的应用,但是安卓系统提供了一个很好的复用机制,即每个动作组件是彼此独立并可重复利用的。动作组件分为两种,即显式动作组件和隐式动作组件。显式动作组件通常在同一个应用中被触发,隐式动作组件通常用于不同应用之间的重用。也就是说,可以在一个应用中触发另一个应用中的隐式动作组件,使其执行。例如,假设上述EMAIL应用中用于编辑新的EMAIL的动作组件是隐式动作组件。照相应用可以被设计为在拍摄图像并显示所拍摄的图像后,触发这个用于编辑新的EMAIL的动作组件,使得用户可以将所拍摄的图像直接通过EMAIL发送给朋友观看。0023可见,可以通过复用多个。
16、隐式动作组件来形成新的混搭应用,该新的混搭应用可包括不同应用的已有动作组件。0024动作组件具有输入参数和输出参数。传递这些参数的是意图消息(INTENT)。在某些时候,一个动作组件的输出参数可通过意图消息被传递给另一个动作组件,作为输入参数。意图消息可以用于激活动作组件,以及在动作组件之间发送和返回数据。0025意图消息具有多个域,其中的数据域(DATA)和附加数据域(EXTRA)可以用于传送数据。0026本发明的主要思想是从动作组件的执行历史信息以及上下文信息中,分析出上下文信息与动作组件的执行之间的关系、之前执行的动作组件与之后执行的动作组件之间的关系、上下文信息和之前执行的动作组件与之。
17、后执行的动作组件之间的关系,这些关系包括但不限于由前者引发后者的因果关系以及相关的数据的输入输出关系。通过分析得出上述关系,从而创建相应的混搭应用,混搭应用可以根据当前的上下文信息和之前执行的动作组件中的至少一个预测用户可能希望执行的动作组件并呈现给用户。混搭应用还可以根据概率模型计算多个候选动作组件的概率,并选择其中概率最大的候选动作组件,作为最优候选动作组件呈现给用户。此外,在获知相应的输入输出关系的情况下,可为最优候选动作组件提供输入参数,以直接执行最优候选动作组件,从而减少用户的输入负担,改善用户体验。0027下面将参照图1描述根据本发明的实施例的创建基于安卓系统的混搭应用的方法的流程。
18、。0028图1示出了根据本发明的第一实施例的创建基于安卓系统的混搭应用的方法的流程图。如图1所示,根据本发明的第一实施例的基于安卓系统的混搭应用的创建方法,包括如下步骤获得安卓系统中的动作组件执行历史信息和上下文信息(步骤S1);根据所获得的动作组件执行历史信息和上下文信息,确定所述上下文信息与动作组件之间的关系(步骤S2);以及根据所确定的所述上下文信息与所述动作组件之间的关系,创建基于所述动作组件的混搭应用,所述混搭应用根据所述上下文信息进行操作(步骤S3)。0029在步骤S1中,获得安卓系统中的动作组件执行历史信息和上下文信息。说明书CN104077116A4/13页70030首先,简单。
19、介绍动作组件执行历史信息和上下文信息。0031在本发明中使用的上下文信息泛指可能影响动作组件执行的一切相关场景信息、环境信息、与安卓系统的用户相关的信息等。也就是说,只要某一信息可以被获得或推断出来,该信息可能影响动作组件的执行,且该信息不是动作组件执行历史信息,则该信息就可以被归入上下文信息。0032举例来说,上下文信息可以包括用户位置信息,如用户所处的地理位置,如高海拔地区,又如用户所处的功能性位置,如机场、咖啡厅、法庭等。用户位置信息可以例如从GPS导航、安卓系统所在的设备上的传感器(气压计)收集的数据、WIFI信息等中获得。0033作为示例,上下文信息可以包括用户行为信息,如用户的社会。
20、行为,如朋友见面,又如用户的活动行为,如走路、开车。用户的行为信息可以例如从蓝牙设备的启用及图片等信息的共享、安卓系统所在的设备上的传感器(如陀螺仪、加速度计)收集的数据等中获得。0034上下文信息还可包括时间信息,如上下文信息对应的时间、节假日等。0035动作组件执行历史信息例如可包括动作组件的名称、动作组件的执行时间、动作组件的输入参数和输出参数、用户输入。0036可以从动作组件执行日志中获得动作组件的名称、动作组件的执行时间。可以从动作组件的输入意图消息(INTENT)的数据域(DATA)和附加数据域(EXTRA),获得动作组件的输入参数。可以从动作组件的输出意图消息(INTENT)的附。
21、加数据域(EXTRA),获得动作组件的输出参数。可以从动作组件处于活动状态期间的窗口界面(WIDGET),获得用户输入。0037获得动作组件执行历史信息和上下文信息是为了分析出上下文信息与动作组件的执行之间的关系、当前的上下文信息和之前执行的动作组件与之后执行的动作组件之间的关系。本领域技术人员可以理解,如果不考虑上下文信息而只考虑之前执行的动作组件与之后执行的动作组件之间的关系,则在步骤S1中可以只获得安卓系统中的动作组件执行历史信息。0038此外,如果希望从很多用户的操作历史中挖掘关系,可以在步骤S1中从多个用户的安卓系统中获得关系信息。这样的优点是可以挖掘共性或某个特定用户没有的习惯,起。
22、到推荐的作用。例如,某个用户在飞机场候机排队期间,只是利用应用看行程、天气,并不知道如何打发无聊的等待时间,但是从其它用户观察到的数据表明,用户在机场处于静止状态时,经常观看电子书或听MP3。因此,本发明在获得这样关系的基础上创建的混搭应用,就能够在这个用户在机场处于静止状态的时候,向用户提示电子书应用的显示书籍列表的动作组件、媒体播放器的显示乐曲列表的动作组件。0039当然,如果希望从某个特定用户的操作历史中挖掘关系,可以在步骤S1中从一个用户的一个或多个安卓系统中获得关系信息。这样的优点是可以为该用户进行定制,使得本发明创建的混搭应用能够更加符合该用户的使用习惯。比如某个用户是个刻板、严肃。
23、的律师,他可能在机场等待期间,喜欢安静,不希望任何不必要的烦扰,并且他唯一做的事情就是时不时看看当前时刻,心中估算还需要多久才能登机。因此,本发明创建的混搭应用就不会以推荐众多应用的动作组件的方式产生烦扰,而是仅提供显示当前时间的动作组件。如果该用户以前在机场使用过航班信息查询应用、倒计时应用,则本发明创建的混搭应用还能够仅提示显示航班信息的动作组件、显示倒计时的动作组件,并且自动将倒计时的目标时刻设定为航班信息中示出的预计起飞时间。上述功能的实现依赖于下面将详细描述的说明书CN104077116A5/13页8其它步骤。0040在步骤S2中,根据所获得的动作组件执行历史信息和上下文信息,确定所。
24、述上下文信息与动作组件之间的关系。0041在掌握了步骤S1中获得的信息之后,重要的是根据获得的信息确定出动作组件与触发该动作组件的因素之间的关系。如上所述,触发动作组件的因素可能是上下文信息,也可能是之前执行的动作组件,也可能是两者。0042因此,根据本发明的第一实施例,可以在步骤S2中,只确定上下文信息与动作组件之间的关系。根据本发明的第二实施例,可以在步骤S2中,还根据所获得的动作组件执行历史信息和上下文信息,确定动作组件之间的关系。也就是说,在第二实施例中,还考虑了之前的动作组件对之后的动作组件的影响。0043图2示出了根据本发明的第二实施例的创建基于安卓系统的混搭应用的方法的流程图。如。
25、图2所示,根据本发明的第二实施例的基于安卓系统的混搭应用的创建方法,包括如下步骤获得安卓系统中的动作组件执行历史信息和上下文信息(步骤S1);根据所获得的动作组件执行历史信息和上下文信息,确定所述上下文信息与动作组件之间的关系以及所述动作组件之间的关系(步骤S2);以及根据所确定的所述上下文信息与所述动作组件之间的关系以及所述动作组件之间的关系,创建基于所述动作组件的混搭应用,所述混搭应用根据所述上下文信息和之前执行的动作组件进行操作(步骤S3)。第二实施例的步骤S1与第一实施例的步骤S1相同。0044为了避免重复和节约篇幅,在下文中将在相同或相似的步骤处,同时介绍第一实施例和第二实施例的细节。
26、。0045在步骤S2和S2中,可以利用多种具体方式确定希望获知的关系。0046第一确定方式是优选的方式。本发明的发明人意识到当前的上下文信息、之前执行的动作组件、之后执行的动作组件之间存在内在联系,这个内在联系的本质依赖于用户。0047举例来说,用户在北京首都国际机场(用户所处的功能性位置信息),处于排队等待状态(用户的活动行为信息),在出行应用中输入例如“北京首都国际机场”和“纽约肯尼迪机场”(用户输入),看到了由显示航班信息的动作组件(第一动作组件)呈现的从北京首都国际机场起飞、飞往纽约肯尼迪机场的所有航班信息。然后,用户在天气应用中输入“纽约”(用户输入),看到了由显示天气信息的动作组件。
27、(第二动作组件)呈现的纽约的天气情况(大雨)及辅助信息(推荐乘坐出租车、地铁等公共交通工具外出)。接着,用户在出租车预定应用中输入“纽约”和“出租车”(用户输入),看到了由显示出租车查询结果的动作组件(第三动作组件)呈现的纽约市可预定出租车的公司的电话号码。最后,用户在电话应用的拨号动作组件(第四动作组件)中输入了看到的电话号码(用户输入)。0048可见,第一至第四动作组件的调用,存在内在的逻辑并体现用户的习惯。并且,这些动作组件的输入输出数据也存在内在联系。上述动作组件的输入参数还是由用户例如通过窗口界面WIDGET输入的。这些用户输入体现了内在的逻辑和用户的习惯。0049因此,在优选的第一。
28、确定方式中,从用户输入入手,挖掘上下文信息与动作组件之间的关系,以及动作组件之间的关系。0050如果在一个动作组件处于活动状态期间的用户输入等于一个上下文信息,则确定该上下文信息与该动作组件存在因果关系。说明书CN104077116A6/13页90051如果在一个动作组件处于活动状态期间的用户输入等于之前执行的另一个动作组件的输出参数,则确定该另一个动作组件与该动作组件存在因果关系。0052上述机场情景下,第一种情况的示例是上下文信息(北京首都国际机场)与用户输入“北京首都国际机场”。第二种情况的示例是第三动作组件的输出参数(纽约市可预定出租车的公司的电话号码)与第四动作组件的输入参数(该电话。
29、号码)。0053有时,用户在调用新的动作组件时并没有用户输入,比如在机场排队等待期间听音乐。因此,也可以通过其他方式不借助于用户输入地挖掘因果关系。0054第二确定方式进行独立性测试,以确定上下文信息与动作组件之间的因果关系、以及动作组件之间的因果关系。0055独立性测试是从概率的角度,利用统计数据,判断被测试的各个因素之间是否存在关系、以及关系的程度(条件概率)。这对于本领域技术人员是熟知的,因此并不在此赘述。0056第三确定方式根据预定义规则,确定上下文信息与动作组件之间的因果关系、以及动作组件之间的因果关系。0057这里的预定义规则是由设计人员根据经验和逻辑确定的规则、如用户拍摄图片后,。
30、会观看所拍摄的图片,并且会在观看后通过彩信、EMAIL、微信等发送。根据这样的规则,可以确定拍摄的动作组件、显示拍摄图片的动作组件、EMAIL发送的动作组件存在因果关系。0058第四确定方式根据时间信息和动作组件的执行时间,确定上下文信息与动作组件之间的因果关系、以及动作组件之间的因果关系。0059相关联的动作组件的执行时间具有一定的连续性,并且某些动作组件的执行时间与一天中的特定时间、一年中的特定节假日等存在关联。因此,可以从时间的角度,挖掘上下文信息与动作组件之间的因果关系、以及动作组件之间的因果关系。0060以上示出的四种确定方式仅为示例,本发明不限于此。其它适当的确定方式也可被本发明所。
31、利用。0061此外,上述四种确定方式可单独使用,也可同时使用以产生更多的关系或彼此验证。0062上面说明了如何确定上下文信息与动作组件之间的因果关系、以及动作组件之间的因果关系。这使得在步骤S3(S3)中所创建的混搭应用能够根据上下文信息和/或之前执行的动作组件,确定并提示用户一个或多个候选动作组件。0063在此基础之上,还可以确定与因果关系相关的输入输出关系。输入输出关系表明哪个上下文信息和/或哪个动作组件的输出参数作为哪个动作组件的输入参数。0064例如,在上面的机场示例中,上下文信息“北京首都国际机场”是第一动作组件的输入参数,第二动作组件的输出参数“出租车”是第三动作组件的输入参数等。。
32、0065相应地,在步骤S3(S3)中所创建的混搭应用能够根据当前的上下文信息和/或之前执行的动作组件,确定并提示用户一个或多个候选动作组件,并且根据所确定的与因果关系相关的输入输出关系,从当前的上下文信息和/或之前执行的动作组件的输出参数中,提取出候选动作组件的输入参数,并将其提供给候选动作组件。这有利于自动执行该候选动作组件。即使当不自动执行候选动作组件时,也可以在用户选择执行所提示的候选动说明书CN104077116A7/13页10作组件的情况下,自动填充所选择的候选动作的输入参数,以使得用户感受更多的方便和智能。0066在步骤S3中,根据所确定的上下文信息与动作组件之间的关系,创建基于动。
33、作组件的混搭应用,混搭应用根据上下文信息进行操作。0067在步骤S3中,根据所确定的上下文信息与动作组件之间的关系以及动作组件之间的关系,创建基于动作组件的混搭应用,混搭应用根据上下文信息和之前执行的动作组件进行操作。0068混搭应用的创建过程是本领域技术人员所熟知的。其本质是保留所确定的上下文信息与动作组件之间的关系(以及动作组件之间的关系)、这些关系涉及的动作组件,使得所创建的混搭应用可以根据实际应用时的上下文信息(和之前执行的动作组件)进行操作。0069混搭应用的创建过程还涉及从观察数据中获知如何从意图消息中提取数据和如何创建意图消息以激活动作组件。这对于本领域技术人员是已知的。0070。
34、混搭应用的实际操作过程本质上是动作组件的再组合过程。其中可选地包括有输入输出参数的自动填充过程以及动作组件的自动执行过程。0071在第一实施例和第二实施例中,所获得的关系可能是较多的,并且候选动作组件可能不是唯一的。例如,在之前提到的北京首都国际机场的示例中,在当前的上下文信息是北京首都国际机场和处于排队等待的静止状态时,根据所确定的关系,将要执行的可能是显示航班信息的动作组件。而根据之前描述的涉及律师的机场情景中,在用户位于机场且处于静止的情况下,将要执行的可能是显示当前时间的动作组件。在这种情况下,可以将多个候选动作组件提供给用户选择。可选地,可以在用户选择某一个候选动作组件时,根据之前获。
35、得的输入输出关系,自动填充所选择的动作组件的输入参数。0072在第一实施例和第二实施例中,如果候选动作组件是唯一的,则还可以设计为混搭应用自动执行该候选动作组件。0073在本发明的第三实施例和第四实施例中,针对多个候选动作组件的情况,增加了概率模型,使得混搭应用能够选择一个最优的候选动作组件进行推荐以及可选地执行、或者按概率的顺序排列多个候选动作组件。可以让用户感到更多的便利和智能。0074第三实施例和第四实施例分别在第一实施例和第二实施例的基础上,增加了概率模型。为了避免重复和节约篇幅,在下文中将在相同或相似的步骤处,同时介绍第三实施例和第四实施例的细节。0075图3示出了根据本发明的第三实。
36、施例的创建基于安卓系统的混搭应用的方法的流程图。如图3所示,根据本发明的第三实施例的基于安卓系统的混搭应用的创建方法,包括如下步骤获得安卓系统中的动作组件执行历史信息和上下文信息(步骤S31);根据所获得的动作组件执行历史信息和上下文信息,确定所述上下文信息与动作组件之间的关系(步骤S32);根据所确定的关系,构造概率模型的结构,其中所述上下文信息和所述动作组件作为随机变量,所述随机变量之间的有向边表明所确定的关系(步骤S33);利用所收集的观测数据,训练所述概率模型(步骤S34);以及利用经训练的概率模型,创建基于所述动作组件的混搭应用,所述混搭应用根据所述上下文信息进行操作(步骤S35)。。
37、0076第三实施例中的步骤S31、S32分别与第一实施例中的步骤S1、S2相同。0077概率模型例如可以是贝叶斯网络(BAYESIANNETWORK)。贝叶斯网络是一种基于概说明书CN104077116A108/13页11率的不确定性推理网络。贝叶斯网络包括节点和有向边。节点代表随机变量,边代表节点之间的因果关系和/或概率关系,且边是有向的,不构成回路。贝叶斯网络能够利用简明的图形方式表示事件之间复杂的因果关系和/或概率关系。贝叶斯网络推理仍然需要给出许多先验概率,即根节点的概率值和所有子节点在其母节点给定下的条件概率值。这些先验概率可以是由大量样本数据统计分析得到的。0078在步骤S33中,。
38、根据所确定的关系,构造概率模型的结构。概率模型中上下文信息和动作组件作为随机变量,随机变量之间的有向边表明所确定的关系。也即,概率模型本身已经包括了所确定的关系。0079在步骤S34中,利用所收集的观测数据,训练概率模型。经训练的概率模型能够根据当前的上下文信息给出候选动作组件及其概率。0080在步骤S35中,利用经训练的概率模型,创建基于所述动作组件的混搭应用,所述混搭应用根据所述上下文信息进行操作(步骤S35)。0081混搭应用的创建过程是本领域技术人员所熟知的。其本质是保留经训练的概率模型、所确定的关系涉及的动作组件,使得所创建的混搭应用可以利用概率模型根据实际应用时的上下文信息进行操作。
39、。0082混搭应用的实际操作过程本质上是动作组件的再组合过程。概率模型根据当前的上下文信息给出候选动作组件及其概率,混搭应用按概率由大到小的顺序,排列多个候选动作组件供用户选择,也可以仅推荐具有最大概率的候选动作组件,可选地可直接执行具有最大概率的候选动作组件。0083本发明的第三实施例可以有效地减少候选动作组件的数量,减轻用户的负担,并且能够给出更可能符合用户心意的动作组件。0084图4示出了根据本发明的第四实施例的创建基于安卓系统的混搭应用的方法的流程图。如图4所示,根据本发明的第四实施例的基于安卓系统的混搭应用创建方法,包括如下步骤获得安卓系统中的动作组件执行历史信息和上下文信息(步骤S。
40、41);根据所获得的动作组件执行历史信息和上下文信息,确定所述上下文信息与动作组件之间的关系、以及所述动作组件之间的关系(步骤S42);根据所确定的关系,构造概率模型的结构,其中所述上下文信息和所述动作组件作为随机变量,所述随机变量之间的有向边表明所确定的关系(步骤S43);利用所收集的观测数据,训练所述概率模型(步骤S44);以及利用经训练的概率模型,创建基于所述动作组件的混搭应用,所述混搭应用根据所述上下文信息和/或之前执行的动作组件进行操作(步骤S45)。0085第四实施例中的步骤S41、S42分别与第二实施例中的步骤S1、S2相同。第四实施例中的步骤S43与第三实施例中的步骤S33类似。
41、,其区别在于在步骤S43中利用的所确定的关系还包含动作组件之间的关系。第四实施例中的步骤S44与第三实施例中的步骤S34相同。第四实施例中的步骤S45与第三实施例中的步骤S35类似,其区别在于在步骤S45中创建的混搭应用可以根据之前执行的动作组件进行操作,也可以根据当前的上下文信息和之前执行的动作组件进行操作。0086类似地,本发明的第四实施例可以有效地减少候选动作组件的数量,减轻用户的负担,并且能够给出更可能符合用户心意的动作组件。同时,与第三实施例相比,第四实施例考虑到了之前执行的动作组件,可以更准确地向用户推荐动作组件。说明书CN104077116A119/13页120087下面,将参照。
42、图5描述根据本发明实施例的创建基于安卓系统的混搭应用的设备。0088图5示出了根据本发明实施例的基于安卓系统的混搭应用的创建设备的结构方框图。如图5所示,根据本发明的创建设备500包括获得装置501,被配置为获得安卓系统中的动作组件执行历史信息和上下文信息;关系确定装置502,被配置为根据所获得的动作组件执行历史信息和上下文信息,确定所述上下文信息与动作组件之间的关系;以及应用创建装置503,被配置为根据所确定的所述上下文信息与所述动作组件之间的关系,创建基于所述动作组件的混搭应用,所述混搭应用根据所述上下文信息进行操作。0089在一个实施例中,关系确定装置502被进一步配置为还根据所获得的动。
43、作组件执行历史信息和上下文信息,确定所述动作组件之间的关系;并且应用创建装置503被进一步配置为还根据所确定的所述动作组件之间的关系,创建所述混搭应用,所述混搭应用还根据之前执行的动作组件进行操作。0090在一个实施例中,上下文信息包括用户位置信息、用户行为信息、时间信息中的至少一种。0091在一个实施例中,动作组件执行历史信息包括动作组件的名称、动作组件的执行时间、动作组件的输入参数和输出参数、用户输入中的至少一种。0092在一个实施例中,关系确定装置502被进一步配置为在一个动作组件处于活动状态期间的用户输入等于一个上下文信息的情况下,确定该上下文信息与该动作组件存在因果关系;以及在一个动。
44、作组件处于活动状态期间的用户输入等于之前执行的另一个动作组件的输出参数的情况下,确定该另一个动作组件与该动作组件存在因果关系。0093在一个实施例中,关系确定装置502被进一步配置为进行独立性测试,以确定所述上下文信息与所述动作组件之间的因果关系、以及所述动作组件之间的因果关系。0094在一个实施例中,关系确定装置502被进一步配置为根据预定义规则,确定所述上下文信息与所述动作组件之间的因果关系、以及所述动作组件之间的因果关系。0095在一个实施例中,关系确定装置502被进一步配置为根据所述时间信息和所述动作组件的执行时间,确定所述上下文信息与所述动作组件之间的因果关系、以及所述动作组件之间的。
45、因果关系。0096在一个实施例中,关系确定装置502被进一步配置为确定与所述因果关系相关的输入输出关系,所述输入输出关系表明哪个上下文信息和/或哪个动作组件的输出参数作为哪个动作组件的输入参数。0097在一个实施例中,创建设备500还包括概率模型构造和训练装置,所述概率模型构造和训练装置被配置为根据所确定的关系,构造概率模型的结构,其中所述上下文信息和所述动作组件作为随机变量,所述随机变量之间的有向边表明所确定的关系;以及利用所收集的观测数据,训练所述概率模型,使得所述概率模型能够根据当前的上下文信息和/或之前执行的动作组件,给出候选动作组件及其概率。0098在一个实施例中,获得装置501被进。
46、一步配置为从所述安卓系统所在的设备上的传感器收集的数据中获得所述用户位置信息和所述用户行为信息;从动作组件执行日志中获得所述动作组件的名称、所述动作组件的执行时间;从动作组件的输入意图消息的数据域和附加数据域,获得所述动作组件的输入参数;从动作组件的输出意图消息的附加数说明书CN104077116A1210/13页13据域,获得所述动作组件的输出参数;以及从动作组件处于活动状态期间的窗口界面,获得所述用户输入。0099由于在根据本发明的创建设备500中所包括的各个装置中的处理分别与上面描述的创建方法中所包括的各个步骤中的处理类似,因此为了简洁起见,在此省略这些装置的详细描述。0100此外,这里。
47、尚需指出的是,上述设备中各个组成装置可以通过软件、固件、硬件或其组合的方式进行配置。配置可使用的具体手段或方式为本领域技术人员所熟知,在此不再赘述。在通过软件或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机(例如图6所示的通用计算机600)安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等。0101图6示出了可用于实施根据本发明实施例的方法和设备的计算机的示意性框图。0102在图6中,中央处理单元CPU601根据只读存储器ROM602中存储的程序或从存储部分608加载到随机存取存储器RAM603的程序执行各种处理。在RAM603中,还根据需要存储当CPU601执。
48、行各种处理等等时所需的数据。CPU601、ROM602和RAM603经由总线604彼此连接。输入/输出接口605也连接到总线604。0103下述部件连接到输入/输出接口605输入部分606(包括键盘、鼠标等等)、输出部分607(包括显示器,比如阴极射线管CRT、液晶显示器LCD等,和扬声器等)、存储部分608(包括硬盘等)、通信部分609(包括网络接口卡比如LAN卡、调制解调器等)。通信部分609经由网络比如因特网执行通信处理。根据需要,驱动器610也可连接到输入/输出接口605。可拆卸介质611比如磁盘、光盘、磁光盘、半导体存储器等等可以根据需要被安装在驱动器610上,使得从中读出的计算机程。
49、序根据需要被安装到存储部分608中。0104在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质611安装构成软件的程序。0105本领域的技术人员应当理解,这种存储介质不局限于图6所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质611。可拆卸介质611的例子包含磁盘包含软盘注册商标、光盘包含光盘只读存储器CDROM和数字通用盘DVD、磁光盘(包含迷你盘MD注册商标和半导体存储器。或者,存储介质可以是ROM602、存储部分608中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。0106本发明还提出一种存储有机器可读取的指令代码的程序产品。所述指令代码由机器读取并执行时,可执行上述根据本发明实施例的方法。0107相应地,用于承载上述存储有机器可读取的指令代码的程序产品的存储介质也包括在本发明的公开中。所述存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。0108在上面对本发明具体实施例的描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。0109应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。说明书CN1。