[发明专利]在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 知识 图谱 基于 学习 序列 搜索 方法 | ||
1.一种在API知识图谱上基于Q学习的API序列搜索方法,其特征在于所述方法包括如下步骤:
步骤1:API知识图谱的构建
设计API本体模型,并在API本体模型的指导下分别从API文档和开源软件项目等数据源中抽取API知识,用于构建API知识图谱;
步骤2:生成功能查询与API实体的向量表示
通过预处理和词嵌入技术生成功能查询的向量表示,通过表示学习方法生成API实体的向量表示;
步骤3:设计面向API序列搜索任务的强化学习数学模型
所述强化学习数学模型包括状态、动作、转移动态以及奖励元素的定义;
步骤4:训练基于强化学习的API序列搜索模型
采用DQN深度强化学习方法训练智能体学习API序列的搜索策略;
步骤5:API序列搜索
从API知识图谱中抽取出可能与当前功能查询相关的候选API序列集合,以Q网络为打分函数对所有候选API序列打分,并根据分数对其排序,最后返回给开发者。
2.根据权利要求1所述的在API知识图谱上基于Q学习的API序列搜索方法,其特征在于所述步骤1的具体步骤如下:
步骤11:API本体模型设计
API本体模型的概念包括:类概念“class”、API概念“API”、包概念“Package”以及接口概念“Interface”;
API本体模型的关系包括:继承关系“extend”、实现关系“implement”、包含关系“contain”、API间的调用关系“call”以及描述API调用规则的调用顺序关系“next”;
API本体模型的属性包括:名称“name”、描述“description”、用于标记API实体是否可以处于API调用序列第一个位置的布尔类型属性“head”、用于标记API实体是否可以处于API调用序列最后一个位置的布尔类型属性“tail”、函数的形参类型列表“parameters”以及函数的返回值类型“return”;
步骤12:基于API文档的结构化知识抽取
基于API本体模型中的概念与关系,使用XML模板树从API说明文档中抽取实体及其关系;
步骤13:基于开源软件项目的API知识抽取
对于给定的开源软件项目中的每个文件构建抽象语法树,并基于API本体模型中的概念与关系,在AST中抽取每个文件中的实体及其关系;
步骤14:知识存储
对抽取的API知识去重,并存储。
3.根据权利要求2所述的在API知识图谱上基于Q学习的API序列搜索方法,其特征在于所述步骤13中,“next”关系、“head”属性和“tail”属性无法直接从AST中获得,这些知识的抽取方法为:(1)对方法内按顺序依次出现的API实体间建立“next”关系;(2)每个方法中第一个调用的API实体的“head”属性都设置为True,其余的API实体则设置为False;(3)每个方法中最后一个调用的API实体的“tail”属性都设置为True,其余的API实体则设置为False。
4.根据权利要求1所述的在API知识图谱上基于Q学习的API序列搜索方法,其特征在于所述步骤2的具体步骤如下:
步骤21:对所有的功能描述进行预处理,包括:分词、去除停用词、小写化和词形还原;
步骤22:利用所有功能描述构建的语料库训练词嵌入模型,将功能描述中的每个词都转换为词向量表示;
步骤23:将功能描述中的所有词向量表示转化为功能描述的向量表示;
步骤24:在API知识图谱上使用表示学习方法生成API实体的向量表示。
5.根据权利要求4所述的在API知识图谱上基于Q学习的API序列搜索方法,其特征在于所述步骤22中,词嵌入模型为Word2Vec或VSM;所述步骤24中,表示学习方法为TransE或TransR表示学习方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210743639.3/1.html,转载请声明来源钻瓜专利网。