一种基于安卓应用的控件布局推荐方法及其系统与流程

文档序号:14774201发布日期:2018-06-23 02:35阅读:137来源:国知局
一种基于安卓应用的控件布局推荐方法及其系统与流程

本发明涉及信息识别处理、安卓应用、布局推荐技术领域,尤其涉及一种基于安卓应用的控件布局推荐方法及其系统。



背景技术:

在移动互联网迅猛发展以后,移动应用逐渐成为人们日常所需,其中安卓应用占了移动应用市场的很大比例。快速生成应用原型,提升开发效率成为很多开发团队的需求。在安卓应用开发中,界面设计直接影响了用户的交互体验,因此往往需要设计人员的参与。目前如Android Studio的开发环境提供了“拖拽式”的界面开发方式,只需把控件拖动到画布某个位置,对应代码就会自动生成。这使得没有编码知识的设计人员也可以快速生成界面。安卓平台的安卓应用的市场积累的大量数据,给安卓应用设计师与开发人员提供了参考的可能性。但是获取设计案例并且根据案例分析趋势是一个耗时的过程,因此一种基于数据的控件布局推荐能够减少设计人员收集案例以及分析数据的时间,让设计人员专注在生成与组织灵感的过程。

目前针对界面数据的自动爬取与管理平台,有建立网页设计的检索平台,通过对爬取网页的解析,生成关于网页设计的资源库,并且提供基于JSOND的查询API。还有针对安卓应用的界面设计的检索平台。已有研究人员也提出统计分析的方法,提供对设计趋势的了解,为用户界面设计人员提供设计决策辅助。对于界面数据的分析,有关于安卓应用中使用频率最高的控件以及控件的组合的分析,应用的界面复杂度与下载量和评分的关系,设计模式在版本更新中的变化趋势。

对于控件的布局推荐目前有两种方法,第一种是基于模型,第二种是基于数据。基于模型的方法推荐控件布局效果主要受选择的设计规范影响,体现的设计模式比较单一,而且对于如何选用设计准则需要设计人员有丰厚的设计经验或者先验知识,对于经验不多的初学者使用难度较高。基于数据的方法推荐控件布局主要受收集的数据的影响,通过设置过滤条件,只收集用户反馈为好的应用,则最终从数据体现的设计模式是经过市场认证的,认可度较高。并且这些设计模式是目前正在为用户所接受的,符合用户使用习惯。

基于模型的方法一般基于面向对象的思想,根据系统的所需功能和涉及人员特性建立确立类的继承体系,以及通过定义属性或者方法表示每个类的行为。在系统模型构建好的基础上,映射出所需定义的界面控件以及对应的功能,然后应用专家或者人机交互社区定义的设计指导作为启发式规则自动对控件布局。

基于数据的方法为是基于历史设计偏好的推荐,不考虑设计人员个人偏好输入的情况下,基本的方法是基于好的布局在市场的能见度更高的思想,统计给定布局控件在不同位置的出现频率,选择频率最的前N个位置作为推荐选项。因此本发明采用基于数据的方法推荐控件布局。

基于模型的方法体现的设计模式比较单一,而且对于如何选用设计准则需要设计人员有丰厚的设计经验或者先验知识,对于经验不多的初学者使用难度较高。目前基于数据的方法推荐控件的布局只利用了数据里面基本的频率信息,无法解决三个问题,第一个问题是无法解决多个推荐布局的同质性,很相近的布局一般来源一致的设计意图,但是因为细微差别被认为是不同的方案,则本质是同一个的推荐方案占据了多个推荐选项,推荐的多样性降低了;第二个问题是无法判断推荐布局的代表性,当推荐布局之间的频率差距不大,最高频率的推荐结果不一定有代表性;第三个问题是无法判断控件推荐布局的可靠性,如果把出现频率最高的布局作为控件的推荐布局,控件在不同布局的频率相近的情况下,推荐的结果可能因为收集数据的随机性不稳定。



技术实现要素:

本发明的目的在于克服现有技术的不足,本发明提供了一种基于安卓应用的控件布局推荐方法及其系统,用于对布局数据进行评分并排序得到top N的推荐布局。为此,本发明需要解决的技术问题包括如何对界面数据处理增加推荐的效率、选择什么指标量化布局方案的代表性与稳定性、怎么解决推荐布局同质性的问题。

为了解决上述问题,本发明提出了一种基于安卓应用的控件布局推荐方法,所述方法包括:

获取运行时动态界面的数据集,进行解析、提取处理,获得空间数据库后建立索引;

