OPTIMAL SOCIAL NETWORK AD ALLOCATION USING HYPERBOLIC EMBEDDING

20170352061 · 2017-12-07

    Inventors

    Cpc classification

    International classification

    Abstract

    Various computational systems may benefit from improvement in determining optimal allocation. For example certain social network advertisement systems may benefit from the use of hyperbolic embedding. A method, according to certain embodiments, can include obtaining a group of users as potential advertising targets. The method can also include mapping the group of users to a hyperbolic space. The method can further include expressing sets of users from the group of users as continuous subsets of the hyperbolic space. The method can additionally include determining influence for the expressed sets of users as sets. The method can also include allocating one or more of the sets to an advertising campaign based on the determined influence.

    Claims

    1. A method, comprising: obtaining a group of users as potential advertising targets; mapping the group of users to a hyperbolic space; expressing sets of users from the group of users as continuous subsets of the hyperbolic space; determining influence for the expressed sets of users as sets; and allocating one or more of the sets to an advertising campaign based on the determined influence.

    2. The method of claim 1, further comprising: serving the advertising campaign to the one or more allocated sets.

    3. The method of claim 1, wherein the determining influence for the expressed sets of users as sets comprises performing a unit impression decomposition.

    4. The method of claim 1, wherein the expressing sets of users from the group of users as continuous subsets of the hyperbolic space comprises expressing the sets of users as at least one segment of a Poincaré disk selected from a ring, a fan, or a circle.

    5. The method of claim 1, wherein the mapping the group of users to the hyperbolic space comprises uniform node density embedding.

    6. The method of claim 5, wherein the uniform node density embedding is performed with respect to a Poincaré disk.

    7. An apparatus, comprising: at least one processor; and at least one memory including computer program instructions, wherein the at least one memory and the computer program instructions are configured to, with the at least one processor, cause the apparatus at least to obtain a group of users as potential advertising targets; map the group of users to a hyperbolic space; express sets of users from the group of users as continuous subsets of the hyperbolic space; determine influence for the expressed sets of users as sets; and allocate one or more of the sets to an advertising campaign based on the determined influence.

    8. The apparatus of claim 7, wherein the at least one memory and the computer program instructions are further configured to, with the at least one processor, cause the apparatus at least to serve the advertising campaign to the one or more allocated sets.

    9. The apparatus of claim 7, wherein the determining influence for the expressed sets of users as sets comprises performing a unit impression decomposition.

    10. The apparatus of claim 7, wherein the expressing sets of users from the group of users as continuous subsets of the hyperbolic space comprises expressing the sets of users as at least one segment of a Poincaré disk selected from a ring, a fan, or a circle.

    11. The apparatus of claim 7, wherein the mapping the group of users to the hyperbolic space comprises uniform node density embedding.

    12. The apparatus of claim 11, wherein the uniform node density embedding is performed with respect to a Poincaré disk.

    13. A non-transitory computer-readable medium encoded with instructions that, when executed in hardware, perform a process, the process comprising: obtaining a group of users as potential advertising targets; mapping the group of users to a hyperbolic space; expressing sets of users from the group of users as continuous subsets of the hyperbolic space; determining influence for the expressed sets of users as sets; and allocating one or more of the sets to an advertising campaign based on the determined influence.

    14. The non-transitory computer-readable medium of claim 13, the process further comprising: serving the advertising campaign to the one or more allocated sets.

    15. The non-transitory computer-readable medium of claim 13, wherein the determining influence for the expressed sets of users as sets comprises performing a unit impression decomposition.

    16. The non-transitory computer-readable medium of claim 13, wherein the expressing sets of users from the group of users as continuous subsets of the hyperbolic space comprises expressing the sets of users as at least one segment of a Poincaré disk selected from a ring, a fan, or a circle.

    17. The non-transitory computer-readable medium of claim 13, wherein the mapping the group of users to the hyperbolic space comprises uniform node density embedding.

    18. The non-transitory computer-readable medium of claim 17, wherein the uniform node density embedding is performed with respect to a Poincaré disk.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0016] For proper understanding of the invention, reference should be made to the accompanying drawings, wherein:

    [0017] FIG. 1 illustrates isolate cubes and degree spectrum according to certain embodiments of the present invention.

    [0018] FIG. 2 illustrates an embedding algorithm, according to certain embodiments of the present invention.

    [0019] FIG. 3 illustrates a method according to certain embodiments of the present invention.

    [0020] FIG. 4 illustrates a system according to certain embodiments of the present invention.

    DETAILED DESCRIPTION

    [0021] How to allocate the impressions of users to a set of advertisers with bid constraints while considering the social influence as well as domain constraints at the same time was not well studied. By contrast certain embodiments of the present invention address a homogeneous setting, where all advertisers bid on the same group of users, for example on the whole set of SNS users.

    [0022] Furthermore, certain embodiments provide a novel formulation by mapping a network to a hyperbolic plane, which may improve the offline run time for the problem. By doing so, certain embodiments may approximate the large scale user-wise calculations with region-wise integrals, changing the discrete domain to a continuous domain. This change may permit description of the allocation strategy using a 2-D geometry shape and may reduce the dimensionality, in the in the order of 0 (V).

    [0023] On the other hand, region-wise Ad allocation is a convenient framework for representing and visualizing domain constraints. The optimization process is further developed in certain embodiments by using impression decomposition that divides the problem into a series of smaller and simpler ones without introducing strong assumptions. Moreover, certain embodiments provide different allocation strategies, which may have various implications to domain constraints.

    [0024] Certain embodiments address SNS advertising business models, formulate the SNS ad allocation problem, and show their connections with hyperbolic embedding. Certain embodiments more particularly provide a new embedding algorithm sometimes referred to as HyperCubeMap, which allows for dimension reduction. The method of certain embodiments reduces the dimensionality of the original problem significantly, runs two to four orders of magnitude faster, and reaches 90 or 95% of the optimum. Thus, certain embodiments may improve the performance of a computer running a solution to an SNS ad allocation problem.

    [0025] To formulate the SNS ad allocation problem, let A denote the set of advertisers, and let U denote the set of users. Each user uεU has a daily impression I.sub.u, and a social influence function P(u). Each advertiser A.sub.iεA has a target user group t.sub.2U defined by user attributes, a budget b.sub.i and bidding price p.sub.i. Without losing generality, each advertiser can be assumed to have only one ad, and on a user's one impression it can be assumed that only one ad is displayed in the sponsor pane. In the news feed, the user's friends' ad engagement can be treated as common friends' updates and displayed anyway.

    [0026] The solution of the allocation problem can decide for each ad what is the initial set of users to be displayed by considering their influence capability. The decision variable can be XεN.sub.0.sup.|A|×|U|. For each u and A.sub.i, one dimension of the decision variable x.sub.u,i represents how many impressions of u are to be assigned to A.sub.i. The optimization problem can be to find the allocation that maximizes the agent's total revenue. As mentioned above, one solution is to address this as an integer program.

    [0027] However, the decision variable XεN.sub.0.sup.|A|×|U| lies in high dimension, for example, as much as 10.sup.16, when considering 1 million advertisers and billion users daily in Facebook. This makes the direct optimization impractical. To make such optimization more tractable, or for other purposes, certain embodiments provide an approximation scheme, referred to for convenience as HyperCubeMap.

    [0028] Certain embodiments of the present invention can exploit the target group concept in the problem by using hyperbolic embedding. Notice that in an advertiser A.sub.i's target group t.sub.i, all users are considered the same by the ad, the only difference is their influence capabilities. If the user impression allocation for A.sub.i and revenue calculation with influence on the target can be approximated on the group level rather than the user level, certain embodiments may be able to eliminate several orders of magnitude of dimensions for the problem. For 10.sup.9 users and 10.sup.3˜6 categories in a real world SNS such as Facebook, for example, the dimension can be reduced to around 10.sup.3˜6.

    [0029] Hyperbolic embedding can refer to a geometric mapping from a complex network G (V,E) to a set of points and segments in a hyperbolic space D. The hyperbolic space can be continuous. Hyperbolic embedding can map arbitrary size complex networks into a bounded area where each node is assigned a coordinate.

    [0030] If SNS is embedded properly, regions in the hyperbolic space can be used to express a set of users allocated to an ad. Then, the revenue from A.sub.i can be approximated as an integral of the user's influence function over a certain region R.sub.i⊂D:

    [00001] p i .Math. .Math. u t i .Math. x u , i ( 1 + P ( u ) ) p i .Math. r .Math. θ .Math. I ( R i ( r , θ ) ) .Math. d .Math. .Math. θ .Math. .Math. dr

    [0031] As a small number of variables can be used to describe a set of users assigned to A.sub.i with regular shapes such as fan and ring, the dimensions of the original problem can be reduced significantly.

    [0032] Hyperbolic space is a non-Euclidean geometrically smooth space that generalizes the idea of Riemannian manifolds with negative curvature. In certain embodiments described herein, a Poincaré disc model, D={zεcustom-character∥Z|<1}. The connection between the complex network and the hyperbolic space can lie in the Gromov's δ-hyperbolicity of a metric space. Power law degree distributions and strong clustering in complex networks can be viewed as reflection of the negative curvature property of the underlying hyperbolic geometry. Thus, a mapping can be designed between hyperbolic space and complex networks, which can accommodate arbitrary size network and can successfully capture important features in complex networks, such as small world effect, scale-free and community structure.

    [0033] Advertisers may bid on heterogeneous user groups, and users may have different impressions and influence capability. Thus, to apply the embeded SNS for dimension reduction via integration, the hyperbolic embedding may have the following properties: both the node density and degree distribution can be well-defined along angular and radial axes to support integrals; the social influence function defined on the user's coordinate (r, θ) can be continuous on the Poincaré disc D, otherwise the column with the related surface may not be integrable; and the embedding method can embed users within the same targeting group onto connected regions. Otherwise, a user group can be described by a collection of discrete points and dimension reduction may not be achieved.

    [0034] The HyperCubeMap embedding algorithm can have the three above-described properties. This algorithm can first ensure the node density and degree are well-defined along the radial axis: node density can be defined by ρ(r)=ae.sup.τ and degree distribution can be defined by ω(r)=ce.sup.−r/2, where a and c are constants derived from embedding.

    [0035] The algorithm can then organize the Poincaré disc into dimension reduction feasible cubes and calculate the minimal set of groups to boost dimension reduction effectiveness. An example of the whole embedding algorithm which satisfies all three prerequisites is also provided below. To improve precision and ease tuning, uniform node density embedding, as further discussed below.

    [0036] To let the advertisers specify the target user group, the agent often provides a set of category filters, each of which has fixed number of options. In Facebook's case, there are seven major user attributes for filtering: for example, location, gender, age, language, and interests. The target user group of a campaign is the selection of given options. The size of option profiles is not very large, for example Facebook has common option profiles bounded by 10.sup.6 and discourages too fine-grained filters by giving warnings.

    [0037] To capture these aspects or for other reasons, certain embodiments provide for an isolate cube to express user groupings, and for degree spectrum to divide the Poincaré disc into finer and more regular shapes which may ease the calculation and improve the precision, as shown in FIG. 1.

    [0038] FIG. 1 illustrates isolate cubes and degree spectrum according to certain embodiments of the present invention. As shown in FIG. 1, the isolate cubes may be, for example, graduate students in the US. Moreover, there can be various degree spectra. A targetable user group may be, for example, a fan shaped allocation from the Poincaré disc.

    [0039] An isolate cube can be a set of unit targetable user groups having the same set of campaigns. Users in the same isolate cube can be shared by the same set of campaigns. Any two users in an isolate cube can be interchangeable in an allocation solution. As the isolate cubes are related to dimension reduction performance, the fewer isolate cubes there are, the better performance can benefit from the embedding. In the worst case, considering the ad platform that defines F categorical filters, and each ƒεF has v.sub.ƒ distinct options, there may be at most Π.sub.ƒεF v.sub.ƒ isolate cubes.

    [0040] As one can envision, the population in each user group may vary a lot, as may the degree distributions in each of them. During embedding, different isolate cube can result in very different shapes in a Poincaré disc. To make the embedding useful and ensure accuracy (or for other reasons), degree spectrum can be used to regularize the embedding shape.

    [0041] A degree spectrum, A, can be a series of annuli centered at (0,0) on 2-D Poincaré disc. Each annulus λεΛ with radius (r.sub.s, r.sub.e), represents all the users with degree in the range of ω(r.sub.s),ω(r.sub.e). As shown in FIG. 1, the annuli are the degree spectrum.

    [0042] Within each annulus, isolate cubes can be allocated in fans whose area is proportional to the number of users in an isolate cube. Each advertiser A.sub.i can target a set of isolate cubes, IC.sub.1, each of which has locations in some or all annuli in the spectrum Λ. Thus, the allocation can be represented by at most |IC.sub.i|.Math.|Λ| dimensions for A.sub.i. Note that |Λ| can be a tuning parameter of certain embodiments of the present invention can be tuned by fixing the degree range d. In an extreme case, d=1, each annulus only contains the users with the same degree.

    [0043] As the size of isolate cubes may be important for dimension reduction performance, certain embodiments may determine a minimal set of isolate cubes. Assume the ad platform designs a set of filters F, where each ƒεF has a set of possible values, v. Each advertiser A.sub.i can select targeting values (ƒ, v.sub.i) for each filter, denoted by O.sub.i={(ƒ, v.sub.i)|ƒεF}, which defines a set of target users T.sub.i={u|ƒ, v.sub.i)εO.sub.i, u[ƒ]εv.sub.i}. Given all advertisers A and their targeting profiles O, the target users can be clustered together and the optimal isolate cubes (opt_ic) can be derived to provide the smallest set of isolate cubes, while providing the best dimension reduction performance.

    [0044] A hashing based approach can be used to derive the opt_ic in O(O) time. By scanning O, for each filter value (ƒ,v.sub.i), a signature can be built based on the set of advertisers that bid it. Then all (ƒ,v.sub.i) can be scanned, and those that share the same signature can get the opt_ic.

    [0045] FIG. 2 illustrates an embedding algorithm, according to certain embodiments of the present invention. This algorithm can be referred to as HyperCubeMap, as discussed above. Given and SNS G(U, E), advertisers A, targeting profile O, and spectrum design Λ, the algorithm can place each user uεU u E U to (r.sub.u, θ.sub.u). The algorithm can first generate the optimal isolate cubes opt_ic, and then for each spectrum annulus λ(r.sub.s, r.sub.e)A(.Math.rs, re), it can assign each icεopt_ic an angular coordinate range (θ.sub.s, θ.sub.e).

    [0046] To ensure the uniform node density along angular axis, the range can be proportional to the ic's target user size portion in this spectrum annulus. To ensure the same targetable user groups are allocated together, the angular coordinate of each user can be assigned in its associated isolate cube ic. β is a mitigating factor determined by the power law exponent γ:

    [00002] β = 1 γ ;

    γ can be found for a given network. The algorithm complexity can be linear, given users sorted by degree.

    [0047] HyperCubeMap can produce an embedding that satisfies the prerequisites discussed above. On the Poincaré disc, the degree distribution and node density may be well defined along angular and radial axes, node density ρ(r)=ae.sup.τ, and correspondingly expected degree ω(r)=ce.sup.−r/2, rε[0, R]. The same targeted group users can be embedded into connected regions. With a continuous social influence function, the problem can be reformulated to a region allocation problem with many fewer dimensions than in an alternative approach.

    [0048] From Algorithm 1 in FIG. 2, it can be seen that the inner area of the Poincaré disc may be very sparse due to the exponential node density along the radius, which affects the optimality of approximation and presents a challenge for parameter tuning and allocation scheme design.

    [0049] Thus, node density can be adjusted to make node density uniform along the radius, by moving nodes inside as an alternative embedding method.

    [0050] For a point at (r, θ) by Algorithm 1, the point's new coordinate can be (r′, θ), then the uniform density function ρ′(r′) can be derived as follows:

    [00003] ρ ( r ) = 0 R .Math. 0 2 .Math. π .Math. ρ ( τ ) .Math. d .Math. .Math. θ .Math. .Math. d .Math. .Math. τ π .Math. .Math. R 2 = 2 .Math. a ( e R - 1 ) R 2

    [0051] The mapping ψ(r) from r to r′ can be as follows:

    [00004] r = ψ ( r ) = R 2 .Math. ( e τ - 1 ) ( e R - 1 ) = R .Math. e τ - 1 e R - 1

    [0052] Thus, the expected degree at new coordinate (r′, θ) can be expressed as follows:

    [00005] ω ( r ) = ω ( r ) .Math. r = ψ - 1 ( r ) = cR τ ′2 .Math. e R - τ ′2 + R 2

    [0053] Using HyperCubeMap, the ad allocation problem can reformulated as a region allocation problem on the 2-D Poincaré disc D. On D, each user uεU with impression degree I.sub.uεI can be placed at (r.sub.u, θ.sub.u) in polar coordinates with an expected set of advertisers A, each A.sub.iεA has a budget b, and bidding price p.sub.ipi on a set of bidding isolate cubes of target users denoted as T.sub.i={ic.sub.1, ic.sub.2, . . . , ic.sub.n}. T=∪T.sub.i can be the optimal isolate cubes (opt_ic). Given the degree spectrum Λ, the allocation profile for A.sub.i can be defined as S.sub.i={S.sub.i.sup.λ,c|λεΛ, cεT}, where λ denotes the annulus, c specifies the isolate cube, S.sub.i is a set of fans {θ.sub.i,s.sup.λ,c, θ.sub.i,e.sup.λ,c}, each of which describes how to allocate users in an isolate cube c on a degree spectrum annulus λ. The optimal region allocation problem can be to derive an allocation profile S for A to maximize the revenue of the agent while respecting the budget and impression constraints:

    [00006] max S .Math. .Math. A i A .Math. p i .Math. f i ( S , I )

    [0054] Subject to S.sub.i⊂T.sub.i ∀A.sub.iεA

    [0055] 0≦p.sub.iƒ.sub.i(S,I)≦b.sub.i ∀A.sub.iεA

    [0056] φ.sub.u(S,I)=Σ.sub.S.sub.i.sub.εSφ.sub.u(S.sub.i,I)≦I.sub.u ∀uεU

    [0057] θ.sub.e.sup.λ,c≧θ.sub.i,e.sup.λ,c≧θ.sub.i,s.sup.λ,c≧θ.sub.s.sup.λ,c ∀cεT,λεΛ

    [0058] where ƒ.sub.i (S,I) is A.sub.i's actual sum of impressions considering social influence. φ.sub.u(S,I) is u's impressions assigned to A.sub.i. Now a set of users may have beem assembled as a fan shape on the Poincaré disc, which may significantly reduce dimensions.

    [0059] On the other hand, angular coordinates are continuous values instead of discrete values as before. If closed forms are given for each ad A.sub.i's assigned impressions ƒ.sub.i(S,I) and each user u's allocated impression φ.sub.u(S,I), then the problem can be solved directly. In order to do so, it may be useful to specify how to incorporate with social influence, and address two challenges: the impression distribution may not be well-defined and uncorrelated with degree; and overlapping fans. The first issue may prevent the application of an integral, while the second issue may make optimization more complicated.

    [0060] The actual impressions resulting from user u may be different from I.sub.u due to the user's social influence in the network. All exposed qualified impressions can have a cost to the advertiser. Thus, the actual profit of the agent may be as follows:


    p.sub.i.Math.I.sub.u.Math.(1+P(u))

    [0061] As discussed above, u's influence function P(u) can be defined using its 1-hop degree. After applying hyperbolic embedding, the influence function of user u can be as follows:


    P(u)=P(r.sub.u,θ.sub.u)=w.Math.d.sub.u=w.Math.w(r.sub.u,θ.sub.u)=w.Math.ce.sup.−r.sup.u.sup./2

    [0062] where w is a constant representing the engagement rate. Under uniform node density, the influence function P′(u) can be as follow:

    [00007] P ( u ) = P ( r u , θ u ) = w .Math. cR τ′ 2 .Math. e R - τ ′2 + R 2

    [0063] which are both continuous functions, and can be used in integral to express ƒ.sub.i(S,I) over the Poincaré disc.

    [0064] The unknown user impression distribution in the hyperbolic embedding of the SNS may significantly affect the formulation. Complex region intersection may not have an analytical expression or convexity. Also, the unknown impression distribution forces discretization of ƒ.sub.i and inevitably increases the complexity. To address these issues without introducing strong assumptions (for example, disallow overlapping, enforce well-defined impression distributions, or the like), certain embodiments can extend a unit impression decomposition optimization framework.

    [0065] Certain embodiments may decompose the SNS into a series subgraphs where uεU has an impression I.sub.u=1, so there cannot be any intersections where one impression would be shared by multiple advertisers. A sub step optimization can be conducted in each subgraph by adding a non-overlap constraint. Moreover, ƒ.sub.i(S,I) can he formulated as ƒ.sub.i(S.sub.i), as the volume assigned to A.sub.i can be independent.

    [0066] With unit impression decomposition, the original problem can be solved using a multi-stage optimization process. This process can finish when all impressions are allocated or all budgets are used. In the mth stage, given the unit impression graph G.sup.(m), HyperCubeMap can be applied to embed G.sup.(m) in the hyperbolic space. For each advertiser A.sub.iεA.sup.(m) whose budget b.sub.i.sup.m>0, the sub-step of the optimization problem can be given as follows.

    [00008] max S ( m ) .Math. .Math. A i A .Math. p i .Math. f i ( S i ( m ) )

    [0067] Subject to S.sub.i.sup.(m)⊂T.sub.i.sup.(m) ∀A.sub.iεA.sup.(m)

    [0068] 0≦p.sub.iƒ.sub.i(S.sub.i.sup.(m))≦b.sub.i.sup.(m) ∀A.sub.iεA.sup.(m)

    [0069] S.sub.i.sup.(m)∩S.sub.j.sup.(m)=0 ∀A.sub.i, A.sub.jεA.sup.(m)custom-characteri≠j

    [0070] U.sub.A.sub.i.sup.A.sup.(m)S.sub.i.sup.λ,c(m)⊂S.sup.λ,c(m) ∀cεT.sup.(m), λεΛ.sup.(m)

    [0071] The non-overlapping problem stated this way can then be solved, and the optimal solution S.sup.(m)* and optimal value Σ.sub.A.sub.i.sub.εA ƒ.sub.i(S.sub.i.sup.(m)*) can be recorded. The budget vector can be updated as b.sub.i.sup.(m+1)=b.sub.i.sup.(m)−p.sub.i.Math.ƒ.sub.i(S.sub.i.sup.(m)*), and the m+1.sup.th unit impression graph can be generated with residual impressions and removing users with no impression left and their edges. This process can end when all advertisers' budgets are used, or all impressions are exploited.

    [0072] With exponential node density and degree distribution, the allocation ƒ.sub.i(S.sub.i.sup.λ,c) can be calculated as:

    [00009] f i ( S i λ , c ) = f i ( θ i , s λ , c , θ i , e λ , c ) = τ e λ τ e λ .Math. θ i , s λ θ i , e λ , c .Math. ρ ( τ ) .Math. ( 1 + P ( τ , θ ) ) .Math. d .Math. .Math. θ .Math. .Math. d .Math. .Math. τ = a .Math. τ e λ τ e λ .Math. e τ ( 1 + wce - τ 2 .Math. θ i , s λ θ i , e λ , c .Math. d .Math. .Math. θ .Math. .Math. d .Math. .Math. τ = Δ λ .Math. θ i λ , c .Math. .Math. .Math. where .Math. .Math. Δ λ = a ( 2 .Math. wce τ e λ 2 - 2 .Math. wce τ s λ 2 + e τ s λ - e τ s λ )

    is a constant related to the annulus λ and θ.sub.i.sup.λ,c=θ.sub.i,e.sup.λ,c−θ.sub.i,s.sup.λ,c is the angle range of the region S.sub.i.sup.λ,c. Now the function ƒ.sub.i(S.sub.i.sup.λ,c) is actually a linear function of θ.sub.i.sup.λ,c, regardless of its start and end angles.

    [0073] If we apply the uniform node density transform, the volume ƒ.sub.i can be calculated with a different boundary (r′.sub.s.sup.λ,r′.sub.e.sup.λ), then:

    [00010] f i ( S i λ , c ) = τ′ e λ τ′ e λ .Math. θ i , s λ θ i , e λ , c .Math. ρ ( τ ) .Math. ( 1 + P ( τ , θ ) ) .Math. d .Math. .Math. θ .Math. .Math. d .Math. .Math. τ = Δ λ .Math. θ i λ , c where .Math. Δ λ = a ( 2 .Math. wc .Math. .Math. e ψ - 1 ( τ′ e λ ) 2 - 2 .Math. wc .Math. .Math. e ψ - 1 ( τ′ s λ ) 2 + e ψ - 1 ( τ′ e λ ) - e ψ - 1 ( τ′ s λ ) )

    is still a constant related to λ and Λ, and ƒ.sub.i is linear.

    [0074] Combining the unit impression decomposition and fan-shaped allocation strategy, the optimal region allocation problem can be elaborated as a linear program:

    [00011] max Θ ( m ) .Math. .Math. A i A ( m ) .Math. p i .Math. .Math. λ Λ .Math. Δ λ .Math. .Math. c T i ( m ) .Math. θ i λ , c ( m )

    [0075] subject to p.sub.iΣ.sub.λεΛΔ.sub.λΣ.sub.cεT.sub.i.sub.(m)θ.sub.i.sup.λ,c(m)≦b.sub.i.sup.(m) ∀A.sub.iεA.sup.(m)

    [0076] Σ.sub.A.sub.i.sub.εA.sub.(m)θ.sub.i.sup.λ,c(m)≦θ.sub.e.sup.λ,c(m) . . . θ.sub.s.sup.λ,c(m) ∀cεT.sup.(m),λεΛ.sup.(m)

    [0077] where the decision variable Θεcustom-character.sub.≧0.sup.|A|×|A|×|T|. Δ.sub.λ is the constant used above. The uniform node density setting can be derived accordingly, by replacing Δ.sub.λ with Δ′.sub.λ.

    [0078] If the optimization stops after n stages, then the allocation of ad A.sub.i is the aggregation of optimal solutions: U.sub.k=1.sup.n S.sub.i.sup.(k)*.

    [0079] Note that while in one iteration there is no overlap, the final aggregated regions may have overlaps, as each iteration can be based on a different Poincaré disc.

    [0080] FIG. 3 illustrates a method according to certain embodiments of the present invention. The method of FIG. 3 may be implemented using the HyperCubeMap algorithm or any variation on or substitute therefor, including any of the above-described embodiments.

    [0081] As shown in FIG. 3, a method can include, at 310, obtaining a group of users as potential advertising targets. This can refer to the process of identifying the group of users from a database, or some other way of obtaining an indication of the users of, for example, a social network.

    [0082] The method can also include, at 320, mapping the group of users to a hyperbolic space. The mapping the group of users to the hyperbolic space can include uniform node density embedding. The uniform node density embedding can be performed with respect to a Poincaré disk.

    [0083] The method can further include, at 330, expressing sets of users from the group of users as continuous subsets of the hyperbolic space. The expressing sets of users from the group of users as continuous subsets of the hyperbolic space can include expressing the sets of users as at least one segment of a Poincaré disk selected from a ring, a fan, or a circle.

    [0084] The method can additionally include, at 340, determining influence for the expressed sets of users as sets. The determining influence for the expressed sets of users as sets can include performing a unit impression decomposition.

    [0085] The method can also include, at 350, allocating one or more of the sets to an advertising campaign based on the determined influence. In certain embodiments, the method can further include, at 360, serving the advertising campaign to the one or more allocated sets.

    [0086] FIG. 4 illustrates a system according to certain embodiments of the invention. It should be understood that each block of the flowchart of FIG. 3 may be implemented by various means or their combinations, such as hardware, software, firmware, one or more processors and/or circuitry. In one embodiment, a system may include several devices, such as, for example, network element 410 and user equipment (UE) or user device 420. The system may include more than one UE 420 and more than one network element 410, although only one of each is shown for the purposes of illustration. A network element can be an access point, a base station, an eNode B (eNB), or any other network element, such as a PCell base station or a PSCell base station. Each of these devices may include at least one processor or control unit or module, respectively indicated as 414 and 424. At least one memory may be provided in each device, and indicated as 415 and 425, respectively. The memory may include computer program instructions or computer code contained therein, for example for carrying out the embodiments described above. One or more transceiver 416 and 426 may be provided, and each device may also include an antenna, respectively illustrated as 417 and 427. Although only one antenna each is shown, many antennas and multiple antenna elements may be provided to each of the devices. Other configurations of these devices, for example, may be provided. For example, network element 410 and UE 420 may be additionally configured for wired communication, in addition to wireless communication, and in such a case antennas 417 and 427 may illustrate any form of communication hardware, without being limited to merely an antenna.

    [0087] Transceivers 416 and 426 may each, independently, be a transmitter, a receiver, or both a transmitter and a receiver, or a unit or device that may be configured both for transmission and reception. The transmitter and/or receiver (as far as radio parts are concerned) may also be implemented as a remote radio head which is not located in the device itself, but in a mast, for example. It should also be appreciated that according to the “liquid” or flexible radio concept, the operations and functionalities may be performed in different entities, such as nodes, hosts or servers, in a flexible manner. In other words, division of labor may vary case by case. One possible use is to make a network element to deliver local content. One or more functionalities may also be implemented as a virtual application that is provided as software that can run on a server.

    [0088] A user device or user equipment 420 may be a mobile station (MS) such as a mobile phone or smart phone or multimedia device, a computer, such as a tablet, provided with wireless communication capabilities, personal data or digital assistant (PDA) provided with wireless communication capabilities, vehicle, portable media player, digital camera, pocket video camera, navigation unit provided with wireless communication capabilities or any combinations thereof. The user device or user equipment 420 may be a sensor or smart meter, or other device that may usually be configured for a single location.

    [0089] In an exemplifying embodiment, an apparatus, such as a node or user device, may include means for carrying out embodiments described above in relation to FIG. 3.

    [0090] Processors 414 and 424 may be embodied by any computational or data processing device, such as a central processing unit (CPU), digital signal processor (DSP), application specific integrated circuit (ASIC), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), digitally enhanced circuits, or comparable device or a combination thereof. The processors may be implemented as a single controller, or a plurality of controllers or processors. Additionally, the processors may be implemented as a pool of processors in a local configuration, in a cloud configuration, or in a combination thereof. The term circuitry may refer to one or more electric or electronic circuits. The term processor may refer to circuitry, such as logic circuitry, that responds to and processes instructions that drive a computer.

    [0091] For firmware or software, the implementation may include modules or units of at least one chip set (e.g., procedures, functions, and so on). Memories 415 and 425 may independently be any suitable storage device, such as a non-transitory computer-readable medium. A hard disk drive (HDD), random access memory (RAM), flash memory, or other suitable memory may be used. The memories may be combined on a single integrated circuit as the processor, or may be separate therefrom. Furthermore, the computer program instructions may be stored in the memory and which may be processed by the processors can be any suitable form of computer program code, for example, a compiled or interpreted computer program written in any suitable programming language. The memory or data storage entity is typically internal but may also be external or a combination thereof, such as in the case when additional memory capacity is obtained from a service provider. The memory may be fixed or removable.

    [0092] The memory and the computer program instructions may be configured, with the processor for the particular device, to cause a hardware apparatus such as network element 410 and/or UE 420, to perform any of the processes described above (see, for example, FIG. 3). Therefore, in certain embodiments, a non-transitory computer-readable medium may be encoded with computer instructions or one or more computer program (such as added or updated software routine, applet or macro) that, when executed in hardware, may perform a process such as one of the processes described herein. Computer programs may be coded by a programming language, which may be a high-level programming language, such as objective-C, C, C++, C#, Java, etc., or a low-level programming language, such as a machine language, or assembler. Alternatively, certain embodiments of the invention may be performed entirely in hardware.

    [0093] Furthermore, although FIG. 4 illustrates a system including a network element 410 and a UE 420, embodiments of the invention may be applicable to other configurations, and configurations involving additional elements, as illustrated and discussed herein. For example, multiple user equipment devices and multiple network elements may be present, or other nodes providing similar functionality, such as nodes that combine the functionality of a user equipment and an access point, such as a relay node.

    [0094] One having ordinary skill in the art will readily understand that the invention as discussed above may be practiced with steps in a different order, and/or with hardware elements in configurations which are different than those which are disclosed. Therefore, although the invention has been described based upon these preferred embodiments, it would be apparent to those of skill in the art that certain modifications, variations, and alternative constructions would be apparent, while remaining within the spirit and scope of the invention.