Mining method of commodity promotion combination

The method uses (β,1)-core decomposition and pruning techniques to efficiently identify product promotion combinations in a bipartite graph, addressing the challenge of accurately bundling products for sales promotions in online shopping.

JP2025178195AActive Publication Date: 2025-12-05HANGZHOU DIANZI UNIV
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025085492
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-24
Filing Date
2025-05-22
Publication Date
2025-12-05
Estimated Expiration
2045-05-22

AI Technical Summary

Technical Problem

Existing methods for mining product promotion combinations in online shopping do not effectively meet the needs of stores conducting sales promotions, as they fail to accurately identify suitable product bundles that can attract more customers.

Method used

A method involving (β,1)-core decomposition, two-hop neighborhood set calculation, and priority queue-based enumeration to efficiently find dense subgraphs in a bipartite graph, limiting the number of nodes and using pruning techniques to accelerate the search for product promotion combinations.

Benefits of technology

The method provides accurate and efficient identification of product combinations that meet user requirements, enhancing the effectiveness of sales promotions by reducing search space and improving query efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025178195000001_ABST
    Figure 2025178195000001_ABST
Patent Text Reader

Abstract

To provide a mining method of a commodity promotion combination.SOLUTION: A mining method of a commodity promotion combination includes: a step 1 of performing (β,1)-core decomposition on initial commodity transaction network; a step 2 of calculating a two-hop neighboring aggregate of each commodity of a commodity aggregate in commodity transaction network, and sorting the aggregate in descending order; a step 3 of enumerating and filtering n pieces of higher maximum dense sub-graphs; and a step 4 of returning a query result. The number of one-type nodes is limited and retrieved, in a bipartite graph, on the basis of a pruning technique and a common neighbor biclique retrieval method, which makes the query result more accurate, and satisfies a special request of a user. An initial community is pruned, a common neighbor and a threshold min are introduced in a query process, operations such as a retrieval are previously finished and a retrieval process is accelerated.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention belongs to the field of computer applications, and particularly relates to a method for mining product promotion combinations. [Background technology]

[0002] In recent years, online shopping has become an indispensable part of consumers' lives, generating a large amount of shopping data. Shopping data includes user information and product information. Analysis data can capture user groups with similar interests, allowing us to recommend products and friends that may be of interest to users. User information, product information, and the relationships between them can be represented as a bipartite graph. Dense subgraph exploration in the bipartite graph field is a common means and method for exploring similar user groups. Currently, there are two main types of bipartite dense subgraph exploration: one is to search for dense subgraphs containing a specified user, and the other is to search all dense subgraphs in the entire bipartite graph.

[0003] Chinese Patent CN116957644A discloses a cross-marketing prediction method, which relates to the field of artificial intelligence technology. The method includes obtaining multiple recommended products for a customer, each of which belongs to a different category; using a pre-trained cross-marketing prediction model to predict the matching degree between each recommended product and the customer; sorting the matching degrees between the multiple recommended products and the customer; and recommending the top n recommended products sorted by matching degree to the customer. n is an integer greater than 1. However, in real life, neither of these two query methods can fully meet the specific needs of users. For example, stores commonly conduct regular sales promotions to attract customers. Bundling is a common marketing method, and bundling can attract more users. Therefore, selecting which products to include is an urgent problem for stores. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Chinese Patent Application Publication No. 116957644 Summary of the Invention [Problem to be solved by the invention]

[0005] SUMMARY OF THE INVENTION The object of the present invention is to provide a method for mining product promotion combinations to solve the above technical problems. [Means for solving the problem]

[0006] In order to solve the above technical problems, the present invention provides a method for mining product promotion combinations.

[0007] A method for mining product promotion combinations, comprising: Step 1: Performing (β,1)-core decomposition on the initial commodity trading network; Step 2: calculating and sorting a two-hop neighborhood set of each commodity in the commodity set in the commodity trading network in descending order; Step 3: Enumerate and filter the top n densest subgraphs; and step 4. returning the query results.

[0008] Preferably, step 1 specifically includes: Step 1.1 inputs a commodity trading bipartite graph G=(U,V,E), where U={u1,u2,u3,..,ui} represents a set of users, ui represents user i, V={v1,v2,v3,..,vi} represents a set of products, vi represents product i, E represents a single purchase of a product by a user, parameter β represents the number of products in the product combination, and n represents the output of the dense subgraph with the top n rankings; Step 1.2 of detecting the user set and product set that do not satisfy the degree constraint, which is to search, based on the (β, 1)-core definition, for the node set Ud in the user set U with degrees smaller than β and the node set Vd in the product set V with degrees smaller than 1, and to detect the edge set Ed connected to Ud or Vd in G, that is, Step 1.2; Step 1.3 of updating the user set and product set, which is to detect, according to Step 1.2, the user set Ud, product set Vd and edge set Ed that do not satisfy the degree constraint, update U = U / Ud, V = V / Vd, E = E / Ed, update the degrees of other nodes, and obtain the updated bipartite graph, that is, Step 1.3; Based on the bipartite graph obtained in Step 1.3, by deleting the nodes and edges that do not satisfy the degree constraint, the degrees of other nodes change again. Re-check whether the degrees of the nodes in the user set and product set satisfy the frequency condition. Repeat Step 1.2 and Step 1.3 until all users and products in the finally obtained bipartite graph G’=(U’, V’, E’) satisfy the degree constraint condition, that is, Step 1.4.

[0009] Preferably, said Step 2 is as follows: Based on the simplified bipartite graph G’ obtained in Step 1, represent the two-hop neighborhood of product v as Wv and initialize it to an empty set, and represent the two-hop neighborhood set of graph G’ as NN including the two-hop neighborhood of each product v and initialize it to an empty set, that is, Step 2.1; Step 2.2 of obtaining the two-hop neighborhood Wv of each product v in product V’; Step 2.3 of calculating the degree of each node in the two-hop neighborhood of product v, where in the bipartite graph G’, d(v) represents the degree of node v and the number of times product v is purchased, that is, Step 2.3; Step 2.4 of sorting the two-hop neighborhood of product v based on the node degree. Assume there are two products v1 and v2. If the degrees of the two nodes are different, if d(v1)>d(v2), sort the v1 node before the v2 node; if d(v1)<d(v2), sort the v2 node before the v1 node, and enter Step 2.5, that is, Step 2.4; When the degrees of two nodes are the same, i.e., d(v1)=d(v2), compare them based on the id numbers of the nodes. If v1.id < v2.id, then in step 2.5, the node order of v1 is placed before v2. Based on steps 2.4 and 2.5, assume that for the two-hop neighborhood v1, v2, v3 of product v, d(v1)=d(v2)<d(v3). If the number of purchases of product v3 is greater than that of product v2, then sort product v3 before product v2. If the degrees of v1 and v2 are equal but the id of v1 is smaller than that of v2, then sort v1 before v2 and set Wv = {v3, v1, v2} in step 2.5. Step 2.6: Reassign the sorted node set to Wv in the two-hop neighborhood set NN of graph G'. Repeat steps 2.3 - 2.6 until all products in the product set are accessed, and finally obtain the sorted two-hop neighborhood set NN used for searching candidate products in the subsequent process in step 2.7.

