Influence resource allocation method and device, computer equipment and storage medium
By estimating the influence boundary value and calculation density of seed nodes in social networks, influence resources are distributed fairly, and the problem of resource allocation fairness when the influence of seed nodes is unknown is solved, achieving better fairness and resource allocation efficiency.
Patent Information
- Application Number
- CN202411556477.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-01
- Publication Date
- 2025-03-07
AI Technical Summary
In social networks, when the true influence of seed nodes is unknown, no effective solution has been proposed to allocate influence resources more fairly.
By estimating the influence boundary values of multiple seed nodes in the social network, the density of seed nodes is calculated, and the seed nodes with the largest density within the budget range are allocated according to the agent's influence resources from small to large.
When the true influence of the seed node is unknown, the final influence resource allocation plan can be fairer, and the number of agents that do not meet the definition of fairness can be controlled to be smaller.
Smart Images

Figure CN119578753A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of social networks, and in particular to a method, apparatus, computer device and storage medium for allocating influence resources. Background Art
[0002] With the rise of social networks, more and more social platforms have attracted people's attention. As the carrier of social networks, platforms enable various information to be spread on social networks. There are many users in social networks, and users are both producers and disseminators of information. Some advertisers will select target users with strong information dissemination capabilities (such as public figures and bloggers with a certain number of fans) in social networks for brand promotion and pay them a certain amount of promotion fees.
[0003] In the above scenario, advertisers select target users for product promotion cooperation, which is equivalent to allocating influence resources (target users / seed nodes) to an agent (advertiser). When facing multiple advertisers competing for promotion, we need to pay attention to the fair allocation of resources. Related technologies abstract this problem into: the fair allocation of indivisible items under budget constraints.
[0004] Related technologies propose a method for maximizing the influence of social networks based on community structure. The steps are as follows: (1) Divide the community to form a candidate node set. By dividing the network, the core nodes and boundary nodes in the network are identified and a candidate node set is formed; (2) Heuristically select nodes. For each node in the candidate node set, the potential influence is verified by the node's degree, community size, number of connected communities and influence weight, so as to heuristically select the node with the greatest potential influence to join the seed set; (3) Execute the greedy algorithm and use the greedy algorithm to select the node with the largest marginal benefit to join the seed set.
[0005] The above method aims to explore the accuracy and operation efficiency of the initial seed nodes and solve the problem of maximizing the influence of social networks. However, the traditional greedy algorithm must be used after obtaining the real influence of the seed nodes.
[0006] At present, when the true influence of seed nodes in social networks is unknown, no effective solution has been proposed on how to distribute influence resources more fairly. Summary of the invention
[0007] Based on this, it is necessary to provide a method, device, computer equipment and storage medium for allocating influence resources with better fairness when the true influence of seed nodes in social networks is unknown, in response to the above technical problems.
[0008] In a first aspect, the present application provides a method for allocating influence resources, comprising:
[0009] Estimate the influence boundary values of multiple seed nodes in a social network;
[0010] Determining the density of each of the seed nodes according to the influence boundary value of each of the seed nodes and the overhead of each of the seed nodes;
[0011] The influence resources already possessed by each of the multiple agents are determined, and the seed nodes with the largest density within the budget range are respectively allocated to each of the agents in order of the influence resources from small to large.
[0012] In one embodiment, estimating the influence boundary values of multiple seed nodes in a social network includes:
[0013] Estimate the upper limit of the influence of each seed node, and use the upper limit of the influence of each seed node as the influence boundary value; or,
[0014] The lower limit value of the influence of each seed node is estimated, and the lower limit value of the influence of each seed node is used as the influence boundary value.
[0015] In one embodiment, estimating the upper limit of influence of each seed node includes:
[0016] Determine a first seed set consisting of the plurality of seed nodes;
[0017] Calculating an upper limit value of the influence of the first seed set;
[0018] Deleting the target seed node whose influence upper limit is to be calculated from the first seed set to obtain a second seed set, and calculating the influence lower limit of the second seed set;
[0019] The upper limit value of the influence of the target seed node is calculated according to the upper limit value of the influence of the first seed set and the lower limit value of the influence of the second seed set.
[0020] In one embodiment, calculating the upper limit of the influence of the first seed set includes:
[0021] constructing a first graph structure based on the first seed set;
[0022] Constructing a non-backtracking matrix of the first graph structure;
[0023] Calculating the maximum eigenvalue of the non-backtracking matrix;
[0024] An upper limit value of the influence of the first seed set is calculated according to the maximum eigenvalue.
[0025] In one embodiment, calculating the lower limit of the influence of the second seed set includes:
[0026] Removing the target seed node from the first graph structure to obtain a second graph structure;
[0027] Constructing a non-backtracking matrix of the second graph structure;
[0028] Calculating the maximum eigenvalue of the non-backtracking matrix;
[0029] The lower limit value of the influence of the second seed set is calculated according to the maximum eigenvalue.
[0030] In one embodiment, estimating the lower limit of influence of each seed node includes:
[0031] In the social network, determining a set of nodes that can be reached by the influence of each seed node;
[0032] Determine a target node closest to the corresponding seed node in each of the node sets;
[0033] The probability that each of the seed nodes influences the corresponding target node is calculated, and the lower limit of the influence of each of the seed nodes is determined according to the probability.
[0034] In one embodiment, in the social network, determining a set of nodes that can be reached by the influence of each seed node includes:
[0035] In a seed set consisting of the plurality of seed nodes, the seed nodes are traversed in a loop until all the seed nodes are traversed; wherein the traversing the seed nodes in a loop includes:
[0036] Determine the target seed node currently traversed and the influence of the target seed node;
[0037] In the social network, a node set that can be reached by the influence of the target seed node is traversed in a loop until the node set is completely traversed.
[0038] In one embodiment, calculating the probability that each seed node influences the corresponding target node, and determining the lower limit of the influence of each seed node according to the probability, includes:
[0039] Determine the target node set currently traversed;
[0040] Determine a target node closest to the target seed node in the target node set, and calculate the probability that the target seed node affects the target node;
[0041] The influence lower bound value of the target seed node is updated according to the currently calculated probability.
[0042] In one embodiment, calculating the probability that the target seed node affects the target node includes:
[0043] determining a first probability that an event corresponding to the target node is influenced by the target seed node in the social network;
[0044] Determining a second probability that an event corresponding to the target node is not affected by seed nodes other than the target seed node in the seed set;
[0045] The minimum value of the probability that the target seed node affects the target node is calculated according to the first probability and the second probability.
[0046] In one of the embodiments, before determining the set of nodes that can be reached by the influence of each seed node in the social network, the method further includes:
[0047] Converting the social network from a network structure to a spanning tree network structure;
[0048] In the spanning tree network structure, deleting an edge whose starting node is farther from the seed set than the ending node is from the seed set;
[0049] Initialize the node set that can be reached by the influence of each seed node, and initialize the influence of each seed node.
[0050] In one embodiment, determining the influence resources of each of the multiple agents, and assigning the seed nodes with the highest density within the budget range to each of the agents in order of the influence resources from small to large, includes:
[0051] Acquire a proxy list consisting of the plurality of proxies and a seed set consisting of the seed nodes;
[0052] Selecting the agent with the smallest influence resource in the agent list as the target agent;
[0053] Determining whether there is a seed node within the target proxy budget range in the seed set;
[0054] If so, selecting the seed node with the largest density within the target proxy budget range from the seed set as the target seed node;
[0055] assigning the target seed node to the target agent, and removing the target seed node from the seed set;
[0056] The next proxy with the smallest influential resource is selected in the proxy list as the next target proxy, and the above steps are repeated until all proxies can no longer add new seed nodes or all seed nodes are allocated.
[0057] In a second aspect, the present application provides an influence resource allocation device, the device comprising:
[0058] An estimation module, used to estimate the influence boundary values of multiple seed nodes in a social network;
[0059] A determination module, configured to determine the density of each of the seed nodes according to the influence boundary value of each of the seed nodes and the overhead of each of the seed nodes;
[0060] The allocation module is used to determine the influence resources owned by each of the multiple agents, and allocate the seed node with the largest density within the budget range to each of the agents in order of the influence resources from small to large.
[0061] In a third aspect, the present application further provides a computer device, wherein the computer device comprises a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the method described in the first aspect are implemented.
[0062] In a fourth aspect, the present application further provides a computer-readable storage medium, wherein a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps of the method described in the first aspect are implemented.
[0063] The above-mentioned influence resource allocation method, device, computer device and storage medium estimate the influence boundary value of the seed node, calculate the density of various child nodes based on the influence boundary value, and when allocating seed nodes to agents, first select the agent with the smallest influence resource at present, and then within the budget range of the agent, preferentially select the seed node with larger density to allocate to it. When the true influence of the seed node is unknown, the final influence resource allocation scheme can have better fairness, and the number of agents that do not meet the fairness definition can be controlled to a smaller number. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] Figure 1 A hardware structure block diagram of a terminal of an influence resource allocation method in one embodiment;
[0065] Figure 2 A schematic diagram of a flow chart of an influence resource allocation method in one embodiment;
[0066] Figure 3 A schematic diagram of a process for estimating an upper limit of influence of a seed node in one embodiment;
[0067] Figure 4 A flowchart of estimating a lower bound of influence of a seed node in one embodiment;
[0068] Figure 5 is a flow chart of a greedy algorithm based on density priority in one embodiment;
[0069] Figure 6 A flowchart of another method for allocating influence resources in one embodiment;
[0070] Figure 7 It is a structural block diagram of an influence resource allocation device in one embodiment;
[0071] Figure 8 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0072] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0073] Unless otherwise defined, the technical terms or scientific terms involved in this application shall have the general meaning understood by people with ordinary skills in the technical field to which this application belongs. The words "one", "a", "a", "the", "these" and the like in this application do not represent quantitative restrictions, and they can be singular or plural. The terms "include", "comprise", "have" and any variants thereof involved in this application are intended to cover non-exclusive inclusions; for example, a process, method and system, product or device comprising a series of steps or modules (units) is not limited to the listed steps or modules (units), but may include unlisted steps or modules (units), or may include other steps or modules (units) inherent to these processes, methods, products or devices. The words "connect", "connected", "coupled" and the like involved in this application are not limited to physical or mechanical connections, but may include electrical connections, whether directly or indirectly. The "multiple" involved in this application refers to two or more. "And / or" describes the association relationship of associated objects, indicating that there can be three relationships. For example, "A and / or B" can mean: A exists alone, A and B exist at the same time, and B exists alone. Usually, the character " / " indicates that the objects associated with each other are in an "or" relationship. The terms "first", "second", "third", etc. involved in this application are only used to distinguish similar objects and do not represent a specific ordering of the objects.
[0074] The method embodiment provided in this embodiment can be executed in a terminal, a computer or a similar computing device. For example, running on a terminal, Figure 1 1 is a hardware structure block diagram of a terminal of an influence resource allocation method according to an embodiment of the present application. Figure 1 As shown, the terminal may include one or more ( Figure 1 Only one is shown in the figure) processor 101 and memory 102 for storing data, wherein processor 101 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA. The above terminal may also include a transmission device 103 and an input and output device 104 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above terminal. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.
[0075] The memory 102 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the influence resource allocation method in this embodiment. The processor 101 executes various functional applications and data processing by running the computer program stored in the memory 102, that is, to implement the above method. The memory 102 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 102 may further include a memory remotely arranged relative to the processor 101, and these remote memories may be connected to the terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0076] The transmission device 103 is used to receive or send data via a network. The above network includes a wireless network provided by a communication provider of the terminal. In one example, the transmission device 103 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 103 can be a radio frequency (Radio Frequency, referred to as RF) module, which is used to communicate with the Internet wirelessly.
[0077] When faced with the problem of fair distribution of indivisible items under budget constraints, the greedy algorithm of related technologies is effective only after the influence of the seed node is propagated and the real influence of the seed node is obtained. However, in practical applications, it is often necessary to fairly distribute the seed node according to the influence resources before the influence of the seed node is propagated, that is, when the real influence of the seed node is unknown.
[0078] Based on the above situation, in one embodiment, Figure 2 As shown, a method for allocating influence resources is provided, which is applied to Figure 1 The terminal in is used as an example to illustrate, including the following steps:
[0079] Step S101, estimating the influence boundary values of multiple seed nodes in a social network.
[0080] Social networks include seed nodes and ordinary nodes. The average influence of seed nodes is greater than that of ordinary nodes. Influence refers to the ability to spread information. It is reflected in the graph structure of social networks and can be understood as the number of nodes that can be reached (influenced) in the next step from a node or the probability of reaching (influenced) in the next step. It can be understood that social networks contain many users. When users follow, like, forward, and comment on each other, a network connection will be formed between the two users, and information will be spread between the two users. Some users have strong content productivity or a large number of fans, and strong information dissemination. These users correspond to seed nodes. Some users have weak content productivity or a small number of fans, and weak information dissemination. These users correspond to ordinary nodes.
[0081] The influence boundary value of the seed node includes an upper influence boundary value or a lower influence boundary value. The influence boundary value of the seed node can be determined by estimating the upper influence boundary value or the lower influence boundary value of the seed node.
[0082] Specifically, in this step, a social network G including a node set V and a directed edge set E, the number of seed nodes k, the number of agents n are obtained, k nodes are selected as a seed set S, and the budget of each agent is set.
[0083] Step S102, determining the density of various sub-nodes according to the influence boundary values of various sub-nodes and the costs of various sub-nodes.
[0084] Overhead refers to the fee that an agent needs to pay to add a seed node to his or her name. If an agent wants to add a seed node, the overhead of the seed node needs to be deducted from the agent's budget. In the case of brand promotion cooperation, when an advertiser wants a user to promote his or her brand on a social network, the advertiser needs to pay the user a certain fee, which is the overhead.
[0085] The density of a seed node is obtained by dividing the influence boundary value of a seed node by the cost of the seed node. Specifically, in this step, the upper limit value of influence or the lower limit value of influence of each seed node is calculated, the cost of the seed node is obtained, and the density ρ of the seed node is calculated as influence / cost.
[0086] Step S103 , determining the influence resources that each of the multiple agents has, and assigning the seed nodes with the highest density within the budget range to each agent in order of influence resources from small to large.
[0087] When allocating seed nodes to agents, a density-first greedy algorithm is used for resource allocation. First, the agent with the smallest current influential resources is selected, and then within the budget of the agent, seed nodes with larger density are preferentially selected to be allocated to the agent. In this way, when the true influence of the seed node is unknown, the final influence resource allocation scheme can have better fairness.
[0088] To further illustrate this embodiment, a standard for evaluating resource allocation fairness is proposed below, which is called the EFβ robust fairness definition. The definition is as follows:
[0089] Assume that the seed set [m] = 1, 2, ..., m, the agent set [n] = 1, 2, ..., n, and for any agent a∈n there is a corresponding budget B a , A=(A 1 , A 2 , …, A n ) is an arbitrary allocation scheme. Under this allocation scheme, any agent a∈n has an influence σ(A a ), an agent a∈n is said to be EFβ-compliant with respect to an agent b∈n (b can be a charity (additional agent, not in [n])) if and only if for all allocations A b In the subset of a , in the subset F with |F|≥β, there exists F ′ ∈F,|F ′ |=β, so that σ(A a )≥σ(F\F ′ ) holds true if and only if any agent a∈n satisfies EFβ for other agents b∈n, then the allocation scheme A is said to comply with EFβ. Where c(F) represents the sum of the costs of the seed set F, σ(A a ) represents the sum of the node influences assigned to agent a, F represents the seed set, F' represents F itself, and β represents the number of seeds that F' can contain.
[0090] In the above steps S101 to S103, by estimating the influence boundary value of the seed node, the density of various child nodes is calculated based on the influence boundary value. When allocating seed nodes to agents, the agent with the smallest current influence resource is selected first, and then within the budget range of the agent, the seed node with a larger density is preferentially selected to be allocated to it. When the true influence of the seed node is unknown, it can ensure that the final influence resource allocation scheme has good fairness, and the number of agents that do not meet the fairness definition can be controlled to a smaller number.
[0091] The following embodiments will respectively provide methods for estimating the upper limit value and the lower limit value of the influence of a seed node.
[0092] In one embodiment, the upper limits of influence of various sub-nodes are estimated and used as influence boundary values. Figure 3 A flowchart for estimating the upper bound of the influence of a seed node is provided, such as Figure 3 As shown, the process includes the following steps:
[0093] Step S201: determine a first seed set consisting of multiple seed nodes.
[0094] Specifically, a social network G including a node set V and a directed edge set E is obtained, the number of seed nodes is k, and k nodes are selected as the first seed set S.
[0095] Step S202, calculating the upper limit of the influence of the first seed set.
[0096] In this step, the Nonbacktracking upper bounds (NB-UB) algorithm can be used to calculate the influence upper bound σ of the first seed set S. ub (S). Specifically, a first graph structure is constructed based on the first seed set; a non-backtracking matrix of the first graph structure is constructed; a maximum eigenvalue of the non-backtracking matrix is calculated; and an upper limit value of the influence of the first seed set is calculated according to the maximum eigenvalue.
[0097] Step S203: Delete the target seed node whose influence upper limit is to be calculated from the first seed set to obtain the second seed set, and calculate the influence lower limit of the second seed set.
[0098] In this step, the Nonbacktracking lower bounds (NB-LB) algorithm can be used to calculate the influence lower bound σ of the first seed set S\v lb(S\v). Specifically, remove the target seed node from the first graph structure to obtain a second graph structure; construct a non-backtracking matrix of the second graph structure; calculate the maximum eigenvalue of the non-backtracking matrix; and calculate the lower bound of the influence of the second seed set according to the maximum eigenvalue.
[0099] Step S204, calculating the upper limit of the influence of the target seed node according to the upper limit of the influence of the first seed set and the lower limit of the influence of the second seed set.
[0100] Subtract the lower bound of the influence of the first seed set S\v from the upper bound of the influence of the first seed set S to get the upper bound of the influence of the seed node v. The calculation formula is σ ub (v) = σ ub (S)-σ lb (S\v).
[0101] Traditional backtracking path-based methods may lead to overestimation of influence due to repeated calculation of the influence of certain nodes, while the NB-UB algorithm estimates influence by excluding backtracking paths. Therefore, this embodiment uses the Nonbacktracking upper bounds (NB-UB) algorithm to calculate the upper bound and lower bound of influence of the first seed set S, and then calculates the upper bound of influence of the target seed node based on the upper bound and lower bound of influence of the first seed set S, which can reduce overestimation and improve calculation efficiency.
[0102] In one embodiment, the lower limit values of influence of various sub-nodes are estimated, and the lower limit values of influence of various sub-nodes are used as influence boundary values. Figure 4 A flowchart for estimating the lower bound of the influence of a seed node is provided, such as Figure 4 As shown, the process includes the following steps:
[0103] Step S301, in a social network, determine a set of nodes that can be reached by the influence of various child nodes.
[0104] In a seed set consisting of multiple seed nodes, the seed nodes are traversed in a loop until all the seed nodes are traversed; wherein the traversal of the seed nodes in a loop includes: determining a target seed node currently traversed and the influence of the target seed node; in a social network, the node set that can be reached by the influence of the target seed node is traversed in a loop until all the node set is traversed.
[0105] Optionally, before step S301, the social network can be converted from a network structure to a spanning tree network structure; in the spanning tree network structure, delete the edge where the starting node is farther from the seed set than the end node is from the seed set; initialize the node set that the influence of various child nodes can reach, and initialize the influence of various child nodes. Among them, deleting some edges (edges where the starting node is farther from the seed set than the end node is from the seed set) can reduce those edges in the network that contribute less to the spread of the influence of the seed set, thereby simplifying the network structure, making it easier for the influence to be concentrated on key nodes, which is beneficial to improving the efficiency of the algorithm. Exemplarily, in a social network, there is a group of seed users (seed set), and it is desired to optimize information dissemination. If it is found that some users (starting nodes) are far away from the seed set and their connections do not contribute much to information dissemination, these connections can be deleted to optimize the propagation path. The specific steps are as follows:
[0106] Step 1: Simplify the social network G into a spanning tree network G', delete the edges whose starting nodes are farther from the seed set than the end nodes, initialize the next step of each seed node to influence the node set as the seed itself, and set the initial influence σ of the seed node lb (a)=0.
[0107] Step 2: Loop through the seed set until all nodes that can be propagated to each seed node are traversed.
[0108] Step 3, the next step of traversing the seed node currently traversed in step 2 can affect the node set. If the traversal of the node set is completed, the seed set is updated and return to step 2.
[0109] Step S302: determine the target node closest to the corresponding seed node in each node set.
[0110] Step S303, calculate the probability of various child nodes influencing the corresponding target node, and determine the lower limit of the influence of various child nodes according to the probability. Specifically, first determine the target node set currently traversed; determine the target closest to the target seed node in the target node set, calculate the probability of the target seed node influencing the target node; update the lower limit of the influence of the target seed node according to the currently calculated probability. Among them, calculating the probability of the target seed node influencing the target node includes the following steps:
[0111] determining a first probability that an event corresponding to the target node is influenced by the target seed node in the social network;
[0112] determining a second probability that an event corresponding to the target node is not affected by seed nodes other than the target seed node in the seed set;
[0113] The minimum value of the probability that the target seed node affects the target node is calculated according to the first probability and the second probability.
[0114] In this step, the probability LB(a,v) that seed node a affects node v traversed in step 3 at the current distance l (l is the shortest distance from seed node a to the node in the node set that it can affect in the next step) can be calculated according to the derivation formula, σ lb (a) = σ lb (a)+LB(a,v), then return to step 3 and traverse the next seed node.
[0115] Among them, the calculation formula for the lower limit of influence is derived as follows:
[0116] Simplify the social network G into a spanning tree network G' and delete the edges whose starting nodes are farther from the seed set than the end nodes. LB(a,v) is the lower bound of the possibility that seed node a affects node v, X(v k ,a) represents event v k Influenced by seed node a in network G' (corresponding to the first probability), Y(v k ,a) represents event v k Not affected by nodes other than a in the seed set S (corresponding to the second probability), E ik represents the probability that node i successfully activates node k through the edge. It can be seen that:
[0117]
[0118] in, Represents v i The probability of being activated by seed α, Pr(Y(v k ,a)) represents event v k The probability of occurrence not being affected by nodes other than a in the seed set S.
[0119] v i The probability of being activated by seed α is multiplied by the event Y(v k ,The probability of a) is that there is a competition relationship between different seed nodes. Once a node is activated by a seed node, it cannot be activated by other seed nodes. Therefore, in order to ensure that the node is completely activated by a seed node, it is necessary to exclude the possibility of being affected by other seed nodes.
[0120] Further reducing the above formula yields:
[0121]
[0122] Among them, m1 represents Established, m ′ The maximum value of m2 represents Established, m ′ In represents the set of nodes pointing to a certain node, m' represents the upper bound of the formula summation, and p' represents the probability that the starting node of the directed edge activates the terminal node.
[0123] According to the above formula, we can calculate the lower bound of the possibility that each seed node affects one of its reachable nodes. Finally, the lower bound of the influence of the seed node is equal to the sum of the lower bounds of the possibility that the seed node affects all its reachable nodes.
[0124] In actual applications, when advertisers promote their respective products on social networks, they compete with each other, that is, once a network user accepts the promotion of one of the products, he or she will most likely no longer accept other products. In other words, when a target user represents an advertiser or promotes a brand for an advertiser, once a network user is influenced by the promotion of the target user (for example, stimulated to buy), the network user will most likely no longer accept other products. It can be understood that in the social network G, there is a competitive relationship between different seed nodes. Once a node is activated by a seed node, it cannot be activated by other seed nodes.
[0125] In the above steps S301 to S303, considering the competitive relationship between different seed nodes (or proxies), if the Nonbacktracking upper bounds (NB-UB) algorithm is used to calculate the lower bound of the influence of the seed node, the calculation result will be inaccurate. To this end, the above steps take the competitive relationship between different seed nodes into consideration, and follow the rule that once a node is activated by a seed node, it cannot be activated by other seed nodes, so as to calculate the lower bound of the influence of the seed node, so that the calculation result is more applicable to the actual situation.
[0126] In one embodiment, Figure 5 A flow chart of the greedy algorithm based on density priority is provided, such as Figure 5 As shown, the influence resources of each agent among multiple agents are determined, and the seed nodes with the highest density within the budget range are allocated to each agent in the order of influence resources from small to large, including the following steps:
[0127] Step S401, obtaining a proxy list consisting of a plurality of proxies and a seed set consisting of seed nodes.
[0128] Initialize the active agent list to all current agents. Specifically, obtain the social network G including the node set V and the directed edge set E, the number of seed nodes k, the number of agents n, select k nodes as the seed set S, and set the budget of each agent.
[0129] Step S402: Select the agent with the smallest influence resource in the agent list as the target agent.
[0130] Select the agent with the smallest influence resource from the extreme agent list until all agents can no longer add new seed nodes or all seed nodes are allocated. Optionally, if there are unallocated seed nodes, the unallocated seed nodes are considered to be allocated to additional agent charity, and the additional agent can be an agent outside the active agent list.
[0131] Step S403: determine whether there is a seed node in the seed set that is within the target proxy budget range.
[0132] Find the seed nodes in the seed set that are within the agent's budget.
[0133] Step S404: If it exists, select the seed node with the largest density within the target proxy budget range in the seed set as the target seed node.
[0134] Step S405: assign the target seed node to the target proxy, and remove the target seed node from the seed set.
[0135] Assign the target agent an unassigned seed node with the highest density that can be paid for by its current remaining budget. The assigned seed node will be removed from the seed set and will no longer be assigned to other agents.
[0136] Step S406, selecting the next proxy with the smallest influential resource in the proxy list as the next target proxy, and repeating the above steps until all proxies can no longer add new seed nodes or all seed nodes are allocated.
[0137] In the above steps S401 to S406, by determining the influence resources owned by each agent among the multiple agents, the seed nodes with the highest density within the budget range are allocated to each agent in the order of influence resources from small to large. In this way, the fairness of resource allocation is guaranteed while satisfying the allocation budget of each agent.
[0138] Optionally, in the above step S403, when it is determined that there is no seed node within the budget range of the target proxy in the seed set, the target proxy is removed from the active proxy list, or further, after the target proxy is removed from the active proxy list, it is added to the inactive proxy list, and the process returns to step S402. If all proxies cannot add new nodes or all nodes have been allocated, the process returns to step S404. With such a setting, the active proxy list and the inactive proxy list can be returned, that is, the final allocation plan can be obtained.
[0139] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0140] In one embodiment, Figure 6 A flowchart of another method of allocating influence resources is provided, such as Figure 6 As shown, the process includes the following steps:
[0141] Step S601, obtain a social network G including a node set V and a directed edge set E, the number of seed nodes k, the number of agents n, select k nodes as a seed set S, and set a budget for each agent.
[0142] Step S602, estimate the upper / lower bounds of influence of each seed node, set a proxy for each seed node, obtain the cost of each seed node, and set the density of the seed node ρ = influence / cost.
[0143] n agents need to promote their respective products on the social network G. They are in competition with each other. Once a seed node accepts the promotion of one of the products, it is highly likely that it will not accept other products. At this time, the true influence of the seed node is unknown and there will be overhead in simulating advertising. Therefore, it is necessary to estimate the upper or lower bound of the seed node's influence in advance.
[0144] Step S603: Use a density-first greedy algorithm to allocate seed nodes to the proxy, and obtain allocation scheme A.
[0145] The estimated upper or lower bound of the influence of the seed node is used as the influence of the seed, and a density greedy algorithm is used for fair distribution to obtain a more fair distribution plan.
[0146] In the above steps S601 to S603, by estimating the influence boundary value of the seed node, the density of various child nodes is calculated based on the influence boundary value. When allocating seed nodes to agents, the agent with the smallest current influence resource is selected first, and then within the budget of the agent, the seed node with larger density is preferentially selected and allocated to it. When the true influence of the seed node is unknown, it can ensure that the final influence resource allocation scheme has better fairness, and the number of agents that do not meet the definition of fairness can be controlled to a smaller number. Furthermore, considering the competitive relationship between different seed nodes (or agents), the competitive relationship between different seed nodes is taken into consideration, and the rule that once a node is activated by a seed node, the node cannot be activated by other seed nodes is followed to calculate the lower limit of the influence of the seed node, so that the calculation result is more applicable to the actual situation.
[0147] In one embodiment, an influence resource allocation device is provided. The device is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. The terms "module", "unit", "subunit", etc. used below can implement a combination of software and / or hardware of predetermined functions. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0148] Figure 7 A structural diagram of the influence resource allocation device is provided, such as Figure 7 As shown, the device includes: an estimation module, a determination module and an allocation module. The estimation module is used to estimate the influence boundary values of multiple seed nodes in the social network; the determination module is used to determine the density of various sub-nodes according to the influence boundary values of various sub-nodes and the expenses of various sub-nodes; the allocation module is used to determine the influence resources owned by each of the multiple agents, and allocate the seed nodes with the largest density within the budget range to each agent in the order of influence resources from small to large.
[0149] In one embodiment, the estimation module includes: a first estimation module, used to estimate the upper limit value of the influence of various child nodes, and use the upper limit value of the influence of various child nodes as the influence boundary value; or, a second estimation module, used to estimate the lower limit value of the influence of various child nodes, and use the lower limit value of the influence of various child nodes as the influence boundary value.
[0150] In one embodiment, the first estimation module includes: a seed set determination unit, used to determine a first seed set composed of multiple seed nodes; a first calculation unit, used to calculate the upper limit value of the influence of the first seed set; deleting the target seed node whose upper limit value of influence is to be calculated from the first seed set to obtain a second seed set, and calculating the lower limit value of the influence of the second seed set; based on the upper limit value of the influence of the first seed set and the lower limit value of the influence of the second seed set, the upper limit value of the influence of the target seed node is calculated.
[0151] In one embodiment, the first computing unit includes: a first construction unit, used to construct a first graph structure based on a first seed set; construct a non-backtracking matrix of the first graph structure; a first computing subunit, used to calculate the maximum eigenvalue of the non-backtracking matrix; and calculate the upper limit of the influence of the first seed set based on the maximum eigenvalue.
[0152] In one embodiment, the first computing unit includes: a second construction unit, used to remove the target seed node in the first graph structure to obtain a second graph structure; construct a non-backtracking matrix of the second graph structure; a second computing subunit, used to calculate the maximum eigenvalue of the non-backtracking matrix; and calculate the lower bound value of the influence of the second seed set based on the maximum eigenvalue.
[0153] In one embodiment, the second estimation module includes: a node set determination unit, which is used to determine the node set within the social network that the influence of various child nodes can reach; a second calculation unit, which is used to determine the target node closest to the corresponding seed node in each node set; calculate the probability that various child nodes influence the corresponding target node, and determine the lower limit value of the influence of various child nodes based on the probability.
[0154] In one embodiment, the node set determination unit includes: a traversal unit, which is used to loop through the seed nodes in a seed set composed of multiple seed nodes until all the seed nodes are traversed; wherein, looping through the seed nodes includes: determining the target seed node currently traversed and the influence of the target seed node; in a social network, looping through the node set that can be reached by the influence of the target seed node until all the node set is traversed.
[0155] In one embodiment, the second calculation unit includes: a target node set determination unit, used to determine the target node set currently traversed; a probability calculation unit, used to determine the target closest to the target seed node in the target node set, and calculate the probability that the target seed node affects the target node; and update the lower limit value of the influence of the target seed node according to the currently calculated probability.
[0156] In one embodiment, the probability calculation unit includes: a first probability calculation unit, used to determine a first probability that an event corresponding to the target node is affected by the target seed node in the social network; a second probability calculation unit, used to determine a second probability that the event corresponding to the target node is not affected by seed nodes other than the target seed node in the seed set; and a third probability calculation unit, used to calculate the minimum value of the probability that the target seed node affects the target node based on the first probability and the second probability.
[0157] In one embodiment, the second estimation module also includes: an initialization unit, used to convert the social network from a network structure to a spanning tree network structure; in the spanning tree network structure, delete the edges whose starting nodes are farther from the seed set than the end nodes are from the seed set; initialize the node set that can be reached by the influence of various child nodes, and initialize the influence of various child nodes.
[0158] In one embodiment, the determining module includes:
[0159] An acquisition unit, used for acquiring an agent list consisting of a plurality of agents and a seed set consisting of seed nodes;
[0160] A first selection unit is used to select an agent with the smallest influence resource in the agent list as a target agent;
[0161] A judgment unit, used for judging whether there is a seed node within the target proxy budget range in the seed set;
[0162] A second selection unit is configured to select, when it is determined that there is a seed node within the target proxy budget range in the seed set, a seed node with the largest density within the target proxy budget range in the seed set as a target seed node;
[0163] an allocating unit, configured to allocate a target seed node to a target agent and remove the target seed node from a seed set;
[0164] The first selection unit is further used to select the next proxy with the smallest influential resource in the proxy list as the next target proxy, and repeat the above steps until all proxies can no longer add new seed nodes or all seed nodes are allocated.
[0165] It should be noted that the above modules can be functional modules or program modules, and can be implemented by software or hardware. For modules implemented by hardware, the above modules can be located in the same processor; or the above modules can be located in different processors in any combination.
[0166] In addition, in combination with the influence resource allocation method provided in the above embodiments, a storage medium may be provided in this embodiment to implement the method. The storage medium stores a computer program; when the computer program is executed by a processor, any influence resource allocation method in the above embodiments is implemented.
[0167] In one embodiment, when the computer program is executed by a processor, the steps of the following method are implemented:
[0168] Estimate the influence boundary values of multiple seed nodes in a social network;
[0169] Determine the density of various sub-nodes according to the influence boundary values of various sub-nodes and the costs of various sub-nodes;
[0170] Determine the influence resources that each agent has among multiple agents, and allocate the seed nodes with the highest density within the budget range to each agent in the order of influence resources from small to large.
[0171] In one embodiment, when the computer program is executed by a processor, the steps of the following method are implemented: estimating the influence boundary values of multiple seed nodes in a social network, including:
[0172] Estimate the upper limits of influence of various child nodes, and use the upper limits of influence of various child nodes as influence boundary values; or,
[0173] Estimate the lower bounds of the influence of various child nodes, and use the lower bounds of the influence of various child nodes as influence boundary values.
[0174] In one embodiment, when the computer program is executed by a processor, the steps of the following method are implemented: estimating the upper limit of influence of various child nodes, including:
[0175] Determine a first seed set consisting of a plurality of seed nodes;
[0176] Calculate the upper limit of the influence of the first seed set;
[0177] Delete the target seed node whose influence upper limit value is to be calculated from the first seed set to obtain a second seed set, and calculate the influence lower limit value of the second seed set;
[0178] The upper limit value of the influence of the target seed node is calculated according to the upper limit value of the influence of the first seed set and the lower limit value of the influence of the second seed set.
[0179] In one embodiment, when the computer program is executed by a processor, the steps of the following method are implemented: calculating the upper limit of the influence of the first seed set includes:
[0180] constructing a first graph structure based on the first seed set;
[0181] Construct a non-backtracking matrix of the first graph structure;
[0182] Compute the largest eigenvalue of a non-backtracking matrix;
[0183] The upper bound of the influence of the first seed set is calculated based on the maximum eigenvalue.
[0184] In one embodiment, when the computer program is executed by a processor, the steps of the following method are implemented: calculating the lower limit value of the influence of the second seed set includes:
[0185] Remove the target seed node from the first graph structure to obtain a second graph structure;
[0186] Construct a non-backtracking matrix of the second graph structure;
[0187] Compute the largest eigenvalue of a non-backtracking matrix;
[0188] The lower bound of the influence of the second seed set is calculated based on the maximum eigenvalue.
[0189] In one embodiment, when the computer program is executed by a processor, the steps of the following method are implemented: estimating the lower bounds of influence of various child nodes, including:
[0190] In a social network, determine the set of nodes that the influence of various child nodes can reach;
[0191] Determine the target node closest to the corresponding seed node in each node set;
[0192] Calculate the probability that various child nodes influence the corresponding target node, and determine the lower limit of the influence of various child nodes based on the probability.
[0193] In one embodiment, when the computer program is executed by a processor, the steps of the following method are implemented: in a social network, determining a set of nodes that can be reached by the influence of various child nodes, including:
[0194] In a seed set consisting of a plurality of seed nodes, the seed nodes are traversed in a loop until all the seed nodes are traversed; wherein the traversing the seed nodes in a loop includes:
[0195] Determine the target seed node currently being traversed and the influence of the target seed node;
[0196] In a social network, the set of nodes that can be reached by the influence of the target seed node is traversed in a loop until the set of nodes is exhausted.
[0197] In one embodiment, when the computer program is executed by a processor, the steps of the following method are implemented: calculating the probability that various child nodes influence the corresponding target node, and determining the lower limit of the influence of various child nodes according to the probability, including:
[0198] Determine the target node set currently traversed;
[0199] Determine the target node closest to the target seed node in the target node set, and calculate the probability that the target seed node affects the target node;
[0200] Update the lower bound of the influence of the target seed node according to the currently calculated probability.
[0201] In one embodiment, when the computer program is executed by a processor, the steps of the following method are implemented: calculating the probability that the target seed node affects the target node, including:
[0202] determining a first probability that an event corresponding to the target node is influenced by the target seed node in the social network;
[0203] determining a second probability that an event corresponding to the target node is not affected by seed nodes other than the target seed node in the seed set;
[0204] The minimum value of the probability that the target seed node affects the target node is calculated according to the first probability and the second probability.
[0205] In one embodiment, when the computer program is executed by a processor, the steps of the following method are implemented: in a social network, before determining the node set that the influence of various child nodes can reach, the method further includes:
[0206] Convert the social network from a network structure to a spanning tree network structure;
[0207] In the spanning tree network structure, delete the edge whose starting node is farther from the seed set than the ending node;
[0208] Initialize the reachable node set of various child nodes' influence, and initialize the influence of various child nodes.
[0209] In one embodiment, when the computer program is executed by a processor, the steps of the following method are implemented: determining the influence resources owned by each of the multiple agents, and assigning the seed nodes with the highest density within the budget range to each agent in order of the influence resources from small to large, including:
[0210] Get a proxy list consisting of multiple proxies and a seed set consisting of seed nodes;
[0211] Select the agent with the smallest influence resource in the agent list as the target agent;
[0212] Determine whether there is a seed node in the seed set that is within the target agent budget range;
[0213] If it exists, the seed node with the largest density within the target agent budget range is selected from the seed set as the target seed node;
[0214] Assign the target seed node to the target agent and remove the target seed node from the seed set;
[0215] Select the next proxy with the smallest influential resource in the proxy list as the next target proxy, and repeat the above steps until all proxies can no longer add new seed nodes or all seed nodes are allocated.
[0216] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 8 As shown. The computer device includes a processor, a memory and a network interface connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store social network data. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a method for allocating influence resources is implemented.
[0217] Those skilled in the art will understand that Figure 8 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0218] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.
[0219] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0220] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0221] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A method for allocating influence resources, characterized in that: include: Estimate the influence boundary values of multiple seed nodes in a social network; Determining the density of each of the seed nodes according to the influence boundary value of each of the seed nodes and the overhead of each of the seed nodes; The influence resources already possessed by each of the multiple agents are determined, and the seed nodes with the largest density within the budget range are respectively allocated to each of the agents in order of the influence resources from small to large.
2. The method for allocating influence resources according to claim 1, characterized in that: Estimate the influence boundary values of multiple seed nodes in a social network, including: Estimate the upper limit of the influence of each seed node, and use the upper limit of the influence of each seed node as the influence boundary value; or, The lower limit value of the influence of each seed node is estimated, and the lower limit value of the influence of each seed node is used as the influence boundary value.
3. The method for allocating influence resources according to claim 2, characterized in that: Estimate the upper limit of the influence of each seed node, including: Determine a first seed set consisting of the plurality of seed nodes; Calculating an upper limit value of the influence of the first seed set; Deleting the target seed node whose influence upper limit is to be calculated from the first seed set to obtain a second seed set, and calculating the influence lower limit of the second seed set; The upper limit value of the influence of the target seed node is calculated according to the upper limit value of the influence of the first seed set and the lower limit value of the influence of the second seed set.
4. The method for allocating influence resources according to claim 3, characterized in that: Calculating the upper limit of the influence of the first seed set includes: constructing a first graph structure based on the first seed set; Constructing a non-backtracking matrix of the first graph structure; Calculating the maximum eigenvalue of the non-backtracking matrix; An upper limit value of the influence of the first seed set is calculated according to the maximum eigenvalue.
5. The method for allocating influence resources according to claim 4, characterized in that: Calculating the lower limit of the influence of the second seed set includes: Removing the target seed node from the first graph structure to obtain a second graph structure; Constructing a non-backtracking matrix of the second graph structure; Calculating the maximum eigenvalue of the non-backtracking matrix; The lower limit value of the influence of the second seed set is calculated according to the maximum eigenvalue.
6. The method for allocating influence resources according to claim 2, characterized in that: Estimate the lower limit of the influence of each seed node, including: In the social network, determining a set of nodes that can be reached by the influence of each seed node; Determine a target node closest to the corresponding seed node in each of the node sets; The probability that each of the seed nodes influences the corresponding target node is calculated, and the lower limit of the influence of each of the seed nodes is determined according to the probability.
7. The method for allocating influence resources according to claim 6, characterized in that: In the social network, determining a set of nodes that can be reached by the influence of each seed node includes: In a seed set consisting of the plurality of seed nodes, the seed nodes are traversed in a loop until all the seed nodes are traversed; wherein the traversing the seed nodes in a loop includes: Determine the target seed node currently traversed and the influence of the target seed node; In the social network, a node set that can be reached by the influence of the target seed node is traversed in a loop until the node set is completely traversed.
8. The method for allocating influence resources according to claim 6, characterized in that: Calculating the probability that each of the seed nodes influences the corresponding target node, and determining the lower limit of the influence of each of the seed nodes according to the probability, including: Determine the target node set currently traversed; Determine a target node closest to the target seed node in the target node set, and calculate the probability that the target seed node affects the target node; The influence lower bound value of the target seed node is updated according to the currently calculated probability.
9. The method for allocating influence resources according to claim 8, characterized in that: Calculating the probability that the target seed node affects the target node includes: determining a first probability that an event corresponding to the target node is influenced by the target seed node in the social network; Determining a second probability that an event corresponding to the target node is not affected by seed nodes other than the target seed node in the seed set; The minimum value of the probability that the target seed node affects the target node is calculated according to the first probability and the second probability.
10. The method for allocating influence resources according to claim 6, characterized in that: In the social network, before determining the set of nodes to which the influence of each seed node can reach, the method further includes: Converting the social network from a network structure to a spanning tree network structure; In the spanning tree network structure, deleting an edge whose starting node is farther from the seed set than the ending node is from the seed set; Initialize the node set that can be reached by the influence of each seed node, and initialize the influence of each seed node.
11. The method for allocating influence resources according to claim 1, characterized in that: Determine the influence resources of each of the multiple agents, and allocate the seed node with the largest density within the budget range to each of the agents in order of the influence resources from small to large, including: Acquire a proxy list consisting of the plurality of proxies and a seed set consisting of the seed nodes; Selecting the agent with the smallest influence resource in the agent list as the target agent; Determining whether there is a seed node within the target proxy budget range in the seed set; If so, selecting the seed node with the largest density within the target proxy budget range from the seed set as the target seed node; assigning the target seed node to the target agent, and removing the target seed node from the seed set; The next proxy with the smallest influential resource is selected in the proxy list as the next target proxy, and the above steps are repeated until all proxies can no longer add new seed nodes or all seed nodes are allocated.
12. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 11 are implemented.
13. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.