对用户提供的关键词进行匹配检索、提取、离散化处理,获得备选布局方案;

对备选布局方案进行评分,按照从评分高至低推荐相应的布局给用户。

优选地,所述进行解析、提取处理具体包括:

获取运行时单台界面数据集,进行解析处理,提取获得所有控件的属性;

对所有控件的属性进行解析分类处理,提取获得控件文本信息、控件类型、控件布局相关的控件属性;

对控件文本信息进行提取关键词,作为控件属性数据库的检索关键词;

对没有文本信息的控件,则取控件类型作为检索关键词;

同时,也可以取控件类型和控件文本信息的关键词结合作为检索关键词;

结合三种情况组成控件属性检索数据库,建立相应的索引。

优选地,所述对控件文本信息进行提取关键词是利用LDA模型对所有控件的文本信息建模,从而得到主题内的关键词分布,然后根据文本具备的主题,从其中选择频率较高的若干关键词作为检索控件的关键词索引。

优选地,所述对用户提供的关键词进行匹配检索、提取、离散化处理具体包括:

根据用户提供描述目标控件类型的类型关键词或控件文本信息关键词,通过匹配控件属性检索数据库进行检索对应的索引,获得关于目标控件的布局数据集;

对目标控件的布局数据集进行离散化处理,获得布局簇集合,每个布局簇即为备选布局方案;

优选地,所述对目标控件的布局数据集进行离散化处理,主要利用DBSCAN聚类算法,将领域半径设置为10,密度为1。把相近的目标控件布局数据聚类,并且把聚为一类的目标控件布局数据子集称为布局簇,然后把布局簇的布局均值更新为这个簇中所有样本的布局,由此把非常相近的目标控件布局数据样本规约为同一种布局情况,从而达到对布局数据集离散化处理的目的。

优选地,将获得的布局簇集合通过热力图直观地展示给用户看,其中,目标控件的一个布局用一个矩形框表示,这个矩形框的周长就是它所占据的像素点的个数,像素点的亮度反映了在该像素点重复出现的矩形框的频率,如果在图中的某个区域越亮,说明选择选择该区域的布局越频繁。

优选地,所述对备选布局方案进行评分,按照从评分高至低推荐相应的布局给用户具体包括:

获取备选布局方案,进行量化计算处理,获得所述备选布局方案的评分;

获取每个备选布局方案的评分,根据其评分由高至低对每个备选布局方案进行排序,获得前若干个备选布局方案并推荐给用户。

优选地,所述进行量化计算处理是采用量化布局方案的代表性和稳定性的评分方法。用LA表示目标控件A的布局(x,y,h,w),其中,x,y为目标控件A坐标,h,w为目标控件A的长宽。这是一个四维的随机变量,表示LA的布局簇样本集合。经过聚类之后的布局簇是的一个子集,用ai表示。S表示与ai重叠的所有簇集合。ap表示与ai重叠的所有簇中数量最大的簇。E(ai)表示ai簇的平均布局,Min(|ais|)表示S中簇的数量的最小值,Max(|ais|)表示S中簇的数量的最大值,则簇ai的突出性CSi可通过下面方式计算:

CSi=(|ap|-Min(|ais|))/Max(|ais|)-Min(|ais|)

优选地,所述进行量化计算处理是采用量化布局方案的代表性和稳定性的评分方法中通过信息熵度量的倒数衡量稳定性。Pi表示某个布局簇的出现频率,即该簇的样本数量占总布局样本集的比例。目标控件的布局稳定性H通过以下方式计算:

H=1/∑Pi*logPi

对于某个布局簇,其局部突出性越高,总体随机性越低,则越具有代表性,评分应该越高,因此最终评分公式如下:

Score=CSi+H

相应地,本发明提出了一种基于安卓应用的空间布局推荐系统,所述系统包括:

预处理模块,用于获取运行时动态界面的数据集,进行解析、提取处理;

检索模块,用于对用户提供的关键词进行匹配检索、提取、离散化处理;

评分模块,用于对备选布局方案进行评分处理;

推荐模块,用于按照从评分高至低推荐相应的布局给用户。

优选地,所述系统还包括展示模块,用于将离散化后的布局簇集合通过热力图直观地展示给用户看。

优选地,所述预处理模块包括:

解析单元,用于获取运行时单台界面数据集,进行解析处理,提取获得所有控件的属性;

分类单元,用于对所有控件的属性进行解析分类处理,提取获得控件文本信息、控件类型、控件布局相关的空间属性;

