[发明专利]在API知识图谱上基于Q学习的API序列搜索方法在审
申请号: | 202210743639.3 | 申请日: | 2022-06-27 |
公开(公告)号: | CN114969272A | 公开(公告)日: | 2022-08-30 |
发明(设计)人: | 苏小红;魏宏巍;张浚哲;郑伟宁;陶文鑫;蒋远 | 申请(专利权)人: | 哈尔滨工业大学 |
主分类号: | G06F16/33 | 分类号: | G06F16/33;G06F16/36;G06N5/02;G06F16/35;G06N3/04;G06N7/00;G06N20/00 |
代理公司: | 哈尔滨龙科专利代理有限公司 23206 | 代理人: | 李智慧 |
地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | api 知识 图谱 基于 学习 序列 搜索 方法 | ||
本发明公开了一种在API知识图谱上基于Q学习的API序列搜索方法,首先,设计了API本体结构,并从API文档与开源软件项目中抽取API知识用于构建API知识图谱。其次,通过Word2Vec词嵌入方法以及TransE表示学习方法生成强化学习的状态表示。再次,基于DQN方法,给出了基于强化学习的API序列搜索模型的训练算法。最后,基于训练好的强化学习模型,实现API序列搜索。本发明将API使用序列搜索任务转化为基于API知识图谱的路径搜索任务,能更好地保证搜索到的API序列的合法性。本发明采用强化学习实现API使用序列搜索,其独特的探索机制能探索更丰富的API调用方式,从而增强模型的泛化能力。
技术领域
本发明涉及一种API序列搜索方法,具体涉及一种在API知识图谱上基于Q学习的API序列搜索方法。
背景技术
在软件开发过程中,为了提高软件产品的开发效率,减少时间成本,开发者往往会采用代码复用的方式。其中,调用库或框架中的应用程序编程接口(ApplicationProgramming Interface,API)是一种最常见的代码复用方式。在软件开发过程中,开发者往往需要按照特定的顺序调用一组API去实现某个特定的功能。例如,为了实现蓝牙通讯模块,开发者可以调用如下所示的API序列:
notifier.acceptAndOpen()
→streamConnection.openInputStream()
→streamConnection.openOutputStream()
→inputStream.close()→outputStream.close()
然而近年来,API的数量爆炸式增长,即便是最优秀的开发者也难以掌握所有的API使用方法。以较为常见的.NET和JDK框架为例,其中包含的API数量有几百甚至上千之多。此外,微软在2009年发表的一项研究表明,由于缺少学习资料、API文档不规范等问题,67.7%的开发者都会在学习API的使用方法时遇到困难。为了弥补自身API知识的不足,开发者往往需要手动从不同的软件数据库(如官方API说明文档、第三方库说明文档和StackOverflow问答社区等)检索可以满足其需求的API序列。但是,现有的搜索引擎难以精准搜索到可以满足功能需求的API序列,而手动搜索API序列往往效率较低。
针对这一问题,部分研究聚焦于针对给定功能描述的API序列的生成方法,用于辅助开发者快速获得可以实现其功能需求的API序列。目前最有代表性的工作是DeepAPI(DeepAPI Learning,2016),该方法认为API调用序列与自然语言相似,具有自然性,因此可以使用机器翻译模型将给定的功能描述翻译为对应的API序列。但是,与自然语言不同的是API调用序列往往存在一些隐性的调用规则,如必须要先调用打开文件的API才可以调用关闭文件的API,机器翻译模型往往难以保证生成满足这种调用规则的合法API调用序列。
目前,尚未检索到有文献构建包含API调用规则相关知识的API知识图谱,也未检索到有文献使用强化学习在API知识图谱上实现API序列的搜索。
发明内容
为了保证API序列的合法性,本发明提供了一种在API知识图谱上基于Q学习的API序列搜索方法。该方法通过构建API知识图谱来整合API及其调用规则的相关知识,并通过强化学习技术实现在API知识图谱上的API序列搜索。
本发明的目的是通过以下技术方案实现的:
一种在API知识图谱上基于Q学习的API序列搜索方法,包括如下步骤:
步骤1:API知识图谱的构建
设计API本体模型,并在API本体模型的指导下分别从API文档和开源软件项目等数据源中抽取API知识,用于构建API知识图谱;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210743639.3/2.html,转载请声明来源钻瓜专利网。