[0010] Preferably, step 2.2 includes: Step 2.2.1: Find the users who purchased product v and calculate the neighborhood nodes N(v) = {u1, u2, u3,...} of v for the users who purchased product v. Step 2.2.2: Calculate the other products purchased by the users who purchased product v. For each user u in N(v) obtained in step 2.2.1, calculate the products purchased by each user u and the neighborhood sets N(u1), N(u2), N(u3),... of u. Step 2.2.3: Calculate the two-hop neighborhood set of product v. Find the union of the neighborhood nodes N(u) of all users in step 2.2.2, and obtain the two-hop neighborhood Wv = N(u1) ∪ N(u2) ∪ N(u3) ∪... / {v} of product v. Insert Wv into the two-hop neighborhood set NN of graph G'. Step 2.2.4: Repeat steps 2.2.1 - 2.2.3 until the two-hop neighborhoods of all products v in product V' are calculated. [[ID=​​Preferably, step 3 comprises: Step 3.1: based on the simplified bipartite graph G' obtained in step 1, a priority queue C is used to store subgraphs that satisfy the maximal β-biclique condition, the size of C is n, and C is initialized to empty; a threshold min is used to store the minimum number of users in all subgraphs of queue C, and min is initialized to 0; Step 3.2, where each product v in the product set V' is sorted in descending order of degree, and the descending sorting rule is the same as the descending sorting rule of the two-hop neighborhood; Step 3.3, filtering one v of the products that can form a maximal β-biclique and enumerating the maximal β-bicliques that product v may form; Step 3.4 includes enumerating maximal β-bicliques for product v that satisfy step 3.3.3.

[0012] Preferably, step 3.3 comprises: Determine whether the number of users who purchased product v, N(v), is greater than min. If the number of users who purchased product v is less than or equal to the threshold min, it indicates that the maximal β-biclique including product v cannot be better than the currently known result. Therefore, directly exit this cycle and enter step 3.3.2. If the number of users who have purchased product v is greater than the threshold min, a second judgment is made for product v. If the current number of two-hop neighbors of product v, |Wv| < β-1, node u cannot necessarily construct a maximal β-biclique that satisfies the condition. Therefore, the current cycle ends and the node u enters step 3.3.3. Step 3.3.3: The number of two-hop neighbors of the current item v is β-1 or more, parameter CommonN stores the users who purchased all items in L, parameter L stores the selected item combination, parameter Wv is the two-hop neighbor set of the candidate item v, assign N(v) to CommonN, where L = {v}, search for Wv in NN and assign it to parameter Wv, and then enumerate the maximal β-bicliques that item v may form, and input the parameters to step 3.4. After completing the traversal of the product combinations of product v, update the set NN to prevent subsequent enumerations of the same maximal β-biclique (step 3.3.4). Steps 3.3.1 to 3.3.4 are repeated until all products that satisfy the condition are traversed and enumerated, and at this time, the dense subgraphs with the top n number of users are stored in the priority queue C, and the product combinations contained in these subgraphs are product promotion combinations.Step 3.3.5.

[0013] Preferably, step 3.4 comprises: Step 3.4.1. If the number of items in queue L is β, then go to step 3.4.1.1; if the number of items in queue L is less than β, then go to step 3.4.2; Step 3.4.2, where the number of items in queue L is less than β, selects an item vi in ​​set Wv to add to L, and updates the common neighborhood CommonN of queues Wv and L; and step 3.4.3, which terminates the program until all product combinations of product v have been enumerated.

[0014] Preferably, step 3.4.1 comprises: Step 3.4.1.1: Determine whether the number of users in the current set CommonN is greater than min, i.e., whether |CommonN|>min. If |CommonN|≦min, end this cycle and go to step 3.4.1.2. Determine the number of subgraphs in priority queue C. If the maximal β-biclique number of priority queue C is smaller than n-1, put the obtained dense subgraph directly into C. If the number of subgraphs in priority queue C is n-1, go to step 3.4.1.3. If the number of subgraphs in priority queue C is n, go to step 3.4.1.4. Step 3.4.1.2. Step 3.4.1.3: Put the obtained dense subgraph into C and assign the minimum number of subgraph users of C to min. Step 3.4.1.4 includes popping up the subgraph with the least number of users in the priority queue C, and adding the new subgraph to the priority queue C, and updating the parameter threshold min.

[0015] Preferably, step 3.4.2 comprises: Remove the selected items vi from Wv and repeat step 3.4.2.1 to avoid the generation of a maximal β-biclique. If the number of users in CommonN is less than or equal to min, then |CommonN|≦min indicates that the dense subgraph generated for the product combination in L cannot necessarily be better than the known result in the current priority queue C, and the traceback process is terminated in advance and step 3.4.2.3 is entered. Step 3.4.2.2; Step 3.4.2.3: Determine whether the total number of selected items in queue L and the total number of selectable items in Wv are smaller than β. If it is smaller than β, the number of nodes in queue L does not satisfy β, so the traceback process is terminated in advance and enters step 3.4.2.4. and Step 3.4.2.4, in which the updated product combination L, common neighborhood CommonN, and two-hop neighborhood Wv are input as parameters to Step 3.4.1.

[0016] Preferably, in step 4, the priority queue C is returned as the query result. [Effects of the Invention]

[0017] The product promotion combination mining method of the present invention has the following advantages: Based on pruning technology and common neighborhood biclique search method, the present invention limits the number of nodes of one type in a bipartite graph before performing a search, thereby making the query results more accurate and meeting the user's special requirements. Pruning is performed on the initial community, and common neighborhood and threshold min are introduced in the query process to accelerate the search process by terminating operations such as searching in advance. By limiting the number of nodes of one type and using pruning technology and common neighborhood technology, the present invention has higher query efficiency and the returned biclique is more suitable for realistic scenes. [Brief explanation of the drawings]

[0018] [Figure 1] 1 is an overall flowchart of the present invention. [Figure 2] FIG. 1 is an exemplary diagram of a commodity trading bipartite graph. [Figure 3] FIG. 1 is an exemplary diagram of a commodity trading bipartite graph after (2,1)-core pruning. [Figure 4] FIG. 10 is an exemplary diagram of a two-hop neighborhood set after sorting each product v in the product set. [Figure 5] FIG. 10 is an exemplary diagram of a recursion tree for the process of solving top-n maximal β-bicliques. [Figure 6] FIG. 10 is an exemplary diagram illustrating the change process of the threshold min and the priority queue C in the top n maximal β-bicliques. DETAILED DESCRIPTION OF THE INVENTION

[0019] In order to better understand the purpose, structure and function of the present invention, the product promotion combination mining method of the present invention will be described in more detail below in conjunction with the accompanying drawings.

[0020] In this invention, bipartite graph search is fully considered in the specific case where the number of nodes of one type in the bipartite graph is limited. When performing dense subgraph search on a bipartite graph, if the number of nodes (products) of one type is limited based on the number of product combinations set by the store, bipartite subgraphs containing many nodes (users) of other types are searched for, thereby determining product combinations with high sales. At the same time, a (β,1)-core pruning technique is used to reduce the search space, and a minimum threshold is used to reduce search branches during enumeration and terminate the search early, thereby improving overall search efficiency.

[0021] In this invention, products, users, and the purchasing relationships between them are represented by a bipartite graph G = (U, V, E). U = {u1, u2, u3, .., ui} represents a set of users, and ui represents user i. V = {v1, v2, v3, .., vi} represents a set of products, and vi represents product i. E represents a single purchase of a product by a user. The parameter β represents the number of products in a product combination, and n indicates that the ranking will ultimately output the top n dense subgraphs. In this invention, a β-biclique is used to describe a user's purchasing behavior for a certain product combination. Specifically, a β-biclique includes two types of nodes L and R, where L ⊂ U, R ⊂ V, |L| ≥ 1, and |R| = β (|L| and |R| represent the number of nodes in sets L and R, respectively). Each node in L is connected to each node in R. For example, in a commodity trading dense graph {u1, v1, v2}, if user u1 purchases commodities v1 and v2 and the number of commodities in the set {v1, v2} is 2, then the dense graph is a 2-biclique.

[0022] A maximal β-biclique must satisfy the following two conditions: (1) It satisfies the β-biclique definition. (2) A β-biclique M containing two types of nodes L1 and R1 is maximal, and L1 ⊂ L2 and R1 = R2 if and only if there is no other β-biclique M' containing two types of nodes L2 and R2. Assume that there are only 2-bicliques M1 = {u1, u2, u3, v1, v2}, M2 = {u1, u2, v1, v2}, and M3 = {u2, u3, v1, v2} that contain the set of products {v1, v2}. Since {u1, u2} and {u2, u3} are all contained in {u1, u2, u3}, M1 is a maximal 2-biclique that contains the products {v1, v2}. Our goal is to return the top n densest subgraphs. Returning the top n maximal β-bicliques means returning the top n maximal β-bicliques with |Ui| (the number of Ui nodes) for all maximal β-bicliques {B1,B2,B3,...} in graph G and the U-type nodes {U1,U2,U3,...} contained therein. For example, assuming that the product combination is V1={v1,v2}, V2={v1,v3}, and V3={v2,v3}, return the maximal 2-biclique. Assuming that maximal 2-biclique B1={u2,v1,v2} containing V1, maximal 2-biclique B2={u2,u3,v1,v3} containing V2, and maximal 2-biclique B3={u1,u2,u3,v2,v3} containing V3, if B3 has the most users among B1, B2, and B3, i.e., the most users have purchased the product combination {v2,v3}, then B3 will be returned as the result.

[0023] A dense bipartite graph (β,1)-core contains two types of nodes L and R, where L ⊂ U and R ⊂ V. The degree d(u) of each user u in the L set (d(u) represents the degree of user u, i.e., the number of products purchased by user u) is ≧ β, and the degree d(v) of each product v in the R set is ≧ 1. As can be seen from the above definition of a β-biclique, a β-biclique contains two types of nodes L and R, where L ⊂ U and R ⊂ V, and the degree d(u) of user u in the L set is β, and the degree d(v) of each product v in the R set is ≧ 1. As can be seen from this, a β-biclique is always included in the (β,1)-core. Therefore, by performing a (β,1)-core decomposition on the bipartite graph G = (U, V, E), we can filter out nodes that do not satisfy the conditions and further reduce the search space.

[0024] In this invention, we use a (β,1)-core pruning technique to pre-prune the search space, and use a threshold (the minimum number of users in the top n subgraphs) and a common neighborhood (all users who purchased the product {v1, v2, ...}) to pre-terminate the traceback process and avoid generating all maximal β-bicliques, so that the top n maximal β-bicliques can be efficiently searched.

[0025] This invention proposes a dense subgraph search method that limits the number of nodes (products) of one type, and proposes techniques such as (β,1)-core pruning and threshold pruning to accelerate the query process.

[0026] Specifically, the method for mining product promotion combinations of the present invention includes the following steps:

[0027] Step 1: Perform (β,1)-core decomposition on the initial commodity trading network. In this step, nodes and edges of the bipartite graph are effectively pruned, reducing the subsequent search space and accelerating search efficiency. For example, if the number of commodity combinations is 2 and a user purchases only one commodity, this user cannot be included in the dense subgraph with 2 commodities, so the bipartite graph is pruned directly.

[0028] Step 1.1: Input a commodity trading bipartite graph G = (U, V, E), where U = {u1, u2, u3, .., ui} represents the set of users, and ui represents user i. V = {v1, v2, v3, .., vi} represents the set of products, and vi represents product i. E represents a single purchase of a product by a user. The parameter β represents the number of products in the product combination, and n represents the output of the dense subgraph with the top n rankings.

[0029] Step 1.2: Detect user sets and product sets that do not satisfy the degree constraint. Based on the (β,1)-core definition, search for node set Ud in user set U whose degree is less than β and node set Vd in product set V whose degree is less than 1, and then detect edge set Ed connected to Ud or Vd in G. For example, by performing (2,1)-core decomposition, filter users who have purchased two or more products and products that have been purchased one or more times. Traverse user set {u1, u2, u3} and assume that user u1 has purchased fewer than two products, then Ud = {u1}. Similarly, traverse products {v1, v2, v3} in the product set, and if product v1 has never been purchased by the user, then Vd = {v1}. Detect edges Ed connected to user u1 or product v1.

[0030] Step 1.3: Update the user set and product set. Step 1.2 detects the user set Ud, product set Vd, and edge set Ed that do not satisfy the degree constraint. Update U=U / Ud, V=V / Vd, and E=E / Ed, and update the degrees of other nodes. After this step, the updated bipartite graph is obtained. For example, in the example of step 1.2, update U=U / Ud={u2,u3}, V=V / Vd={v2,v3}, and E=E / Ed.

[0031] Step 1.4: Based on the bipartite graph obtained in Step 1.3, if we delete nodes and edges that do not satisfy the degree constraint, the degrees of other nodes will change again. Therefore, we need to recheck whether the degrees of the nodes in the user set and product set satisfy the degree condition. That is, we repeat Steps 1.2 and 1.3 until all users and products in the finally obtained bipartite graph G' = (U', V', E') satisfy the degree constraint.

[0032] Step 2: Calculate the two-hop neighborhood set of each commodity in the commodity set in the commodity trading network and sort it in descending order. After obtaining the pruned graph G' = (U', V', E') in Step 1, calculate the two-hop neighborhood set Wv = {v1, v2, v3, ...} for any one commodity v in V'. Assume that commodity v1 is purchased by user (u1, u2), user u1 purchases commodity (v1, v2), and user u2 purchases commodity (v1, v3). The two-hop neighborhood of v1 represents the set of other commodities purchased by the user who purchased commodity v1, i.e., Wv = {v2, v3}. The dense subgraph generated for nodes with higher degrees is likely to contain a larger number of other types of nodes. For example, a dense subgraph generated by combining commodities frequently purchased by users often has a large number of users. Therefore, after calculating Wv, sort the nodes in the set Wv in descending order based on the node degrees. The sorted result facilitates subsequent searches.

