MobHinter - Dipartimento di Informatica - Unito

15 downloads 141412 Views 343KB Size Report
Oct 25, 2008 - unreachable due to client mobility; and feedback ratings col- lected during random ...... 2http://code.google.com/android/ peer-to-peer system,” ...
MobHinter: Epidemic Collaborative Filtering and Self-Organization in Mobile Ad-Hoc Networks Rossano Schifanella, André Panisson, Cristina Gena and Giancarlo Ruffo Dipartimento di Informatica Università degli Studi di Torino Corso Svizzera, 185 - 10149, Torino. ITALY

{schifane,panisson,cgena,ruffo}@di.unito.it ABSTRACT We focus on collaborative filtering dealing with self-organizing communities, host mobility, wireless access, and ad-hoc communications. In such a domain, knowledge representation and users profiling can be hard; remote servers can be often unreachable due to client mobility; and feedback ratings collected during random connections to other users’ ad-hoc devices can be useless, because of natural differences between human beings. Our approach is based on so called Affinity Networks, and on a novel system, called MobHinter, that epidemically spreads recommendations through spontaneous similarities between users. Main results of our study are two fold: firstly, we show how to reach comparable recommendation accuracies in the mobile domain as well as in a complete knowledge scenario; secondly, we propose epidemic collaborative strategies that can reduce rapidly and realistically the cold start problem.

Categories and Subject Descriptors H.3.3 [Information Storage and Retrieval]: Information Search and Retrieval—Information filtering; C.2.4 [ComputerCommunication Networks]: Distributed Systems—Distributed applications; J.4 [Computer Applications]: Social and Behavioral Sciences—Sociology

General Terms Algorithms, Design, Measurement

Keywords Recommender Systems, Social Collaborative Filtering, AdHoc Networks

1.

INTRODUCTION

Social Networking services and self-organized communities are rapidly filling the Web with innovative and highly popular data-driven applications. Most of these applications

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. RecSys’08, October 23–25, 2008, Lausanne, Switzerland. Copyright 2008 ACM 978-1-60558-093-7/08/10 ...$5.00.

27

are based on data sharing, and even if architectural models vary from rigid client/server implementations to pure peerto-peer systems, users are invited to join a given community and distribute their own files, like photos (e.g. Flickr), videos (e.g., YouTube, Joost), music (e.g., Emule, Gnutella), blogs, personal data, and other information even just for being connected to other people (e.g., eBlogger, MySpace, Facebook). Moreover, users can communicate each other by means of a broader and broader set of short and wide range wireless network interfaces (e.g., Bluetooth, Wi-Fi, Wi-Max, GSM, UMTS). Some analysts [1] expect that these applications will finally increase 3G data traffic. Nevertheless, there is an increasingly influential opposite trend, because ad-hoc communications can be exploited to collect relevant information during ordinary off-line user’s activity, and/or when WAN connectivity is difficult (e.g., in the underground, in the airplane), expensive, or simply superfluous. In addition, smart vehicles have embedded computers, that are going to host vehicular computing and networking solutions addressed to safer driving, dynamic route planning, and a new generation of entertainment applications. In such a scenario, adaptive recommendation systems can play a leading role for reducing information overload, and for filtering out useless information. Unfortunately, there are a number of drawbacks that make many approaches unfit to run. Firstly, knowledge representation can be hard, because (1) it is difficult to trace a user’s profile if she/he accesses services presenting different identities and pseudonyms, and (2) flexible and less expressive languages based on user-defined tags (e.g., folksonomy) are preferred instead of rigid, even if exhaustive, taxonomies. Secondly, mobile devices can be unable to access the Internet or a remote server. Therefore, the adopted architectural model should allow the recommendation system to operate in autonomy. Thirdly, when the user’s device is able to connect to other hosts in the proximity via ad-hoc connections, it grants access to a very limited portion of the broader community and to a small subset of all the available data. More significantly, information coming from random “rendez vous” can result uninteresting for a user, accordingly to her/his own preferences. This is an issue for collaborative filtering, because neighbors should be selected for similarities, and no assumption of this kind can be done on users that are in a context-free proximity. Contributions and Road Map Our proposal is based on a connection oriented collabora-

tive filtering approach that strongly mitigates domain representation’s problems. Hence, after a brief survey on related works (Section 2), we introduce Affinity Networks in Section 3. This model represents a similarity graph that links users each other using a configurable affinity threshold. Section 4 presents MobHinter that allows the mobile device to identify affinity network neighbors from random ad-hoc communications. Collected information is used to incrementally refine locally calculated predictions, with no need of interacting with a remote server or accessing the Internet. Using a simulated environment and the well known MovieLens dataset, in Section 5 we show how recommendation accuracies experimented in the mobile domain, with sparse and incomplete knowledge, are comparable to predictions resulting in a scenario with complete knowledge available. Moreover, we empirically prove how epidemic filtering strategies greatly reduce the cold start problem. Finally, we point out some practical observations in Section 6.

2.

