[发明专利]一种基于知识图谱和协同过滤的API推荐方法在审
| 申请号: | 202110663636.4 | 申请日: | 2021-06-16 |
| 公开(公告)号: | CN113407731A | 公开(公告)日: | 2021-09-17 |
| 发明(设计)人: | 姜波;杨俊琛;王慕抽;秦艳斌;王恬;潘伟丰 | 申请(专利权)人: | 浙江工商大学 |
| 主分类号: | G06F16/36 | 分类号: | G06F16/36;G06F16/9535;G06K9/62 |
| 代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 刘静 |
| 地址: | 310018 浙江*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 知识 图谱 协同 过滤 api 推荐 方法 | ||
1.一种基于知识图谱和协同过滤的API推荐方法,其特征在于,包括以下步骤:
(1)根据Mashup与已存在API构建服务知识图谱,将知识谱图中的API使用表示学习算法TransH嵌入到低维向量,计算API实体之间的相似度;
(2)获取目标Mashup使用过的API,根据步骤(1)得到目标Mashup使用过的API的相似API构成推荐列表RS1;
(3)根据Mashup的文本描述文档用自然语言处理技术提取目标Mashup与其它Mashup的功能,通过功能计算目标Mashup与其它Mashup之间的相似度;
(4)根据步骤(3)获取目标Mashup的相似Mashup,将相似Mashup使用过的API构成推荐列表RS2;
(5)根据Mashup的API使用记录分别构建Mashup的使用矩阵和API的使用矩阵,然后分别计算Mashup之间的相似度,以及API之间的相似度;
(6)根据步骤(5)获取目标Mashup的相似Mashup,将相似Mashup使用过的API构成推荐列表RS3;
(7)获取目标Mashup使用过的API,根据步骤(5)得到目标Mashup使用过的API的相似API构成推荐列表RS4;
(8)根据RS1和RS4得到基于API的推荐集合AS,具体为:
将RS1和RS4中的推荐API的相似度做归一化处理;
将RS1中的推荐API集合记为set1,将RS4中的推荐API集合记为set2,取set1和set2的并集记为set;首先给RS1中的推荐API赋值评分,遍历set中的每一个API,如果RS1中存在这个API,则RS1中该API的评分就是归一化后的相似度;如果RS1中不存在这个API,则RS1中该API的评分为0;然后用相同的方式给RS4中的推荐API赋值评分;将处理过的RS1和RS4合并为一个基于API的推荐集合AS,AS中第i个推荐API的评分Sri计算公式:
其中s1和s2分别是RS1和RS4中第i个推荐API的评分;
(9)利用步骤(8)中的方法,根据RS2和RS3得到基于Mashup的推荐集合MS;
(10)利用步骤(8)中的方法,将AS和MS合并,得到最终的API推荐结果。
2.根据权利要求1所述的一种基于知识图谱和协同过滤的API推荐方法,其特征在于,所述服务知识图谱的构建具体为:将API、Mashup以及它们的类别Category和标签Tag作为服务实体,其中API与Mashup之间的关系定义为“used”;APl与Category之间,以及Mashup与Category之间的关系均定义为“belong_to”;API与Tag之间,以及Mashup与Tag之间的关系均定义为“Tag”;计算API之间的文本描述相似度,将每个API相似度最高的前20%的API设置为竞争关系,并且加入到知识图谱中。
3.根据权利要求1所述的一种基于知识图谱和协同过滤的API推荐方法,其特征在于,所述步骤(1)中,API实体之间的相似度计算具体为:
由知识图谱首先提取了实体和关系组成三元组,然后使用表示学习方法TransH将三元组嵌入到低维向量中;得到API实体的低维向量后,用余弦相似度计算API实体间的相似度,具体计算公式如下:
其中APIi和APIi′是两个API的低维向量,d是APl向量的维度。
4.根据权利要求1所述的一种基于知识图谱和协同过滤的API推荐方法,其特征在于,所述步骤(3)中,Mashup之间的相似度计算具体为:
首先使用自然语言处理工具Stanford Parser将Mashup的描述信息进行分词处理,然后以谓语和宾语组成相对应的依赖关系;目标Mashup与其他Mashup相似度通过相同功能出现的概率计算,具体计算公式如下:
其中P和Q分别是两个Mashup的功能集合。
5.根据权利要求1所述的一种基于知识图谱和协同过滤的API推荐方法,其特征在于,所述步骤(5)中的相似度计算具体为:
Mashup使用矩阵的构建方程式如下:
Mashupi=(API1,API2,...,APIj,...)
其中APIj的值取决于APIj是否被Mashupi使用过,如果被使用过,APIj的值为1,没有被使用过则为0;
API使用矩阵的构建方程式如下:
APIi=(Mashup1,Mashup2,...,Mashupj,...)
其中当APIi使用过Mashupj时,Mashupj的值为1,如果APIi没有使用过Mashupj,则Mashupj的值为0;
使用同现相似度计算Mashup之间和API之间的相似度,具体计算公式如下:
其中Mashupx和Mashupy是Mashup的使用矩阵,APIx和APIy是API的使用矩阵。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工商大学,未经浙江工商大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110663636.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种导管固定装置
- 下一篇:一种天然介孔矿物与动植物色素的复合颜料及制备方法