[0033] Step 2.1: Based on the simplified bipartite graph G' obtained in step 1, the two-hop neighborhood of item v is denoted by Wv and initialized to an empty set. The two-hop neighborhood set of graph G' is denoted by NN, which contains the two-hop neighborhood of each item v, and initialized to an empty set.

[0034] Step 2.2: Find the two-hop neighborhood Wv of each item v in item V'.

[0035] Step 2.2.1: Find users who have purchased product v. Calculate users who have purchased product v, that is, the neighboring nodes N(v) = {u1, u2, u3, ...} of v.

[0036] Step 2.2.2: Calculate other products purchased by users who purchased product v. For each user u in N(v) obtained in step 2.2.1, calculate the products purchased by each user u, i.e., the neighborhood set N(u1), N(u2), N(u3), ... of u.

[0037] Step 2.2.3: Compute the two-hop neighborhood set of item v. Calculate the union of all users' neighbor nodes N(u) in step 2.2.2 to obtain the two-hop neighborhood Wv = N(u1)∪N(u2)∪N(u3)∪... / {v} of item v. Insert Wv into the two-hop neighborhood set NN of graph G'.

[0038] Step 2.2.4: Repeat steps 2.2.1 to 2.2.3 until the two-hop neighborhood of each item v in item V' is calculated.