recommenders in term of jumping connections. Their goal is to propose a model able to calculate the minimum number of rating constraints and of jumps - between users and between users and artifacts - needed to generate accurate recommendations. However they do not contextualize the problem in distributed and sparse environments, so the problem of finding recommendations in ad-hoc and decentralized networks still remains open. Castanos and Boyer [5] propose a collaborative filtering model which is totally distributed. Each peer of the network owns the users’ public profiles. The goal of their algorithm is to build a group profile for every active user representing the preference of a virtual community of interests. The group profile is generated on the basis of the other public profiles similar to the public profile of the user. The group profile can also be stored on the user device, thus predictions can run locally when the user does not want to share her preferences. They have computed the MAE by simulating arrivals of peers by progressively adding new profiles, and they got predictions as good as using PocketLens algorithm. The work of Splinder et al. [6] deals specifically with collaborative mobile ad-hoc networks. They introduce the notion of shared social context in order to help their distributed collaborative filtering system to establish similarity relationship between copresent users. The assumption behind their proposal is that if two users attend the same event, as arts festival events, it is likely that they have similar interests. Thus, without computing prior similarity, predictions are based on the set of users sharing at least one item, that is an event/location they have consumed during the same period of time. However this approach does not work in context where users are copresent by chance, such as on the subway, or on the bus, etc. Another proposal is Tribler [7, 8], a personalized peerto-peer television system that automatically recommends, records and downloads content from peers in a social network. This system is based on the concept of buddy tables and provides a distributed algorithm, called BuddyCast, to spread in the network the ratings database. Even though Tribler proposes a mechanism comparable to our proposal, there are some distinctive differences. In particular, in Tribler a user can mark a discovered node as a friend by way of the interface, implementing a sort of list of favorite users. This explicit declaration of friendship does not involve any topological property of the spontaneous similarity network. On the contrary, our proposal exploits implicit properties of the affinity networks, in order to implement an incremental and epidemic algorithm to spread ratings in a mobile community. Further approaches have been proposed in literature, like P ipeCF scheme using a Distributed Hash Table in order to spread ratings information [9, 10], or the V ineyard [11] system where a set of independent recommender components co-operate in a given domain. In a mobile scenario, other proposals can be found in [12, 13].

RELATED WORKS

To authors knowledge, there has been few experience in designing collaborative filtering systems in distributed environments such as mobile ad-hoc networks. A first attempt to deal with a decentralized environment is proposed in [2] where products and services are suggested in a marketplace populated by mobile customers. In the environment assistant agents act as peers serving the mobile customers. When a neighbor is looking for suggestions it broadcasts a query containing a vector with its votes on products and recommendations. When a peer receives the voting vector it calculates the proximity with the cached previous messages: if the proximity is higher than a threshold, then the peer send back the cached voting vector. If the proximity measure is lower, the query voting vector is broadcasted further to other peers. In the PocketLens project [3] a collaborative filtering algorithm for finding neighbors in a peer-to-peer environment is proposed. The authors evaluate the algorithm in different architecture for finding neighbors: Central, Random, and Transitive Architectures. The two last architectures are distributed. In particular in the Transitive Architecture the most similar neighbors are incrementally discovered each time a new user is encountered. This approach is comparable to our proposal. In fact, the Transitive Architecture maintains a queue of “neighbor’s neighbors”. The intuition is that if you are one of my best neighbors, then it is likely that your neighbors are good for me as well. However, differently from our approach the data concerning neighbors are not locally maintained. If some of the neighbor’s neighbors are off line while building the model, they are substituted with a pool of quality neighbors. What is also relevant for our approach in the PocketLens project is that in the peerto-peer context the algorithm achieves an acceptable quality level with a minimum number of neighbors required. Another work investigating both the issue of the availability of data needed to make predictions and the underlying social aspects of recommender systems is the one from Mirza et al. [4]. They start from the assumption that a recommender, in an indirect way, has the goal of bringing people together. Thus they propose a framework based on a mathematical model of the social network implicit in recommendation. Studying typical recommender dataset they found underlying graph structures. Therefore they analyse

3. AFFINITY NETWORKS In order to model our domain in a more formal way, we have a set of users U = {u1 , u2 , . . . , un }, and a set of objects S = {s1 , s2 , . . . , sl } (e.g., pictures, videos, songs, favorite restaurants, . . . ). In many domains, we may assume that a feedback rating function is defined: rate : U × S → R, where R is a set of allowed rating values (e.g., R = 1, . . . , 5). We assume a bijection between users and nodes in the system,

28

hence the user ui denotes both the i-th node and the i-th user. We define P(S) as the power set of S, i.e. the set of all subsets of S. The function f : U → S P(S) maps users to objects of the entire collection (i.e., n i=1 f (ui ) = S). In other words, f (ui ) is the set of items user ui is related to; for instance, in a file sharing applications f (ui ) can be the set of files ui is storing, as well as for a video streaming service f (ui ) can be the set of channels or podcasts ui is subscribed to. In the peculiar domain that we investigate in this paper, an object is mapped to a user if such a user assigned a rate to the given object; i.e., ∀ui ∈ U ∧ ∀sk ∈ S : rate(ui , sk ) is defined ⇐⇒ sk ∈ f (ui ). To take advantage of the power of users relationships, we need to evaluate the affinity among users. For this purpose, we first introduce the affinity function Aff : U 2 → [0, 1], that returns a similarity evaluation for any pair of users. This function is subject to the following properties:

[17] or Spearman [18] correlations), we use a computational inexpensive measure calculated as the percentage of similar feedbacks that two users assigned to a common set of objects:

Aff (ui , uj ) =

1−

sk ∈Fij

|rate(ui , sk ) − rate(uj , sk )| maxR − minR

«

|Fij |

(2) where Fij = f (ui ) ∩ f (uj ) is the set of files that both ui and uj rated, maxR and minR are respectively the highest and the lowest value that can be used to rate an object. Notice that this formula is a generalized version of the one described in [14]. In order to improve readability of the paper and to give an example how recommendations can be triggered according to our approach based on affinity networks, we present a toy domain in the following paragraphs. Let us suppose a set of three users U = {ux , uy , uz }, and a collection of five objects S = {sa , sb , sc , sd , se }. Users rated objects accordingly their own preferences and tastes, that are reported in Table 1.

1. Aff (ui , uj ) must be computable using information that ui and uj can exchange each other without interacting with a third party; 2. Aff (ui , ui ) = 1; 3. Aff (ui , uj ) = 0 means that, due to their knowledge of each other, ui and uj have nothing in common;

User u ux uy uz

4. if Aff (ui , uj ) > Aff (ui , uk ) then ui is more similar to uj than to uk . This does not imply, in general, any relationships between uj and uk . Affinities can be estimated taking into account many parameters: resources in common, similar behaviors, comparable ratings assigned to items, and so on. Now we introduce the idea of “Affinity Network” that is represented by a graph Gθ = (U, E) such as: eij ∈ E ⇔ Aff (ui , uj ) ≥ θ.

X „

List of pairs (Object s, rate(u, s))) {(sa , 3), (sb , 2), (sc , 1), (sd , 5)} {(sb , 4), (sc , 5), (se , 5)} {(sa , 3), (sb , 1), (sd , 5), (se , 1)}

Table 1: Three users rated five different objects In this case, we have that maxR = 5, Fxy = {sb , sc }, Fxz = {sa , sb , sd }, and Fyz = {sb , se }. In Table 2 affinities calculated with Equation (2) are shown.

(1)

As an instance of a previous successfully study adopting Affinity Networks, we analysed the Gnutella file sharing network in our works [14, 15]. Observe that a P2P system represents a difficult domain with many points in common with the mobile ad-hoc scenario discussed in this paper. In fact, there is not a central repository or a trusted third party that can collect profiles and ratings, and available content description is very poor (sometimes only file names and paths are used), and often misleading. Moreover, prediction accuracy estimation is complicated because users do not usually rate items. Our previous analysis on the Gnutella network, lead to the identification of the Small World phenomenon in those peculiar Affinity Graphs. This means that observed networks showed small mean-shortest paths, and significantly high clustering coefficients. Such evidence depicts the Gnutella network as a set of strongly interconnected clusters, representing spontaneous thematic communities of users sharing kindred files. This has been exploited during the design of DeHinter [14], a P2P recommendation module recently implemented and integrated to Limewire [16].

Aff ux uy uz

ux 1 0.25 0.92

uy 0.25 1 0.12

uz 0.92 0.12 1

Table 2: Affinities between users If we set threshold θ = 0.5, only users ux and uz will be connected in the affinity network. The idea is to spread ratings through affinity links, filtering out feedbacks coming from distant users. Our approach aims to exploit word-ofmouth behaviors in such networks, accepting implicit suggestions coming from neighbors and neighbors-of-neighbors with higher probability than receiving positive information coming from users that are some hops away in the affinity network. For instance, neither se will be suggested to ux , nor sc to uz .

4. COLLABORATIVE FILTERING VIA ADHOC COMMUNICATIONS

3.1 Affinities on Rating

The mobility scenario has its own peculiar issues. Even if we can assume an “omniscient” server that stores and maintains all the knowledge provided for in our community, we need to grant a high level of autonomy to each host. In fact, in order to make our approach as much general as possible,

