Java API使用示例推荐系统的设计与实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:Ryanshel
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
API使用示例能有效帮助开发人员快速学习API的使用方法。目前,多数开发人员利用通用搜索引擎(例如Google、Bing)来查找API使用示例。但由于通用搜索引擎缺乏对API使用示例的特殊关注,开发人员使用通用搜索引擎在线查找API使用示例时会遇到许多困难和障碍。  为了帮助开发人员有效利用互联网上广泛存在的API使用示例,本文提出了一种基于互联网的Java API使用示例推荐系统的设计方案,并根据该方案实现了系统--APIExample。本文详细讨论了在实现API使用示例推荐系统过程中需要解决的问题,并给出了相应的解决方案。在此基础之上,本文给出了APIExample系统的设计方案与实现细节。该系统基于API名称构造查询条件,利用通用搜索引擎获取包含API使用示例的网页。之后,根据网页中的HTML标签,系统将页面内容分割为文本片段,并使用基于Java语言特征制定的启发式规则,识别代码片段。为了提高使用示例抽取的准确率,本文基于对大量网页的观察结果,制定了零碎文本片段的合并规则,并以此合并零碎的文本片段。在抽取得到代码片段后,本文将该代码片段所属网页的标题、与该代码片段相邻的文本片段作为其描述文本。随后,APIExample系统对代码片段进行解析,建立相应的抽象语法树,遍历抽象语法树的特定类型结点,从中获取使用示例的相关信息。为了提高解析使用示例的成功率,本文制定了一套代码片段的修复规则,其中包括2条补全规则和4条修正规则。使用示例的解析与修复迭代进行,直至解析成功或尝试了所有可行的修复方案。为了更好的组织API使用示例,本文提出了一种基于API用法的使用示例聚类方法。利用该聚类方法,APIExample系统将API用法相同的使用示例归入一个簇中。开发人员可以通过查看使用示例簇,快速学习API的用法,提高学习效率。APIExample系统利用键值对数据库和关系数据库有效的存储相关数据。系统对外提供RESTful类型的服务,该设计有利于实现多种类型的客户端。本文实现了Web UI类型的客户端,其具有友好、集成的用户交互界面,将使用示例以良好的方式展示给用户。  本文给出了APIExample系统的实际运行情况。该系统共收录了16个著名Java开源项目的6,491个API。针对Java API使用示例抽取方法、Java API使用示例解析和修复方法,本文进行了实验。实验数据表明在实际应用中,本文提出的Java API使用示例抽取方法、Java API使用示例解析和修复方法取得了较好的效果,具有较强的实用性。本文还通过一个案例展示了APIExample系统如何帮助Java开发人员解决实际问题。  APIExample系统已经对外提供访问,地址是http://www.apiexample.com/。
其他文献
定位技术指的是运用某种无线通信网络平台,将收到的无线电波的某些参数如信号强度转化为定位节点与参考节点之间的距离,然后按照特定方法测得移动终端在某时段内所处的地理位置
中国互联网络信息中心(CNNIC)发布的近几年的《中国搜索引擎市场研究报告》中指出,网络音乐以其使用率一直位居中国互联网应用前三甲,大部分综合搜索引擎都已经提供针对音乐
音乐曲风与情感自动识别是音乐检索与推荐领域的重要课题。相较于元信息、歌词、标签等文本数据,数字音频本身是音乐最直接、客观的数据来源。当今大多数现有的音乐自动分类
中国悠久辉煌的历史,孕育了中华深厚文化内涵,而古代汉语作为传承中国文化的主要载体,是学习、研究中华灿烂历史文明中不可忽视的重要媒介。得益于信息技术的蓬勃发展和在语
对等网络(Peer-to-Peer Network,即P2P网络)诞生已有十余年,其至今已成为互联网流量的最大消耗形式之一。P2P网络的发展中出现了多种形态,而其中结构化覆盖网络即分布式哈希
目前移动终端设备的发展速度越来越快,带来了移动网络服务使用的普及,移动网络服务已经被广泛应用于人们的日常生活中,但是移动网络服务的高速发展必然会使用户收到大量来不
目前,传统的构造油气藏越来越少,利用储层预测和裂缝预测技术发现新油田已成为油气勘探的主题。为了发挥储层和裂缝预测技术作用,在OpenPetro储层裂缝预测软件系统中,针对井
随着信息技术飞速发展,互联网越来越多的渗透到人们的生活中。而在这种现象的背后是数以亿计的数据每天在不断的被生成、存储、计算、挖掘和研究,传统数据库在面临如此大规模的
医学影像技术作为一种医疗辅助手段在心血管疾病的诊疗过程中发挥着不可替代的作用。其中经食管超声心动图(Transesophageal Echocardiography,TEE)凭借其可靠性和较高的成像质
在软件复用过程中,软件资源的质量是开发者选择复用资源的重要参考依据。随着Intemet技术的发展,越来越多的开发人员会在使用了软件资源之后将自己的使用感受以评论的形式发