[0039] Step 2.3: Calculate the degree of each node in the two-hop neighborhood of product v. In the bipartite graph G', d(v) represents the degree of node v, i.e., the number of times product v has been purchased. For example, if v's two-hop neighborhood Wv={v1,v2,v3}, calculate d(v1), d(v2), and d(v3).

[0040] Step 2.4: Sort the two-hop neighborhood of product v based on the node degree. Assume there are two products v1 and v2. If the degrees of the two nodes are different, if d(v1) > d(v2), sort the v1 node before the v2 node; if d(v1) < d(v2), sort the v2 node before the v1 node. Conversely, proceed to Step 2.5.

[0041] Step 2.5: If the degrees of the two nodes are the same, that is, when d(v1) = d(v2), it is necessary to compare based on the node id number. If v1.id < v2.id, set the node order of v1 before v2. Based on Step 2.4 and Step 2.5, assume that for the two-hop neighborhood v1, v2, v3 of product v, d(v1) = d(v2) < d(v3). If the purchase frequency of product v3 is greater than that of product v2, sort product v3 before product v2. If the degrees of product v1 and product v2 are equal but the id of product v1 is smaller than that of product v2, sort v1 before v2, that is, make Wv = {v3, v1, v2}.

[0042] Step 2.6: Reassign the sorted node set to Wv in the two-hop neighborhood set NN of graph G'.

[0043] Step 2.7: Repeat Steps 2.3 to 2.6 until all products in the product set are accessed. Finally, obtain the sorted two-hop neighborhood set NN. NN is used to search for candidate products in subsequent processes and is beneficial for reducing the search space and accelerating the search process.

[0044] Step 3: Enumerate and filter the top n maximum dense subgraphs. Based on Step 2, in the present invention, for each product v in the set V', it starts to determine whether a maximal β-biclique can be generated. Then, the product v that meets the conditions and its candidate products Wv are combined in order, and the maximal β-biclique generated by each product combination is solved. In the solving process, the number of common neighbors of the product combination is compared with the threshold min. If the number of common neighbors is smaller than the threshold, it can be pruned in advance. This step can effectively accelerate the search process of the maximal β-biclique and reduce the number of backtracking branches.

[0045] Step 3.1: Based on the simplified bipartite graph G' obtained in Step 1, use the priority queue C to store the subgraphs that meet the maximal β-biclique condition. The size of C is n and C is initialized to be empty. Use the threshold min to store the minimum value of the number of users in all subgraphs of the queue C, and initialize min to 0.

[0046] Step 3.2: Sort each product v in the product set V' in descending order of degree. The descending sort rule of this step is the same as the descending sort rule of the two-hop neighborhood. For example, if there are products v1, v2, v3 in V'. Calculate d(v1)=d(v2)<d(v3), and based on the sort rule, V' changes from {v1, v2, v3} to {v3, v1, v2}.

[0047] Step 3.3: Filter one of the products v that can form a maximal β-biclique and enumerate the maximal β-bicliques that the product v may form.

[0048] Step 3.3.1: Determine whether the number of users who purchased product v, i.e., N(v), is greater than min. If the number of users who purchased product v is less than or equal to the threshold min, this indicates that the maximal β-biclique including product v cannot be superior to the currently known result, so directly terminate this cycle. Conversely, go back to step 3.3.2.

[0049] Step 3.3.2: If the number of users who have purchased product v is greater than the threshold min, a second judgment is made for product v. If the current number of two-hop neighbors of product v, i.e., |Wv|<β-1, node u cannot necessarily construct a maximal β-biclique that satisfies the condition, and the cycle ends. Conversely, step 3.3.3 is entered.

[0050] Step 3.3.3: The number of two-hop neighbors of the current product v is greater than or equal to β-1. The parameter CommonN stores the users who purchased all products in L, the parameter L stores the selected product combination, and the parameter Wv is the two-hop neighbor set of the candidate product v. Assign N(v) to CommonN, where L = {v}, search for Wv from NN, and assign it to the parameter Wv. Then, enumerate the maximal β-bicliques that product v may form, i.e., input the parameters to step 3.4.

[0051] Step 3.3.4: After completing the traversal of the product combinations of product v, update the set NN to prevent the same maximal β-biclique from being enumerated subsequently.

[0052] Step 3.3.5: Repeat steps 3.3.1 to 3.3.4 until all products that satisfy the condition are traversed and enumerated. At this time, the dense subgraphs with the top n number of users are stored in the priority queue C, and the product combinations included in these subgraphs are product promotion combinations.

[0053] Step 3.4: Enumerate maximal β-bicliques for product v that satisfy step 3.3.3.

[0054] Step 3.4.1: If the number of items in queue L is β, then enter step 3.4.1.1. If the number of items in queue L is less than β, then enter step 3.4.2.

[0055] Step 3.4.1.1: Determine whether the number of users in the current set CommonN is greater than min, i.e., whether |CommonN|>min. If |CommonN|≦min, end this cycle and return to step 3.4.1.2.

[0056] Step 3.4.1.2: Determine the number of subgraphs in priority queue C. If the maximal β-biclique number of priority queue C is less than n-1, put the obtained dense subgraph directly into C. If the number of subgraphs in priority queue C is n-1, go to step 3.4.1.3. If the number of subgraphs in priority queue C is n, go to step 3.4.1.4.

[0057] Step 3.4.1.3: Put the obtained dense subgraph into C and assign the minimum number of subgraph users of C to min.

[0058] Step 3.4.1.4: Pop up the subgraph with the smallest number of users in priority queue C, and add the new subgraph to priority queue C, and update the parameter threshold min. For example, assuming β is 2, min is 2, and n is 2, queue C already has two subgraphs: s1 (s1 has 2 users) and s2 (s2 has 3 users). If the selected product is L = {v1, v2} and CommonN = {u1, u2, u3}, it can be seen that the number of users is 3, which is greater than min, and C already has two subgraphs, so remove s1 from queue C, insert the new subgraph into C, and update min to 3.

[0059] Step 3.4.2: If the number of items in queue L is less than β, select item vi in ​​set Wv and add it to L, and update the common neighborhood CommonN of queues Wv and L.

[0060] Step 3.4.2.1: Remove the selected items vi from Wv to avoid generating repeated maximal β-bicliques.

[0061] Step 3.4.2.2: If the number of users in CommonN is less than or equal to min, i.e., |CommonN|≦min, it means that the dense subgraph generated for the product combination in L cannot necessarily be better than the known result in the current priority queue C, and the traceback process can be terminated in advance. Conversely, we enter Step 3.4.2.3.

[0062] Step 3.4.2.3: Determine whether the total number of selected items in queue L and the total number of selectable items in Wv are less than β. If it is less than β, the number of nodes in queue L does not satisfy β, so the traceback process can be terminated in advance. Conversely, proceed to step 3.4.2.4.

[0063] Step 3.4.2.4: Enter the updated product combination L, common neighborhood CommonN, and two-hop neighborhood Wv as parameters in Step 3.4.1. For example, assuming β is 2, min is 2, and n is 2, queue C already contains two subgraphs: s1 (the number of users of s1 is 2) and s2 (the number of users of s2 is 3). The selected products are L = {v1}, CommonN = {u1, u2, u3, u4}, and Wv = {v2, v3}. If the number of products is less than 2 and the number of users who purchased product v1 is greater than threshold 2, add v2 to L, update L = {v1, v2}, CommonN = {u1, u2, u3}, and Wv = {v3}, and enter Step 3.4.1 again as parameters.

[0064] Step 3.4.3: The program ends until all product combinations of product v have been enumerated.

[0065] Step 4: Return the query results, The query returns priority queue C.

[0066] Working Example: As shown in FIG. 1, this embodiment includes the following steps:

[0067] Step 1: Perform (β,1)-core decomposition on the initial commodity trading network.

[0068] Step 1.1: Input the initial bipartite graph G = (U, V, E) shown in Figure 2. U = {u1, u2, u3, u4, u5, u6, u7} represents the set of users, and ui represents user i. V = {v1, v2, v3, v4, v5} represents the set of products, and vi represents product i. E represents the user's product purchase behavior. The number of products in the product combination is required to be 2, and the top two dense subgraphs are finally output.

[0069] Steps 1.2 and 1.3: Perform core decomposition on the bipartite graph G = (U, V, E). Find a node set Ud in the user set U whose degree is less than β, and update U = U / Ud. Find a node set Vd in the product set V whose degree is less than 1, and update V = V / Vd. Remove the edge set Ed connected to Ud or Vd in G from E, i.e., E = E / Ed. Update the degrees of other nodes. This step results in the updated bipartite graph G. Taking Figure 2 as an example, if the parameter β is set to 2, users who have purchased more than 2 products and products whose purchase count is more than 1 are filtered. Traversing the user set, the number of products purchased by user u7 is 1, which is less than 2, and therefore does not satisfy the condition, i.e., it corresponds to the gray node in Figure 2, where Ud = {u7} and U = U / Ud = {u1, u2, u3, u4, u5, u6}. Similarly, as can be seen from the result of traversing the product set, all products are purchased and V = V / Vd = {v1, v2, v3, v4, v5}. The edge Ed = {(u7, v4)} connected to node u7 in E, i.e., the dashed line in Figure 2, is deleted from E, and the degree of v4 is updated to 4.

[0070] Step 1.4: The bipartite graph G' obtained based on Step 1.2 and Step 1.3 is shown in Figure 3. By deleting nodes and edges that do not satisfy the degree constraint, the degree of v4 product will change again. We need to repeat Step 1.2 and recheck whether the degrees of nodes in set V and union U satisfy the degree constraint. If the calculation shows that all node degrees satisfy the condition, the program will terminate. Figure 3 shows the result after the (2,1)-core decomposition of Figure 2.

[0071] Step 2: Compute the two-hop neighborhood set of each commodity in the commodity set in the commodity trading network and sort it in descending order.

[0072] Step 2.1: Based on the simplified bipartite graph G' obtained in step 1, as shown in Figure 3, denote the two-hop neighborhood of item v by Wv, and denote the two-hop neighborhood set of graph G' by NN, which contains the two-hop neighborhood of each item v.

[0073] Step 2.2: Find the two-hop neighborhood Wv of each item v in V'. For example, consider item v2. The users who purchased item v are N(v2) = {u2, u3, u4, u5, u6}. We solve for the items purchased by each user in N(v2): N(u2) = {v1, v2, v3}, N(u3) = {v2, v3, v4}, N(u4) = {v2, v3, v4, v5}, N(u5) = {v2, v3, v4, v5}, N(u6) = {v2, v5}. Then, we find the union of the items purchased by all users, and obtain Wv = N(u2) ∪ N(u3) ∪ N(u4) ∪ N(u5) ∪ N(u6) / {v2} = {v1, v3, v4, v5}.

[0074] Step 2.3: Calculate the degree of each node in the two-hop neighborhood of item v. As a result of calculating Wv = {v1, v3, v4, v5} generated by step 2.2, the degrees of item v in Wv are 2, 5, 4, and 3, respectively.

[0075] Step 2.4: Sort the degrees calculated in step 2.3 to obtain d(v3)>d(v4)>d(v5)>d(v1). If the degrees of each node are different, skip step 2.5. The node set after descending sorting is Wv = {v3, v4, v5, v1}.

[0076] Step 2.6: The node set Wv = {v3, v4, v5, v1} after descending sorting is reassigned to Wv in the two-hop neighbor set NN of graph G'.

[0077] Step 2.7: Repeat steps 2.3 to 2.6 until all items in the product set have been accessed. Finally, a sorted two-hop neighborhood set NN is obtained. The NN can be used to search for candidate items in subsequent steps, and is advantageous in reducing the search space and accelerating the search process. The two-hop neighborhood set solved in Figure 3 is shown in Figure 4.

[0078] Step 3: Enumerate and filter the top n densest subgraphs.

[0079] Step 3.1: The simplified bipartite graph G' obtained in Step 1 is shown in Figure 3. A priority queue C is used to store the subgraphs that satisfy the maximal β-biclique condition. The size of C is n and C is initialized to empty. A threshold min is used to store the minimum number of users in all subgraphs of queue C and C is initialized to 0.

[0080] Step 3.2: Product set V' contains products v1, v2, v3, v4, and v5. The calculated degrees are 2, 5, 5, 4, and 3, respectively. d(v2)=d(v3)>d(v4)>d(v5)>d(v1), and based on the sorting rule, V' changes from {v1, v2, v3, v4, v5} to {v2, v3, v4, v5, v1}.

[0081] Step 3.3: Figure 5 shows a recursive tree for enumerating the top two maximal 2-bicliques of graph G'. Each tree node includes a node name ri (ri represents the ith tree node) and a node content. The node content is represented by a triplet (CommonN, L, Wv). The three parameters are the user who purchased item set L, the selected item set L, and the two-hop neighborhood of item L, respectively. Store CommonN and L as subgraphs in queue C. Dashed boxes represent nodes that can be pruned directly, solid boxes represent nodes that can be further expanded, and gray boxes represent nodes that can add CommonN and L as subgraphs to queue C. Initialize the root node r0, CommonN = {u1, u2, u3, u4, u5, u6}, and L as the empty set. As seen from step 3.2, Wv = V' = {v2, v3, v4, v5, v1}.

[0082] Step 3.3.1: Product v2 is selected as the most desired product, and the number of users who purchased product v2 is 5, which is greater than min, so step 3.3.2 is skipped.

[0083] Step 3.3.3: If the number of two-hop neighbors of the current item v2 is 4 and is greater than 2, assign N(v2) to CommonN={u2,u3,u4,u5,u6}, and input L={v2}, Wv={v3,v4,v5,v1}, i.e., the content of tree node r1, as parameters to step 3.4.