In a domain where ratings are available and feedbacks are largely returned by the users of the community, we can exploit them in order to find affinities. Even if one of the many well known similarity functions can be defined (e.g., Pearson

29

we allow the user to walk around, and to meet other users at random. Only devices in the proximity can exchange information, but we cannot claim that this provides a natural filtering based on the social contexts, because we are not assuming anything about the reasons why they are there in that moment, in contrast with other authors (e.g., [6]). When a device is able to connect to the Internet, the user can access the rest of the community, and public his/her own data, profile and preferences. Searches and lookups can be managed by a central directory service, or in a Peer-to-Peer manner (e.g., by flooding or by means of a DHT based overlay network). If each peer ui accesses the status of its affinity network’s neighbors, then it can calculate predictions over an object sk using one of the many collaborative filtering algorithms known in the literature. Given an affinity graph Gθ , let Ui be the set of neighbors of ui . This means that if uj is a neighbor of ui , then they are similar according the affinity function (2), i.e., Aff (ui , uj ) > θ. Furthermore, node ui may store all neighbors’ referred items and ratings. Hence, if we define the list of feedback ratings of ui as a set of pairs (object identifier, rating), then the user can keep the following information: F ri = {∀sk ∈ f (ui ) : (sk , rik )}

When a device ux finds another device uy in the proximity, a handshake phase is started: ux and uy exchange each other their identities, their feedback ratings lists F rx and F ry , their neighbors lists Ux and Uy , and their Known hosts lists Knx and Kny . Then, both ad-hoc nodes can calculate the affinity function in autonomy. If they find that Aff(ux , uy ) > θ, then they can add a new node in their neighbors list; i.e., Ux = Ux ∪ uy and Uy = Uy ∪ ux . Otherwise, they simply update their known hosts list; i.e., Knx = Knx ∪ uy and Kny = Kny ∪ ux . Since affinity function is symmetrical, we are sure that both nodes will have the same results. Trivially, we can foresee an approximately long cold start phase. Nevertheless, MobHinter exploits social networking style Word-of-Mouth strategies in order to spread neighborhood information across the discovered links of the affinity network. In fact, if node ux is not a neighbor of uy , it can happen that a similarity is found with one of his/her neighbors in Uy , or with one of known nodes in cache Kny . It is important to observe that, after the first ad-hoc session, few or no other ad-hoc interactions are needed. This is very important because a node can be out of sight in a few seconds after handshake. All the predictions and the affinities are calculated in autonomy with available data. In the following, we list three different spreading strategies. For improving readability, only actions at ux side are described, because uy behaves symmetrically.

(3)

where, for the sake of simplicity, rik = rate(ui , sk ). In this scenario we can say that peers share a uniform range of ratings and that the status of node ui is very limited, because many data can be retrieved run-time contacting online neighbors. Therefore, ui needs to keep references to its neighbors Ui , and list F ri . In our experiments, in order to generate a prediction p for an object sk analyzing ratings available to ui , we used a slightly modified version of a well known user based nearest neighbor algorithm [19]:

p(ui , sk ) = ri +

X

PREF ux keeps F ry and discards Uy and Kny . If Aff(ux , uy ) > θ, ux updates his neighbors list accordingly, i.e., Ux = Ux ∪ uy . NEIGH ux keeps F ry and Uy , and discards Kny . Of course, If Aff(ux , uy ) > θ, then Ux is updated with neighbor uy ; moreover, ∀uz ∈ Uy , Aff(ux , uz ) is calculated, and if the value is greater than θ, then uz is referred as a new neighbor of ux . This is possible because we assumed that each node keeps each neighbor’s ratings F rz .

Aff(ui , uj ) · (rjk − rj )

uj ∈Ui

X

Aff(ui , uj )

(4)

KN-NEIGH ux keeps F ry , Uy and Kny . Additionally to actions performed in the previous strategies, ux looks for neighbors in Kny . When a new neighbor uz is found, Ux is updated. It is possible to evaluate affinities because we assumed that each node keeps each known host’s ratings F rz .

uj ∈Ui

where ri and rj are, respectively, the average rating of ui and of neighbor uj . Notice that the algorithm differs from its classical application for two aspects: (i) Equation (2) is used as affinity function instead of Pearson correlation. This implies that (ii) the number of nearest neighbors can differ for every user depending on how many neighbors are connected in the affinity network. Of course, other statistical and not statistical approaches could be used to generate predictions, but this is out of the scope of this paper. MobHinter is an epidemic protocol that can be applied even when only ad-hoc communications are available during a relatively big period of time. The statistical approaches used to calculate affinities and to generate predictions are not the core of the presented proposal. If mobile devices cannot access the Internet and they cannot contact directly their neighbors in the affinity network, then the prediction simply cannot be calculated. Our hypothesis is that each node ui can start with an empty set of neighbors, i.e., Ui = ∅. We suppose that for each neighbor uj ∈ Ui , the node stores also its list of ratings F rj . Moreover, ui maintains a list of known hosts Kni , which is a cache of nodes encountered during ui ’s walks. Again, for each node uz ∈ Kni , list F rz is stored as well.

Predictions are calculated again after each meeting using Equation (4), considering all the neighbors in Ux and their ratings. The three strategies are increasingly more expensive in terms of bandwidth consumption, status storage, and computational resources usage. We want to analyze if the latter strategies are scalable in terms of the number of iterations, and if cold start mitigation worths the overhead. Such a simulative evaluation is provided in the next section, while a discussion on other practical issues is given in Section 6.

5. EXPERIMENTAL ANALYSIS The best results that could be acquired for a given recommendation algorithm is reached when the system has complete knowledge about objects, users and users’ preferences usually expressed by feedback ratings. Devices using MobHinter move into a disconnected environment, where epidemic dissemination of information is critical before accurate recommendations can be triggered to the user. This process

30

is simulated through a set of iterations that mimic meetings between users. This evaluation is made of two phases:

0.88 0.86

1. Run the adopted user-based neighbor recommender system in a simulated fully connected scenario, in order to produce a reference model and to find optimal prediction results;

MAE

0.84

2. Run the same recommendation system in a fully disconnected environment where only random ad-hoc meetings are allowed.

0.8 0.78 0.76

Aims of this evaluation is three-fold: (1) to estimate how many interactions are needed before converging to optimal values, accordingly to the three different strategies described in the previous section; (2) to estimate overhead w.r.t. the capacity of a modern mobile device; and (3) to analyze the scalability of the approach. For all our experiments we refer to the dataset of MovieLens developed at the University of Minnesota. It is composed of a number of randomly selected users enough to obtain 100,000 ratings from the database (considering only users that had rated 20 or more movies). It can be represented as a sparse user-movie matrix with 943 users and 1,682 movies, with the rating values represented in the matrix as an integer value from 1 to 5. The sparsity level is, 100.000 therefore, 1 − 943·1682 , which is 0.937.

0.74

Aff Pearson Spearman 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Threshold θ

1

Figure 1: MAE in a complete knowledge scenario

with most of the common collaborative filtering approaches available. It also provides a way to evaluate the accuracy of recommendation algorithms, including metrics as MAE and RMSE.

5.2 Results in the Reference Scenario

5.1 Evaluation Methodology

We evaluated the prediction of ratings for the entire MovieLens data set, with the assumption that each node can find its neighbors in the affinity network and run the user-based neighbor algorithm as reported in Equation (4). Differently with the standard version of such formula, we considered neighbors of ui that satisfy Equation (1), and not a constant number of nearest neighbors. We tested three different similarity functions, including Pearson correlation, Spearman correlation and the affinity function defined in Equation (2). The tested thresholds were in a scale from 0.1 to 1.0. The results for MAE are shown in Figure 1, and the results for RMSE have a similar behavior, with the best results for Spearman and Pearson correlation at 0.25, and the best results for function in Equation (2) at 0.75. We found that the affinity function defined in Equation (2) produces best results (MAE of 0.7577 and RMSE of 0.9617) in correspondance with the optimal threshold θ = 0.75. After analysing the optimal scenario made of a static fully connected affinity network, and with completely available knowledge, we estimated MAE and RMSE lower bounds, that are terms of reference for the ad-hoc experimental setup.

In order to evaluate the accuracy of the predictions, we adopted two well known accuracy metrics: the Mean Absolute Error (MAE) and the Root Mean Square Error (RMSE). MAE measures the average absolute deviation between a predicted rating and the user’s true rating. RMSE, that squares the error before summing it, emphasizes on large errors, that is, it amplifies the contributions of egregious errors, both false positives (“trust busters”) and false negatives (“missed opportunities”). Accordingly to Sarwar et al. [20], a recommender system based on nearest neighbor algorithms may be unable to make any item recommendations for a particular user, if the data set is too sparse. As a result the accuracy of recommendations may be poor, and the estimation of preferences may well be undefined, when asked to estimate a preference for an item for which no preference is expressed in the user neighborhood. This situation occurs with high thresholds that limit too much the neighborhood. In this case, if we consider only estimations that are defined by the algorithm, we can have an unfair good result. To go around this problem, we decided that when the estimation is undefined by the algorithm, the final resulting estimation is the average of other preference scores from that user (we use a sort of “default voting” reflecting neutral preferences of the user). To make an evaluation that includes all the data set, we used the k-fold cross-validation, with k = 10. In this evaluation, the ratings set is partitioned in 10 samples. Of the 10 samples, a single sample is retained as the testing set, and the remaining 9 samples are used as training set. This validation is repeated 10 times, ensuring that all ratings are used for testing. The results are then averaged to produce a single estimation. The framework used was the Taste library1 , a collaborative filtering engine for Java. It is a very flexible framework, 1

0.82

5.3 Simulation of Ad-Hoc Scenario In the previous section we individuated the correlation function and the threshold θ that minimize MAE and RMSE in the reference scenario for a given user-based neighbor recommender system. In the following, we will present a simulative framework in order to model the dynamics of a population of mobile devices that interact each others through ad-hoc meetings. In this way, they share their local knowledge for producing personalized advices. We assume that each device starts without any a priori knowledge about the domain or the population of users. Afterward, it starts a discovery phase during which the device explores the world looking for new nodes. During this explorative phase we suppose that it does not access to the Internet or to any other remote server. Its only knowledge comes from ran-

http://taste.sourceforge.net

31

dom meetings. The device is able to exchange data only through ad-hoc communications. The simulation is composed by a sequence of iterative steps that model random meetings between users. If n is the number of users under observations, at each step, we simulate n/2 random meetings between different pairs (ui ,uj ) of peers. At last, for a node is not possible to meet more than one other host in a single iterative step. The state of a user ui , i.e., the amount of data the user has to store, is composed by two sets: (1) the set of ratings F ri (see 3) and the set of neighbors Ui . Of course, we have that Ui = ∅ at the beginning of the simulation. When users ui and uj meet each other, they can run one of the three selected strategies: PREF, NEIGH and KN-NEIGH. In our simulation, we performed 80 iterative steps and, at each iteration, we computed for all PREF, NEIGH and KNNEIGH strategies the MAE and RMSE accuracy metrics, under the evaluation framework discussed in Section 5.1. In all the simulations, we used the affinity function defined in Equation (2) with threshold θ = 0.75. Figure 2 and Figure 3 show observed results, respectively, for the MAE and RMSE metrics.

1.14 1.12 1.1

RMSE

1.08

0.96 0

20

30 40 50 Iterations

60

70

80

600

Average Number of Neighbors

MAE

10

Figure 3: RMSE estimation in the ad-hoc scenario

0.84 PREF NEIGH KN-NEIGH Optimal Scenario

500 400

PREF NEIGH KN-NEIGH stdev

300 200 100 0

0.78

0

10

20

30

40

50

60

70

80

Iterations

0.76 0.74

1.02 1

0.86

0.8

1.04

0.98

0.88

0.82

PREF NEIGH KN-NEIGH Optimal Scenario

1.06

0

10

20

30

40

50

60

70

Figure 4: Average number of neighbors in the adhoc scenario

80

Iterations

and PREF approaches. Our interpretation is that, as observed in many social networking analysis, the neighbors of my neighbors are likely to be my neighbors (also known as the triangulation property). Hence, epidemic distribution of ratings is greatly enhanced if information are spread though affinity links. Conversely, known hosts that are not my neighbors, have limited probability to be neighbors of my neighbors, especially in a sparse dataset like MovieLens. Nevertheless, if two users take into account Kn lists, trust busters and missed opportunities can be reduced in fewer steps.

Figure 2: MAE estimation in the ad-hoc scenario The Optimal Scenario line marks the value reached in the reference fully connected model (i.e., 0.757 for MAE and 0.961 for RMSE). In both figures is evident that the PREF strategy converges very slowly toward the lower bound because of the spreading of information is relied only to direct meetings. Exchanging the neighbors list Ui allows an epidemic form of ratings distribution that strongly improves accuracy of prediction. In fact, for the NEIGH strategy we can reach results comparable to the complete knowledge one in 50 iterative steps (e.g., MAE=0.768 and RMSE=0.99). Moreover, sharing of known hosts list Kni , considered with strategy KN-NEIGH, allows to maximize the epidemic diffusion of data and permits to obtains good results after only 25 random meetings (e.g., MAE=0.758 and RMSE=0.962). The process of neighbors discovery is showed in Figure 4. At each iteration, we computed the average number of neighbors stored by users, i.e., avg(|Ui |), and the standard deviation stdev (for clarity reasons in Figure 4 we show only stdev for the KN-NEIGH strategy). Very interestingly, even if there is an appreciable difference between KN-NEIGH and NEIGH strategies, this is not comparable to the difference observed between NEIGH

5.4 Overhead and Scalability considerations Considering a simulative scenario with a population of 943 users, a collection of 1,682, and 80 iterative steps that emulate 80 sequential random meetings for each user’s device, Figures 2 and 3 show also how many ad-hoc communications are needed before predicting approximately accurate recommendations. In fact, after 20 iterative steps (i.e., each device has met about 2% of the entire population), on average, we have that 0.757 < MAE < 0.763 and 0.961 < RMSE < 0.97 when NEIGH strategy is used, and that 0.757 < MAE < 0.759 and 0.961 < RMSE < 0.964, when KN-NEIGH is adopted instead. Furthermore, after 50 iterative steps (i.e., each device has met about 5% of the

32

|ui | |sk | |rate(ui , sk )|

10 bit 11 bit 3 bit

with such a service, a node can merge information collected during the ad-hoc phase with new information related to geographically remote users. When online, the device is able to refine the personalized predictions previously obtained, for example, accessing to content-based data repositories, downloading more specific information about items and users, recalculating affinities according to more accurate data. Even if very relevant to a practical implementation of MobHinter, these engineering issues are out of the scope of the paper. Privacy and profile control: A MobHinter node has complete control over its user’s profile and over recommendation calculations and predictions. In fact, every device collects all the information it needs for estimating ratings for unknown objects, and it has to exchange such information with other nodes. This greatly protects user’s privacy, because even during a synchronization with a remote service, it has to pull all the data needed for calculation, by means of a (decentralized) directory system, e.g., for example, an user can query the system looking for potential neighbors that matches his preferences according a given affinity threshold. This can be executed, for example, by flooding the searches, or using a Distributed Hash Table overlay network that allows structured and scalable Peer-to-Peer systems. During this process, the user can mask himself behind a presented identity with no relationships with the real entity. The identity is characterized in terms of a set of preferences, and she/he can decide which information to be publicly available. Pseudonyms - many identities - one entity problem: The reader can question if a massive usage of pseudonyms can add noise to the recommendation system. Even if this problem must be carefully analyzed before estimating the real degree of its potential impact, we can adopt a straightforward solution for filtering out redundant identities. Because Equation (4) is not significantly affected by popularity factors, a device can simply discard neighbors and/or known hosts with identical ratings lists, assuming that this is an evidence of a replicated identity. Lists size issue: As shown in Figure 4, the size of the neighbors list, as well as the known nodes lists, can be very large in some cases, and in a real scenario with undefined number of users it can even grow indefinitely. In Section 5.3 we discussed how introduced overhead is not a problem with modern mobile devices, but anyway the problem can be tricky in some cases. This issue can be avoided just introducing a smart strategy for limiting the size of these lists, without removing very relevant references. Some preliminary results in this direction show that limiting the size of the neighbors list does not present significant implications in accuracy loss. In order to maintain the performance of the algorithms, it is necessary to choose a good strategy to discard neighbors when the list is at its maximum size, and recommendation predictions are very close to optimal accuracy. One good strategy for neighbors list is to keep the nodes with higher affinity value, discarding the hosts that have the lowest values. About the known hosts list, it should have limited size too, but as the cache of known hosts is maintained mainly to mitigate the cold start problem, then the adopted strategy is less critical. However, it is possible to compare behaviors of the system when different strategies are implemented, e.g., LRU, MRU, random deletions, and so on. For brevity reasons, this analysis has not been included in this version of the paper.

Table 3: Parameters for the Estimation of the Spatial Overhead Step 20 30 40 50

PREF 3895 5750 7605 9460

NEIGH 18735 32462 37471 39511

KN-NEIGH 46189 58061 60102 60658

Table 4: Status overhead behaviors (in bytes) MovieLens population), KN-NEIGH strategy makes MAE and RMSE converge to optimal minimum values. Hence, in order to understand if the overhead is viable with modern mobile devices in terms of their available capacity and to evaluate scalability of the system, we need to estimate step by step the average device’s status in terms of memory occupancy. Focusing again on the MovieLens dataset, we can define |ui |, |sk | and |rate(ui , sk )| as, respectively, the size in bit of a user’s identifier, an object identifier and a rate (see Table 3). The status of a MobHinter node ui is made of the following elements: F ri , Ui , and Kni . The neighbors list and known hosts cache grows differently accordingly to the adopted strategy. It is important to recall that for each node uj in Ui or in Kni , we need to store the node’s identifier (i.e., |uj | bit), and ratings list F rj (i.e., ∀(sk , rjk ) ∈ F rj , the device consumes |sk | + |rate(ui , sk )|). Focusing on iterative steps from 20th to 50th, for each different strategies, we have an average status for device as in Table 4. Of course, PREF is the less expensive in terms of memory consumption, but the reader should observe that after 50 iterative steps, the average status of MobHinter node behaving accordingly to KN-NEIGH is about 60 KB, which is widely practical for actual mobile devices. Furthermore, this status size can represent an upper bound, because (as explained in the following section) we avoid to let indefinitely grow the lists; in fact, in the case study we showed that after an average of 50 random meetings, recommendations are accurate as well as in the optimal scenario.

6.

DISCUSSION

In the previous sections we proved that MobHinter converges quickly to optimal recommendation predictions even if only random ad-hoc meetings are considered. MobHinter’s field of applicability is very wide, and it includes movie selection, tourist attraction suggestion, personalized restaurant advices, and so on. Real world applications have pros and cons that go beyond simulative frameworks, and that cannot be realistically considered in a simplified model. In the following, we state some of the most relevant issues that may arise. Synchronization: Even if we proved the practicality of our approach in a very extreme domain where nodes meet each other only using ad-hoc connections, we can realistically consider the existence of a remote service that can be accessed when Internet is available. During synchronization

33

7.

CONCLUSIONS AND FUTURE WORK

In this paper we focused on collaborative filtering techniques in mobile ad-hoc networks where spontaneous affinity relations are derived and exploited in order to push personalized suggestions by way of direct meetings between users. We referred to a scenario where devices exchange information with users in the proximity without accessing to any remote online directory services. We proposed epidemic collaborative strategies to spread ratings over self-organized communities of users. We simulated the ad-hoc environment and we found that the proposed approach converges very quickly to the prediction accuracy measured in the reference domain with an acceptable overhead. The implementation and the evaluation of a prototype for the Google Android2 platform is future work in order to experiment the MobHinter framework in a real scenario.

[9]

[10]

[11]

Acknowledgment

[12]

This work has been partially supported by the MIUR within the “PROFILES” project (PRIN) and by the Torino Wireless Foundation within the “RD-PVR” project. Panisson has been supported by the “WWS Mobility Program” founded by the CRT Foundation.

8.

[13]

REFERENCES

[1] M. Reardon, “Mobile communities could fill 3g pipes,” 2006. [Online]. Available: http://news.zdnet.com/2100-1035 22-6058001.html (last access: 2007/11/5) [2] A. Tveit, “Peer-to-peer based recommendations for mobile commerce,” in WMC ’01: Proceedings of the 1st international workshop on Mobile commerce. New York, NY, USA: ACM Press, 2001, pp. 26–29. [3] B. N. Miller, J. A. Konstan, and J. Riedl, “Pocketlens: Toward a personal recommender system,” ACM Trans. Inf. Syst., vol. 22, no. 3, pp. 437–476, 2004. [4] B. J. Mirza, B. J. Keller, and N. Ramakrishnan, “Studying recommendation algorithms by graph analysis,” J. Intell. Inf. Syst., vol. 20, no. 2, pp. 131–160, 2003. [5] S. Castagnos and A. Boyer, “Modeling preferences in a distributed recommender system,” in User Modeling, ser. Lecture Notes in Computer Science, C. Conati, K. F. McCoy, and G. Paliouras, Eds., vol. 4511. Springer, 2007, pp. 400–404. [6] A. de Spindler, M. C. Norrie, and M. Grossniklaus, “Collaborative filtering based on opportunistic information sharing in mobile ad-hoc networks,” in OTM Conferences (1), ser. Lecture Notes in Computer Science, R. Meersman and Z. Tari, Eds., vol. 4803. Springer, 2007, pp. 408–416. [7] J. A. Pouwelse, P. Garbacki, J. Wang, A. Bakker, J. Yang, A. Iosup, D. H. J. Epema, M. Reinders, M. R. van Steen, and H. J. Sips, “Tribler: a social-based peer-to-peer system.” Concurrency and Computation: Practice and Experience, vol. 20, no. 2, pp. 127–138, 2008. [8] J. Pouwelse, P. Garbacki, J. Wang, A. Bakker, J. Yang, A. Iosup, D. Epema, M. Reinders, M. van Steen, and H. Sips, “Tribler: A social-based 2

[14]

[15]

[16]

[17]

[18]

[19]

[20]

http://code.google.com/android/

34

peer-to-peer system,” in IPTPS, no. 2006-002, feb 2006. [Online]. Available: http://pds.twi.tudelft.nl/reports/2006/PDS-2006002/PDS-2006-002.pdf B. Xie, P. Han, and R. Shen, “Pipecf: a scalable dht-based collaborative filtering recommendation system,” in WWW Alt. ’04: Proceedings of the 13th international World Wide Web conference on Alternate track papers & posters. New York, NY, USA: ACM Press, 2004, pp. 224–225. P. Han, B. Xie, F. Yang, and R. Shen, “A scalable p2p recommender system based on distributed collaborative filtering.” Expert Syst. Appl., vol. 27, no. 2, pp. 203–210, 2004. T. Oka, H. Morikawa, and T. Aoayama, “Vineyard : A collaborative filtering service platform in distributed environment,” in Proc. of the IEEE/IPSJ Symposium on Applications and the Internet Workshops, 2004. B. N. Miller, I. Albert, S. K. Lam, J. A. Konstan, and J. Riedl, “Movielens unplugged: Experiences with an occasionally connected recommender system,” in 2003 Conference on Intelligent User Interfaces (IUI’03). ACM, 2003. [Online]. Available: http://citeseer.nj.nec.com/584995.html K. Chorianopoulos, “Personalized and mobile digital tv applications,” Multimedia Tools Appl., vol. 36, no. 1-2, pp. 1–10, 2008. G. Ruffo, R. Schifanella, and E. Ghiringhello, “A decentralized recommendation system based on self-organizing partnerships.” in Networking, ser. Lecture Notes in Computer Science, vol. 3976. Springer, 2006, pp. 618–629. G. Ruffo and R. Schifanella, “Evaluating peer-to-peer recommender systems that exploit spontaneous affinities,” in SAC ’07: Proceedings of the 2007 ACM symposium on Applied computing. New York, NY, USA: ACM, 2007, pp. 1574–1578. A. Panisson, G. Ruffo, and R. Schifanella, “X-hinter: a framework for implementing social oriented recommender systems,” in Hypertext 2008. New York, NY, USA: ACM Press, 2008. P. Resnick, N. Iacovou, M. Suchak, P. Bergstrom, and J. Riedl, “Grouplens: an open architecture for collaborative filtering of netnews,” in CSCW ’94: Proceedings of the 1994 ACM conference on Computer supported cooperative work. New York, NY, USA: ACM Press, 1994, pp. 175–186. J. L. Herlocker, J. A. Konstan, L. G. Terveen, and J. T. Riedl, “Evaluating collaborative filtering recommender systems,” ACM Trans. Inf. Syst., vol. 22, no. 1, pp. 5–53, 2004. J. Schafer, D. Frankowski, J. Herlocker, and S. Sen, “Collaborative filtering recommender systems,” in The Adaptive Web, 2007, pp. 291–324. [Online]. Available: http://dx.doi.org/10.1007/978-3-540-72079-9 9 B. Sarwar, G. Karypis, J. Konstan, and J. Reidl, “Item-based collaborative filtering recommendation algorithms,” in WWW ’01: Proceedings of the 10th international conference on World Wide Web. New York, NY, USA: ACM Press, 2001, pp. 285–295. [Online]. Available: http://dx.doi.org/10.1145/371920.372071