目录
目录README.md

API推荐与搜索软件服务与应用

1.项目介绍

本作品旨在提供多种方式向开发人员推荐或检索合适API,帮助开发人员发现合适API,提高软件开发效率。 本作品基于API-HeteSim,成功度量了API调用网络中任何类型对象之间的相似性,并捕获每个路径中包含的语义,最终实现了基于异构信息网络的API推荐与搜索系统。作品团队从以站点为代表的API资源站点与多源API文档库中爬取或提取了超过17400个API及相关信息,将其构建为一个API异构信息网络。本团队所开发的工具提供四种软件服务模式,包括a. Windows桌面软件服务;b. Web门户网站服务 http://101.132.187.167:5000/api; c.Python项目软件包服务;d. 移动App服务等。

2.算法介绍

本团队作品将API生产、调用与服务关系转化为异构信息网络,提出并实现了面向API推荐与搜索的相似性度量算法,API-HeteSim。该算法基于元路径与双向随机游走模型,本团队发现,相较于其他异构信息网络的相似性度量算法(HeteSim、PathSim、PCRW等),该算法不仅可以有效地度量API相关联的任何类型对象的相关性,还可以捕获相关路径中包含的潜在关联。 实现API-HeteSim具有挑战性。首先,很难衡量异构网络中任何类型对象的相关性。其次,将不同元路径上的推荐信息结合较为困难。第三,庞大的关联矩阵的计算和存储。通过对已有算法进行创新改进,以及采用有效的计算策略,最终实现了API-HeteSim算法。作品团队在大规模真实数据集上进行了充分的实验,并实现且对比了代表性的已有相关方法,实验结果表明,本团队提出的API-HeteSim算法取得了最优的推荐和搜索性能

3.系统架构设计

本团队研发的API推荐与搜索系统架构图见基于异构信息网络的API推荐与搜索系统,系统主要由四部分组成:

  • 1)数据获取:从以ProgrammableWeb为代表的API资源站点与多源API文档库中爬取或使用文本挖掘技术提取了超过17000多个API,以构建我们的API网络。
  • 2)网络模型:针对爬取与提取的API信息,本团队设计了异构信息网络模式,构建为一个API异构信息网络。作品团队设计了对称性元路径,也设计了非对称性元路径,具体包括‘API-Developer-API’、‘API-Type-API’、‘API-Company-API’、‘API-Type-API-Company’、‘Developer-API-Type-API’、‘Type-API-Company’、‘Company-API-Type’、‘Company-API-Type-API’。
  • 3)算法构建与实现:针对团队所构建的API异构信息网络,首先通过基于路径的相关性度量计算并存储对象之间的相关性矩阵。 基于相关矩阵和高效的计算策略,系统可以提供在线API推荐服务。
  • 4)推荐服务:为了便于开发人员可以在不同的环境下使用,团队提供了多种服务模式:a. Windows桌面软件服务;b. Web门户网站服务 http://101.132.187.167:5000/api; c.Python项目软件包服务;d. 移动App服务。

    4.开发相关

  • 1)使用Python实现API-HeteSim算法。API-HeteSim是本团队提出的API异构信息网络上的相关性学习算法,该算法基于元路径与双向随机游走模型。
  • 2)验证API推荐的有效性,本团队使用爬虫技术从 Programmableweb网站收集了大量真实世界的 API 数据,同时,本团队使用文本挖掘技术从多源API文档库中提取出了API数据,包括API名称、提供商、标签、简介、调用参数、返回参数、调用方式、网络资源站点、被关注的开发者、相关联的SDK、相关联的Mashup、代表性图片等信息。在提取出的API数据上进行一系列实验验证,并在真实软件开发环境(西安核音智言科技有限公司)进行了部署、验证与使用,多方面验证了所研发的API推荐与搜索服务的有效性。
  • 3)使用Python的GUI编程实现API推荐的图形化界面,并将项目打包成可执行文件,实现了Windows桌面软件服务。
  • 4)使用Python的Flask框架完成网站搭建,并将其部署到阿里云,实现了Web门户网站服务。
  • 5)将Python代码打包发布到PyPi(Python包库),实现了Python项目软件包服务。
  • 6)使用安卓开发技术,实现了移动端App服务。
关于
45.4 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号