CN117370650A - 基于服务组合超图卷积网络的云计算数据推荐方法 - Google Patents
基于服务组合超图卷积网络的云计算数据推荐方法 Download PDFInfo
- Publication number
- CN117370650A CN117370650A CN202311271535.8A CN202311271535A CN117370650A CN 117370650 A CN117370650 A CN 117370650A CN 202311271535 A CN202311271535 A CN 202311271535A CN 117370650 A CN117370650 A CN 117370650A
- Authority
- CN
- China
- Prior art keywords
- service
- hypergraph
- api
- combination
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 239000013598 vector Substances 0.000 claims abstract description 57
- 238000011176 pooling Methods 0.000 claims abstract description 25
- 238000012549 training Methods 0.000 claims abstract description 13
- 238000004364 calculation method Methods 0.000 claims abstract description 11
- 239000011159 matrix material Substances 0.000 claims description 92
- 230000006870 function Effects 0.000 claims description 14
- 238000013135 deep learning Methods 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 10
- 238000005065 mining Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 6
- 230000009191 jumping Effects 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 4
- 238000010606 normalization Methods 0.000 claims description 4
- 238000003062 neural network model Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000011946 reduction process Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000012733 comparative method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Pure & Applied Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Algebra (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于服务组合超图卷积网络的云计算数据推荐方法,挖掘云计算数据中的潜在服务组合关系,构建序列组合集;基于序列组合集构建服务组合超图,实现对API服务的组合特征的有效建模;根据切比雪夫近似卷积的思想,设计超图卷积网络提取服务组合超图上的超图信号;然后,使用Hg‑Pool池化方法对超图信号进行降维处理;利用预训练语言模型对API服务进行语义编码,得到语义嵌入向量,融合语义嵌入向量和超图信号,得到组合嵌入向量;最后,利用组合嵌入向量和超图信号计算API服务的推荐概率,得到推荐结果。本发明关联度较高、降低计算复杂度和过拟合风险、提高推荐结果的精确度。
Description
技术领域
本发明涉及一种基于服务组合超图卷积网络的云计算数据推荐方法。
背景技术
服务计算、分布式计算和容器化技术的融合发展,推动着云原生时代的到来。作为云原生架构的核心的底层实现,云计算提供了弹性、统一的基础设施服务。云计算可以实现按需、弹性、灵活地从可配置计算资源共享池中获取资源(例如,存储、算力、网络、服务、数据等)。云计算正在成为信息技术产业发展的战略重点,在云计算潮流的推动下,企业和组织纷纷将产品管理、人事***、财务管理等业务流程部署至云端,产生了海量的云计算数据。利用合理的算法和模型深度挖掘云计算数据,获取的信息和知识在服务计算、推荐***、金融分析、工程设计等领域得到了广泛的应用。
在推荐***领域中,分析、挖掘云计算数据有利于实现个性化推荐,提高推荐结果的关联性和精确度。例如,专利号为201911411071.X,名称为一种基于云计算的科普内容个性化推荐***通过搜索播放模块、历史浏览信息记录模块和自动填写模块配合,将云计算数据应用于科普内容的个性化推荐。专利号为201710742043.0,名称为一种基于云计算的智能服务推荐方法运用逻辑回归算法进行精确服务选择决策,解决了现有服务推荐算法计算量大、效率低的技术问题。专利号为201510072895.4,名称为一种基于云计算的冷启动项目推荐的方法及装置根据所述评分数信息和贝叶斯算法计算用户喜欢的项目中包含冷启动数据的概率,提高了冷启动项目的推荐准确度。
在服务计算的应用场景下,云计算数据中蕴含丰富的服务功能、服务调用、服务组合信息,具有较高的分析价值。其中,服务组合指两种或两种以上API服务进行组合、混搭,构建出具有新功能的API服务。服务组合关系从侧面上反应了API服务之间的关联性和互补性。如果两项API服务之间含有多种服务组合关系,那么这两项API服务之间具有较强的关联性。通过对服务组合关系的合理建模,并将其应用于推荐***中,有助于提高推荐结果的关联性和精确度。
发明内容
为克服现有云计算数据推荐方法存在的推荐结果关联度较低、精确度不高等不足,本发明提供了一种关联度较高、降低计算复杂度和过拟合风险、提高推荐结果的精确度的基于服务组合超图卷积网络的云计算数据推荐方法,首先,对云计算数据进行深度挖掘,得到用于表示潜在服务组合关系的序列组合集;其次,利用序列组合集构建服务组合超图,实现组合特征的有效建模;然后,基于切比雪夫近似卷积思想,设计超图卷积网络提取服务组合超图上的超图信号;考虑到超图卷积操作存在较高的过拟合风险,使用Hg-Pool(Hypergraph Pool)超图池化方法降低超图信号的特征维度;最后,融合API服务的语义编码结果和降维后的超图信号,计算API服务的推荐概率并进行推荐。
本发明所采用的技术方案是:
一种基于服务组合超图卷积网络的云计算数据推荐方法,包括以下步骤:
步骤一:挖掘云计算数据中的潜在服务组合关系,构建序列组合集;
步骤二:基于步骤一中的序列组合集构建服务组合超图,实现对API服务的组合特征的有效建模,超图是一种特殊的图数据结构,其中的边可以连接任意数量的节点;
步骤三:根据切比雪夫近似卷积的思想,设计超图卷积网络提取服务组合超图上的超图信号;然后,使用Hg-Pool池化方法对超图信号进行降维处理;
步骤四:利用预训练语言模型对API服务进行语义编码,得到语义嵌入向量,融合语义嵌入向量和超图信号,得到组合嵌入向量,最后,利用组合嵌入向量和超图信号计算API服务的推荐概率,得到推荐结果;预训练语言模型是深度学习中的一种自然语言处理方法,具有词向量编码功能。
进一步,所述步骤一的过程如下:
1.1云计算数据:在云计算环境下,用户与API服务之间的调用数据,包括API服务、服务调用序列、服务组合;
1.2API服务:应用程序接口(ApplicationProgrammingInterface,API)使用符号a表示;
1.3服务调用序列:按时间顺序对用户的API服务调用记录进行排序,排序结果称为服务调用序列,使用符号S表示;
1.4服务组合:两种或两种以上API服务进行组合、混搭,构建出具有新功能的API服务,用符号mu表示;
1.5挖掘服务组合关系,构建序列组合集:遍历服务调用序列,按照服务组合关系抽取API服务。从服务调用序列中抽取得到具有服务组合关系的API服务集合定义为序列组合项,用符号m表示,将所有的序列组合项构成的集合定义为序列组合集,用符号M表示。
优选的,所述1.5中,构建序列组合集的过程如下:
1.5.1定义序列组合集M,并初始化为空集合;
1.5.2遍历云计算数据中的所有服务组合,将第i次取到的服务调用记录记为mui;
1.5.3定义序列组合项m,并初始化为空集合;
1.5.4遍历mui中的API服务,将第k次取到的API服务记为ak;
1.5.5遍历服务调用序列S,将第j次取到的服务调用记录记为sj;
1.5.6将服务调用记录中的API服务用符号aj表示;
1.5.7若aj和ak相等,则将ak并入序列组合项m;否则,跳转至步骤1.5.5;
1.5.8当sj为服务调用序列中的最后一项服务调用记录时,结束遍历;
1.5.9当ak为mui中的最后一项API服务时,结束遍历;
1.5.10将m并入M;
1.5.11当mui为云计算数据中的最后一项服务组合时,结束遍历;
1.5.12输出序列组合集M。
再进一步,所述步骤二的过程如下:
2.1构建服务组合超图的超点集:对服务组合和服务调用序列进行集合运算,
取两者的交集,将交集转化为服务组合超图中的超点,并将其加入超点集;
服务组合超图的超点集构建过程如下:
2.1.1创建超点集V,将其初始化为空集合;
2.1.2遍历云计算数据中的所有服务组合,将第i次取到的服务调用记录记为mui;
2.1.3将mui中所有的API服务记为集合mSeti;
2.1.4将服务调用序列中所有的API服务记为集合sSet:
2.1.5对sSet和mSeti进行集合运算,取两者的交集,用符号nSeti表示;
2.1.6遍历nSeti,将集合中第j项API服务记为aj;
2.1.7若超点集V中不存在下标为j的超点vj,则创建超点vj将其加入V;
2.1.8若V中存在vj,则跳转至步骤2.1.6;
2.1.9当aj为nSeti中的最后一项API服务时,结束遍历;
2.1.10当mui为云计算数据中的最后一项服务组合时,超点集创建完毕,结束遍历。
2.2构建服务组合超图的超边集:创建超点集,定义关联矩阵描述超点和超边之间的连接关系,遍历序列组合集和超点集,根据序列组合项与超点对应的API服务的包含关系构建连接关系;服务组合超图的超边集的创建过程如下:
2.2.1创建超边集E,并将其初始化为空集合;
2.2.2定义关联矩阵H,用于描述超点和超边之间的连接关系,将其初始化为空矩阵;
2.2.3遍历序列组合集M,取出的序列组合项用符号mk表示;
2.2.4创建超边ek;
2.2.5遍历超点集V,将第i次取到的超点记为vj;
2.2.6找出vj相应的API服务aj;
2.2.7若序列组合项mk含有aj,则将超边ek与超点vj相连接,否则,跳转至步骤2.2.5;
2.2.8在关联矩阵H中,将第j行k列矩阵元素赋值为1;
2.2.9当vj是V中的最后一个超点时,结束遍历;
2.2.10若ek至少连接了两个不同的超点,则将ek并入E,否则,删去ek;
2.2.11当mk是M中的最后一项序列组合项时,超边集创建完毕,结束遍历。
2.3构建服务组合超图,并将其改写为矩阵形式:服务组合超图是对服务调用关系的建模,其结构可以用符号G=(V,E)来表示,其中G代表服务组合超图,V表示超点集,E表示超边集,为了提取超图信号,将服务组合超图改写为矩阵形式;将超图改写为矩阵形式的过程如下:
2.3.1定义超边度矩阵De,用于记录任意超边和不同超点之间的连接关系;
2.3.2对De进行初始化,De行数和列数均为E中的超边数,遍历De的对角线元素,第j行j列的对角线元素赋值为ej连接的所有超点的数量,其余矩阵元素赋值为0;
2.3.3定义邻接矩阵作为服务组合超图的矩阵形式,其表达式为θ=HT·De·H,其中,θ代表邻接矩阵,H为2.2.2中定义的关联矩阵,“T”是矩阵的转置符号,“.”是矩阵的乘法符号,“=”是矩阵的赋值符号。
再进一步,所述步骤三的过程如下:
3.1服务组合超图上的近似卷积:首先,定义超图的拉普拉斯矩阵和超图卷积过程,然后,根据切比雪夫近似卷积思想,对超图卷积过程展开求解,得到超图信号,超图信号的提取过程如下:
3.1.1定义服务组合超图的拉普拉斯矩阵,用符号L表示;
3.1.2初始化拉普拉斯矩阵,其表达式为L=I-θ。式中,I为单位矩阵,符号“-”代表矩阵减法;
3.1.3定义超图卷积网络的卷积核,用符号ρ表示,超图的卷积核实质上是深度学习中滤波器,其数学形式是二维矩阵;
3.1.4定义服务组合超图上的超图信号,用符号x表示,超图信号是服务组合关系的向量表示;
3.1.5定义服务组合超图上的超图卷积操作,用符号*表示,整个超图卷积过程可定义为x*ρ;
3.1.6根据切比雪夫近似卷积思想,步骤3.1.5中定义的超图卷积过程用切比雪夫多项式展开求解,其表达式为式中,∑代表求和运算,上标N代表近似的最大阶数,下标n代表每次求和的阶数,μn是n阶切比雪夫多项式系数,/>是缩放的拉普拉斯矩阵L的n阶多项式,符号“≈”代表约等于;
3.1.7选用一阶切比雪夫卷积算子进行求解,超图信号提取过程可进一步改写为x*ρ≈τ·θ·x。式中,τ为卷积核ρ的参数;
3.1.8输出超图信号x。
3.2利用Hg-Pool方法池化降维超图信号:首先,对邻接矩阵进行采样,得到赋值矩阵;然后,利用赋值矩阵对邻接矩阵进行池化,池化结果用符号θ′表示;最后,使用θ′替换步骤3.1.2和3.1.7中的θ,再次进行步骤3.1,得到降维后的超图信号x′;超图信号的池化降维过程如下:
3.2.1定义采样器HG,采样器是一种深度学习部件,用于获取图神经网络模型中指定节点周围的邻居节点信息;
3.2.2利用HG对θ进行采样,采样结果定义为赋值矩阵,用符号A表示;
3.2.3利用赋值矩阵对邻接矩阵进行池化,其过程用表达式θ′=AT·θ·A表示,式中,θ′是池化结果;
3.2.4使用θ′替换步骤3.1.2中的θ,重新进行拉普拉斯矩阵的初始化;
3.2.5使用θ′替换步骤3.1.7中的θ,重新进行超图信号的求解;
3.2.6利用步骤3.1得到降维后的超图信号,使用符号x′表示。
所述步骤四的过程如下:
4.1对API服务进行语义编码:将API服务的描述文档输入预训练语言模型,得到语义嵌入向量;
4.2融合语义嵌入向量和超图信号,得到组合嵌入向量:将步骤4.1中的语义嵌入向量与步骤3.2中池化后的超图信号相拼接,得到组合嵌入向量,用符号z表示;
4.3计算推荐概率,得到推荐结果:利用语义嵌入向量和组合嵌入向量,计算每个API服务的推荐分数;然后,利用推荐分数产生推荐概率,得到推荐概率后,选取概率最高API服务作为推荐结果。
优选的,所述4.1中,语义嵌入向量的编码过程如下:
4.1.1定义超参数h,用于控制推荐结果的数量;
4.1.2遍历云计算数据中的所有API服务,将第i次取到的API服务记为ai;
4.1.3将ai的功能描述文档输入预训练语言模型,得到语义嵌入向量,用符号yi表示,功能描述文档是一段关于API服务的功能介绍文本信息;
4.1.4当ai为云计算数据中的最后一项API服务时,结束遍历。
再优选的,所述4.3中,计算推荐概率并进行推荐的过程如下:
4.3.1遍历云计算数据中的API服务,将第i次取到的API服务记为ai;
4.3.2定义ai的推荐分数,用符号sei表示;
4.3.3定义指数形式的推荐分数,用符号表示;
4.3.4基于步骤4.1对ai进行语义编码,得到语义嵌入向量yi;
4.3.5基于步骤4.2得到组合嵌入向量z;
4.3.6计算z的转置与yi的乘积,并对乘积进行归一化处理,归一化处理后的结果用符号yi′表示,归一化处理是深度学习中的一种预处理方法,能将原始数据值映射到[0,1]之间;
4.3.7将yi′赋值给sei;
4.3.8对自然常数e进行指数运算,其指数为yi′,将计算结果赋值给
4.3.9当ai为云计算数据中最后一项API服务时,遍历结束;
4.3.10累加所有的指数形式的推荐分数,结果用符号∑ese表示;
4.3.11遍历云计算数据中的API服务,将第j次取到的API服务记为aj;
4.3.12定义aj的推荐概率rmj;
4.3.13用aj的推荐分数除以∑ese,将计算结果赋值给rmj;
4.3.14当aj为云计算数据中最后一项API服务时,遍历结束;
4.3.15按照推荐概率的大小对API服务进行排序;
4.3.16选取推荐概率较高的前h项服务,作为推荐结果。
本发明的有益效果在于:(1)通过挖掘并利用云计算数据中潜在的服务组合关系,克服了现有推荐方法关联度较低的不足;(2)设计服务组合超图,实现对服务组合关系的有效建模;(3)将近似卷积和超图池化相结合,降低了超图卷积过程中的计算复杂度和过拟合风险;(4)融合语义编码信息和超图信号,提高推荐结果的精确度。
附图说明
图1为构建序列组合集的流程图。
图2为使用Hg-Pool方法进行超图信号降维的示意图。
图3为本发明和HyperRec、DHCN推荐模型进行对比的实验结果。
具体实施方式
以下结合说明书附图及实施例,对本发明作进一步描述。
参照图1~图3,一种基于服务组合超图卷积网络的云计算数据推荐方法,包括以下步骤:
步骤一:挖掘云计算数据中的潜在服务组合关系,构建序列组合集,过程如下:
1.1云计算数据:在云计算环境下,用户与API服务之间的调用数据,包括API服务、服务调用序列、服务组合;
1.2API服务:应用程序接口(Application Programming Interface,API),使用符号a表示;
1.3服务调用序列:按时间顺序对用户的API服务调用记录进行排序,排序结果称为服务调用序列,使用符号S表示;
1.4服务组合:两种或两种以上API服务进行组合、混搭,构建出具有新功能的API服务,用符号mu表示;
1.5挖掘服务组合关系,构建序列组合集:遍历服务调用序列,按照服务组合关系抽取API服务。从服务调用序列中抽取得到的,具有服务组合关系的API服务集合定义为为序列组合项,用符号m表示,将所有的序列组合项构成的集合定义为序列组合集,用符号M表示,图1以流程图的形式给出了序列组合集的构建过程,构建序列组合集的过程如下:
1.5.1定义序列组合集M,并初始化为空集合;
1.5.2遍历云计算数据中的所有服务组合,将第i次取到的服务调用记录记为mui;
1.5.3定义序列组合项m,并初始化为空集合;
1.5.4遍历mui中的API服务,将第k次取到的API服务记为ak;
1.5.5遍历服务调用序列S,将第j次取到的服务调用记录记为sj;
1.5.6将服务调用记录中的API服务用符号aj表示;
1.5.7若aj和ak相等,则将ak并入序列组合项m;否则,跳转至步骤1.5.5;
1.5.8当sj为服务调用序列中的最后一项服务调用记录时,结束遍历;
1.5.9当ak为mui中的最后一项API服务时,结束遍历;
1.5.10将m并入M;
1.5.11当mui为云计算数据中的最后一项服务组合时,结束遍历;
1.5.12输出序列组合集M。
步骤二:基于步骤一中的序列组合集构建服务组合超图,实现对API服务的组合特征的有效建模,超图是一种特殊的图数据结构,其中的边可以连接任意数量的节点,过程如下:
2.1构建服务组合超图的超点集:对服务组合和服务调用序列进行集合运算,取两者的交集,将交集转化为服务组合超图中的超点,并将其加入超点集,服务组合超图的超点集构建过程如下:
2.1.1创建超点集V,将其初始化为空集合;
2.1.2遍历云计算数据中的所有服务组合,将第i次取到的服务调用记录记为mui;
2.1.3将mui中所有的API服务记为集合mSeti;
2.1.4将服务调用序列中所有的API服务记为集合sSet;
2.1.5对sSet和mSeti进行集合运算,取两者的交集,用符号nSeti表示;
2.1.6遍历nSeti,将集合中第j项API服务记为aj;
2.1.7若超点集V中不存在下标为j的超点vj,则创建超点vj将其加入V;
2.1.8若V中存在vj,则跳转至步骤2.1.6;
2.1.9当aj为nSeti中的最后一项API服务时,结束遍历;
2.1.10当mui为云计算数据中的最后一项服务组合时,超点集创建完毕,结束遍历。
2.2构建服务组合超图的超边集:创建超点集,定义关联矩阵描述超点和超边之间的连接关系,遍历序列组合集和超点集,根据序列组合项与超点对应的API服务的包含关系构建连接关系,服务组合超图的超边集的创建过程如下:
2.2.1创建超边集E,并将其初始化为空集合;
2.2.2定义关联矩阵H,用于描述超点和超边之间的连接关系,将其初始化为空矩阵;
2.2.3遍历序列组合集M,取出的序列组合项用符号mk表示;
2.2.4创建超边ek;
2.2.5遍历超点集V,将第i次取到的超点记为vj;
2.2.6找出vj相应的API服务aj;
2.2.7若序列组合项mk含有aj,则将超边ek与超点vj相连接,否则,跳转至步骤2.2.5;
2.2.8在关联矩阵H中,将第j行k列矩阵元素赋值为1;
2.2.9当vj是V中的最后一个超点时,结束遍历;
2.2.10若ek至少连接了两个不同的超点,则将ek并入E。否则,删去ek;
2.2.11当mk是M中的最后一项序列组合项时,超边集创建完毕,结束遍历。
2.3构建服务组合超图,并将其改写为矩阵形式:服务组合超图是对服务调用关系的建模,其结构可以用符号G=(V,E)来表示,其中G代表服务组合超图,V表示超点集,E表示超边集,为了提取超图信号,将服务组合超图改写为矩阵形式,将超图改写为矩阵形式的过程如下:
2.3.1定义超边度矩阵De,用于记录任意超边和不同超点之间的连接关系;
2.3.2对De进行初始化,De行数和列数均为E中的超边数。遍历De的对角线元素,第j行j列的对角线元素赋值为ej连接的所有超点的数量,其余矩阵元素赋值为0;
2.3.3定义邻接矩阵作为服务组合超图的矩阵形式,其表达式为θ=HT·De·H。其中,θ代表邻接矩阵,H为2.2.2中定义的关联矩阵,“T”是矩阵的转置符号,“.”是矩阵的乘法符号,“=”是矩阵的赋值符号。
步骤三:根据切比雪夫近似卷积的思想,设计超图卷积网络提取服务组合超图上的超图信号,然后,使用Hg-Pppl池化方法对超图信号进行降维处理,过程如下:
3.1服务组合超图上的近似卷积:首先,定义超图的拉普拉斯矩阵和超图卷积过程,然后,根据切比雪夫近似卷积思想,对超图卷积过程展开求解,得到超图信号,超图信号的提取过程如下:
3.1.1定义服务组合超图的拉普拉斯矩阵,用符号L表示;
3.1.2初始化拉普拉斯矩阵,其表达式为L=I-θ′,式中,I为单位矩阵,符号“-”代表矩阵减法;
3.1.3定义超图卷积网络的卷积核,用符号ρ表示,超图的卷积核实质上是深度学习中滤波器,其数学形式是二维矩阵;
3.1.4定义服务组合超图上的超图信号,用符号x表示。超图信号是服务组合关系的向量表示;
3.1.5定义服务组合超图上的超图卷积操作,用符号*表示。整个超图卷积过程可定义为x*ρ;
3.1.6根据切比雪夫近似卷积思想,步骤3.1.5中定义的超图卷积过程用切比雪夫多项式展开求解,其表达式为式中,∑代表求和运算,上标N代表近似的最大阶数,下标n代表每次求和的阶数,μn是n阶切比雪夫多项式系数,/>是缩放的拉普拉斯矩阵L的n阶多项式,符号“≈”代表约等于;
3.1.7选用一阶切比雪夫卷积算子进行求解,将N赋值为1,超图信号提取过程可进一步改写为x*ρ≈τ·θ′·x。式中,τ为卷积核ρ的参数;
3.1.8输出超图信号x。
3.2利用Hg-Pool方法池化降维超图信号:首先,对邻接矩阵进行采样,得到赋值矩阵,然后,利用赋值矩阵对邻接矩阵进行池化,池化结果用符号θ′表示,最后,使用θ′替换步骤3.1.2和3.1.7中的θ,再次进行步骤3.1,得到降维后的超图信号x′,超图信号的池化降维过程如下:
3.2.1定义采样器HG。采样器是一种深度学习部件,用于获取图神经网络模型中指定节点周围的邻居节点信息,例如,可以使用LightGCN作为采样器;
3.2.2利用HG对θ进行采样,采样结果定义为赋值矩阵,用符号A表示;
3.2.3利用赋值矩阵对邻接矩阵进行池化,其过程用表达式θ′=AT·θ·A表示。式中,θ′是池化结果;
3.2.4使用θ′替换步骤3.1.2中的θ,重新进行拉普拉斯矩阵的初始化;
3.2.5使用θ′替换步骤3.1.7中的θ,重新进行超图信号的求解;
3.2.6利用步骤3.1得到降维后的超图信号,使用符号x′表示;
如图2所示,构建的服务组合超图实例包含了v1、v2、v3、v4、v5、v6、v7七个超点,e1、e2、e3三条超边,其中,超边e1连接超点v1、v2、v3、v7,超边e2连接超点v3、v4、v5,超边e2连接v5、v6,将服务组合超图实例改写为矩阵形式θ,然后用采样器HG进行采样,得到赋值矩阵A。将A的转置矩阵、θ、A进行矩阵乘法运算,得到池化结果θ′;然后,分别用θ′替换步骤3.1.2和步骤3.1.7中的θ,再次进行步骤3.1,得到降维后的超图信号x′。
步骤四:利用预训练语言模型对API服务进行语义编码,得到语义嵌入向量,融合语义嵌入向量和超图信号,得到组合嵌入向量;最后,利用组合嵌入向量和超图信号计算API服务的推荐概率,得到推荐结果;预训练语言模型是深度学习中的一种自然语言处理方法,具有词向量编码功能,例如,使用BERT预训练语言模型,过程如下:
4.1对API服务进行语义编码:将API服务的描述文档输入预训练语言模型,得到语义嵌入向量,语义嵌入向量的编码过程如下:
4.1.1定义超参数h,用于控制推荐结果的数量;
4.1.2遍历云计算数据中的所有API服务,将第i次取到的API服务记为ai;
4.1.3将ai的功能描述文档输入预训练语言模型,得到语义嵌入向量,用符号yi表示。功能描述文档是一段关于API服务的功能介绍文本信息;
4.1.4当ai为云计算数据中的最后一项API服务时,结束遍历;
4.2融合语义嵌入向量和超图信号,得到组合嵌入向量:将步骤4.1中的语义嵌入向量与步骤3.2中池化后的超图信号相拼接,得到组合嵌入向量,用符号z表示;
4.3计算推荐概率,得到推荐结果:利用语义嵌入向量和组合嵌入向量,计算每个API服务的推荐分数,然后,利用推荐分数产生推荐概率,得到推荐概率后,选取概率最高API服务作为推荐结果;计算推荐概率并进行推荐的具体过程如下:
4.3.1遍历云计算数据中的API服务,将第i次取到的API服务记为ai;
4.3.2定义ai的推荐分数,用符号sei表示;
4.3.3定义指数形式的推荐分数,用符号表示;
4.3.4基于步骤4.1对ai进行语义编码,得到语义嵌入向量yi;
4.3.5基于步骤4.2得到组合嵌入向量z;
4.3.6计算z的转置与yi的乘积,并对乘积进行归一化处理,归一化处理后的结果用符号yi′表示。归一化处理是深度学习中的一种预处理方法,能将原始数据值映射到[0,1]之间,例如,使用标准差归一化方法;
4.3.7将yi′赋值给sei;
4.3.8对自然常数e进行指数运算,其指数为yi′,将计算结果赋值给
4.3.9当ai为云计算数据中最后一项API服务时,遍历结束;
4.3.10累加所有的指数形式的推荐分数,结果用符号∑ese表示;
4.3.11遍历云计算数据中的API服务,将第j次取到的API服务记为aj;
4.3.12定义aj的推荐概率rmj;
4.3.13用aj的推荐分数除以∑ese,将计算结果赋值给rmj;
4.3.14当aj为云计算数据中最后一项API服务时,遍历结束;
4.3.15按照推荐概率的大小对API服务进行排序;
4.3.16选取推荐概率较高的前h项服务,作为推荐结果。
下面以具体的服务数据,分析发明的实际效果:
1.选取云计算数据作为实验数据集,具体包括1032项API服务,1423种服务组合,741条服务调用序列。
2.采用基于超图卷积的DHCN模型、HyperRec模型作为对比方法。DHCN、HyperRec模型是目前推荐***领域,结合超图进行推荐、性能较为领先的方法。
3.使用命中率(Hits Ratio,HR)指标对推荐效果进行评价。HR指标用于衡量推荐精确度,指标越高说明推荐质量越好。HR指标的计算规则如下:
其中,Q代表推荐结果的数量,q为推荐结果的序号。hit是命中函数,当序号为q的推荐结果被用户选择时,函数值为1,否则为0。
3.随机选取云计算数据中80%的数据作为训练样本,其余数据作为测试样本。进行10次独立重复实验,实验效果如图3所示。分析图3可知,本发明的HR推荐指标在10次实验中均高于两种对比方法。其中,本发明的HR指标最高达到了0.594,而DHCN模型的HR指标最高为0.527,HyperRec模型的HR指标最高为0.428。本发明在推荐精度上有较大的优势,因此可以认为本发明在云计算场景下拥有更高的服务推荐质量。
Claims (8)
1.一种基于服务组合超图卷积网络的云计算数据推荐方法,其特征在于,所述方法包括以下步骤:
步骤一:挖掘云计算数据中的潜在服务组合关系,构建序列组合集;
步骤二:基于步骤一中的序列组合集构建服务组合超图,实现对API服务的组合特征的有效建模;
步骤三:根据切比雪夫近似卷积的思想,设计超图卷积网络提取服务组合超图上的超图信号;然后,使用Hg-Pool池化方法对超图信号进行降维处理;
步骤四:利用预训练语言模型对API服务进行语义编码,得到语义嵌入向量,融合语义嵌入向量和超图信号,得到组合嵌入向量;最后,利用组合嵌入向量和超图信号计算API服务的推荐概率,得到推荐结果。
2.如权利要求1所述的基于服务组合超图卷积网络的云计算数据推荐方法,其特征在于,所述步骤一的过程如下:
1.1云计算数据:在云计算环境下,用户与API服务之间的调用数据,包括API服务、服务调用序列、服务组合;
1.2API服务:应用程序接口API使用符号a表示;
1.3服务调用序列:按时间顺序对用户的API服务调用记录进行排序,排序结果称为服务调用序列,使用符号S表示;
1.4服务组合:两种或两种以上API服务进行组合、混搭,构建出具有新功能的API服务,用符号mu表示;
1.5挖掘服务组合关系,构建序列组合集:遍历服务调用序列,按照服务组合关系抽取API服务,从服务调用序列中抽取得到具有服务组合关系的API服务集合定义为序列组合项,用符号m表示,将所有的序列组合项构成的集合定义为序列组合集,用符号M表示。
3.如权利要求2所述的基于服务组合超图卷积网络的云计算数据推荐方法,其特征在于,所述步骤1.5中,构建序列组合集的过程如下:
1.5.1定义序列组合集M,并初始化为空集合;
1.5.2遍历云计算数据中的所有服务组合,将第i次取到的服务调用记录记为mui;
1.5.3定义序列组合项m,并初始化为空集合;
1.5.4遍历mui中的API服务,将第k次取到的API服务记为ak;
1.5.5遍历服务调用序列S,将第j次取到的服务调用记录记为sj;
1.5.6将服务调用记录中的API服务用符号aj表示;
1.5.7若aj和ak相等,则将ak并入序列组合项m;否则,跳转至步骤1.5.5;
1.5.8当sj为服务调用序列中的最后一项服务调用记录时,结束遍历;
1.5.9当ak为mui中的最后一项API服务时,结束遍历;
1.5.10将m并入M;
1.5.11当mui为云计算数据中的最后一项服务组合时,结束遍历;
1.5.12输出序列组合集M。
4.如权利要求1~3之一所述的基于服务组合超图卷积网络的云计算数据推荐方法,其特征在于,所述步骤二的过程如下:
2.1构建服务组合超图的超点集:对服务组合和服务调用序列进行集合运算,取两者的交集,将交集转化为服务组合超图中的超点,并将其加入超点集;服务组合超图的超点集构建过程如下:
2.1.1创建超点集V,将其初始化为空集合;
2.1.2遍历云计算数据中的所有服务组合,将第i次取到的服务调用记录记为mi;
2.1.3将mui中所有的API服务记为集合mSeti;
2.1.4将服务调用序列中所有的API服务记为集合sSet;
2.1.5对sSet和mSeti进行集合运算,取两者的交集,用符号nSeti表示;
2.1.6遍历nSeti,将集合中第j项API服务记为aj;
2.1.7若超点集V中不存在下标为j的超点vj,则创建超点vj将其加入V;
2.1.8若V中存在vj,则跳转至步骤2.1.6;
2.1.9当aj为nSeti中的最后一项API服务时,结束遍历;
2.1.10当mui为云计算数据中的最后一项服务组合时,超点集创建完毕,结束遍历。
2.2构建服务组合超图的超边集:创建超点集,定义关联矩阵描述超点和超边之间的连接关系,遍历序列组合集和超点集,根据序列组合项与超点对应的API服务的包含关系构建连接关系;服务组合超图的超边集的创建过程如下:
2.2.1创建超边集E,并将其初始化为空集合;
2.2.2定义关联矩阵H,用于描述超点和超边之间的连接关系,将其初始化为空矩阵;
2.2.3遍历序列组合集M,取出的序列组合项用符号mk表示;
2.2.4创建超边ek;
2.2.5遍历超点集V,将第i次取到的超点记为vj;
2.2.6找出vj相应的API服务aj;
2.2.7若序列组合项mk含有aj,则将超边ek与超点vj相连接,否则,跳转至步骤2.2.5;
2.2.8在关联矩阵H中,将第j行k列矩阵元素赋值为1;
2.2.9当vj是V中的最后一个超点时,结束遍历;
2.2.10若ek至少连接了两个不同的超点,则将ek并入E,否则,删去ek;
2.2.11当mk是M中的最后一项序列组合项时,超边集创建完毕,结束遍历。
2.3构建服务组合超图,并将其改写为矩阵形式:服务组合超图是对服务调用关系的建模,其结构可以用符号G=(V,E)来表示,其中G代表服务组合超图,V表示超点集,E表示超边集,为了提取超图信号,将服务组合超图改写为矩阵形式;将超图改写为矩阵形式的过程如下:
2.3.1定义超边度矩阵De,用于记录任意超边和不同超点之间的连接关系;
2.3.2对De进行初始化,De行数和列数均为E中的超边数,遍历De的对角线元素,第j行j列的对角线元素赋值为ej连接的所有超点的数量,其余矩阵元素赋值为0;
2.3.3定义邻接矩阵作为服务组合超图的矩阵形式,其表达式为θ=HT·De·H,其中,θ代表邻接矩阵,H为2.2.2中定义的关联矩阵,“T”是矩阵的转置符号,“·”是矩阵的乘法符号,“=”是矩阵的赋值符号。
5.如权利要求1~3之一所述的基于服务组合超图卷积网络的云计算数据推荐方法,其特征在于,所述步骤三的过程如下:
3.1服务组合超图上的近似卷积:首先,定义超图的拉普拉斯矩阵和超图卷积过程,然后,根据切比雪夫近似卷积思想,对超图卷积过程展开求解,得到超图信号,超图信号的提取过程如下:
3.1.1定义服务组合超图的拉普拉斯矩阵,用符号L表示;
3.1.2初始化拉普拉斯矩阵,其表达式为L=I-θ.
3.1.3式中,I为单位矩阵,符号“一”代表矩阵减法;
3.1.4定义超图卷积网络的卷积核,用符号ρ表示,超图的卷积核实质上是深度学习中滤波器,其数学形式是二维矩阵;
3.1.5定义服务组合超图上的超图信号,用符号x表示,超图信号是服务组合关系的向量表示;
3.1.6定义服务组合超图上的超图卷积操作,用符号*表示,整个超图卷积过程可定义为x*ρ;
3.1.7根据切比雪夫近似卷积思想,步骤3.1.5中定义的超图卷积过程用切比雪夫多项式展开求解,其表达式为式中,∑代表求和运算,上标N代表近似的最大阶数,下标n代表每次求和的阶数,μn是n阶切比雪夫多项式系数,/>是缩放的拉普拉斯矩阵L的n阶多项式,符号“≈”代表约等于;
3.1.8选用一阶切比雪夫卷积算子进行求解,超图信号提取过程可进一步改写为x*ρ≈τ.θ·x,式中,τ为卷积核ρ的参数;
3.1.9输出超图信号x。
3.2利用Hg-Pool方法池化降维超图信号:首先,对邻接矩阵进行采样,得到赋值矩阵;然后,利用赋值矩阵对邻接矩阵进行池化,池化结果用符号θ′表示;最后,使用θ′替换步骤3.1.2和3.1.7中的θ,再次进行步骤3.1,得到降维后的超图信号x′;超图信号的池化降维过程如下:
3.2.1定义采样器HG,采样器是一种深度学习部件,用于获取图神经网络模型中指定节点周围的邻居节点信息;
3.2.2利用HG对θ进行采样,采样结果定义为赋值矩阵,用符号A表示,
3.2.3利用赋值矩阵对邻接矩阵进行池化,其过程用表达式θ′=AT·θ·A表示,式中,θ′是池化结果;
3.2.4使用θ′替换步骤3.1.2中的θ,重新进行拉普拉斯矩阵的初始化;
3.2.5使用θ′替换步骤3.1.7中的θ,重新进行超图信号的求解;
3.2.6利用步骤3.1得到降维后的超图信号,使用符号x′表示。
6.如权利要求5所述的基于服务组合超图卷积网络的云计算数据推荐方法,其特征在于,所述步骤四的过程如下:
4.1对API服务进行语义编码:将API服务的描述文档输入预训练语言模型,得到语义嵌入向量;
4.2融合语义嵌入向量和超图信号,得到组合嵌入向量:将步骤4.1中的语义嵌入向量与步骤3.2中池化后的超图信号相拼接,得到组合嵌入向量,用符号z表示;
4.3计算推荐概率,得到推荐结果:利用语义嵌入向量和组合嵌入向量,计算每个API服务的推荐分数;然后,利用推荐分数产生推荐概率,得到推荐概率后,选取概率最高API服务作为推荐结果。
7.如权利要求6所述的基于服务组合超图卷积网络的云计算数据推荐方法,其特征在于,所述4.1中,语义嵌入向量的编码过程如下:
4.1.1定义超参数h,用于控制推荐结果的数量;
4.1.2遍历云计算数据中的所有API服务,将第i次取到的API服务记为ai;
4.1.3将ai的功能描述文档输入预训练语言模型,得到语义嵌入向量,用符号yi表示,功能描述文档是一段关于API服务的功能介绍文本信息;
4.1.4当ai为云计算数据中的最后一项API服务时,结束遍历。
8.如权利要求6所述的基于服务组合超图卷积网络的云计算数据推荐方法,其特征在于,所述4.3中,计算推荐概率并进行推荐的过程如下:
4.3.1遍历云计算数据中的API服务,将第i次取到的API服务记为ai;
4.3.2定义ai的推荐分数,用符号sei表示;
4.3.3定义指数形式的推荐分数,用符号表示;
4.3.4基于步骤4.1对ai进行语义编码,得到语义嵌入向量yi;
4.3.5基于步骤4.2得到组合嵌入向量z;
4.3.6计算z的转置与yi的乘积,并对乘积进行归一化处理,归一化处理后的结果用符号yi′表示,归一化处理是深度学习中的一种预处理方法,能将原始数据值映射到[0,1]之间;
4.3.7将yi′赋值给sei;
4.3.8对自然常数e进行指数运算,其指数为yi′,将计算结果赋值给
4.3.9当ai为云计算数据中最后一项API服务时,遍历结束;
4.3.10累加所有的指数形式的推荐分数,结果用符号∑ese表示;
4.3.11遍历云计算数据中的API服务,将第j次取到的API服务记为aj;
4.3.12定义aj的推荐概率rmj;
4.3.13用aj的推荐分数除以∑ese,将计算结果赋值给rmj;
4.3.14当aj为云计算数据中最后一项API服务时,遍历结束;
4.3.15按照推荐概率的大小对API服务进行排序;
4.3.16选取推荐概率较高的前h项服务,作为推荐结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311271535.8A CN117370650A (zh) | 2023-09-28 | 2023-09-28 | 基于服务组合超图卷积网络的云计算数据推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311271535.8A CN117370650A (zh) | 2023-09-28 | 2023-09-28 | 基于服务组合超图卷积网络的云计算数据推荐方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117370650A true CN117370650A (zh) | 2024-01-09 |
Family
ID=89403263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311271535.8A Pending CN117370650A (zh) | 2023-09-28 | 2023-09-28 | 基于服务组合超图卷积网络的云计算数据推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117370650A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118013130A (zh) * | 2024-04-08 | 2024-05-10 | 烟台大学 | 基于超服务网络的服务推荐方法、***、设备和存储介质 |
-
2023
- 2023-09-28 CN CN202311271535.8A patent/CN117370650A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118013130A (zh) * | 2024-04-08 | 2024-05-10 | 烟台大学 | 基于超服务网络的服务推荐方法、***、设备和存储介质 |
CN118013130B (zh) * | 2024-04-08 | 2024-06-04 | 烟台大学 | 基于超服务网络的服务推荐方法、***、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111291266B (zh) | 基于人工智能的推荐方法、装置、电子设备及存储介质 | |
CN110175628A (zh) | 一种基于自动搜索与知识蒸馏的神经网络剪枝的压缩算法 | |
CN111160350B (zh) | 人像分割方法、模型训练方法、装置、介质及电子设备 | |
CN111046275B (zh) | 基于人工智能的用户标签确定方法及装置、存储介质 | |
CN110019616B (zh) | 一种poi现势状态获取方法及其设备、存储介质、服务器 | |
CN108629414B (zh) | 深度哈希学习方法及装置 | |
CN109816438B (zh) | 信息推送方法及装置 | |
US11841839B1 (en) | Preprocessing and imputing method for structural data | |
CN110795944A (zh) | 推荐内容处理方法及装置、情感属性确定方法及装置 | |
CN113190670A (zh) | 一种基于大数据平台的信息展示方法及*** | |
CN111815432A (zh) | 金融服务风险预测方法及装置 | |
CN111325030A (zh) | 文本标签构建方法、装置、计算机设备和存储介质 | |
CN117370650A (zh) | 基于服务组合超图卷积网络的云计算数据推荐方法 | |
CN112836509A (zh) | 一种专家***知识库构建方法及*** | |
CN114780746A (zh) | 基于知识图谱的文档检索方法及其相关设备 | |
CN115438169A (zh) | 一种文本与视频的互检方法、装置、设备及存储介质 | |
CN108427756A (zh) | 基于同类用户模型的个性化查询词补全推荐方法和装置 | |
CN113609337A (zh) | 图神经网络的预训练方法、训练方法、装置、设备及介质 | |
CN115131698A (zh) | 视频属性确定方法、装置、设备及存储介质 | |
CN112632948B (zh) | 案件文书排序方法及相关设备 | |
CN113806579A (zh) | 文本图像检索方法和装置 | |
CN111783688B (zh) | 一种基于卷积神经网络的遥感图像场景分类方法 | |
CN111259975B (zh) | 分类器的生成方法及装置、文本的分类方法及装置 | |
CN117251777A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111597336A (zh) | 训练文本的处理方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |