Service data binding recommendation method based on cloud scene service combination relationship

By building a bundled interactive graph structure in a cloud scenario and performing vector computing, and combining cloud scenario service combination relationships to bundle and recommend service data, the problem of insufficient relevance and accuracy of cloud scenario service recommendation in the existing technology is solved, and efficient Recommended service.

CN119271878APending Publication Date: 2025-01-07CHINA JILIANG UNIV
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202411271155.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-11
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

The existing technology has failed to effectively combine cloud scenarios and service combination relationships and cannot be directly applied to the service recommendation field. There is room for interactive relationship optimization in service combination data modeling, resulting in insufficient relevance and accuracy of service recommendations.

Method used

A service data bundling recommendation method based on cloud scenario service combination relationship is proposed. By extracting the bundling recommendation layer and the bundling recommendation relationship, a bundling interaction graph structure is constructed, and the bundling recommendation score is calculated using initial coding and vector operations to perform service recommendation.

Benefits of technology

It improves the relevance and complementarity of service recommendation results, has small calculation overhead and low time complexity, and can effectively express service calls and combination relationships, improving the accuracy of recommended results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119271878A_ABST
    Figure CN119271878A_ABST
Patent Text Reader

Abstract

A service data binding recommendation method based on a cloud scene service combination relationship introduces a binding recommendation thought to model a service scene, firstly, a binding recommendation layer and a binding recommendation relationship are extracted from an API service and a service combination, and the binding recommendation layer and the binding recommendation relationship are converted into a binding interaction graph structure; secondly, carrying out initial coding on the binding interaction graph, constructing intermediate vectors by utilizing an initial coding result, and carrying out weighted aggregation on the intermediate vectors to construct user, service and binding vectors; then, splicing the user, the service and the binding vector, and constructing a user-service vector and a user-binding vector; and finally, calculating a binding score by using the user-service vector and the user-binding recommendation vector, and performing service recommendation based on the binding recommendation score. According to the invention, the correlation and accuracy of service recommendation are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of service data recommendation and relates to a service data bundling recommendation method. Background Art

[0002] In recent years, the number of API services and applications deployed and delivered on different cloud scenarios such as private cloud, hybrid cloud, and multi-cloud has increased day by day. How to effectively utilize API services in cloud scenarios has become a hot issue in the field of service computing.

[0003] On the one hand, in order to achieve the reuse of existing API services, the industry and academia have proposed service composition technology. Service composition technology can integrate and orchestrate existing API services to construct services with new functions, thereby making the most of existing data and service resources and reducing development costs. Due to the characteristics of low cost, risk reduction, and good agility, a lot of research has been carried out on the topic of service composition in recent years. For example, the Chinese patent number is CN202311657941.8, and its name is a dynamic service combination selection method, device and product. It generates an initial population based on the service combination related information and solves it in combination with a multi-objective optimization algorithm; the Chinese patent number is CN202311388437.2, and its name is a dynamic multi-objective service combination optimization recommendation method and system. It solves the dynamic multi-objective service optimization combination problem model based on an embedded improved social learning optimization algorithm, thereby obtaining the optimal service combination solution; the Chinese patent number is CN202110764702.7, and its name is a Web service combination discovery method for water conservancy survey. Through service ontology construction, Web service semantic annotation, reachability analysis and other steps, the efficiency and accuracy of service combination discovery are improved. The disadvantage is that such methods focus on utilizing the combination association between API services, without considering the interactive relationship between developers and API services (or service combinations), and there is room for further optimization in service combination data modeling.

[0004] On the other hand, in order to quickly and effectively find API services that meet the needs of developers from a massive collection of cloud-native services, service recommendation technology has received widespread attention from researchers. For example, the Chinese patent number is CN202310139370.2, and its name is a service recommendation method, electronic device, and computer-readable storage medium. It determines the probability distribution of scenarios corresponding to different services based on the behavioral trajectory of user operations, and determines the target service based on the probability distribution for service recommendation; the Chinese patent number is CN202010322193.8, and its name is a QoS prediction method based on a graph model applied in cloud service recommendation. It obtains global and local QoS through a probability matrix decomposition algorithm, which alleviates the QoS sparsity problem in the field of cloud service recommendation to a certain extent. Service recommendation technology is a fusion of service computing and recommendation algorithms. As a classic recommendation algorithm, bundled recommendation can effectively improve the diversity of recommendation results. At present, there are a large number of related patents. For example, the Chinese patent number is CN202010244341.9, named a bundle recommendation method and system based on graph convolutional neural network, which reconstructs the interaction and subordinate relationships between users, bundles and items into a graph, and then uses the graph neural network to learn the associated entity representation from complex topological structures and high-order connectivity; the Chinese patent number is CN202110512230.6, named a bundle recommendation method based on a multi-channel hypergraph neural network, which uses a special data structure of hypergraph to display and distinguish users, items and bundles. The disadvantage is that this method is not optimized in combination with cloud scenarios and service combination relationships, and cannot be directly applied to the service recommendation field.

[0005] Currently, there is no method that can deeply integrate service composition and bundle recommendation technology to recommend API services to users based on the service composition relationship in cloud scenarios. Summary of the invention

[0006] In order to overcome the shortcomings of the existing technology and improve the relevance and accuracy of service recommendation, the present invention proposes a service data bundling recommendation method based on cloud scenario service combination relationship. The method introduces the idea of ​​bundling recommendation to model the service scenario. First, the bundling recommendation layer and the bundling recommendation relationship are extracted from the API service and the service combination, and converted into a bundling interaction graph structure; secondly, the bundling interaction graph is initially encoded, and the intermediate vector is constructed using the initial encoding result, and the intermediate vector is weighted and aggregated to construct user, service and bundling vectors; then, the user, service and bundling vectors are spliced ​​to construct user-service vectors and user-bundling vectors; finally, the user-service vector and the user-bundling recommendation vector are used to calculate the bundling score, and service recommendation is performed based on the bundling recommendation score.

[0007] The technical solution adopted by the present invention to solve its technical problem is:

[0008] A service data bundling recommendation method based on cloud scenario service combination relationship, the method comprising the following steps:

[0009] Step 1: Create a service dataset, extract the bundle recommendation layer, set the bundle recommendation relationship, and build the bundle interaction graph structure;

[0010] Step 2: G ua , G am , G um Perform initial coding on the nodes in the pipeline, construct intermediate vectors using the initial coding results, weight and aggregate the intermediate vectors, and construct user vectors, service vectors, and bundling vectors;

[0011] Step 3: Based on the user vector, service vector and bundling vector, construct a user-service vector and a user-bundling vector;

[0012] Step 4: Calculate the bundle recommendation score using the user-service vector and the user-bundle vector, and make service recommendations based on the bundle recommendation score.

[0013] Further, the process of step 1 is as follows:

[0014] Step 1.1, create a service data set: collect API services, service combinations, and user information, and perform data cleaning to form a service data set;

[0015] Step 1.2, extracting the bundle recommendation layer: extracting API services, service combinations and user information from the service data set, and constructing a bundle recommendation layer, including a single service layer, a service combination layer and a user layer;

[0016] Step 1.3, set up bundled recommendation relationships: Based on step 1.2, set up bundled recommendation relationships between the single service layer, service combination layer, and user layer, including service call relationships and service combination relationships;

[0017] Step 1.4, construct a bundled interaction graph structure: Based on step 1.3, the bundled recommendation relationship is converted into a bundled interaction graph structure, including a user-service graph, a user-bundle graph, and a service-bundle graph; a graph is a common data structure composed of nodes and edges.

[0018] Preferably, in step 1.1, the service data set includes the following information:

[0019] 1.1.1、API service: Service-oriented application programming interface API, whose attributes and functions are described by service description document and service label, represented by symbol a;

[0020] 1.1.2. Service description document: a document that describes and specifies information such as message types, operations, ports, etc. in API services, represented by the symbol w;

[0021] 1.1.3. Service tag: a short text describing the API service function type in natural language, represented by the symbol t;

[0022] 1.1.4. Service combination: A service formed by combining two or more API services, represented by the symbol m;

[0023] 1.1.5 User: A developer who calls an API service or service combination, represented by the symbol u.

[0024] In step 1.2, the bundle recommendation layer includes the following information:

[0025] 1.2.1. Bundling recommendation layer: The result of stratifying the service data set according to the bundling recommendation idea, which consists of a single service layer, a service combination layer, and a user layer;

[0026] 1.2.2. Single service layer: It is composed of all API services in the service data set and is represented by symbol A. There is a set relationship between the single service layer and the API service, which is formally defined as A = {a1, a2, …, a i}, where the subscripts 1, 2, and i represent the distinction between different API services, and the symbol "..."

[0027] Indicates the omission of an enumeration;

[0028] 1.2.3. Service composition layer: It is composed of all service combinations in the service data set and is represented by the symbol M. There is a set relationship between the service composition layer and the service combination, which is formally defined as M = {m1,

[0029] m2,…,m j}, where the subscripts 1, 2, and j indicate the distinction between different service combinations;

[0030] 1.2.4 User layer: It is composed of all users in the service data set and is represented by symbol U. There is a set relationship between the user layer and the users, which is formally defined as U = {u1,u2,…,u k}, where the subscripts 1, 2, and k represent the distinction between different users.

[0031] In step 1.3, the bundled recommendation relationship includes the following information:

[0032] 1.3.1. Service call relationship: There is a many-to-many relationship between A and U, which represents the user's call to the API service, represented by the symbol express;

[0033] 1.3.2. Service composition relationship: A is a many-to-many relationship between A and M, which indicates the composition association between API services, using the symbol express.

[0034] In step 1.4, the construction process of the bundled interaction graph structure is as follows:

[0035] 1.4.1. Create a user-service graph, using symbol G ua Indicates that G ua The point set is symbolized by V ua Indicates that G ua The edge set of E ua express;

[0036] 1.4.2. Traverse the service call relationship and record the obtained service call relationship as

[0037] 1.4.3. If u does not belong to V ua , then merge u into V ua ; If a does not belong to V ua , then merge a into V ua ; 1.4.4, create an edge connecting u and a, using the symbol e ua express;

[0038] 1.4.5 If e ua Not E ua , then e ua Will be incorporated into E ua ;

[0039] 1.4.6. Create a service-bundle diagram, using symbol G am Indicates that G am The point set is symbolized by V am express,

[0040] G am The edge set of E am express;

[0041] 1.4.7. Traverse the service composition relationship and record the obtained service composition relationship as

[0042] 1.4.8. If m does not belong to V am , then merge m into V am ; If a does not belong to V am , then merge a into V am ;

[0043] 1.4.9. Create an edge connecting a and m, using the symbol e am express;

[0044] 1.4.10, if e am Not E am , then e am Will be incorporated into Eam ;

[0045] 1.4.11. Create a user-bundle diagram, using symbol G um Indicates that G um The point set is symbolized by V um express,

[0046] G um The edge set of E um express;

[0047] 1.4.12. Traverse the service composition relationship and service call relationship, and record the obtained service call relationship and service composition relationship as and Subscripts 1 and 2 indicate the distinction between API services;

[0048] 1.4.13. If a1 and a2 are equal, the service call relationship and service combination relationship are merged into a bundled call relationship, using the symbol express;

[0049] 1.4.14. If u does not belong to V um , then merge u into V um ; If m does not belong to V um , then merge m into V um ;

[0050] 1.4.15. Create an edge connecting u and m, using the symbol e um express;

[0051] 1.4.16, if e um Not E um , then e um Will be incorporated into E um .

[0052] Furthermore, the process of step 2 is as follows:

[0053] 2.1. G ua , G am , G um Initial encoding of nodes in the graph: Use the encoder to initially encode the nodes in the graph and convert them into initial vectors. The encoder is a common deep learning technology and is often used to construct vector representations.

[0054] 2.2. Use the initial encoding result to construct the intermediate vector: traverse G ua , G am , G um , aggregate the initial vectors of u, a, and m neighbor nodes to construct the intermediate vector;

[0055] 2.3. Weighted aggregation of intermediate vectors to construct user vector, service vector and bundling vector: Based on step 2.2, tu, ta and tm are obtained, and weighted aggregation of tu, ta and tm is performed to construct user vector, service vector and bundling vector.

[0056] In step 2.1, the converted initial vector contains the following information:

[0057] 2.1.1、User initial vector: vector representation of u, represented by symbol vu;

[0058] 2.1.2 Service initialization vector: vector representation of a, represented by the symbol va;

[0059] 2.1.3. Bundling initial vector: vectorized representation of m, represented by the symbol vm;

[0060] In step 2.2, the construction process of the intermediate vector is as follows:

[0061] 2.2.1. Traversing G ua , G am , G um , take out the u, a, m nodes;

[0062] 2.2.2, using the symbol un i Represents the first-order neighbor node of u, and the subscript i is used to distinguish different neighbor nodes.

[0063] The first-order neighbor nodes of u refer to the nodes directly connected to u;

[0064] 2.2.3. The symbol UN represents the first-order neighborhood of u. UN and un i There is a set relationship between them, formally defined as UN = {un1, un2, ..., un i};

[0065] 2.2.4, using the symbol an j represents the first-order neighbor node of a, and the subscript j is used to distinguish different neighbor nodes.

[0066] The first-order neighbor nodes of a refer to the nodes directly connected to a;

[0067] 2.2.5. Use the symbol AN to represent the first-order neighborhood of a. AN and an j There is a set relationship between them, formally defined as AN = {an1, an2, ..., an j};

[0068] 2.2.6. Using the symbol mn k represents the first-order neighbor node of m. The subscript k is used to distinguish different neighbor nodes. The first-order neighbor node of m refers to the node directly connected to m.

[0069] 2.2.7. Use the symbol MN to represent the first-order neighborhood of m. MN and mn k There is a set relationship between them, formally defined as MN = {mn1, mn2, ..., mn k};

[0070] 2.2.8. Based on step 2.1, the initial codes of all first-order neighbor nodes in UN, AN, and MN are obtained and represented by symbols vun, van, and vmn;

[0071] 2.2.9. Add the initial code of u and the initial codes of all first-order neighbor nodes in UN, and divide by |UN|. The result is defined as the user intermediate vector, denoted by the symbol tu; |UN| refers to the number of first-order neighbor nodes contained in UN;

[0072] 2.2.10. Add the initial code of a to the initial codes of all first-order neighbor nodes in AN, and divide by |AN|. The result is defined as the service intermediate vector, denoted by ta. |AN| refers to the number of first-order neighbor nodes in AN.

[0073] 2.2.11. Add the initial code of m to the initial codes of all first-order neighbor nodes in MN, and divide by the modulus of |MN|. The result is defined as the bundled intermediate vector, denoted by symbol tm; |MN|

[0074] It refers to the number of first-order neighbor nodes contained in MN;

[0075] In step 2.3, the construction process of the user vector, service vector and bundling vector is as follows:

[0076] 2.3.1. Repeat step 2.2 N times. The intermediate vector obtained the Nth time is denoted by tu n ,ta n 、tm n It indicates that the subscript n is used to distinguish the intermediate vectors obtained;

[0077] 2.3.2, define the user vector, using the symbol eu;

[0078] 2.3.3. Aggregate all the user intermediate vectors and add all the user intermediate vectors together. The result is represented by the symbol tu1+tu2+...+tu n express;

[0079] 2.3.4. Define the user weighting coefficient, represented by the symbol √|UN|, where "√" represents square root operation;

[0080] 2.3.5. Divide the result calculated in step 2.3.3 by the user weight coefficient and assign it to the user vector. The process can be symbolically represented as eu = (tu1 + tu2 + ... + tu n ) / √|NA|, “()” is a bracket in mathematics, used to indicate the priority of operations;

[0081] 2.3.6, define the service vector, using the symbol ea;

[0082] 2.3.7. Aggregate all service intermediate vectors and add all service intermediate vectors together. The result is represented by ta1+ta2+...+ta n express;

[0083] 2.3.8, define the service weighting coefficient, represented by the symbol √|AN|;

[0084] 2.3.9. Divide the result calculated in step 2.3.7 by the service weight coefficient and assign it to the service vector. The process can be symbolically represented as ea = (ta1 + ta2 + ... + ta n ) / √|AN|;

[0085] 2.3.10, define the bundling vector, using the symbol em;

[0086] 2.3.11. Aggregate all the bundled intermediate vectors and add all the bundled intermediate vectors together. The result is represented by the symbol tm1+tm2+...+tm n express;

[0087] 2.3.12. Define the bundling weight coefficient, represented by the symbol √|MN|;

[0088] 2.3.13. Divide the result calculated in step 2.3.11 by the bundling weight coefficient and assign it to the bundling vector. The process can be symbolically represented as em = (tm1 + tm2 + ... + tm n ) / √|MN|.

[0089] Furthermore, the process of step 3 is as follows:

[0090] 3.1. Concatenate user vectors and service vectors to construct user-service vectors.

[0091] 3.2. Concatenate the user vector and the bundle vector to construct the user-bundle vector.

[0092] In step 3.1, the process of constructing the user-service vector is as follows:

[0093] 3.1.1. Traverse the service data set and record the user obtained for the i-th time as u i ;

[0094] 3.1.2. Traverse the service data set and record the service obtained for the jth time as a j ;

[0095] 3.1.3. Constructing the user-service vector, using the symbol ua ij Represents and initializes it to an empty vector;

[0096] 3.1.4. Get u based on step 2 i and a j are the corresponding user vector and service vector, denoted by eu i and ea j express;

[0097] 3.1.5. Splicing EU i and ea j , assign the result to ua ij ;

[0098] In step 3.2, the process of constructing the user-bundling vector is as follows:

[0099] 3.2.1. Traverse the service data set and record the user obtained for the i-th time as u i ;

[0100] 3.2.2. Traverse the service data set and record the service combination obtained for the jth time as m j ;

[0101] 3.2.3. Constructing the user-bundle vector, using the symbol um ij Represents and initializes it to an empty vector;

[0102] 3.2.4. Get u based on step 2 i and m j are the corresponding user vector and bundle vector, denoted by eu i and em j express;

[0103] 3.2.5. Splicing EU i and em j , assign the result to um ij ;

[0104] The process of step 4 is as follows:

[0105] 4.1. Bundle recommendation score: a real number in the interval [0,1], representing the probability of the service combination being recommended to the user. The higher the score, the greater the probability of being recommended.

[0106] 4.2. Calculate the bundle recommendation score: Based on the vector product of the user-service vector and the user-bundle vector, obtain the bundle recommendation score;

[0107] 4.3. Recommend services based on bundle recommendation scores: Arrange service combinations according to bundle recommendation scores, take the top N1 service combinations with the highest scores, remove duplicate API services in the service combinations, and recommend the remaining API services to users; N1 is the number of valid service combinations, and N2 is the length of the service recommendation list;

[0108] In step 4.2, the calculation process of the bundle recommendation score is as follows:

[0109] 4.2.1. Traverse the service data set and record the user obtained for the i-th time as u i ;

[0110] 4.2.2. Traverse the service data set and record the service obtained for the jth time as a j ;

[0111] 4.2.3. Traverse the service data set and record the kth service combination as m k ;

[0112] 4.2.4. Define bundle recommendation score ijk , and initialize it to 0;

[0113] 4.2.5. Based on step 3, we get the user-service vector and user-bundling vector, which are denoted by ua ij andum ik To express;

[0114] 4.2.6、Um ik Transpose, the result is represented by the symbol um ik T Indicates; transposition is a mathematical operation in linear algebra, which refers to exchanging rows and columns of vectors or matrices. The symbol T is used to represent the transposition operation;

[0115] 4.2.7 Calculation of ua ij with um ik T The product of ijk ;

[0116] In step 4.3, the specific process of service recommendation is as follows:

[0117] 4.3.1. Create a candidate service combination set CM;

[0118] 4.3.2. Arrange the service combinations according to the bundling recommendation scores;

[0119] 4.3.3. The top N1 service combinations with the highest scores are merged into CM;

[0120] 4.3.4. Create a candidate service set CS;

[0121] 4.3.5. Traverse CM and record the API service obtained for the i-th time as a i ;

[0122] 4.3.6. If CS does not contain a i , and the number of API services contained in CS is less than N2, then a i Merge into CS; otherwise, jump to step 4.3.5;

[0123] 4.3.7. After the traversal is completed, the API services contained in CS are taken as the final service recommendation results.

[0124] The beneficial effects of the present invention are mainly manifested in:

[0125] (1) A bundled interaction graph structure is proposed to model service scenarios, which effectively expresses the service call relationship and service composition relationship;

[0126] (2) The service recommendation results can be obtained by using encoder technology and vector operations with limited steps, which has low computational overhead and time complexity;

[0127] (3) The bundling recommendation method is combined with the service recommendation technology to improve the relevance and complementarity of the service recommendation results. BRIEF DESCRIPTION OF THE DRAWINGS

[0128] Figure 1 This is a diagram illustrating the process of extracting the bundle recommendation layer and constructing the bundle interaction graph structure.

[0129] Figure 2 Illustration of the service experiment set.

[0130] Figure 3 It is an illustration of the experimental results of the present invention on the service experiment set. DETAILED DESCRIPTION

[0131] The present invention will be further described below in conjunction with the accompanying drawings.

[0132] Reference Figure 1 to Figure 3 , a service data bundling recommendation method based on cloud scenario service composition relationship, comprising the following steps:

[0133] Step 1: Create a service dataset, extract the bundle recommendation layer, set the bundle recommendation relationship, and build the bundle interaction graph structure. The process is as follows:

[0134] 1.1. Create service data set: collect API services, service combinations, and user information, and perform data cleaning to form a service data set;

[0135] In step 1.1, the service data set includes the following information:

[0136] 1.1.1、API service: Service-oriented application programming interface (API), whose attributes and functions are described by service description document and service label, represented by symbol a;

[0137] 1.1.2. Service description document: a document that describes and specifies information such as message types, operations, ports, etc. in API services, represented by the symbol w;

[0138] 1.1.3. Service tag: a short text describing the API service function type in natural language, represented by the symbol t;

[0139] 1.1.4. Service combination: A service formed by combining two or more API services, represented by the symbol m;

[0140] 1.1.5 User: A developer who calls an API service or service combination, represented by the symbol u;

[0141] 1.2. Extracting the bundle recommendation layer: Extracting API services, service combinations and user information from the service data set to build a bundle recommendation layer, including a single service layer, a service combination layer and a user layer;

[0142] In step 1.2, the bundle recommendation layer includes the following information:

[0143] 1.2.1 Bundling recommendation layer: The result of stratifying the service data set according to the bundling recommendation idea, which consists of a single service layer, a service combination layer, and a user layer. The bundling recommendation layer is as follows: Figure 1 As shown in A0, it consists of three parts: A1, A2, and A3;

[0144] 1.2.2. Single service layer: It is composed of all API services in the service data set and is represented by symbol A.

[0145] There is a collection relationship between the single service layer and the API service, which is formally defined as A = {a1,

[0146] a2,…,a i}, where the subscripts 1, 2, and i represent the distinction between different API services, and the symbol "..."

[0147] Indicates the omission of an enumeration, such as Figure 1 As shown in A3;

[0148] 1.2.3. Service composition layer: It is composed of all service combinations in the service data set and is represented by the symbol M.

[0149] There is a set relationship between the service composition layer and the service composition, which is formally defined as M = {m1,

[0150] m2,…,m j}, where the subscripts 1, 2, and j represent the distinction between different service combinations, such as Figure 1 As shown in A2;

[0151] 1.2.4 User layer: It is composed of all users in the service data set and is represented by symbol U. There is a set relationship between the user layer and the users, which is formally defined as U = {u1,u2,…,u k}, where subscripts 1, 2, and k represent the distinction between different users, such as Figure 1 As shown in A1;

[0152] 1.3. Set up bundled recommendation relationships: Based on step 1.2, set up bundled recommendation relationships between the single service layer, service combination layer, and user layer, including service call relationships and service combination relationships;

[0153] In step 1.3, the bundled recommendation relationship includes the following information:

[0154] 1.3.1. Service call relationship: There is a many-to-many relationship between A and U, which represents the user's call to the API service, represented by the symbol express;

[0155] 1.3.2. Service composition relationship: A is a many-to-many relationship between A and M, which indicates the composition association between API services, using the symbol express;

[0156] 1.4. Constructing a bundled interaction graph structure: Based on step 1.3, the bundled recommendation relationship is transformed into a bundled interaction graph structure, including user-service graph, user-bundle graph, and service-bundle graph. Graph is a common data structure consisting of nodes and edges. The bundled interaction graph structure is as follows: Figure 1 As shown in B0 in the figure, it consists of three parts: B1, B2, and B3. The user-service diagram is shown in Figure 1 As shown in B3 in the figure, the user-bundle diagram is as follows Figure 1 As shown in B1 in the figure, the service-bundling diagram is as follows Figure 1 As shown in B2.

[0157] In step 1.4, the construction process of the bundled interaction graph structure is as follows:

[0158] 1.4.1. Create a user-service graph, using symbol G ua Indicates that G ua The point set is symbolized by V ua Indicates that G uaThe edge set of E ua express;

[0159] 1.4.2. Traverse the service call relationship and record the obtained service call relationship as

[0160] 1.4.3. If u does not belong to V ua , then merge u into V ua ; If a does not belong to V ua , then merge a into V ua ;

[0161] 1.4.4. Create an edge connecting u and a, using the symbol e ua express;

[0162] 1.4.5 If e ua Not E ua , then e ua Will be incorporated into E ua ;

[0163] 1.4.6. Create a service-bundle diagram, using symbol G am Indicates that G am The point set is symbolized by V am express,

[0164] G am The edge set of E am express;

[0165] 1.4.7. Traverse the service composition relationship and record the obtained service composition relationship as

[0166] 1.4.8. If m does not belong to V am , then merge m into V am ; If a does not belong to V am , then merge a into V am ;

[0167] 1.4.9. Create an edge connecting a and m, using the symbol e am express;

[0168] 1.4.10, if e am Not E am , then e am Will be incorporated into E am ;

[0169] 1.4.11. Create a user-bundle diagram, using symbol G um Indicates that G um The point set is symbolized by V um express,

[0170] G umThe edge set of E um express;

[0171] 1.4.12. Traverse the service composition relationship and service call relationship, and record the obtained service call relationship and service composition relationship as and Subscripts 1 and 2 indicate the distinction between API services;

[0172] 1.4.13. If a1 and a2 are equal, the service call relationship and service combination relationship are merged into a bundled call relationship, using the symbol express;

[0173] 1.4.14. If u does not belong to V um , then merge u into V um ; If m does not belong to V um , then merge m into V um ;

[0174] 1.4.15. Create an edge connecting u and m, using the symbol e um express;

[0175] 1.4.16, if e um Not E um , then e um Will be incorporated into E um ;

[0176] Step 2: G ua , G am , G um The nodes in the , are initially coded, the intermediate vectors are constructed using the initial coding results, the intermediate vectors are weighted and aggregated, and the user vector, service vector and bundling vector are constructed. The process is as follows:

[0177] 2.1. G ua , G am , G um Initial encoding of nodes in the graph: Use an encoder to initially encode the nodes in the graph and convert them into initial vectors. The encoder is a common deep learning technology that is often used to construct vector representations. A graph autoencoder (GAE) can be used for initial encoding.

[0178] In step 2.1, the converted initial vector contains the following information:

[0179] 2.1.1、User initial vector: vector representation of u, represented by symbol vu;

[0180] 2.1.2 Service initialization vector: vector representation of a, represented by the symbol va;

[0181] 2.1.3. Bundling initial vector: vectorized representation of m, represented by the symbol vm;

[0182] 2.2. Use the initial encoding result to construct the intermediate vector: traverse G ua , G am , G um , aggregate the initial vectors of u, a, and m neighbor nodes to construct the intermediate vector;

[0183] In step 2.2, the construction process of the intermediate vector is as follows:

[0184] 2.2.1. Traversing G ua , G am , G um , take out the u, a, m nodes;

[0185] 2.2.2, using the symbol un i Represents the first-order neighbor node of u, and the subscript i is used to distinguish different neighbor nodes.

[0186] The first-order neighbor nodes of u refer to the nodes directly connected to u;

[0187] 2.2.3. The symbol UN represents the first-order neighborhood of u. UN and un i There is a set relationship between them, formally defined as UN = {un1, un2, ..., un i};

[0188] 2.2.4, using the symbol an j represents the first-order neighbor node of a, and the subscript j is used to distinguish different neighbor nodes.

[0189] The first-order neighbor nodes of a refer to the nodes directly connected to a;

[0190] 2.2.5. Use the symbol AN to represent the first-order neighborhood of a. AN and an j There is a set relationship between them, formally defined as AN = {an1, an2, ..., an j};

[0191] 2.2.6. Using the symbol mn k represents the first-order neighbor node of m. The subscript k is used to distinguish different neighbor nodes. The first-order neighbor node of m refers to the node directly connected to m.

[0192] 2.2.7. Use the symbol MN to represent the first-order neighborhood of m. MN and mn k There is a set relationship between them, formally defined as MN = {mn1, mn2, ..., mn k};

[0193] 2.2.8. Based on step 2.1, the initial codes of all first-order neighbor nodes in UN, AN, and MN are obtained and represented by symbols vun, van, and vmn;

[0194] 2.2.9. Add the initial code of u and the initial codes of all first-order neighbor nodes in UN, and divide by |UN|. The result is defined as the user intermediate vector, represented by the symbol tu. |UN| refers to the number of first-order neighbor nodes contained in UN;

[0195] 2.2.10. Add the initial code of a to the initial codes of all first-order neighbor nodes in AN, and divide by |AN|. The result is defined as the service intermediate vector, denoted by symbol ta. |AN| refers to the number of first-order neighbor nodes in AN;

[0196] 2.2.11. Add the initial code of m to the initial codes of all first-order neighbor nodes in MN, and divide by the modulus of |MN|. The result is defined as the bundled intermediate vector, denoted by the symbol tm, |MN|

[0197] It refers to the number of first-order neighbor nodes contained in MN;

[0198] 2.3. Weighted aggregation of intermediate vectors to construct user vector, service vector and bundling vector: Based on step 2.2, tu, ta and tm are obtained, and weighted aggregation of tu, ta and tm is performed to construct user vector, service vector and bundling vector;

[0199] In step 2.3, the construction process of the user vector, service vector and bundling vector is as follows:

[0200] 2.3.1. Repeat step 2.2 N times. The intermediate vector obtained the Nth time is denoted by tu n ,ta n 、tm n It indicates that the subscript n is used to distinguish the intermediate vectors obtained;

[0201] 2.3.2, define the user vector, using the symbol eu;

[0202] 2.3.3. Aggregate all the user intermediate vectors and add all the user intermediate vectors together. The result is represented by the symbol tu1+tu2+...+tu n express;

[0203] 2.3.4. Define the user weighting coefficient, represented by the symbol √|UN|, where "√" represents square root operation;

[0204] 2.3.5. Divide the result calculated in step 2.3.3 by the user weight coefficient and assign it to the user vector. The process is symbolically represented as eu = (tu1 + tu2 + ... + tu n) / √|NA|, “()” is a bracket in mathematics, used to indicate the priority of operations;

[0205] 2.3.6, define the service vector, using the symbol ea;

[0206] 2.3.7. Aggregate all service intermediate vectors and add all service intermediate vectors together. The result is represented by ta1+ta2+...+ta n express;

[0207] 2.3.8, define the service weighting coefficient, represented by the symbol √|AN|;

[0208] 2.3.9. Divide the result calculated in step 2.3.7 by the service weight coefficient and assign it to the service vector. The process is symbolically represented as ea = (ta1 + ta2 + ... + ta n ) / √|AN|;

[0209] 2.3.10, define the bundling vector, using the symbol em;

[0210] 2.3.11. Aggregate all the bundled intermediate vectors and add all the bundled intermediate vectors together. The result is represented by the symbol tm1+tm2+...+tm n express;

[0211] 2.3.12. Define the bundling weight coefficient, represented by the symbol √|MN|;

[0212] 2.3.13. Divide the result calculated in step 2.3.11 by the bundling weight coefficient and assign it to the bundling vector.

[0213] The process is symbolically represented as em = (tm1 + tm2 + ... + tm n ) / √|MN|;

[0214] Step 3: Based on the user vector, service vector and bundling vector, construct the user-service vector and user-bundling vector. The process is as follows:

[0215] 3.1. Concatenate user vectors and service vectors to construct user-service vectors.

[0216] In step 3.1, the process of constructing the user-service vector is as follows:

[0217] 3.1.1. Traverse the service data set and record the user obtained for the i-th time as u i ;

[0218] 3.1.2. Traverse the service data set and record the service obtained for the jth time as a j ;

[0219] 3.1.3. Constructing the user-service vector, using the symbol ua ij Represents and initializes it to an empty vector;

[0220] 3.1.4. Get u based on step 2 i and a j are the corresponding user vector and service vector, denoted by eu i and ea j express;

[0221] 3.1.5. Splicing EU i and ea j , assign the result to ua ij ;

[0222] 3.2. Concatenate the user vector and the bundle vector to construct the user-bundle vector;

[0223] In step 3.2, the process of constructing the user-bundling vector is as follows:

[0224] 3.2.1. Traverse the service data set and record the user obtained for the i-th time as u i ;

[0225] 3.2.2. Traverse the service data set and record the service combination obtained for the jth time as m j ;

[0226] 3.2.3. Constructing the user-bundle vector, using the symbol um ij Represents and initializes it to an empty vector;

[0227] 3.2.4. Get u based on step 2 i and m j are the corresponding user vector and bundle vector, denoted by eu i and em j express;

[0228] 3.2.5. Splicing EU i and em j , assign the result to um ij ;

[0229] Step 4: Calculate the bundle recommendation score using the user-service vector and the user-bundle vector, and make service recommendations based on the bundle recommendation score. The process is as follows:

[0230] 4.1. Bundle recommendation score: a real number in the interval [0,1], representing the probability of the service combination being recommended to the user. The higher the score, the greater the probability of being recommended.

[0231] 4.2. Calculate the bundle recommendation score: Based on the vector product of the user-service vector and the user-bundle vector, obtain the bundle recommendation score;

[0232] In step 4.2, the calculation process of the bundle recommendation score is as follows:

[0233] 4.2.1. Traverse the service data set and record the user obtained for the i-th time as u i ;

[0234] 4.2.2. Traverse the service data set and record the service obtained for the jth time as a j ;

[0235] 4.2.3. Traverse the service data set and record the kth service combination as m k ;

[0236] 4.2.4. Define bundle recommendation score ijk , and initialize it to 0;

[0237] 4.2.5. Based on step 3, we get the user-service vector and user-bundling vector, which are denoted by ua ij andum ik To express;

[0238] 4.2.6、Um ik Transpose, the result is represented by the symbol um ik T Indicates. Transpose is a mathematical operation in linear algebra, which refers to exchanging rows and columns of vectors or matrices. The symbol T represents the transpose operation;

[0239] 4.2.7 Calculation of ua ij with um ik T The product of ijk ;

[0240] 4.3. Recommend services based on bundle recommendation scores: Arrange service combinations according to bundle recommendation scores, take the top N1 service combinations with the highest scores, remove duplicate API services in the service combinations, and recommend the remaining API services to users, where N1 is the number of valid service combinations and N2 is the length of the service recommendation list;

[0241] In step 4.3, the service recommendation process is as follows:

[0242] 4.3.1. Create a candidate service combination set CM;

[0243] 4.3.2. Arrange the service combinations according to the bundling recommendation scores;

[0244] 4.3.3. The top N1 service combinations with the highest scores are merged into CM;

[0245] 4.3.4. Create a candidate service set CS;

[0246] 4.3.5. Traverse CM and record the API service obtained for the i-th time as a i ;

[0247] 4.3.6. If CS does not contain a i , and the number of API services contained in CS is less than N2, then a i Merge into CS. Otherwise, jump to step 4.3.5;

[0248] After the traversal is completed, the API services contained in CS are taken as the final service recommendation results.

[0249] This embodiment uses specific service data to analyze the actual effect of the invention:

[0250] 1) Based on the crawler technology, real service data is obtained from the Internet. The pre-processed service data is called the service experiment set. The service experiment set mainly consists of 4905 users, 37993 user interactions, 6206 service combinations, and 13329 API services. The specific information is as follows: Figure 2 shown.

[0251] 2) Select five representative recommendation methods as comparison methods:

[0252] 2.1) Popular method: A typical popularity-based service recommendation method.

[0253] 2.2) CrossCBR method: a bundle recommendation method based on cross-view contrastive learning.

[0254] 2.3) BundleNet method: a bundle recommendation method.

[0255] 2.4) BGCN method: a bundle recommendation method based on graph convolutional neural network.

[0256] 2.5) HCR method: a group-based recommendation method.

[0257] 3) Use HR indicators to evaluate the hit rate and accuracy of service recommendation results. The calculation method is as follows:

[0258]

[0259] Among them, HR index represents accuracy, R represents the prediction result of the service recommendation method, O represents the actual service interaction record, the symbol ∩ represents the intersection operation in mathematics, and the symbol || represents the size of the set. The larger the value of HR index, the better the accuracy of the recommendation. When the length of the service recommendation list is 10 or 20, the HR index can be recorded as HR@10 or HR@20.

[0260] 4) Use the ILR indicator to evaluate the diversity of service recommendation results. The calculation method is as follows:

[0261]

[0262] Among them, ILR represents the similarity within the list, R represents the prediction result of the service recommendation method, i and j are API services in R, sim is the similarity measurement function, and cosine similarity is used as the implementation. The larger the ILR index, the worse the diversity of the recommendation results.

[0263] 5) Randomly select 70% of the data in the service experiment set for training, and the remaining 30% of the data is used as test samples. Figure 3 As shown in Figure 3 Use underscores to mark.

[0264] 6) Analysis Figure 3 It can be seen that compared with the Popular method, CrossCBR method, BGCN method and HCR method, the present invention has better comprehensive service recommendation quality. The HR@10 index of the present invention reached 0.5375, ranking first among all the comparison methods, and the HR@20 index reached 0.5881, ranking second among all the comparison methods, which shows that the service recommendation results given by the present invention have good recommendation precision and accuracy. In addition, the ILR index of the present invention is only 0.6032, the lowest among all the comparison methods, which shows that the present invention has good recommendation diversity.

[0265] The contents described in the embodiments of this specification are merely enumerations of implementation forms of the inventive concept and are for illustrative purposes only. The protection scope of the present invention should not be considered to be limited to the specific forms described in this embodiment, and the protection scope of the present invention also extends to equivalent technical means that can be thought of by ordinary technicians in this field based on the inventive concept.

Claims

1. A service data bundling recommendation method based on cloud scenario service combination relationship, characterized in that: The method comprises the following steps: Step 1: Create a service dataset, extract the bundle recommendation layer, set the bundle recommendation relationship, and build the bundle interaction graph structure; Step 2: G ua , G am , G um Perform initial coding on the nodes in the , construct intermediate vectors using the initial coding results, weight and aggregate the intermediate vectors, and construct user vectors, service vectors, and bundling vectors; Step 3: Based on the user vector, service vector and bundling vector, construct a user-service vector and a user-bundling vector; Step 4: Calculate the bundle recommendation score using the user-service vector and the user-bundle vector, and make service recommendations based on the bundle recommendation score.

2. The service data bundling recommendation method based on cloud scenario service combination relationship according to claim 1, characterized in that: The process of step 1 is as follows: Step 1.1, create a service data set: collect API services, service combinations, and user information, and perform data cleaning to form a service data set; Step 1.2, extracting the bundle recommendation layer: extracting API services, service combinations and user information from the service data set, and constructing a bundle recommendation layer, including a single service layer, a service combination layer and a user layer; Step 1.3, set up bundled recommendation relationships: Based on step 1.2, set up bundled recommendation relationships between the single service layer, service combination layer, and user layer, including service call relationships and service combination relationships; Step 1.4, construct a bundled interaction graph structure: Based on step 1.3, the bundled recommendation relationship is converted into a bundled interaction graph structure, including a user-service graph, a user-bundle graph, and a service-bundle graph; a graph is a common data structure composed of nodes and edges.

3. The service data bundling recommendation method based on cloud scenario service combination relationship according to claim 2, characterized in that: In step 1.1, the service data set includes the following information: 1.1.1、API service: Service-oriented application programming interface API, whose attributes and functions are described by service description document and service label, represented by symbol a; 1.1.

2. Service description document: a document that describes and specifies the message type, operation, and port information in the API service, represented by the symbol w; 1.1.

3. Service tag: a short text describing the API service function type in natural language, represented by the symbol t; 1.1.

4. Service combination: A service formed by combining two or more API services, represented by the symbol m; 1.1.5 User: A developer who calls an API service or service combination, represented by the symbol u; In step 1.2, the bundle recommendation layer includes the following information: 1.2.

1. Bundling recommendation layer: The result of stratifying the service data set according to the bundling recommendation idea, which consists of a single service layer, a service combination layer, and a user layer; 1.2.

2. Single service layer: It is composed of all API services in the service data set and is represented by symbol A. There is a set relationship between the single service layer and the API service, which is formally defined as A = {a1, a2, …, a i }, where subscripts 1, 2, and i represent the distinction between different API services, and the symbol "..." represents the omission of enumeration; 1.2.

3. Service composition layer: It is composed of all service compositions in the service data set and is represented by the symbol M. There is a set relationship between the service composition layer and the service composition, which is formally defined as M = {m1,m2,…,m j }, where the subscripts 1, 2, and j indicate the distinction between different service combinations; 1.2.4 User layer: It is composed of all users in the service data set and is represented by the symbol U. There is a set relationship between the user layer and the users, which is formally defined as U = {u1,u2,…,u k }, where the subscripts 1, 2, and k represent the distinction between different users.

4. The service data bundling recommendation method based on cloud scenario service combination relationship according to claim 2, characterized in that: In step 1.3, the bundled recommendation relationship includes the following information: 1.3.

1. Service call relationship: There is a many-to-many relationship between A and U, which represents the user's call to the API service, represented by the symbol express; 1.3.

2. Service composition relationship: A is a many-to-many relationship between A and M, which indicates the composition association between API services, using the symbol express; In step 1.4, the construction process of the bundled interaction graph structure is as follows: 1.4.

1. Create a user-service graph, using symbol G ua Indicates that G ua The point set is symbolized by V ua Indicates that G ua The edge set of E ua express; 1.4.

2. Traverse the service call relationship and record the obtained service call relationship as 1.4.

3. If u does not belong to V ua , then merge u into V ua ; If a does not belong to V ua , then merge a into V ua ; 1.4.

4. Create an edge connecting u and a, using the symbol e ua express; 1.4.5 If e ua Not E ua , then e ua Will be incorporated into E ua ; 1.4.

6. Create a service-bundle diagram, using symbol G am Indicates that G am The point set is symbolized by V am express, G am The edge set of E am express; 1.4.

7. Traverse the service composition relationship and record the obtained service composition relationship as 1.4.

8. If m does not belong to V am , then merge m into V am ; If a does not belong to V am , then merge a into V am ; 1.4.

9. Create an edge connecting a and m, using the symbol e am express; 1.4.10, if e am Not E am , then e am Will be incorporated into E am ; 1.4.

11. Create a user-bundle diagram, using symbol G um Indicates that G um The point set is symbolized by V um express, G um The edge set of E um express; 1.4.

12. Traverse the service composition relationship and service call relationship, and record the obtained service call relationship and service composition relationship as and Subscripts 1 and 2 indicate the distinction between API services; 1.4.

13. If a1 and a2 are equal, the service call relationship and service combination relationship are merged into a bundled call relationship, using the symbol express; 1.4.

14. If u does not belong to V um , then merge u into V um ; If m does not belong to V um , then merge m into V um ; 1.4.

15. Create an edge connecting u and m, using the symbol e um express; 1.4.16, if e um Not E um , then e um Will be incorporated into E um .

5. The service data bundling recommendation method based on cloud scenario service combination relationship according to any one of claims 1 to 4, characterized in that: The process of step 2 is as follows: 2.

1. G ua , G am , G um Initial encoding of nodes in the graph: Use the encoder to initially encode the nodes in the graph and convert them into initial vectors. The encoder is a common deep learning technology and is often used to construct vector representations. 2.

2. Use the initial encoding result to construct the intermediate vector: traverse G ua , G am , G um , aggregate the initial vectors of u, a, and m neighbor nodes to construct the intermediate vector; 2.

3. Weighted aggregation of intermediate vectors to construct user vector, service vector and bundling vector: Based on step 2.2, tu, ta and tm are obtained, and weighted aggregation of tu, ta and tm is performed to construct user vector, service vector and bundling vector.

6. The service data bundling recommendation method based on cloud scenario service combination relationship according to claim 5, characterized in that: In step 2.1, the converted initial vector contains the following information: 2.1.1、User initial vector: vector representation of u, represented by symbol vu; 2.1.2 Service initialization vector: vector representation of a, represented by the symbol va; 2.1.

3. Bundling initial vector: vectorized representation of m, represented by the symbol vm; In step 2.2, the construction process of the intermediate vector is as follows: 2.2.

1. Traversing G ua , G am , G um , take out the u, a, m nodes; 2.2.2, using the symbol un i represents the first-order neighbor node of u. The subscript i is used to distinguish different neighbor nodes. The first-order neighbor node of u refers to the node directly connected to u. 2.2.

3. The symbol UN represents the first-order neighborhood of u. UN and un i There is a set relationship between them, formally defined as UN = {un1, un2, ..., un i }; 2.2.4, using the symbol an j represents the first-order neighbor node of a. The subscript j is used to distinguish different neighbor nodes. The first-order neighbor node of a refers to the node directly connected to a. 2.2.

5. Use the symbol AN to represent the first-order neighborhood of a. AN and an j There is a set relationship between them, formally defined as AN = {an1, an2, ..., an j }; 2.2.

6. Using the symbol mn k represents the first-order neighbor node of m. The subscript k is used to distinguish different neighbor nodes. The first-order neighbor node of m refers to the node directly connected to m. 2.2.

7. Use the symbol MN to represent the first-order neighborhood of m. MN and mn k There is a set relationship between them, formally defined as MN = {mn1, mn2, ..., mn k }; 2.2.

8. Based on step 2.1, the initial codes of all first-order neighbor nodes in UN, AN, and MN are obtained and represented by symbols vun, van, and vmn; 2.2.

9. Add the initial code of u and the initial codes of all first-order neighbor nodes in UN, and divide by |UN|. The result is defined as the user intermediate vector, denoted by the symbol tu; |UN| refers to the number of first-order neighbor nodes contained in UN; 2.2.

10. Add the initial code of a to the initial codes of all first-order neighbor nodes in AN, and divide by |AN|. The result is defined as the service intermediate vector, denoted by symbol ta. |AN| refers to the number of first-order neighbor nodes in AN. 2.2.

11. Add the initial code of m and the initial codes of all first-order neighbor nodes in MN, and divide by the modulus of |MN|. The result is defined as the bundled intermediate vector, denoted by the symbol tm; |MN| refers to the number of first-order neighbor nodes in MN; In step 2.3, the construction process of the user vector, service vector and bundling vector is as follows: 2.3.

1. Repeat step 2.2 N times. The intermediate vector obtained the Nth time is denoted by tu n ,ta n 、tm n It indicates that the subscript n is used to distinguish the intermediate vectors obtained; 2.3.2, define the user vector, using the symbol eu; 2.3.

3. Aggregate all the user intermediate vectors and add all the user intermediate vectors together. The result is represented by the symbol tu1+tu2+...+tu n express; 2.3.

4. Define the user weighting coefficient, using the symbol Indicates that Represents square root operation; 2.3.

5. Divide the result calculated in step 2.3.3 by the user weight coefficient and assign it to the user vector. The process can be expressed symbolically as "()" is a bracket in mathematics, used to indicate the priority of operations; 2.3.6, define the service vector, using the symbol ea; 2.3.

7. Aggregate all service intermediate vectors and add all service intermediate vectors together. The result is represented by ta1+ta2+...+ta n express; 2.3.

8. Define the service weighting coefficient, using the symbol express; 2.3.

9. Divide the result calculated in step 2.3.7 by the service weight coefficient and assign it to the service vector. The process can be expressed symbolically as 2.3.10, define the bundling vector, using the symbol em; 2.3.

11. Aggregate all the bundled intermediate vectors and add all the bundled intermediate vectors together. The result is represented by the symbol tm1+tm2+...+tm n express; 2.3.

12. Define the bundling weighting coefficient, using the symbol express; 2.3.

13. Divide the result calculated in step 2.3.11 by the bundling weight coefficient and assign it to the bundling vector. The process is symbolically represented as 7. The service data bundling recommendation method based on cloud scenario service combination relationship according to any one of claims 1 to 4, characterized in that: The process of step 3 is as follows: 3.

1. Concatenate user vectors and service vectors to construct user-service vectors. 3.

2. Concatenate the user vector and the bundle vector to construct the user-bundle vector.

8. The service data bundling recommendation method based on cloud scenario service combination relationship according to claim 7, characterized in that: In step 3.1, the process of constructing the user-service vector is as follows: 3.1.

1. Traverse the service data set and record the user obtained for the i-th time as u i ; 3.1.

2. Traverse the service data set and record the service obtained for the jth time as a j ; 3.1.

3. Constructing the user-service vector, using the symbol ua ij Represents and initializes it to an empty vector; 3.1.

4. Get u based on step 2 i and a j are the corresponding user vector and service vector, denoted by eu i and ea j express; 3.1.

5. Splicing EU i and ea j , assign the result to ua ij ; In step 3.2, the process of constructing the user-bundling vector is as follows: 3.2.

1. Traverse the service data set and record the user obtained for the i-th time as u i ; 3.2.

2. Traverse the service data set and record the service combination obtained for the jth time as m j ; 3.2.

3. Constructing the user-bundle vector, using the symbol um ij Represents and initializes it to an empty vector; 3.2.

4. Get u based on step 2 i and m j are the corresponding user vector and bundle vector, denoted by eu i and em j express; 3.2.

5. Splicing EU i and em j , assign the result to um ij .

9. The service data bundling recommendation method based on cloud scenario service combination relationship according to any one of claims 1 to 4, characterized in that: The process of step 4 is as follows: 4.

1. Bundle recommendation score: a real number in the interval [0,1], representing the probability of the service combination being recommended to the user. The higher the score, the greater the probability of being recommended. 4.

2. Calculate the bundle recommendation score: Based on the vector product of the user-service vector and the user-bundle vector, obtain the bundle recommendation score; 4.

3. Service recommendation based on bundle recommendation score: Arrange the service combinations according to the bundle recommendation score, take the top N1 service combinations with the highest scores, remove duplicate API services in the service combinations, and recommend the remaining API services to users; where N1 is the number of valid service combinations and N2 is the length of the service recommendation list.

10. The service data bundling recommendation method based on cloud scenario service combination relationship according to claim 9, characterized in that: In step 4.2, the calculation process of the bundle recommendation score is as follows: 4.2.

1. Traverse the service data set and record the user obtained for the i-th time as u i ; 4.2.

2. Traverse the service data set and record the service obtained for the jth time as a j ; 4.2.

3. Traverse the service data set and record the kth service combination as m k ; 4.2.

4. Define bundle recommendation score ijk , and initialize it to 0; 4.2.

5. Based on step 3, we get the user-service vector and user-bundling vector, which are denoted by ua ij and ik To express; 4.2.6、Um ik Transpose, the result is represented by the symbol um ik T Indicates; transposition is a mathematical operation in linear algebra, which refers to exchanging rows and columns of vectors or matrices. The symbol T is used to represent the transposition operation; 4.2.7 Calculation of ua ij with um ik T The product of ijk ; In step 4.3, the specific process of service recommendation is as follows: 4.3.

1. Create a candidate service combination set CM; 4.3.

2. Arrange the service combinations according to the bundling recommendation scores; 4.3.

3. The top N1 service combinations with the highest scores are merged into CM; 4.3.

4. Create a candidate service set CS; 4.3.

5. Traverse CM and record the API service obtained for the i-th time as a i ; 4.3.

6. If CS does not contain a i , and the number of API services contained in CS is less than N2, then a i Merge into CS; otherwise, jump to step 4.3.5; 4.3.

7. After the traversal is completed, the API services contained in CS are taken as the final service recommendation results.

Citation Information

Patent Citations

  • Graph model-based QoS prediction method applied to cloud service recommendation

    CN111553401A

  • A bundling recommendation method and system based on graph convolutional neural network

    CN111611472B

  • Bundle recommendation method based on multi-channel hypergraph neural network

    CN113177159B

  • A Web Service Combination Discovery Method for Water Conservancy Survey

    CN113343507B

  • Service recommendation method, electronic device and computer readable storage medium

    CN117131240B