Applied Mathematics
Vol.05 No.16(2014), Article ID:49622,10 pages
10.4236/am.2014.516250

Profile matching in electronic social networks using a matching measure for fuzzy numerical attributes and fields of interests

Andreas de Vries

South Westphalia University of Applied Sciences, Hagen, Germany

Email: de-vries.andreas@fh-swf.de

Copyright © 2014 by author and Scientific Research Publishing Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

Received 2 July 2014; revised 5 August 2014; accepted 13 August 2014

ABSTRACT

The problem of profile matching in electronic social networks asks to find those offering profiles of actors in the network fitting best to a given search profile. In this article this problem is mathematically formulated as an optimization problem. For this purpose the underlying search space and the objective function are defined precisely. In particular, data structures of search and offering profiles are proposed, as well as a function measuring the matching of the attributes of a search profile with the corresponding attributes of an offering profile. This objective function, given in Equation (29), is composed of the partial matching degrees for numerical attributes, discrete non-numerical attributes, and fields of interests, respectively. For the matching degree of numerical profile attributes a fuzzy value approach is presented, see Equation (22), whereas for the matching degree of fields of interest a new measure function is introduced in Equation (26). The resulting algorithm is illustrated by a concrete example. It not only is applicable to electronic social networks but also could be adapted for resource discovery in grid computation or in matchmaking energy demand and supply in electrical power systems and smart grids, especially to efficiently integrate renewable energy resources.

Keywords:

profile matching algorithm, matchmaking algorithm, matching degree, electronic social network, matching fields of interest, grid computing, renewable energy, energy transition

1. 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 via social network services. Parallel to this growing sociali- zation 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.

One of the most important subjects in complex networks is the search for specific items or objects in it. For instance this comprises the search for web sites which are relevant with respect to a specific term, or the request for specific resources as consumers do for electricity in smart grids. Therefore there is, and has always been, a great interest in enabling and maintaining efficient special network services which perform precisely these tasks.

This paper studies a special aspect of general electronic networks, but in particular of social network services, the profile matching problem. In essence it asks, given a search profile, for offering profiles matching it best. This problem is in principle well-known in Grid computing, where computational tasks are seeking for appro- priate 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 such as resource sizes are to be compared but more or less vaguely describable interests. Questions of this kind have recently been under consideration, for instance to implement multiple interest matching in personel business networks [1] , to study automated user interest matching in online classified offering systems [2] , or to apply semantic fuzzy search techniques to web service matchmaking [3] .

Here, however, a different approach is presented, leaving the important but difficult problem of semantic search aside and enabling an automated matching of general types of attributes. The aim of this paper is to formulate a mathematical model for the problem of matching attribute ranges and fields of interests in electronic social networks. It tackles the following fundamental questions. How can an appropriate system and its data structures 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? It is obvious to use a fuzzy function to calculate the matching degree of two numerical ranges or to use the characteristic function to check for the equa- lity of discrete attribute sets, but 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 the matching degree of a pair of profiles and the presentation of a concrete example. The applica- bility of the profile matching model is not confined to electronic social networks but can also operate to enable and control electricity resource allocation in electrical power systems or in smart grids. By this approach technological challenges of energy transition programs such as the Energiewende to integrate renewable energy into electrical power systems can be tackled.

The paper is organized as follows. After a definition of electronic social networks is given in the next section, a mathematical model of the matching problem as an optimization problem is proposed, especially the data structure of search and offering profiles, the search space, and the matching degree as the objective function. A short discussion concludes the paper.

2. Electronic social networks

A social network consists of a finite set of actors and the direct relations defined between them. An actor here may be an individual, a group, or an organization, and the direct relation between two actors may indicate that they directly interact with each other, have immediate contact, or are connected through social familiarities such as casual acquaintance, friendship, or familial bonds [4] - [6] , see also ( [7] , ğ3.6). 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 125 people [8] .