[0084] Step 3.3.4: After completing the traversal of the product combinations for product v2, we need to update the set NN and update Wv={v4,v5,v1} for v3, update Wv={v3,v5,v1} for v4, update Wv={v3,v4,v1} for v5, and update Wv={v3,v4,v5} for v1 to prevent subsequent enumeration of the same maximal β-biclique.

[0085] Step 3.3.5: Repeat steps 3.3.1 to 3.3.4, select product v3, and update CommonN = {u1, u2, u3, u4, u5}, L = {v3}, and Wv = {v4, v5, v1}, as shown in tree node r5. Because the number of products is less than 2, add product v4 and update CommonN = {u1, u3, u4, u5}, L = {v3, v4}, and Wv = {v5, v1}. At this time, the value of L is 2, and the value of CommonN is 4, which is greater than the threshold value 3. Therefore, remove r3 from C and add r6 to C, modifying the value of min to 4. This process is repeated until all branches starting from v3 have been processed. If a subgraph generated by any subsequent product combination has a CommonN greater than 4, it is pruned directly.

[0086] Then, products v4, v5, and v1 are selected and enumerated, and this process ends when all product combinations have been enumerated. At this time, the dense subgraphs ranked in the top two by number of users are stored in the priority queue C, and the product combinations in the dense subgraph can be used as product promotion combinations. Figure 6 shows the changes in min and queue C during the process of processing all nodes.

[0087] Step 3.4: Perform maximal β-biclique enumeration for item v2 that satisfies step 3.3.3. The r1 tree node queue L input from step 3.3.3 has only one item, which is less than two items. Therefore, select item v3 from Wv and add it to queue L, and update CommonN = {u2, u3, u4, u5}, L = {v2, v3}, and Wv = {v4, v5, v1}. Then, recursion is performed again with CommonN, L, and Wv as traceback parameters, i.e., shown in the r2 tree node. The number of items at the r2 tree node is two, and the priority queue C does not contain any subgraphs. Therefore, the subgraph generated by r2 is directly saved in C, this traceback is terminated, and the information is restored to r1 in Figure 5. Since the number of items in r1 is less than two, item v4 needs to be added again. Update CommonN={u3,u4,u5}, L={v2,v4}, Wv={v5,v1}, and recurse again, as shown in the r3 tree node. Since the number of C is 1, add the subgraph generated by r3 directly to C, update min to 3, terminate the traceback this time, and restore the information to r1. Then add product v5, and since the common number of L={v2,v5} is 3, which is equal to the minimum threshold min, prune directly. You can also prune L={v2,v1} directly, which will process all branches from v2.

[0088] Step 4: Return the subgraph generated by r1 and r6 in the priority queue C as the final query result. As can be understood, the present invention has been described with reference to several embodiments, and those skilled in the art will recognize that these features and embodiments can be modified or substituted with equivalents without departing from the spirit and scope of the present invention. Furthermore, under the teachings of the present invention, these features and embodiments can be modified to adapt to particular situations and materials without departing from the spirit and scope of the present invention. Therefore, the present invention is not limited to the specific embodiments disclosed herein, and all embodiments falling within the scope of the claims of this application are within the scope protected by the present invention.

[0089] (Addendum) (Appendix 1) A method for mining product promotion combinations, comprising: Step 1: Performing (β,1)-core decomposition on the initial commodity trading network; Step 2: calculating and sorting a two-hop neighborhood set of each commodity in the commodity set in the commodity trading network in descending order; Step 3: Enumerate and filter the top n densest subgraphs; and step 4. returning the query results.

[0090] (Appendix 2) Specifically, step 1 includes: Step 1.1 inputs a commodity trading bipartite graph G=(U,V,E), where U={u1,u2,u3,..,ui} represents a set of users, ui represents user i, V={v1,v2,v3,..,vi} represents a set of products, vi represents product i, E represents a single purchase of a product by a user, parameter β represents the number of products in the product combination, and n represents the output of the dense subgraph with the top n rankings; Step 1.2 of detecting user sets and product sets that do not satisfy the degree constraint, in which, based on the (β, 1)-core definition, a node set Ud in the user set U whose degree is less than β and a node set Vd in the product set V whose degree is less than 1 are searched for, and an edge set Ed connected to Ud or Vd in G is found; Step 1.3 of updating the user set and the product set, in which step 1.2 detects the user set Ud, the product set Vd, and the edge set Ed that do not satisfy the degree constraint, updates U=U / Ud, V=V / Vd, E=E / Ed, and updates the degrees of other nodes, and obtains an updated bipartite graph through this step; Based on the bipartite graph obtained in Step 1.3, deleting nodes and edges that do not satisfy the degree constraint causes the degrees of other nodes to change again, and it is necessary to recheck whether the degrees of the nodes in the user set and the product set satisfy the frequency condition. That is, Steps 1.2 and 1.3 are repeated until all users and products in the finally obtained bipartite graph G’ = (U’, V’, E’) satisfy the degree constraint condition. This is characterized by the method for mining product promotion combinations described in Appendix 1.

[0091] (Appendix 3) Specifically, Step 2 is as follows: Based on the simplified bipartite graph G’ obtained in Step 1, representing the two-hop neighborhood of product v as Wv and initializing it to an empty set, and initializing the two-hop neighborhood set of graph G’ as NN including the two-hop neighborhood of each product v to an empty set in Step 2.1; Finding the two-hop neighborhood Wv of each product v in product V’ in Step 2.2; Calculating the degree of each node in the two-hop neighborhood of product v in Step 2.3. In the bipartite graph G’, d(v) represents the degree of node v, that is, the number of times product v has been purchased. Sorting the two-hop neighborhood of product v based on the node degree in Step 2.4. Assuming there are two products v1 and v2, if the degrees of the two nodes are different, when d(v1) > d(v2), sort the v1 node before the v2 node; when d(v1) < d(v2), sort the v2 node before the v1 node, and conversely enter Step 2.5 in Step 2.4. When the degrees of two nodes are the same, that is, when d(v1) = d(v2), it is necessary to compare based on the id numbers of the nodes. In step 2.5, if v1.id < v2.id, the node order of v1 is set before v2. Based on steps 2.4 and 2.5, assume that for the two-hop neighborhood v1, v2, v3 of product v, d(v1) = d(v2) < d(v3). If the number of purchases of product v3 is greater than that of product v2, then sort product v3 before product v2. If the degrees of v1 and v2 are equal but the id of v1 is smaller than that of v2, then sort v1 before v2, that is, step 2.5 to make Wv = {v3, v1, v2}. Step 2.6 of reassigning the sorted node set to Wv in the two-hop neighborhood set NN of graph G'. Repeat steps 2.3 to 2.6 until all products in the product set are accessed, and finally step 2.7 of obtaining the sorted two-hop neighborhood set NN used for searching candidate products in subsequent processes, which is the method for mining product promotion combinations described in Appendix 1, characterized by this.

