Mathematical model of interest matchmaking in electronic social networks

The problem of matchmaking in electronic social networks is formulated as an optimization problem. In particular, a function measuring the matching degree of fields of interest of a search profile with those of an advertising profile is proposed.


I. INTRODUCTION
Social activities in electronic networks play an increasingly important role in our every-day lives. We are exchanging important information via electronic mails, wikis, web-based forums, or blogs, and meet new friends or business contacts in Internet communities and social network services. Parallel to this growing socialization of the World Wide Web, the requirements on the electronic services become more ambitious. Huge data quantities have to be processed, user-friendly interfaces are to be designed, and more and more sophisticated computations must be implemented to offer complex solutions.
This paper studies a special aspect of social network services, the matchmaking problem. In essence it asks, given a search profile, for advertising profiles matching it best. This problem is in principle well-known in Grid computing, where computational tasks are seeking for appropriate resources such as CPU time and memory space on different computers. In electronic social networks, however, the problem is more general because not only specified attribute ranges are to be compared but more or less vaguely describable interests.
The aim of this paper is to formulate a mathematical model for the problem of matchmaking of attribute ranges and fields of interests in electronic social networks. It tackles the following fundamental questions. How can an appropriate system and its data structure be designed? How is the mathematical formulation of a matching problem as an optimization problem? In particular, what is its search space, what is its objective function? Whereas the idea to use a fuzzy function to calculate the matching degree of two numerical ranges may suggest itself, how could a function calculating a matching degree of two fields of interest look like? One of the central results of this paper is the proposal of a precise definition of such a function computing this matching degree and the presentation of a concrete example.
The paper is organized as follows. After a definition of electronic social networks is given in the next section, * South Westphalia University of Applied Sciences, Haldener Straße 182, D-58095 Hagen, Germany, e-Mail: de-vries@fh-swf.de a mathematical model of the matchmaking problem as an optimization problem is proposed, especially the data structure of search and advertising profiles, the search space, and the matching degree as the objective function. A short discussion concludes the paper.

II. ELECTRONIC SOCIAL NETWORKS
A social network consists of a finite set of actors and the direct relations defined on them. An actor here may be an individual, a group, or an organization, and the direct relation between two actors indicates that they directly interact with each other, have immediate contact, or are connected through social familiarities, such as casual acquaintance or familial bonds [2,12]. Thus a social network is naturally represented by a graph in which each node represents an actor and each edge a direct relation. Empirically, the mean number of direct relationships of an individual in a biological social network depends on the size of the neocortex of its individuals; the maximum size of such relationships in human social networks tends to be around 150 people ("Dunbar's number") and the average size around 124 people [6].
Since the popularization of the World Wide Web in the middle of the 1990's, there emerged several Internet social networks, maintained by social network services such as "circle of friends" like friendster (www.friendster.com ), MySpace (www.myspace.com ), or orkut (www.orkut.com), as platforms for business professionals like XING (www.xing.com ), or virtual worlds like Second Life (secondlife.com ). Internet social networks are instances of electronic social networks.
In this paper, an electronic social network is defined as a network of at least three human individuals or organizations which use essentially, albeit not exclusively, electronic devices and media to get in contact and acquaintance, to meet new partners, to communicate, and to exchange information. Examples of electronic social networks are Internet social networks, as well as videoconference sessions and conference calls, especially if they serve to meet new people as in party lines, or as long as they admit spontaneous communication between each member of the network.

III. THE MATCHMAKING PROBLEM
In computer science, the term matching in general refers to the process of evaluating the degree of similarity or of agreement of two objects. Each object is characterized by a set of properties or attributes, which in many systems are given by name-value pairs [3]. Matching plays a vital role in many areas of computer science and communication systems. For instance, it is studied for resource discovery and resource allocation in grid computing where matchmaking services are needed to intermediate between resource requesters and resource providers [1]. Other examples are given by the problem of matching demands and supply of business or personal profiles in online auctions, e-commerce, recruitment agencies, or dating services.

A. Profiles
In most matching problems, the objects under consideration take asymmetric roles, viz., some try to search for information or request for a service, others try to advertise information or provide a service. A single object may naturally do both activities at a time, in electronic social networks this even is the usual case. In the sequel we will therefore more accurately consider the matching of a search profile, containing the requested information, and an advertising profile presenting the provided information.
Given a specific search profile, the matchmaking problem then is to find those advertising profiles which match it best, in a sense to be specified in the sequel. Generalizations of this problem ask for best global matchings, given a whole set of search profiles and a set of advertising profiles. For instance, the global pairwise matchmaking problem seeks pairs of search/advertising-profiles such that the entity of the pairs matches the best under the constraint that any profile is member of at most one pair, the global multiple matchmaking problem searches for possibly multiple combinations of search and advertising profiles which as a whole match the best. The pairwise version of the problem typically occurs for dating services or classical marriage matchmaking tasks, whereas the multiple version appears in grid computing or in brokering interest groups.
In this paper we will focus on the local version of the matchmaking problem, i.e., finding an optimum advertising profile to a specified search profile. Thus the matchmaking problem is an optimization problem, and to formulate it precisely we have to specify the search space and the objective function. The search space will turn out to be the set of pairs of the fixed search profile and the advertising profiles, and the objective function will be a function measuring the "matching degree." We will work out these notions in the next sections.