Since the popularization of the World Wide Web in the middle of the 1990’s and in particular around 2005 after the introduction of the Web 2.0 paradigm [9] , there have rapidly emerged several Internet based social networking services, maintaining “circle of friends” networks, business platforms, knowledge networks, or virtual world online games ( [5] , ğ13.5). Examples of each of these types of networks services are as follows: Orkut (www.orkut.com), Facebook (facebook.com) or Google+ (plus.google.com); LinkedIn (linkedin.com) or XING (xing.com); Wikipedia (wikipedia.org); World of Warcraft, Star Wars: The Old Republic (swtor.com), or Second Life (secondlife.com).

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 each other, 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 communi- cation between each network actor [10] - [12] .

3. The matching problem

In computer science, the term matching or sometimes matchmaking in general refers to the process of evaluating the degree of similarity or 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 [13] . 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 matching services are needed to intermediate between resource requesters and resource providers [14] . 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.

3.1. Basic definitions

In most matching problems, the objects under consideration take asymmetric roles, viz., some search for information or request for a service, others offer 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 information for a request, and an offering profile presenting information for a supply or a provided service.

Given a specific search profile, the matching problem then is to find those offering 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 offering profiles. For instance, the global pairwise matching problem seeks pairs of search/offering-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 matching problem searches for possibly multiple combinations of search and offering profiles which as a whole match the best. The pairwise version of the problem typically occurs for dating services or classical marriage matching 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 matching problem, i.e., finding an optimum offering profile to a specified search profile. Thus the matching 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 offering profiles, and the objective function will be a function measuring the “matching degree”. We will work out these notions in the next sections.

3.2. Profile data structures

A profile consists of its owner corresponding to an actor of the electronic social network, a list of attributes of a given set 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” (Figure 1).

In principle, there are two different types of attributes, subsumed in the two disjoint sets and such that the set of attributes separates as

(1)

The set consists of the numerical attributes of the owner which take integer or real numbers as values, the set consists of discrete non-numerical values.

Correspondingly, the stencil of an attribute is determined by the attribute’s name and its range, being of a

Figure 1. UML diagram of the data structure of a profile and its relationship to the owner’s attributes, the attribute stencils and the fields of interest. An attribute stencil consists of an owner’s attribute name and its (searched or offered) range.

certain set called type, with

(2)

where

(3)

denotes the set of ranges for the numerical attributes, and

(4)

denotes the set of possible value sets for discrete non-numerical attributes. That is, is a set of closed intervals, and 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 both in and. If a given range contains only one element, say, then the stencil is often shortly written “” instead of “”; if on the other hand then we may write “” instead of. For instance, “height = 180” means “height”, or “height > 180” means “height”.

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,

(5)

The set of fields of interests is denoted by and is a subset of words of a specified alphabet,

(6)

Usually, is the set of Unicode symbols. The set 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.

Example 1. In grid computing, a main matching problem is resource discovery and resource allocation [15] [16] . 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 provide an offering profile, whereas the requests are represented by search profiles. Moreover, in the widely used matchmaking framework Condor-G [17] - [21] , the profiles are called ClassAds (classified advertisements). Let us assume a system of four objects with search and offering profiles according to the following tables.

In each column of a profile there is listed its owner and some attributes and their values. Then a solution to the global matching problem is obviously given by the matchings (194.94.2.21, Haegar) and (194.1.1.3, Bond). ,

3.3. The search space

Let be a set of search profiles and a set of offering profiles be given as input, where

(7)

where denotes the power set of an arbitrary set. Then the search space of a global matching

problem is given by all pairs of search and offering profiles, i.e., In this paper, however, we are

considering the local matching problem, given a single search profile, i.e., , and the search space

(8)

where Let

(9)

denote the set of searched numerical attributes, the set of discrete non-numerical attributes, and the set of fields of interests, respectively, specified by the search profile. Then a search profile itself is a set of the given attribute stencils, , and of fields of interest,

(10)

where

is the set of attribute-range pairs, with the given mapping from the set of the searched

numerical attributes to their associated desired ranges (associates to each numerical attribute in an

interval),

is the set of attribute-set pairs, with the mapping from the given set of searched discrete attributes to their desired sets or enums, and

is the set of searched fields of interest with their desired levels, with the given mapping. Note

