一种查找不同平台间功能相似UI组件的方法和装置与流程

文档序号:15729884发布日期:2018-10-23 17:03阅读:201来源:国知局

本发明涉及自然语言处理和文本挖掘技术在软件工程中的应用。



背景技术:

目前,随着大屏智能手机的快速普及,移动应用市场发展迅速,呈现出多平台、多版本的态势。同一款应用通常有多个平台上的版本,这些应用所呈现和完成的功能基本是一致的。目前存在的一种开发场景是先开发一个平台的APP,然后再开发其他平台的APP。而且在工业界APP大多采取分别开发的方法,效率较低。基于已有的一个平台版本,帮助开发另外一个平台版本,可以极大地提高开发效率,降低开发成本。

大屏智能手机上APP的运行主要由界面事件驱动,用户点击或滑动屏幕上显示出来的一些UI组件来操作手机。通过研究移动应用的界面的对应性,也就是研究不同平台移动应用UI组件的对应性,既能复用已有的界面设计,又能构建应用在新平台上的运行控制流程和代码骨架。

目前只有各个平台的官方文档能够很全面详细的介绍UI组件,这里的官方文档包括针对UI组件功能、外观、使用等的介绍文档,UI组件类的API文档等。因此理解不同平台UI组件的相似性的主要方法是通过阅读其官方文档来获取相关知识。

文本挖掘是抽取有效、新颖、有用、可理解的、散布在文本文件中的有价值的知识,并且利用这些知识更好的组织信息的过程。如今文本处理技术已经很成熟,例如中英文分词、同义词比较等。同时自然语言处理技术快速发展,词形还原、词干提取、词性标注等技术取得了一定的进步。数据挖掘技术也有了很大的发展,多种特征表示模型可以使用。这些技术的发展使得我们能够从与UI组件相关的大量的文档中找到不同平台UI组件之间的对应性。



技术实现要素:

本发明所要解决的问题是快速查找UI组件,帮助软件开发人员设计和实现APP。

为解决上述问题,本发明采用的方案如下:

根据本发明的一种查找不同平台间功能相似UI组件的方法,该方法包括以下步骤:

步骤1,获取各个平台的UI组件和UI组件所对应的文档;

步骤2,对UI组件的文档进行文本分析得到特征关键词,组成UI组件的特征向量;

步骤3,根据步骤2得到的特征向量,计算两个不同平台的UI组件间的相似度;

步骤4,重复步骤3直到计算出任意两个不同平台的UI组件间的相似度;

步骤5,对任意两个不同平台的UI组件间的相似度进行排序。

进一步,根据本发明的查找不同平台间功能相似UI组件的方法,所述步骤2包括以下步骤:

步骤21,通过对UI组件的文档进行断句、分词后,取名词、动词、形容词和副词作为关键词,并记录每个关键词出现的词频数;

步骤22,对关键词词形还原后进行同义词和近义词合并。

根据本发明的一种查找不同平台间功能相似UI组件的装置,该装置包括:

模块1,用于获取各个平台的UI组件和UI组件所对应的文档;

模块2,用于对UI组件的文档进行文本分析得到特征关键词,组成UI组件的特征向量;

模块3,用于模块2得到的特征向量,计算两个不同平台的UI组件间的相似度;

模块4,用于重复调用模块3直到计算出任意两个不同平台的UI组件间的相似度;

模块5,用于对任意两个不同平台的UI组件间的相似度进行排序。

进一步,根据本发明的查找不同平台间功能相似UI组件的装置,其特征在于,所述模块2包括:

模块21,用于通过对UI组件的文档进行断句、分词后,取名词、动词、形容词和副词作为关键词,并记录每个关键词出现的词频数;

模块22,用于对关键词词形还原后进行同义词和近义词合并。

本发明的技术效果如下:

1、相对于传统的只基于文档中词语出现次数的文本相似性比较方法来说,本发明对文档中出现的词语采用词形还原,词干提取技术使得不同形式的词语归结一个关键词,不仅减少了关键词的维数而且能够产生更好的相似比较结果;本发明对文本中同义词的处理更能够增加相似文本的相似度大小。

2、挖掘不同移动平台UI组件之间的相似情况,能够帮助软件设计人员理解各个平台UI组件之间的关系。

3、查找与当前UI组件相似的其他平台的UI组件,从而帮助软件开发人员快速基于已有的一个平台版本APP的界面快速设计另外一个平台版本APP的界面,可以极大地提高开发效率,降低开发成本。

具体实施方式

下面对本发明做进一步详细说明。

步骤1,即前述模块1所实现的功能,获取各个平台的UI组件和UI组件所对应的文档。这里的“获取”表示的是“各个平台的UI组件和UI组件所对应的文档”是本发明的输入。“如何获取各个平台的UI组件和UI组件所对应的文档”并不是本发明所讨论的范畴。具体实施中,“各个平台的UI组件和UI组件所对应的文档”可以通过网络爬虫工具自动搜集,也可以通过人工的方式收集并整理后作为本发明的输入。该输入可以用如下数据结构表示:

Input_set={(uiName i,uiDoc i) |i∈[1..N]}。

其中,uiName i为用名称字段表示的UI组件,uiDoc i为UI组件所对应的文档,N为UI组件数。这里的文档包括但不限于针对UI组件功能、外观、使用等的介绍文档和UI组件类的API文档等,通常来自于平台上关于UI组件功能说明的官方文档。UI组件所对应的文档可以是HTML、XML、DOC等格式,也可以是普通文本格式。一般来说,HTML、XML、DOC等格式的文档,在步骤1中会被转换成普通文本格式作为输入。

步骤2,即前述模块2所实现的功能,对UI组件的文档进行文本分析得到特征关键词,组成UI组件的特征向量。步骤2是一个自动化的文档文本自然语言分析过程。这里的文档文本也即步骤1中的输入:{uiDoc i|i∈[1..N]}。首先通过对UI组件的文档进行断句、分词后,取名词、动词、形容词和副词作为关键词,并记录每个关键词出现的词频数,也即步骤21和模块21所实现的功能。分词和判断词性是否为名词、动词、形容词和副词时,可以依据词典进行,此为本领域技术人员所熟悉的技术,本说明书不再赘述。步骤21的输出可以表示成:

{Word_seti |i∈[1..N]},其中Word_seti={(Word j,i,freq j,i) |j∈[1..Wi]}。

其中,Word_seti为第i个UI组件的关键词集合;Word j,i为第i个UI组件的第j个关键词;freq j,i为第i个UI组件的第j个关键词的词频数,也即关键词Word j在uiDoc i中所出现的频次数;Wi为第i个UI组件的关键词数目。

然后,步骤22,即模块22所实现的功能,对关键词词形还原后进行同义词和近义词合并。这里“关键词词形还原”是考虑到了英语中存在时态和动名词等不同词语形态的问题,比如“search”之于“searching”, “find”之于“found”。 “searching”和“found”进行词形还原后就成为“search”和“find”。 “同义词和近义词合并”包括两个步骤:

步骤221,各个不同UI组件间的同义词和近义词替换;

步骤222,同一UI组件间的同义词和近义词的合并。

比如,“search”和“find”相近,则在步骤221中,将{Word_seti |i∈[1..N]}中所有的Word j,i中的“find”替换成“search”。经过步骤221的替换后,可能存在同一个Word_seti中的Word j,i相同,此时需要将其合并。这一合并过程即为步骤222。比如经步骤221替换后,Word a,i和Word b,i均为“search”,则删除Word b,i并且将Word b,i所对应的词频数freq b,i加入至freq a,i中形成Keyfreq a,i,同时修正关键词的数目Wi。由此可以得到新的特征关键词和特征向量输出:

{Keyword_vecti |i∈[1..N]},其中Keyword_vecti={(Keyword j,i,Keyfreq j,i) |j∈[1..Ki]}。

其中,Keyword _vecti为第i个UI组件的特征关键词集合,也即为第i个UI组件的特征向量;Keyword j,i为第i个UI组件的第j个特征关键词;Keyfreq j,i为第i个UI组件的第j个特征关键词的词频数;Ki为第i个UI组件的关键词数目。

步骤3,也即前述模块3所实现的功能,步骤2得到的特征向量,计算两个不同平台的UI组件间的相似度。该步骤输入为步骤2所输出中的特征向量Keyword_vecti ,i∈[1..N]。“计算两个不同平台的UI组件间的相似度”也即计算两个不同的特征向量Keyword_vecta和Keyword_vectb 之间相似度。两个特征向量Keyword_vecta和Keyword_vectb 之间相似度的计算可以采用如下步骤:步骤31,根据两个特征向量Keyword_vecta和Keyword_vectb,构建相应的欧拉空间Sa,b;步骤32,分别对特征向量Keyword_vecta和Keyword_vectb在欧拉空间Sa,b内归一化处理;步骤33,计算归一化后的特征向量Keyword_vecta和Keyword_vectb在欧拉空间Sa,b内之间的距离Da,b,最后计算1-Da,b作为两个特征向量Keyword_vecta和Keyword_vectb 之间的相似度。特征向量Keyword_vecta和Keyword_vectb 之间相似度的计算得到结果,也就是UI组件的文档之间的相似度。本发明将UI组件的文档之间的相似度作为UI组件间的相似度。UI组件间的相似度可以用百分数表示。

步骤4,也即前述模块4所实现的功能,重复步骤3直到计算出任意两个不同平台的UI组件间的相似度。本步骤为循环控制步骤,为本领域技术人员所熟悉,不再赘述。

步骤5,也即前述模块5所实现的功能,对任意两个不同平台的UI组件间的相似度进行排序。本步骤对前述步骤3和步骤4所得到的UI组件间的相似度的整理显示。排序算法为本领域技术人员所熟悉,本说明书不再赘述。

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