Definitions
A profile consists of its owner, being an actor of the electronic social network, a list of attributes of a given set A together with their values, a list of attribute stencils where each stencil represents a pair of an attribute name and its value range, and a list of fields of interest specifying their respective levels of interest. Attributes are properties of the profile owner such as age, height, weight, eye color, or hair color. and we therefore subsume them under the class "Owner" (Fig. 1). In princi- ple, there are two different types of attributes, subsumed in the two disjoint sets N and D such that the set A of attributes separates as The set N consists of the numerical attributes of the owner which take integer or real numbers as values, the set D consists of discrete non-numerical values. (The difference between numerical and non-numerical is not sharp, for instance a string could well be considered as numerical via a symbol code, as well as non-numerical since it seldom makes sense to multiply or divide strings; in most cases, strings are better considered as nonnumerical.) Correspondingly, the stencil of an attribute is determined by the attribute's name and its range, being of a certain set called Type T , where N denotes the set of ranges for the numerical attributes, i.e., N is a set of closed intervals [a, b] ⊂ R, and D denotes the set of ranges for the discrete non-numerical attributes, i.e., D is a finite set or enum, specified by the respective owner attributes determined by the system model. We allow the empty set ∅ as null element in N and D.
If a given range R ∈ T contains only one element, say R = {x}, then the stencil is often shortly written "p = x" instead of "p ∈ R." If, on the other hand, R = [x, ∞] then we may write "p > x" instead of p ∈ R. For instance, "height = 180" means "height ∈ [180, 180]," or "height ¿ 180" means "height ∈ [180, ∞]." On the other hand, a field of interest is a name-value pair specifying the field itself as well as its level ranging on a scale from −1 to 1, coded by the interpolation of the following table, The set of fields of interests is denoted by I and is a subset of words of a specified alphabet Σ, Usually, Σ is the set of ASCII or Unicode symbols. The set I determines the set of all fields of interests available to the system. Depending on the system design, it may be a fixed set of words, or an arbitrary word over the alphabet Σ.

B. The search space
Given a set S of search profiles s and a set A of advertising profiles a as input, the search space S of a global matchmaking problem is given by all pairs of search and advertising profiles, i.e., S g = S × A. In this paper, however, we are considering the local matchmaking problem, given a single search profile s, i.e., S = {s}, and the search space where A(s) = {a ∈ A : owner(a) = owner(s)}. A search profile s itself is a set of the given attribute stencils n s , d s , and of fields of interest i s , where is the set of attribute-range pairs, with the given mapping R s : N s → N from the set N s of the searched numerical attributes to their associated desired ranges (R s associates to each numerical attribute p in N s an interval R s (p) = [a, b]), is the set of attribute-set pairs, with the mapping E s : D s → D from the given set D s of searched discrete attributes to their desired sets or enums, (E s associates discrete nonnumerical attribute p a set E s (p)), and i s = {(p, l s (p)) : p ∈ I s } is the set of searched fields of interest with their desired levels, with the given mapping l s : I s → [−1, 1]). Note that each of the pairs (p, R s ), (p, E s ), (p, l s ) can be easily implemented as a table or a hash map. Analogously, an advertising profile is given by where the three sets are defined the same way as in the search case, with the index 's' (for "search") replaced by 'a' (for "advertising").
Example 1. In grid computing, a main matching problem is resource discovery and resource allocation [4,8]. Assume a toy grid consisting of two resource providers Haegar and Bond, and two resource requests by some computational process. In our terminology, Bond and Haegar each offer an advertising profile, whereas the requests are represented by search profiles. Moreover, in the widely used matchmaking framework Condor-G [5,7,9,10,11], the profiles are called ClassAds (classified advertisements). Let us assume the profiles according to the following tables. In each column of a profile there is listed its owner, some attributes and their values, and the fields of interests with their levels. For instance, Alice looks for someone between 20 and 40 years of age being enthusiastic in tennis and having some penchant to chess, whereas Carl seeks a tall person in the 20's with highest preference for basketball. Looking at the advertising profiles in this social network, one sees that Alice may contact Bob, but Carl cannot find an ideal partner in this community. On the other hand, Alice would be a "better" partner for Carl than Bob, since she is partly interested in basketball. Formally Alice's search profile, for instance, is given as follows. The sets for the searched attributes and fields of interest are

C. A matching degree function
The matching degree of a search profile and an advertising profile is a real number f , typically 0 ≦ f ≦ 1, with f = 0 meaning "total mismatch" and f = 1 meaning "perfect match." In general, the matching degree will be the weighted sum of several partial matching degrees, one for each property separately. Moreover, the matching degree of an attribute is calculated in a different way than the matching degree of a field of interest. Proposals for these different kinds of matchings are introduced in the following paragraphs.