that for a usual software system each of the pairs, , can be easily implemented as a

table or a hash map. Analogously, an offering profile is given by

(11)

where the three sets are defined the same way as in the search case, but with the index “s” (for “search”) replaced by “o” (for “offering”).

Example 2. Assume a small social network for pooling interest groups, consisting of three persons, Alice, Bob, and Carl, who provide search and offering 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 offering 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

(12)

the mapping is given by

(13)

and the mapping is given by the table

(14)

The mapping does not exist since. To sum up, Alice’s search profile is given by

(15)

Note in particular that. On the other hand, the offering profiles read

(16)

where

(17)

(18)

With the definitions

(19)

the search space consists of two feasible solutions. ,

3.4. Matching degree as objective function

The matching degree of a search profile and an offering profile is a real number, with meaning “total mismatch” and 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 a numerical attribute is calculated in a different way than the matching degree of a non-numerical discrete attribute or of a field of interest. A function measuring the matching degree of ranges of an attribute has to quantify how a given offered attribute stencil 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 in case of a discrete-value attribute it is a set or enum. For a field of interest the matching degree is a continuous function of the level of interest of the search profile and the level of interest of the offering profile which is constructed below.

3.4.1. Matching degree for a numerical attribute

To determine the matching degree of a searched value range with a given advwertised value range

, we define the fuzzy step function with and, as

(20)

The parameter is called the fuzzy level. It denotes the relative length of the fuzzy transition region. The smaller, the narrower this region, and the more accurate an offered attribute value must fit into the searched interval. In the limit, the function is a sharp step function, for and it represents a triangle function, and for or it tends to the Heaviside step functions or, respectively.

For instance, if the searched attribute is “height > 180” and an offered attribute is “height = 165” then for a fuzzy level of, we have

(21)

i.e., the matching degree is 16.7%. Then the matching degree of two numerical ranges as search range and as offered range are given by

(22)

3.4.2. Matching degree for a non-numerical attribute

If the values of specific attribute are constrained to be of a finite set, or an enum, say then the matching degree is determined by the Boolean characteristic function defined by

(23)

If the searched attribute, for instance, is “name Î {‘Smith’, ‘Taylor’}” and the offered attribute is “name = ‘Tailor’” then “E = {‘Smith’, ‘Taylor’}” and “”, i.e., the matching degree is zero. By contrast the matching degree for “name = ‘Tailor’” is “”. Since the owner of an offering profile can offer at most one value for an attribute, we have

(24)

3.4.3. Matching degree of a field of interest

First we notice that the matching degree as a function of the levels of interest for the search profile and for the offering profile must be asymmetric. For instance, if and, i.e., the search is indifferent with respect to the field of interest, and the offering profile has, then the matching degree should be

greater than 0, but if the search requires and 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.

Definition 3. An interest matching degree function is a function such that the following

conditions are satisfied.

(25)

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

(26)

where

(27)

with

(28)

By construction, satisfies the conditions in (25) and therefore is an interest matching degree

function.

It is asymmetric with respect to its arguments, since we have if and only if. On

the other hand, it is an even function, i.e.,.

3.4.4. The objective function

Putting together all partial matching degrees considered above, i.e., the matching degree (22) for numerical attributes, the matching degree (24) for numerical attributes, the matching degree (26) of fields of interest, we construct a function as a weighted sum of them. We notice that any represents a feasible solution of the matching problem and has the form where is the given search profile (10) and is one of the given offering profiles (11) in the network. Then is defined for each by

(29)

where and denote the attribute ranges of the attribute, the levels of the field of interest, the ellipsis “” referring to “” for the search profile and “” for the offering profiles, respectively; 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 profile are leading, i.e., it is which determines what is tried to be matched. If therefore a property of the search profile does not occur in the offering profile, then the matching degree functions and vanish by definition. If, however, a searched field of interest does not occur in the offered profile, then it is the level which vanishes by definition. The crucial difference between null values of attributes and null values of fields of interest in the offering profile is therefore the following: searched attributes are mandatory, in the sense that a lack of this attribute in an offering profile means a mismatch with respect to it; however, if a field of interest does not occur in the offered 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.

