[发明专利]基于API文档图谱的操作系统智能编程方法及装置有效
申请号: | 202111174889.1 | 申请日: | 2021-10-09 |
公开(公告)号: | CN113849163B | 公开(公告)日: | 2022-10-14 |
发明(设计)人: | 武延军;赵琛;武斌;罗天悦;邵妍洁;吴敬征 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F8/33 | 分类号: | G06F8/33;G06F8/76;G06F8/74;G06N3/04;G06N3/08 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 余长江 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 api 文档 图谱 操作系统 智能 编程 方法 装置 | ||
1.一种基于API文档图谱的操作系统智能编程方法,其步骤包括:
1)根据从源系统及目标系统的API文档中提取的所需信息,分别构建源系统的API文档图谱ADG1及目标系统的API文档图谱ADG2,所述API文档图谱ADG1的构建过程包括:
1.1)获取源系统的API文档中的实体,其中所述实体包括:包级实体集合Pk、类级实体集合C、方法级实体集合M和参数级实体集合Pr;
所述包级实体集合Pk的实体类型包括:包,所述包级实体集合Pk的实体属性包括:实体名称和文本描述;
所述类级实体集合C的实体类型包括:类、接口、枚举、异常、错误和注解,所述类级实体集合C的实体属性包括:实体名称、文本描述和修饰符;
所述方法级实体集合M的实体类型包括:方法、字段、构造函数和常数,所述方法级实体集合M的实体属性包括:实体名称、文本描述、声明和方法独有的信息;
所述参数级实体集合Pr的实体类型包括:参数,所述参数级实体集合Pr的实体属性包括:实体名称、文本描述和数据类型;
1.2)分别提取包级实体与类级实体之间的包含关系、类级实体与类级实体之间继承关系及嵌套关系、类级实体与方法级实体之间的包含关系及引发关系、方法级实体与方法级实体之间的继承关系、方法级实体与包级实体之间的包含关系,得到关系集合;
1.3)将实体各属性及所述关系结合存储为json文件;
1.4)对json文件中不同层级的键值进行遍历,基于实体类型与实体属性在图数据库中进行节点的创建;
1.5)依据所述json文件中定义的键值层级,在图数据库中创建各层级的实体之间的包含关系;
1.6)以类级实体的名称为键值查找具有继承关系与嵌套关系的其他同级实例,以方法级实体的名称为键值查找具有继承关系与引发关系的其他同级实例,并判断查找的关系是否存在与现有图数据库中;
1.7)将未存在于现有图数据库中的继承关系、嵌套关系及引发关系,创建于图数据库中,并将创建好的图数据作为API文档图谱ADG1;
2)分别向量化API文档图谱ADG1与API文档图谱ADG2,构建节点表示矩阵及节点表示矩阵
3)基于节点表示矩阵与节点表示矩阵进行API文档图谱ADG1与API文档图谱ADG2的实体对齐任务,得到API映射结果;
4)若映射结果为存在映射关系,则利用源系统环境下的代码Sc,生成在目标系统环境下实现同一功能的代码Tc。
2.如权利要求1所述的方法,其特征在于,构建源系统的API文档图谱ADG1及目标系统的API文档图谱ADG2之前,对所需信息进行预处理;预处理包括:规范化数据类型和去除无用的标点符号。
3.如权利要求1所述的方法,其特征在于,通过以下步骤构建节点表示矩阵
1)对API文档图谱ADG1中的每一个节点进行编号,并将编号结果作为节点属性值;
2)利用自然语言处理预训练模型对节点属性进行向量化,构建节点表示矩阵
4.如权利要求1所述的方法,其特征在于,通过以下步骤进行API文档图谱ADG1与API文档图谱ADG2的实体对齐任务:
1)以API文档图谱ADG1与API文档图谱ADG2共同作为原始图构建对偶关系图
2)将原始图对偶关系图节点表示矩阵及节点表示矩阵输入训练好的关系感知双图卷积网络,进行实体对齐任务。
5.如权利要求4所述的方法,其特征在于,通过以下步骤构建对偶关系图
1)利用原始图中的边,构建对偶关系图中的顶点;
2)若原始图中任两条边共享的头实体或尾实体,则在对偶关系图中进行相应边的创建。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111174889.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于机器学习的钢筋混凝土构件抗撞性能预测方法
- 下一篇:一种陶瓷衬里球阀