提取关键词单元,用于对控件文本信息进行提取关键词,作为空间属性数据库的检索关键词;

建立索引单元,用于结合控件文本信息、控件类型、控件布局相关的空间属性三种情况组成控件属性检索数据库,建立相应的索引。

在本发明实施例中,实现了量化控件布局推荐的代表性和稳定性的方法,使得用户根据两个指标以及综合评分,对推荐的结果有更清晰的了解,比起只用频率推荐对设计人员有更好的辅助作用。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例的一种基于安卓应用的控件布局推荐方法的流程示意图;

图2是本发明实施例中目标控件分布原始热力示意图以及聚类后的分布热力的示意图;

图3是本发明实施例的一种基于安卓应用的控件布局推荐系统的结构组成示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明实施例的一种基于安卓应用的控件布局推荐方法的流程示意图,如图1所示,该方法包括:

S1,获取运行时动态界面的数据集,进行解析、提取处理,获得空间数据库后建立索引;

S2,对用户提供的关键词进行匹配检索、提取、离散化处理,获得备选布局方案;

S3,对备选布局方案进行评分,按照从评分高至低推荐相应的布局给用户。

S1进一步包括:

S11,获取运行时单台界面数据集,进行解析处理,提取获得所有控件的属性;

S12,对所有控件的属性进行解析分类处理,提取获得控件文本信息、控件类型、控件布局相关的控件属性;

S13,对控件文本信息进行提取关键词,作为控件属性数据库的检索关键词;

对没有文本信息的控件,则取控件类型作为检索关键词;

同时,也可以取控件类型和控件文本信息的关键词结合作为检索关键词;

S14,结合三种情况组成控件属性检索数据库,建立相应的索引。

具体地,S1中所述运行时动态界面的数据集来源于从黑盒测试得到的匀速行驶界面的数据,包括:运行时动态界面的即时截图、界面的层次结构数据、每个控件的属性。

S12中所述对控件属性进行解析分类处理,主要分成两类:

一类是跟控件功能相关的属性,其中包括控件的类型,例如常见的button、textview、控件的可点击性、控件可见性、控件文本内容等;由于控件的类型一般决定了控件的可点击性和可见性,因此我们利用控件类型和文本信息为控件建立索引。

一类是与控件布局相关的空间属性,包括坐标、长宽。

在具体实施例中,从运行时收集的控件类型名一般是有层次性质的类名组合,例如“android·widget·Button”,最后的类名即可表示控件的类型和功能,为了便于存储和检索,取最后的类名并且小写化作为控件的类型索引。控件的文本一般是短文本,甚至常常只有一个单词,因此少量几个关键词足以表达控件的语义信息。

S13中所述对控件文本信息进行提取关键词是利用LDA模型对所有控件的文本信息建模,从而得到主题内的关键词分布,然后根据文本具备的主题,从其中选择频率较高的若干关键词作为检索控件的关键词索引。

S2进一步包括:

S21,根据用户提供描述目标控件类型的类型关键词或控件文本信息关键词,通过匹配控件属性检索数据库进行检索对应的索引,获得关于目标控件的布局数据集;

S22,对目标控件的布局数据集进行离散化处理,获得布局簇集合,每个布局簇即为备选布局方案;

S21中所述通过匹配控件属性检索数据库进行检索对应的索引所对应的的控件是用户寻求的目标控件。在检索完毕后,抽取每条记录的布局数据,构成目标控件的布局数据集。

S22中所述对目标控件的布局数据集进行离散化处理,主要利用DBSCAN聚类算法,为了聚类效果更紧凑,我们设置领域半径为10,密度为1。其中,邻域半径决定了每个点寻找同簇的范围,密度决定了一个目标控件的布局数据集样本域是否能被认为是一个簇类,即构成簇的目标控件的布局数据集样本量阈值。这两个参数需要因具体的样本数据而定,但是有一个原则就是不能把任何一个数据当噪声过滤掉,因此密度的参数应该偏低,基则将密度设为1。另外为了聚类的效果比较紧凑,邻域的半径应该设置较低,则设为10。

把相近的目标控件布局数据聚类,并且把聚为一类的目标控件布局数据子集称为布局簇,然后把布局簇的布局均值更新为这个簇中所有样本的布局,由此把非常相近的目标控件布局数据样本规约为同一种布局情况,从而达到对布局数据集离散化处理的目的。