Example 2 (revisited). For Alice’s search space we have the two solutions (19), i.e.,

(30)

and

(31)

Hence Bob’s offering 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 (29) is constructed in such a way that each searched item of a search profile has equal weight. If, however, each item shall have its own weight, then the objective function (32) is easily modified to

(32)

where is the total sum

(33)

of all weights:,:,:.

3.5. Mathematical formulation

Let be the set of pairs of a given search profile as in (10) and the offering profiles available to it in the social network as in (8), each offering profile being of the form as given in (11). Given the objective function either as defined in (29) or as in (32), the profile matching problem is the maximum problem

(34)

A simple algorithm to solve this maximum problem is to exhaustively compute the matching degrees of all possible profile pairs and to store those with the maximum value. Let be the maximum number of properties (i.e., numerical and discrete attributes as well as fields of interest) a profile in the network can have, and let be the number of offered profiles. Then the number of necessary profile comparisons is estimated by. For instance in Example 2 above the search space of Alice we have, , i.e., the solution of problem (34) by brute force requires property comparisons; it can be directly verified that in fact we need comparisons in this case.

4. Discussion

In this paper, a mathematical model of the matching of search and offering profiles in electronic social networks is proposed. Basing on the data structure described by Figure 1 and distinguishing between matching of attri- bute ranges via stencils and matching of fields of interests via comparison, the matching problem is formulated as an optimization problem, with the search space consisting of a fixed search profile and several offering profiles as in (8), and the matching degree as its objective function in (29). The main difficulty is to define a function measuring adequately the matching degree of two fields of interest and obeying the necessary condi- tions listed in Definition 3. A proposed solution is the function given in (26) and depicted in Figure 2. The implementation of a matching service in an electronic social network basing on this matching optimization is straightforward.

The applicability of a profile matching algorithm is not restricted to electronic social networks but could be adapted for resource discovery in grid computation or in matchmaking energy resources in grids. In particular energy transition projects aiming to integrate renewable energy into electrical power systems have to solve the problem of matching energy supply and demand, caused by the high variability of renewable energy supply such as wind or solar power ( [22] , ğğ7.5, 8.2.1). This way profile matching might become one of the relevant technologies to support eager energy transition projects like the Energiewende towards a sustainable economy.

Figure 2. The matching degree function in (26).

Acknowledgements

I am indebted to Thomas Kowalski for valuable discussions.