[0092] (Appendix 4) Specifically, step 2.2 is as follows:[[]] Step 2.2.1 of finding the users who purchased product v and calculating the neighborhood nodes N(v) = {u1, u2, u3,...} of product v, that is, the users who purchased product v. Calculate the other products purchased by the users who purchased product v, and for each user u in N(v) obtained in step 2.2.1, calculate the neighborhood sets N(u1), N(u2), N(u3),... of the products purchased by each user u, that is, step 2.2.2. Calculate the two-hop neighborhood set of product v, find the union of the neighborhood nodes N(u) of all users in step 2.2.2, obtain the two-hop neighborhood Wv = N(u1) ∪ N(u2) ∪ N(u3) ∪... / {v} of product v, and insert Wv into the two-hop neighborhood set NN of graph G', that is, step 2.2.3. and step 2.2.4 of repeating steps 2.2.1 to 2.2.3 until the two-hop neighborhood of each product v in product V' is calculated.

[0093] (Appendix 5) Specifically, step 3 includes: Step 3.1: based on the simplified bipartite graph G' obtained in step 1, a priority queue C is used to store subgraphs that satisfy the maximal β-biclique condition, the size of C is n, and C is initialized to empty; a threshold min is used to store the minimum number of users in all subgraphs of queue C, and min is initialized to 0; Step 3.2, where each item v in the item set V' is sorted in descending order of degree, and the descending sorting rule of this step is the same as the descending sorting rule of the two-hop neighborhood; Step 3.3, filtering one v of the products that can form a maximal β-biclique and enumerating the maximal β-bicliques that product v may form; 3.4. Enumerating maximal β-bicliques for product v that satisfy step 3.3.3.

[0094] (Appendix 6) Specifically, step 3.3 includes: Determine whether the number of users who purchased product v, i.e., N(v), is greater than min. If the number of users who purchased product v is less than or equal to the threshold min, it indicates that the maximal β-biclique including product v cannot be superior to the currently known result. Therefore, directly end this cycle and go back to step 3.3.1 and then go back to step 3.3.2. If the number of users who have purchased product v is greater than the threshold min, a second judgment is made for product v. If the current number of two-hop neighbors of product v, i.e., |Wv|<β-1, node u inevitably cannot construct a maximal β-biclique that satisfies the condition, so it ends this cycle and goes back to step 3.3.3. Step 3.3.2. Step 3.3.3: the number of two-hop neighbors of the current item v is greater than or equal to β-1, parameter CommonN stores the users who have purchased all items in L, parameter L stores the selected item combination, parameter Wv is the two-hop neighbor set of the candidate item v, assign N(v) to CommonN, where L={v}, search for Wv in NN and assign it to parameter Wv, and enumerate the maximal β-bicliques that item v may form, i.e., input the parameter to step 3.4; After completing the traversal of the product combinations of product v, update the set NN to prevent subsequent enumerations of the same maximal β-biclique (step 3.3.4). and repeating steps 3.3.1 to 3.3.4 until all products that satisfy the conditions are traversed and enumerated, and at this time, storing in priority queue C are dense subgraphs with the top n number of users, and the product combinations included in these subgraphs are product promotion combinations.

[0095] (Appendix 7) Specifically, step 3.4 includes: Step 3.4.1. If the number of items in queue L is β, then go to step 3.4.1.1; if the number of items in queue L is less than β, then go to step 3.4.2; Step 3.4.2, where the number of items in queue L is less than β, selects an item vi in ​​set Wv to add to L, and updates the common neighborhood CommonN of queues Wv and L; and step 3.4.3 of terminating the program until all product combinations for product v have been enumerated.

[0096] (Appendix 8) Specifically, step 3.4.1 includes: Step 3.4.1.1: Determine whether the number of users in the current set CommonN is greater than min, i.e., whether |CommonN|>min. If |CommonN|≦min, end this cycle and return to step 3.4.1.2. Determine the number of subgraphs in priority queue C. If the maximal β-biclique number of priority queue C is smaller than n-1, put the obtained dense subgraph directly into C. If the number of subgraphs in priority queue C is n-1, go to step 3.4.1.3. If the number of subgraphs in priority queue C is n, go to step 3.4.1.4. Step 3.4.1.2. Step 3.4.1.3: Put the obtained dense subgraph into C and assign the minimum number of subgraph users of C to min. and step 3.4.1.4 of popping up the subgraph with the least number of users in the priority queue C, and adding a new subgraph to the priority queue C, and updating the parameter threshold min.

[0097] (Appendix 9) Specifically, step 3.4.2 includes: Remove the selected items vi from Wv and repeat step 3.4.2.1 to avoid the generation of a maximal β-biclique. If the number of users in CommonN is less than or equal to min, i.e., |CommonN|≦min, it means that the dense subgraph generated for the product combination in L cannot necessarily be better than the known result in the current priority queue C, and the traceback process can be terminated in advance, and conversely, step 3.4.2.2 is entered. Determine whether the total number of selected items in queue L and the total number of selectable items in Wv are smaller than β. If it is smaller than β, the number of nodes in queue L is not β, so the traceback process can be terminated in advance, and the process can be reversed to step 3.4.2.4. Step 3.4.2.3; and step 3.4.2.4 of inputting the updated product combination L, common neighborhood CommonN, and two-hop neighborhood Wv as parameters into step 3.4.1.

[0098] (Appendix 10) 2. The mining method for product promotion combinations according to claim 1, wherein in step 4, a priority queue C is returned as a query result.

Claims

1. A method for mining product promotion combinations, comprising: Step 1: performing a (β, 1)-core decomposition on the initial commodity trading network; Step 2: calculating and sorting a two-hop neighborhood set of each commodity in a commodity set in a commodity trading network in descending order; Step 3 of enumerating and filtering the top n densest subgraphs; and returning the query results.

2. Specifically, step 1 includes: Step 1.1 inputs a commodity trading bipartite graph G = (U, V, E), where U = {u1, u2, u3, ... , ui} represents the set of users, ui represents user i, V = {v1, v2, v3, ... , vi} represents the set of products, vi represents product i, E represents a single purchase of a product by a user, parameter β represents the number of products in the product combination, and n represents the output of the dense subgraph with the top n rankings; Step 1.2 of detecting a user set and a product set that do not satisfy the degree constraint, in which, based on the (β, 1)-core definition, a node set Ud in the user set U whose degree is less than β and a node set Vd in the product set V whose degree is less than 1 are searched for, and an edge set Ed connected to Ud or Vd in G is detected; Step 1.3 of updating the user set and the product set, in which step 1.2 detects the user set Ud, the product set Vd, and the edge set Ed that do not satisfy the degree constraint, updates U=U / Ud, V=V / Vd, and E=E / Ed, and updates the degrees of other nodes, thereby obtaining an updated bipartite graph; The mining method for product promotion combinations according to claim 1 further comprises: step 1.4, in which, when nodes and edges that do not satisfy the degree constraint are deleted based on the bipartite graph obtained in step 1.3, the degrees of other nodes change again, and it is necessary to recheck whether the degrees of nodes in the user set and product set satisfy the degree condition; that is, step 1.4, in which steps 1.2 and 1.3 are repeated until all users and products in the finally obtained bipartite graph G' = (U', V', E') satisfy the degree constraint.