Matching degree of an attribute range
A function measuring the matching degree of ranges of an attribute has to quantify how a given advertised attribute stencil [a a , b a ] fits into the stencil pattern given by the corresponding range in the search profile. In case of a numerical attribute, the stencil is given by a closed interval [a, b] ∈ D in case of a discrete-value attribute it is a set or enum E.
a. Numerical attribute intervals matching. To determine the matching degree of a searched value range [a s , b s ] with a given advwertised value range x ∈ R, we define the fuzzy step function h e (x) = h e (x; a, b) with a ≦ b and 0 < e < 1, as otherwise.
(18) (Fig. 2). The parameter e is called the fuzzy level . It denotes the relative length of the fuzzy transition region.
The smaller e, the narrower this region, and the more accurate an advertised attribute value must fit into the searched interval. In the limit e → 0, the function h e is the step function, and for a → −∞ or b → ∞, it tends to one of the Heaviside step functions H b (−x) or H a (x), respectively. If, for instance, the searched attribute is "height > 180" and an advertised attribute is "height = 165" then for a fuzzy level of e = 10%, we have i.e., the matching degree is 16.
b. Features matching finite sets or enums. If the values of specific attribute are constrained to be of a finite set, or an enum, say E then the matching degree is determined by the Boolean characteristic function χ E defined by If the searched attribute, for instance, is "name ∈ {'Smith', 'Taylor'}" and the advertised attribute is "name = 'Tailor'" then E = {'Smith', 'Taylor'} and χ E ('Tailor') = 0, i.e., the matching degree is zero. Since the owner of an advertising profile can advertise at most one value for an attribute, we have

Matching degree of a field of interest
First we notice that the matching degree as a function of the levels of interest l s for the search profile and l a for the advertising profile must be asymmetric. For instance, if l s = 0 and l a = 1, i.e., the search is indifferent with respect to the field of interest, and the advertising profile has l a = 1, then the matching degree should be greater than 0, but if the search requires l s = 1 and l a = 0 then the matching degree should be zero. In the first case, the searcher is indifferent about the field of interest, in the second case he demands high interest. The first condition expresses the perfect matching of the diagonal, the second the search indifference, and the last the search necessity.
A possible matching degree function is given by where By construction, m(l s , l a ) satisfies the conditions in (23) and therefore is an interest matching degree function. It is asymmetric with respect to its arguments, since we have m(l s , l a ) = m(l a , l s ) if and only if l 2 s = l 2 a . On the other hand, it is an even function, i.e., m(l s , l a ) = m(−l s , −l a ).

The total matching degree function
Putting together all partial matching degrees considered above, we have to construct a function f : S → [0, 1] as a weighted sum of them. We notice that any s ∈ S represents a feasible solution of the matchmaking problem and has the form s = (s, a) where s is the given search profile (8) and a is one of the given advertising profiles (9) in the network. Then f defined for each s ∈ S by where R a (p) and E(p) denote the attribute ranges of the attribute p, l a (p) is the advertised interest level of the field of interest p, and the vertical bars | · | embracing a set denote the number of its elements. Thus for the computation of the matching degree, the attributes and fields of interest of the search search profile s are leading, i.e., it is s which determines what is tried to be matched. The, if an attribute p of the search profile does not occur in the advertising profile, then the matching degree functions m n (p) and m d (p) vanish by definition. If, however, a searched field of interest p ∈ i s does not occur in the advertised profile, then it is the level l a (p) which vanishes by definition. Note the crucial difference between null values of attributes and null values of fields of interest in the advertising profile: searched attributes are mandatory, and at least with respect to this attribute there is a complete mismatch; if a field of interest, however, does not occur in the advertised profile, it is indifferent to its owner, but depending on the level of interest in the search profile, the matching degree may be positive nonetheless. Hence Bob's advertising profile has a matching degree of 73.15% with Alice's search profile, whereas Carl's matches it only by 54.36%.
Notice that the objective function (27) is constructed in such a way that each searched item p of a search profile has equal weight. If, however, each item should have its own weight w(p), then the objective function (30) of all weights w n : N → R + , w d : N → R + , w i : N → R + .

IV. DISCUSSION
In this paper, a mathematical model of the matchmaking of search and advertising profiles in an electronic social network is proposed. Basing on the data structure described by Figure 1 and distinguishing between matchmaking of attribute ranges via stencils and matchmaking of fields of interests via comparison, the matchmaking problem is formulated as an optimization problem, with the search space consisting of a fixed search profile and several advertising profiles as in Eq. (7) and the matching degree as its objective function in Eq. (27). The main difficulty is to define a function measuring adequately the matching degree of two fields of interest and obeying the necessary conditions listed in Definition 3. A proposed solution is the function given in Eq. (24) and depicted in Figure 3. The implementation of a matchmaking service in an electronic social network basing on this matching optimization is straightforward.