References

  1. Augusto, L.R., de Castro, R.C.F., Franco, L.G., Machado, L.G.P. and Seo, C.E. (2007) Multiple Interest Matchmaking in Personal Business Networks. US Patent US7953673 B2. http://google.com/patents/US7953673
  2. Gribova, V. and Kachanov, P. (2009) An Approach to Automated User Interest Matching in Online Classified Advertising Systems. In: Huang, D.-S., Jo, K.-H., Lee, H.-H., Kang, H.-J. and Bevilacqua, V., Eds., Emerging Intelligent Computing Technology and Applications, Lecture Notes in Computer Science, Vol. 5754, Springer, Berlin, 665-673. http://dx.doi.org/10.1007/978-3-642-04070-2_72
  3. Al Rabea, A.I. and Al Fraihat, M.M.A. (2012) A New Matchmaking Algorithm Based on Multi-Level Matching Mechanism Combined with Fuzzy Set. Journal of Software Engineering and Applications, 5, 110-118. http://dx.doi.org/10.4236/jsea.2012.53018
  4. Barnes, J.A. (1954) Class and Committees in a Norwegian Island Parish. Human Relations, 7, 39-58. http://dx.doi.org/10.1177/001872675400700102
  5. Easley, D. and Kleinberg, J. (2010) Networks, Crowds, and Markets. Reasoning about a Highly Connected World. Cambridge University Press, Cambridge. http://dx.doi.org/10.1017/CBO9780511761942
  6. Wasserman, S. and Faust, K. (1994) Social Network Analysis. Cambridge University Press, Cambridge. http://dx.doi.org/10.1017/CBO9780511815478
  7. Newman, M.E.J. (2010) Networks. An Introduction. Oxford University Press, Oxford.
  8. Hill, R.A. and Dunbar, R.I.M. (2003) Social Network Size in Humans. Human Nature, 14, 53-72. http://dx.doi.org/10.1007/s12110-003-1016-y
  9. O’Reilly, T. (2007) What Is Web 2.0: Design Patterns and Business Models for the Next Generation of Software. Communications & Strategies, 1, 17.
  10. Agarwal, S. and Lamparter, S. (2005) sMart—A Semantic Matchmaking Portal for Electronic Markets. Proceedings of the 7th International IEEE Conference on E-Commerce Technology, Munich, IEEE Computer Society. http://citeseer.ist.psu.edu/agarwal05smart.html
  11. Berghella, M., Calí, A., Capata, A., Catarci, T., Cerrocchi, P., Masi, P., Oppedisano, M., Trevisani, E. and Vitaletti, A. (2005) SmartDate: User Adaptation in Location-Based Mobile Matchmaking. PSMD 05: Proceedings of the 2005 International Workshop on Plastic Services for Mobile Devices, Rome, 12 September 2005. http://www.dis.uniroma1.it/psmd05/papers/021.pdf
  12. Cal, A., Calvanese, D., Colucci, S., Di Noia, T. and Donini, F.M. (2004) A Description Logic Based Approach for Ma- tching User Profiles. Proceedings of the 17th International Workshop on Description Logics (DL’04), 104. CEUR Workshop Proceedings. http://sisinflab.poliba.it/publications/2004/CCCDD04
  13. de Vries, A. (2007) XML Framework for Concept Description and Knowledge Representation. Aachen.
  14. Bai, X., Yu, H., Ji, Y. and Marinescu, D.C. (2004) Resource Matching and a Matchmaking Service for an Intelligent Grid. International Journal of Computational Intelligence, 1, 197-205. http://www.cs.ucf.edu/~xbai/ICCI04.pdf
  15. Foster, I. and Kesselman, C. (2004) The Grid 2. Blueprint for a New Computing Infrastructure. Elsevier, Amsterdam.
  16. Prodan, R. and Fahringer, T. (2006) Grid Computing: Experiment Management, Tool Integration, and Scientific Work- flows. Springer-Verlag, Heidelberg & Berlin.
  17. Raman, R., Livny, M. and Solomon, M.H. (1998) Matchmaking: Distributed Resource Management for High Through- put Computing. The 7th International Symposium on High Performance Distributed Computing, Chicago, 28-31 July 1998, 140-146. http://dx.doi.org/10.1109/HPDC.1998.709966
  18. González-Castaño, F.J., Vales-Alonso, J., Livny, M., Costa-Montenegro, E. and Anido-Rifón, L.E. (2003) Condor Grid Computing from Mobile Handheld Devices. Mobile Computing and Communications Review, 7, 117-126. http://dx.doi.org/10.1145/881978.882005
  19. Lodygensky, O., Fedak, G., Cappello, F., Néri, V., Livny, M. and Thain, D. (2003) XtremWeb & Condor Sharing Resources between Internet Connected Condor Pools. Proceedings of the 3rd International Symposium on Cluster Computing and the Grid, 382-389.
  20. Thain, D. and Livny, M. (2003) Building Reliable Clients and Services. Foster and Kesselman, 15, 285-318.
  21. Thain, D., Tannenbaum, T. and Livny, M. (2005) Distributed Computing in Practice: The Condor Experience. Concurrency, Practice and Experience, 17, 323-356.
  22. Edenhofer, O., Madruga, R.P., Sokona, Y., Seyboth, K., Matschoss, P., Kadner, S., Zwickel, T., Eickemeier, P., Hansen, G., Schlömer, S. and von Stechow, C. (2012) Renewable Energy Sources and Climate Change Mitigation. Special Report of the Intergovernmental Panel on Climate Change. Cambridge University Press, Cambridge. http://www.ipcc.ch/pdf/special-reports/srren/SRREN_Full_Report.pdf