1.一种云API高阶互补推荐方法,其特征在于,所述方法包括:根据应用调用云API历史记录以及云API功能标签,生成云API共同调用关系图CIG、云API功能共现关系图FCG和云API替补关系图SRG;
设计四种逻辑算子;
生成查询云API的嵌入向量;
利用所述云API共同调用关系图CIG和逻辑算子,生成每个候选云API与查询集Q具有强互补关系的概率;
利用所述云API功能共现关系图FCG和逻辑算子,生成每个候选云API与查询集Q具有弱互补关系的概率;
利用所述云API替补关系图SRG和逻辑算子,生成每个候选云API与查询集Q不具有替补关系的概率;
利用并、交逻辑算子,得到兼顾强弱互补关系并消解替补关系影响的高阶互补概率;
按高阶互补概率,从大到小对候选云API排序得到高阶互补云API推荐列表;
利用所述云API共同调用关系图CIG和逻辑算子,生成每个候选云API与查询集Q具有强互补关系的概率,包括:将查询集 中的云API利用共同调用关系进行投影,得到候选云API与Q中每个云API具有强互补关系的概率 其中, 是查询集Q中的一个查询云API; 是候选云API与查询云API 具有强互补关系的概率;
将 经过交算子运算,得到候选云API与Q整体具有强互补关系的概率
利用所述云API功能共现关系图FCG和逻辑算子,生成每个候选云API与查询集Q具有弱互补关系的概率,包括:将查询集 中的云API利用云API功能共现关系进行投影,得到候选云API与Q中每一个云API具有弱互补关系的概率 其中,是候选云API与查询云API 具有弱互补关系的概率;
将 经过交算子运算,得到候选云API与Q整体具有弱互补关系的概率
利用所述云API替补关系图SRG和逻辑算子,生成每个候选云API与查询集Q不具有替补关系的概率,包括:将查询集 中的云API利用替补关系进行投影,得到候选云API与Q中每一个云API具有替补关系的概率 其中, 是候选云API与查询云API 不具有互补关系的概率;
将 经过并算子运算,得到候选云API与Q中其中一个或多个云API具有替补关系的概率
对PSR(Q)进行取反算子运算,得到候选云API与Q中所有云API均不具有替补关系的概率PNS(Q)=1‑PSR(Q);
利用并、交逻辑算子,得到兼顾强弱互补关系并消解替补关系影响的高阶互补概率,包括:将候选云API与Q整体具有强互补关系的概率PCI(Q)和与Q具有弱互补关系的概率PFC(Q),经过并算子运算,得到与Q具有强互补关系或弱互补关系的概率PCI∪FC(Q):PCI∪FC(Q)=U(PCI(Q),PFC(Q))将候选云API与Q整体不具有替补关系的概率PNS(Q)与PCI∪FC(Q)经过交算子运算,得到与Q整体具有强互补关系或弱互补关系但不具有替补关系的高阶互补概率P(CI∪FC)∩NS(Q):P(CI∪FC)∩NS(Q)=I(PCI∪FC(Q),PNS(Q))=I(U(PCI(Q),PFC(Q)),PNS(Q))。
2.根据权利要求1所述的云API高阶互补推荐方法,其特征在于,根据应用调用云API历史记录以及云API功能标签,生成云API共同调用关系图CIG、云API功能共现关系图FCG和云API替补关系图SRG,包括:构建云API共同调用关系图CIG:
CIG=(A,ECI,εCI)
其中A={a1,a2,…an}表示云API节点,a1,a2,…an表示第一个、第二个和第n个云API节点;ECI={0,1}表示节点之间的共同调用关系集合,1表示云API节点之间存在刻画共同调用关系的边,0表示云API节点之间不存在刻画共同调用关系的边;εCI表示第一转换函数,为A×A→ECI的映射,用来刻画云API与云API之间的共同调用关系;
构建云API功能共现关系图FCG:
FCG=(A,EFC,εFC)
其中EFC={0,1}表示节点之间的功能共现关系集合,1表示云API节点之间存在刻画功能共现关系的边,0表示云API节点之间不存在刻画功能共现关系的边;εFC表示第二转换函数,为A×A→EFC的映射,用来刻画云API与云API之间的功能共现关系;
构建云API替补关系图SRG:
SRG=(A,ESR,εSR)
其中ESR={0,1}表示节点之间的替补关系集合,1表示云API节点之间存在刻画替补关系的边,0表示云API节点之间不存在刻画替补关系的边;εSR表示第二转换函数,为A×A→ESR的映射,用来刻画云API与云API之间的替补关系。
3.根据权利要求1所述的云API高阶互补推荐方法,其特征在于,设计四种逻辑算子,包括:设计在关系约束r下的投影算子Pr:
Pr(E(aq))=[pr(E(a1)|E(aq)),…,pr(E(ai)|E(aq)),…,pr(E(an)|E(aq))]其中Pr(E(aq))是aq通过关系r与所有候选云API的链接概率;pr(E(a1)|E(aq))是aq通过关系r与候选云APIa1的链接概率;pr(E(ai)|E(aq))是aq通过关系r与候选云APIai的链接概率;pr(E(an)|E(aq))是aq通过关系r与候选云API an的链接概率;E(a1)是候选云APIa1的嵌入向量;E(ai)是候选云APIai的嵌入向量;E(aq)是候选云APIaq的嵌入向量;
设计并算子U:
其中 是候选云API与 具有关系r1或与 具有关系r2的概率; 是 通过关系r1与所有候选云API的链接概率; 是 通过关系r2与所有候选云API的链接概率; 是查询云API 的嵌入向量; 是查询云API的嵌入向量;
设计交算子I:
其中 是候选云API与 具有关系r1且与 具有关系r2的概率;
设计取反算子N:
N(Pr(E(aq)))=1‑Pr(E(aq))其中N(Pr(E(aq)))是候选云API不与aq具有关系r的概率;Pr(E(aq))是aq通过关系r与所有候选云API的链接概率。
4.根据权利要求1所述的云API高阶互补推荐方法,其特征在于,通过如下公式生成查询云API的嵌入向量:其中,EU是嵌入单元, 为查询云API 的嵌入向量。
5.一种云API高阶互补推荐装置,基于权利要求1至4中任一项所述的方法,其特征在于,所述装置包括:关系图生成单元,被配置为根据应用调用云API历史记录以及云API功能标签,生成云API共同调用关系图CIG、云API功能共现关系图FCG和云API替补关系图SRG;
逻辑算子设计单元,被配置为设计四种逻辑算子;
嵌入向量生成单元,被配置为生成查询云API的嵌入向量;
第一概率计算单元,被配置为利用所述云API共同调用关系图CIG和逻辑算子,生成每个候选云API与查询集Q具有强互补关系的概率;
第二概率计算单元,被配置为利用所述云API功能共现关系图FCG和逻辑算子,生成每个候选云API与查询集Q具有弱互补关系的概率;
第三概率计算单元,被配置为利用所述云API替补关系图SRG和逻辑算子,生成每个候选云API与查询集Q不具有替补关系的概率;
第四概率计算单元,被配置为利用并、交逻辑算子,得到兼顾强弱互补关系并消解替补关系影响的高阶互补概率;
推荐列表生成单元,被配置为按高阶互补概率,从大到小对候选云API排序得到高阶互补云API推荐列表。
6.一种存储有指令的非暂时性计算机可读存储介质,当所述指令由处理器执行时,执行根据权利要求1至4中任一项所述的方法。