进一步地,经S22获得的布局簇集合通过热力图直观地展示给用户看,其中,目标控件的一个布局用一个矩形框表示,这个矩形框的周长就是它所占据的像素点的个数,像素点的亮度反映了在该像素点重复出现的矩形框的频率,如图2所示,如果在图中的某个区域越亮,说明选择该区域的布局越频繁。

S3进一步包括:

S31,获取备选布局方案,进行量化计算处理,获得所述备选布局方案的评分;

S32,获取每个备选布局方案的评分,根据其评分由高至低对每个备选布局方案进行排序,获得前若干个备选布局方案并推荐给用户。

其中,S31所述进行量化计算处理是采用量化布局方案的代表性和稳定性的评分方法。量化布局方案的代表性是为了解决根据最高频率推荐布局无法判断出现频率相近的情况下最高频率的布局是否具备代表性的问题。代表性体现在某些布局特别集中在一个区域,并且出现频率较高。我们利用局部分布突出性作为代表性的度量。考虑局部分布突出性是因为控件的不同布局在一个区域内常常出现几个簇嵌套的情况,如果在一个区域内,其中一个簇相对其他簇数量优越性很大,说明在这个区域内更具有代表性。

用LA表示目标控件A的布局(x,y,h,w),其中,x,y为目标控件A坐标,h,w为目标控件A的长宽。这是一个四维的随机变量,表示LA的布局簇样本集合。经过聚类之后的布局簇是的一个子集,用ai表示。S表示与ai重叠的所有簇集合。ap表示与ai重叠的所有簇中数量最大的簇。E(ai)表示ai簇的平均布局,Min(|ais|)表示S中簇的数量的最小值,Max(|ais|)表示S中簇的数量的最大值,则簇ai的突出性CSi可通过下面方式计算:

CSi=(|ap|-Min(|ais|))/Max(|ais|)-Min(|ais|)

量化目标控件布局的稳定性是为了解决无法判断备选布局方案可靠性的问题。稳定性主要体现在目标控件的布局有比较稳定的集中趋势,相反如果目标控件的布局在很多不同坐标并且形状不一都有分布,并且没有出现的频率都比较分散,就是不稳定、随机的表现。

因为总体的随机性更容易量化,采用信息熵以及不同布局簇的出现频率即可,而稳定性与随机性成反比,因此我们采用信息熵的倒数来度量控件整个布局数据集的布局分布稳定性。

我们通过信息熵度量布局簇分布的随机性。熵越大,则随机性越大。因为稳定性与随机性成反比,因此用熵的倒数衡量稳定性。Pi表示某个布局簇的出现频率,即该簇的样本数量占总布局样本集的比例。目标控件的布局稳定性H通过以下方式计算:

H=1/∑Pi*logPi

对于某个布局簇,其局部突出性越高,总体随机性越低,则越具有代表性,评分应该越高,因此最终评分公式如下:

Score=CSi+H

则计算目标控件的所有布局簇对应的评分,然后对这些评分排序,前若干个评分最高的布局簇作为推荐布局方案推荐给用户。

相应地,本发明实施例公开了一种基于安卓应用的控件布局推荐系统,所述系统包括:

预处理模块,用于获取运行时动态界面的数据集,进行解析、提取处理;

检索模块,用于对用户提供的关键词进行匹配检索、提取、离散化处理;

评分模块,用于对备选布局方案进行评分处理;

推荐模块,用于按照从评分高至低推荐相应的布局给用户。

其中,所述系统还包括展示模块,用于将离散化后的布局簇集合通过热力图直观地展示给用户看。

所述预处理模块进一步包括:

解析单元,用于获取运行时单台界面数据集,进行解析处理,提取获得所有控件的属性;

分类单元,用于对所有控件的属性进行解析分类处理,提取获得控件文本信息、控件类型、控件布局相关的空间属性;

提取关键词单元,用于对控件文本信息进行提取关键词,作为空间属性数据库的检索关键词;

建立索引单元,用于结合控件文本信息、控件类型、控件布局相关的空间属性三种情况组成控件属性检索数据库,建立相应的索引。

本发明的系统实施例中各功能模块的功能可参见发明方法实施例中的流程处理,这里不再赘述。

在本发明实施例中,实施本发明实施例,实现了量化控件布局推荐的代表性和稳定性的方法,使得用户根据两个指标以及综合评分,对推荐的结果有更清晰的了解,比起只用频率推荐对设计人员有更好的辅助作用。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。

另外,以上对本发明实施例所提供的一种基于安卓应用的控件布局推荐方法及其系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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