一种基于大数据分析的接口api推荐方法及系统的制作方法

文档序号:9597964阅读:774来源:国知局
一种基于大数据分析的接口api推荐方法及系统的制作方法
【技术领域】
[0001] 本发明涉及数据处理技术领域,尤其涉及一种基于大数据分析的接口 API推荐方 法及系统。
【背景技术】
[0002] 利用API来进行编程可以使开发人员在无需访问源码或者理解内部工作细节的 情况下获得访问一组例程的能力。这能够极大地提高开发人员的工作效率,因此越来越多 的开发人员开始在编程过程中使用各种各样的API来简化他们的工作。这也催生了更多新 的API的出现。API的数量急剧上升使得开发人员在选择API上遇到不少困难。由此激发 了不少科研人员研究API的推荐算法。
[0003] 现有的API推荐算法主要是针对开放平台上所发布的web API和调用web API的 Mashup服务。有的是基于用户的使用历史和API本身的信誉程度来进行API推荐,有的则 是基于服务相似度来进行API推荐的。但是较少API推荐是关注到非开放平台的API,以及 是通过分析API实际运用到APP中的效果来进行API推荐的。同时,也较少这方面的研究 考虑到动态推荐的问题。
[0004] 而对于开发编程中需要使用API,目前应用最为广泛的API推荐技术是集成开发 环境中的语法提示功能,通过判断正在被输入的代码进行基于前缀的接口推荐。该功能通 过源代码进行解析,得到其语法树;对此语法树分析,即可知道类的结构(包括类名及其成 员列表)。在输入等字符之后,代码补完功能被激活,根据前一个或多个词来判断 类型,提供提不列表。

【发明内容】

[0005] 本发明的目的在于克服现有技术的不足,本发明提供了一种基于大数据分析的接 口 API推荐方法及系统,可以有效提高API推荐的准确度。
[0006] 为了解决上述技术问题,本发明实施例提供了一种基于大数据分析的接口 API推 荐方法,所述方法包括:
[0007] 获取APP集合中各个APP的数据信息,对APP集合中的APP按功能进行分类;
[0008] 根据所述数据信息获取各类APP的API,对所述API进行分类处理,获取通用API 和特征API ;
[0009] 根据所述API的使用情况信息和所述API的使用频率,获取所述API的推荐度;
[0010] 根据所述APP中出现两个API的频率构建API常用组合表;
[0011] 根据所述API推荐度和所述API常用组合表向用户推荐相应的API。
[0012] 优选地,所述数据信息包括所述APP的名称、描述、标签、源代码、评分和下载量;
[0013] 所述对APP集合中的APP按功能进行分类,包括:
[0014] 获取所述APP的名称、描述和标签;
[0015] 根据所述APP的名称、描述和标签,提取所述APP的功能关键词;
[0016] 根据所述APP的功能关键词对所述APP进行分类。
[0017] 优选地,所述对所述API进行分类处理,获取通用API和特征API,包括:
[0018] 获取所述API在所述各类APP上的使用频率和在所述各类APP中的逆向文件频 率;
[0019] 根据所述使用频率和所述逆向文件频率相乘获取所述API的使用权重;
[0020] 判断所述使用权重是否大于阈值;
[0021] 若是,则所述API为通用API,若否,则所述API为特征API。
[0022] 优选地,所述根据所述API的使用情况信息和所述API的使用频率,获取所述API 的推荐度,包括:
[0023] 获取所述API的使用情况信息;
[0024] 获取所述API在所述APP集合中被所述APP使用频率和所述API在所述各类APP 中被所述APP使用频率;
[0025] 根据所述使用情况信息和所述使用频率,获取API的推荐度。
[0026] 优选地,所述通用API和所述特征API共同出现的频率构建API常用组合表,包 括:
[0027] 根据同一个APP中出现两个API的频率,构建有向图G = {V,E};
[0028] 采用深度优先搜索的方法遍历所述有向图G ;
[0029] 根据遍历所述有向图的结果构建API常用组合表。
[0030] 其中,V表示所有API的集合,E表示两个API同时出现在一个APP中的情况的集 合。
[0031] 相应地,本发明实施例还提供了一种基于大数据分析的接口 API推荐系统,所述 系统包括:
[0032] 分类模块:用于获取APP集合中各个APP的数据信息,对APP集合中的APP按功能 进行分类;
[0033] API获取模块:用于根据所述数据信息获取各类APP的API,对所述API进行分类 处理,获取通用API和特征API ;
[0034] 推荐度获取模块:用于根据所述API的使用情况信息和所述API的使用频率,获取 所述API的推荐度;
[0035] 组合表构建模块:用于根据所述APP中出现两个API的频率构建API常用组合表;
[0036] 推荐度获取模块:根据所述API的出现总次数和所述API的使用频率,获取所述 API的推荐度;
[0037] 优选地,所述数据信息包括所述APP的名称、描述、标签、源代码、评分和下载量;
[0038] 所述分类模块,包括:
[0039] 信息获取单元:用于获取所述APP的名称、描述和标签;
[0040] 关键词提取单元:用于根据所述APP的名称、描述和标签,提取所述APP的功能关 键词;
[0041] 分类单元:根据所述APP的功能关键词对所述APP进行分类。
[0042] 优选地,所述对所述API进行分类处理,获取通用API和特征API,包括:
[0043] 获取所述API在所述各类APP上的使用频率和在所述各类APP中的逆向文件频 率;
[0044] 根据所述使用频率和所述逆向文件频率相乘获取所述API的使用权重;
[0045] 判断所述使用权重是否大于阈值;
[0046] 若是,则所述API为通用API,若否,则所述API为特征API。
[0047] 优选地,所述推荐度获取模块,包括:
[0048] 信息获取单元:用于获取所述API的使用情况信息;
[0049] 使用频率获取单元:用于获取所述API在所述APP集合中被所述APP使用频率和 所述API在所述各类APP中被所述APP使用频率;
[0050] 推荐度获取单元:用于根据所述使用情况信息和所述使用频率,获取API的推荐 度。
[0051 ] 优选地,所述组合表构建模块,包括:
[0052] 有向图构建单元:用于根据同一个APP中出现两个API的频率,构建有向图G = IV,E};
[0053] 遍历单元:用于采用深度优先搜索的方法遍历所述有向图G ;
[0054] 组合表构建单元:用于根据遍历所述有向图的结果构建API常用组合表。
[0055] 其中,V表示所有API的集合,E表示两个API同时出现在一个APP中的情况的集 合。
[0056] 通过实施本发明实施例,可给用户推荐更多的用户所需要的API,进一步的提高用 户的使用体验感。
【附图说明】
[0057] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其它的附图。
[0058] 图1是本发明实施例的基于大数据分析的接口 API推荐方法的流程示意图;
[0059] 图2是本发明实施例的获取API推荐度的流程示意图;
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1