3. Specifically, step 2 includes: Step 2.1: based on the simplified bipartite graph G′ obtained in step 1, denote the two-hop neighborhood of item v by Wv and initialize it to an empty set, and denote the two-hop neighborhood set of graph G′ by NN containing the two-hop neighborhood of each item v and initialize it to an empty set; Step 2.2: Finding the two-hop neighborhood Wv of each item v in item V'; Step 2.3: Compute the degree of each node in the two-hop neighborhood of product v, where d(v) represents the degree of node v, i.e., the number of times product v has been purchased, in the bipartite graph G'; Step 2.4 of sorting the two-hop neighborhood of item v based on node degrees, assuming there are two items v1 and v2, and if the degrees of the two nodes are different, if d(v1)>d(v2), then sort the v1 node before the v2 node, and if d(v1)<d(v2), then sort the v2 node before the v1 node, and go back to step 2.5; If the degrees of two nodes are the same, i.e., d(v1) = d(v2), then they need to be compared based on the node id numbers, and if v1.id < v2.id, then the node order of v1 is placed before v2 in step 2.

5. Based on step 2.4 and step 2.5, assuming that the degrees of product v's two-hop neighborhood v1, v2, v3 are d(v1) = d(v2) < d(v3), if the purchase count of product v3 is greater than that of product v2, then product v3 is sorted before product v2; if the degrees of product v1 and product v2 are equal but the id of product v1 is smaller than that of product v2, then v1 is sorted before v2, i.e., Wv = {v3, v1, v2} in step 2.

5. Step 2.6 reassigning the descending sorted node set to Wv in the two-hop neighborhood set NN of graph G'; and (b) repeating steps 2.3 to 2.6 until all products in the product set have been accessed, and finally obtaining a sorted two-hop neighborhood set NN, which is used to search for candidate products in subsequent steps.

4. Specifically, step 2.2 includes: Step 2.2.1: Finding users who have purchased product v, and calculating neighboring nodes N(v) = {u1, u2, u3, . . .} of users who have purchased product v; Calculate other products purchased by users who purchased product v, and for each user u in N(v) obtained in step 2.2.1, calculate the products purchased by each user u, i.e., the neighborhood set N(u1), N(u2), N(u3) of u. Step 2.2.2 of calculating , . . . Step 2.2.3: Compute the two-hop neighborhood set of item v, and take the union of the neighbor nodes N(u) of all users in step 2.2.2 to obtain the two-hop neighborhood Wv of item v = N(u1)∪N(u2)∪N(u3)∪... / {v}, and insert Wv into the two-hop neighborhood set NN of graph G'; and step 2.2.4 of repeating steps 2.2.1 through 2.2.3 until the two-hop neighborhood of each product v in product V' has been calculated.

5. Specifically, step 3 includes: Step 3.1: based on the simplified bipartite graph G' obtained in step 1, a priority queue C is used to store subgraphs that satisfy the maximal β-biclique condition, the size of C is n and C is initialized to empty, a threshold min is used to store the minimum number of users in all subgraphs of queue C, and min is initialized to 0; Step 3.2, where each product v in the product set V′ is sorted in descending order of degree, and the descending sorting rule of this step is the same as the descending sorting rule of the two-hop neighborhood; Step 3.3 of filtering one v of the products that can constitute a maximal β-biclique and enumerating the maximal β-bicliques that product v may form; 3.

4. Enumerating maximal β-bicliques for product v that satisfy step 3.3.

3.

6. Specifically, step 3.3 includes: Determine whether the number of users who purchased product v, that is, N(v), is greater than min. If the number of users who purchased product v is equal to or less than the threshold min, it indicates that the maximal β-biclique including product v cannot be superior to the currently known result. Therefore, directly end this cycle and go back to step 3.3.

2. Step 3.3.

1. If the number of users who have purchased product v is greater than the threshold min, a second judgment is made for product v. If the current number of two-hop neighbors of product v, i.e., |Wv| < β-1, node u inevitably cannot construct a maximal β-biclique that satisfies the condition, and ends this cycle and returns to step 3.3.

3. Step 3.3.

2. Step 3.3.3: the number of two-hop neighbors of the current product v is greater than or equal to β-1, a parameter CommonN stores the users who have purchased all the products in L, a parameter L stores the selected product combination, a parameter Wv is the two-hop neighbor set of the candidate product v, N(v) is assigned to CommonN, L={v}, Wv is searched from NN and assigned to parameter Wv, and the maximal β-bicliques that the product v may form are enumerated, i.e., the parameter is input to step 3.4; Step 3.3.4: after completing the traversal of the product combinations of product v, update the set NN to prevent subsequent enumeration of the same maximal β-biclique; and step 3.3.5, wherein steps 3.3.1 to 3.3.4 are repeated until all products that satisfy the condition are traversed and enumerated, and at this time, the dense subgraphs with the top n number of users are stored in a priority queue C, and the product combinations included in these subgraphs are product promotion combinations.

7. Specifically, step 3.4 includes: Step 3.4.1: if the number of items in queue L is β, then enter step 3.4.1.1; if the number of items in queue L is less than β, then enter step 3.4.2; Step 3.4.2, where the number of items in queue L is less than β, selects an item vi in ​​set Wv to add to L, and updates the common neighborhood CommonN of the Wv and L queues; 6. The method of claim 5, further comprising the step of: terminating the program until all product combinations for product v have been enumerated.

8. Specifically, step 3.4.1 includes: Step 3.4.1.1: Determine whether the number of users in the current set CommonN is greater than min, i.e., whether |CommonN|>min. If |CommonN|≦min, end the current cycle and return to step 3.4.1.

2. Step 3.4.1.2: Determine the number of subgraphs of priority queue C. If the maximal β-biclique number of priority queue C is smaller than n-1, put the obtained dense subgraph directly into C. If the number of subgraphs of priority queue C is n-1, go to step 3.4.1.

3. If the number of subgraphs of priority queue C is n, go to step 3.4.1.

4. Step 3.4.1.3: put the resulting dense subgraph into C and assign the minimum number of subgraph users of C to min; 8. The method for mining product promotion combinations according to claim 7, further comprising step 3.4.1.4 of popping up the subgraph with the least number of users in the priority queue C, and adding a new subgraph to the priority queue C, and updating the parameter threshold min.

9. Specifically, step 3.4.2 includes: Step 3.4.2.1, which removes the selected product vi from Wv and avoids the repeated generation of maximal β-bicliques; If the number of users in CommonN is less than or equal to min, i.e., |CommonN|≦min, it means that the dense subgraph generated for the product combination in L cannot necessarily be better than the known result in the current priority queue C, and the traceback process can be terminated in advance, and instead, step 3.4.2.3 is entered. Step 3.4.2.

2. Determine whether the total number of selected items in queue L and the total number of selectable items in Wv etc. is less than β. If it is less than β, the number of nodes in queue L does not satisfy β, so the traceback process can be terminated in advance and the process goes back to step 3.4.2.

4.

8. The mining method for product promotion combinations according to claim 7, further comprising: step 3.4.2.4 of inputting the updated product combination L, common neighborhood CommonN, and two-hop neighborhood Wv as parameters into step 3.4.

1.

10. 2. The method of claim 1, wherein step 4 returns a priority queue C as a query result.

Citation Information

Patent Citations

  • Social network character importance level improvement method based on edge growth

    CN115510332A

  • Cross marketing prediction method and device, electronic equipment and medium

    CN116957644A

  • Combination analysis information generating device and recording medium where combination analysis information generating program is recorded

    JP1999306186A

  • Database arithmetic processor

    JP2002024281A

  • Information processing device, information processing method, information processing program, and recording medium upon which information processing program has been recorded

    JP2013114356A