=Paper= {{Paper |id=Vol-2404/paper15 |storemode=property |title=Multi-Agent Architecture for Point of Interest Detection and Recommendation |pdfUrl=https://ceur-ws.org/Vol-2404/paper15.pdf |volume=Vol-2404 |authors=Claudia Cavallaro,Gabriella Verga,Emiliano Tramontana,Orazio Muscato |dblpUrl=https://dblp.org/rec/conf/woa/CavallaroVTM19 }} ==Multi-Agent Architecture for Point of Interest Detection and Recommendation== https://ceur-ws.org/Vol-2404/paper15.pdf
                                      Workshop "From Objects to Agents" (WOA 2019)


        Multi-Agent Architecture for Point of Interest
              Detection and Recommendation
                      Claudia Cavallaro, Gabriella Verga, Emiliano Tramontana, Orazio Muscato
                                    Department of Mathematics and Computer Science
                                                  University of Catania, Italy
        E-mail: {claudia.cavallaro@unict.it, gabriella.verga@unict.it, tramontana@dmi.unict.it, muscato@dmi.unict.it}


   Abstract—Geographical positions are widely employed in many           information about GPS locations for the most visited POIs, and
applications, such as recommendation systems. The wide-spread            their most frequent time slots.
use of mobile devices and location-based Internet services (e.g.,           POIs are taken from an automatic analysis of a real dataset
Google Maps) gives the opportunity to collect user locations.
Taking advantage of a multi-agent system, this work proposes an          offered by the Geolife experiment [33]. The points found by
approach providing users with personalised recommendations of            our analysis were verified by matching the results with Google
places of interests, such as libraries, museum, restaurants, etc.        maps data. It was confirmed that they correspond to real POIs,
The approach offers a better experience by giving additional             i.e. parks, restaurants, etc., hence validating our approach.
dynamic data (e.g. popularity, as number of users) to a list             GeoLife GPS trajectories were collected in the framework of
of Points Of Interest (POIs), and by exploring their temporal
relations. Indeed, for POIs, which we determine using a DBSCAN           (Microsoft Research Asia) Geolife project by 182 users in a
algorithm, we take into account the time slots when the users            period of over three years (from April 2007 to August 2012).
visited them, to offer a more advanced service. Finally, the             A GPS trajectory in such a dataset is represented by a sequence
approach was designed to preserve the privacy of users, i.e. it          of time-stamped points, each of which contains the information
does not reveal the position of users.                                   of latitude, longitude and altitude [27], [32]–[34].
   Index Terms—GPS data, Points Of Interest, Stay Points, Data
                                                                            Thanks to the collaborating agents in our architecture, the
analysis, DBSCAN, Privacy
                                                                         proposed approach provides users with: (i) a list of POIs, and
                                                                         for each point, (ii) further information based on real time data
                      I. I NTRODUCTION                                   gathered from other users, which helps her choose the next
                                                                         destination with greater awareness. A key objective is to have
   Given the extraordinary use of mobile devices and various             this information as close as possible to real time data, and
technologies tracing one’s geographical position, it becomes             rank places according to feedback from other users, the most
increasingly easier to acquire information relating to users’            frequent time slots and the time spent visiting a place by other
GPS in real time. This availability has triggered several studies        users.
based on user positioning, such as the analysis of the flows                The remainder of the paper is as follows. Next section
of people in the cities [27], or the prediction of people                discusses the related work. Section III describes the proposed
movements [11]. This has also led to the improvement of                  multi-agent system. Section IV details the methodology used
services that identify the points of interest for a city to offer        to find POIs and gives the corresponding results. Section V
benefits to users who want to reach a place but they do                  draws our conclusions.
not have enough knowledge for an immediate choice. Points
of Interest, commonly abbreviated POIs, are a well-known                                      II. R ELATED W ORK
concept in literature [2], [15], [31]. A POI is defined as an               This study lies at an intersection of multiple disciplines,
object associated with a latitude and a longitude which at least         including multi-agent systems, POI recommendation systems,
one person would reasonably be expected to have an interest or           collaborative filtering and privacy preserving systems.
an utility. POI recommendation is one of the services available,            Multi-agent: several studies have proposed the use of
suggesting places for users to visit [17].                               multi-agent systems (MAS) [8] to a wide range of different
   This paper proposes an approach for POI recommendation                domains. In 1998, a study described a supporting system for
using collaborating agents and a centralised server. The server          suggesting possible purchases during shopping based on the
dynamically acquires information coming from agents, which               GPS position with the use of agents [10]. In general, there
are held on the users’ mobile device, creating new suggestions           are two main approaches to MAS developments: centralised
about the next place to visit. Common knowledge is important             policies (CMAS) and decentralised policies (DMAS) [29].
because, by definition, each agent can independently infer                  • A centralised approach consists of taking all of the
information and share it with the group. In our context, an                   decisions in one place. In a typical CMAS, a central
agent is an application that improves user navigation in a city.              server collects all the relevant data that come from
An agent communicates with a centralised server to learn new                  the different actors (that is, agents) and identifies the
information about POIs. Moreover, an agent gives to the server                decisions for each agent according to the global system




                                                                    98
                                       Workshop "From Objects to Agents" (WOA 2019)

      state. The centralised view of the system can be described
      by a multi-agent Markov decision process model, a good
      example is presented in [3].
   • A decentralised approach consists of making each entity
      responsible for its own decision. In a typical DMAS,
      an agent cannot see other agents local states and local
      actions, and has to decide the next local action on its own.
      Thus, each agent has only a partial view of the systems
      global state, and different agents have different partial
      views. A good example is in [30] whose authors propose
      a decentralised multi-agent decision process framework
      that provides the basis for a decision-theoretic study of
      decentralised policies.
   The decentralized architecture has advantages in synchroni-
sation, reusability, scalability, and modularity [12], [14]. How-
ever, the complexity of decentralised systems is greater than
that of centralised ones. Although decentralisation shows ob-               Fig. 1. Schematic of Centralised Server. Each device identifies an agent.
vious advantages, decentralisation also has its own drawbacks,
including that agents cannot predict the group behavior based
only on the available local information, possible instability,             They are widely used and very useful but they often fail to
and sub-optimal decisions.                                                 protect users privacy, hence they have some disadvantages. In
   Due to the importance of total knowledge, our choice fell               [5], [6] the privacy breaches are tackled with cryptographic
into the first category. Moreover, the centralised server is able          systems, which can reduce the risk for the user. In other
to filter information offering advices to users without sending            research works, e.g. in [22], each user first disguises her private
their sensitive data; this preserves the user’s privacy.                   data, and then sends it to the data collector. Therefore, a
   POI: Researchers have ventured into several studies con-                Randomised Perturbation (RP) technique is used to disguise
cerning the analysis of user trajectories. This interest is driven         private data [1]. Moreover, anonymisation techniques can be
by the possibilities it offers for marketing and the many                  used, however these introduce some attack problem, making
services that can be offered to users. Since 2005 researchers              datasets not very useful [23], [26].
have faced the problem of analysing trajectories according to                 Unlike other approaches, our proposal includes a solution
space-time. The first studies on the analysis of trajectories offer        to identify POIs through the use of the DBSCAN (Density-
an overview on how it is possible to analyse the trajectories              Based Spatial Clustering of Applications with Noise) algo-
starting from a set of POIs [15]. Over the years, these                    rithm. Then, collaboration filtering is used with the dynamic
analyses have fed other different studies on trajectories, such as         calculation of ratings based on user experiences. For such a
calculating the probability of moving from one POI to another,             rating we use spatio-temporal variables offering a dynamic and
using, for example, the Markov chains [11], [18] and then                  realistic outcomes. This is done by safeguarding the privacy of
creating methods that predict the next movements of individual             users because the centralised server only tracks the movements
users from the analysis of their POIs.                                     near the POIs. Furthermore, it is important to offer a service
   Collaborative Filtering: Collaborative filtering (CF) tech-             that makes the user and her privacy more secure. To do this we
niques are widely adopted for recommendation systems and                   have users sharing their position only if they are close enough
many CF recommendation methods have been proposed, as                      to a POI and this information is manipulated to ensure user
e.g. in [19]. The CF approach is one of the approaches                     safety. E.g. the position of a user within the radius of a POI
for creating recommendation systems. It creates suggestions                will be saved in our central server with an error rate of about
using a similarity metric among users. The assumption is                   300 meters in order to preserve the user’s privacy. This does
that similar users probably have similar tastes. The concept               not corrupt our system data and better protects users.
of CF was introduced in 1992 by the Xerox research staff
within the Tapestry project, a system that allowed users                              III. P ROPOSED M ULTI -AGENT S YSTEM
to trace documents based on comments left by other users
[13]. Later, several ratings-based automated recommendation                   In our software architecture, a centralised server gathers and
systems were developed, e.g. the GroupLens research system                 analyses the data coming from several agents, with the aim to
[24] provides a pseudonymous CF solution for Usenet news                   offer users suggestions and some real time data on POIs to
and movies. Other technologies have also been applied to                   visit. Moreover, each user (with reference to an application)
recommendation systems as Bayesian networks [4], [20], [25]                has been modeled as an independent agent that communicates
and clustering [7], [28].                                                  with the centralised server. Therefore, POIs recommendation
   Privacy Preserving: CF techniques have been very success-               is based on a multi-agent system performing the following
ful in e-commerce and in direct recommendation applications.               steps (see Figure 1).




                                                                      99
                                      Workshop "From Objects to Agents" (WOA 2019)

Step 1: the server sends to agents the list of known POIs for
        a city. Each POI has been previously determined by
        the DBSCAN algorithm [9] discussed in section IV.
        Each POI has the following information:
          • the most visited time slots;
          • the number of agents present on the site (POI) in
            real time;
          • a set of site feedbacks, created by a sentiment
            analysis algorithm that analyses the comments
            released by users;
          • a rating estimated from previous information that
            recommends (or dismiss) the POI to the user.
Step 2: thanks to the rating, the agent chooses a place of          Fig. 2. Schematic of POI recommendation. Each device sends its own
        interest which the user can visit. As soon as the GPS       information to a centralised server which processes them and suggests a new
                                                                    POI for agents. Using the experiences of users based on time, duration, their
        coordinates are in a range of less than one kilometer       personal feedback and the next goal, the rating is calculated that suggests a
        from the coordinates of a POI, then the position will       next goal to the leading agent.
        be sent to the centralised server, which can determine
        the number of users present. The GPS coordinates are
        only sent when in controlled areas in order to preserve
        user privacy.
Step 3: once the visit is over, the user can use the agent to
        issue comments on the place visited. This information
        will be sent to the server, and there it will be analysed
        using sentiment analysis algorithms [16], which in
        turn lets the server determine a score that identifies
        whether the POI was satisfactory for the user.
Step 4: the agent will again receive the list of POIs by adding
        information for a specific POI related to the site
        already visited based on the experiences of previous
        users.
   Such a cooperation can generate a benefit for groups of
people who share the same interests (tourists, students, etc.).
Thanks to the exchange of information between agents and
servers, it is possible to define the rules for our recommenda-
tion system based on POIs (see Figure 2).
                                                                      Fig. 3. User is presented with a list of POIs and associated dynamic data.
   In short, the approach presented in this article finds POIs
(starting from a set of user trajectories) and uses information
exchange with a centralised server to improve city services             •Beihang          University        with    coordinates:
and user knowledge by creating a content filtering software              39.98011363182701, 116.34218061609567.
that creates customised recommendations specific to the user
                                                                    Another nearby POI has been associated with a parking area
to help him in his choices.
                                                                    (however, it is not listed in Figure 3):
   Figure 3 shows a list of POIs nearby to the user. Then, for
                                                                      • Satellite   Building Parking Lot with coordinates:
each POI the user can access the ratings gathered from to other
                                                                         39.97673497237701, 116.33137904408086.
people comments, as well as give her comments. As mentioned
in Step 1, POIs are found by the implemented algorithm                For validating the results of our algorithm finding POIs,
discussed in the next section. We can see, in Figure 3, four        each discovered site was checked against Google Maps.
nearby points labeled as POIs:                                      Hence, the above list consists of actual sites, being POIs
                                                                    according to Google Maps, which are within a radius of 100
  • Chaofan Weiye Kejiao Bookstore with coordinates:                meters from the POIs found by our algorithm.
    39.98405510061326, 116.3204636235443;
  • Haidian Stadium with coordinates: 39.987213527969644,                    IV. M ETHODOLOGY FOR D ETERMINING POI S
    116.30248430595732;                                               We have acquired the data from the database Geolife of
  • Beijing   Rural Commercial Bank Zhongguancun                    Microsoft Research Asia, that contains the routes of 182 users
    Branchcon with coordinates: 39.980016801082485,                 and it reports, at regular intervals of time, each point in GPS
    116.30856309688643;                                             coordinates: longitude, latitude, altitude with corresponding




                                                                100
                                             Workshop "From Objects to Agents" (WOA 2019)

                                                                                                           TABLE I
                                                                                            I NFORMATION ABOUT DIFFERENT TIME SLOTS

                                                                                             Time             Total number of
                                                                                             Slot    GPS Points Trajectories        Users
                                                                                               1      3978234         5878           156
                                                                                               2      3729429         4302           150
                                                                                               3      4976744         6613           166
                                                                                               4      3107232         4702           168
                                                                                               5       889076         1505           114
                                                                                               6      1341196         2537           129




Fig. 4. Plot of clean trajectories in the selected Beijing metropolitan area.
Axis: X=longitude, Y=latitude.



date and time. This GPS trajectory dataset contains about
18 thousand trajectories with a total distance of 1,292,951
kilometers and a total duration of 50,176 hours. Most of the
trajectories were logged in a dense representation, e.g. every
1 ∼ 5 seconds or every 5 ∼ 10 meters per point.
   The distance d(pi , pj ) between point pi and point pj , when
their coordinates are given by latitude (lt) and longitude (lg),
                                                                                              Fig. 5. Map with the trajectories of Slot 3.
is defined as follows by the Haversine formula. Such a formula
provides the distance between two points laying on a sphere
surface given their latitude and longitude.                                     shown in Table I. For time Slot 3’s trajectory data we have
                                                                                drawn the GPS data on the map to get a rough idea of the
                               d(pi , pj ) =                                    users’ activity in this period of time in this area (see Figure 5).
              r                                                                    For every slot of time, after grouping trajectories by users,
                         lti − ltj                        lgi − lgj             the second step of our work was the StayPoints (SPs) detection
 2R arcsin        sin2             + cos lti cos ltj sin2           (1)
                             2                                2                 [21]. When we find a region in which a user has spent a con-
   The first step in our analysis was the data cleaning of the                  siderable time on its surroundings, the centroid (the mean of
trajectories, based on the speed of their GPS points, with the                  coordinates of the points belong to it) of this cluster represents
goal to remove inconsistent data. Considering a trajectory, a                   an SP. The algorithm that we implemented for the SP detection
sequence of GPS points ordered by the time of recording,                        needs as input a TimeThreshold and a DistanceThreshold. If
we computed the velocity of a point as the ratio of the                         an individual stays over 20 minutes (TimeThreshold) within a
distance from it and its consecutive (applying the Haversine                    distance of 200 meters (DistanceThreshold), a SP is detected.
formula, Equation 1) and the difference of time recording                       The execution time of the SPs detection algorithm (see 1 for
them. If this velocity exceeds 100 m/s, the second point was                    its psuedo-code) for 100 trajectories is about 16 minutes.
deleted. Another case is when the velocity appeared in the                         We obtained many SPs for every time slot, as shown in
form 0/0, this noise was caused by the GPS device that did                      Table II. For the Slot 3’s trajectories the plot of their SPs is
not run properly. For our research we have chosen the range of                  in Figure 6. Then, we focused on POIs that cluster together
longitude and latitude of [116.1, 39.7]×[116.7, 40.13] (Beijing                 SPs of different users (at least 10), and checked if, in different
metropolitan area of 51 kilometers per 48 kilometers, see                       time slots, the users that previously had a common POI move
Figure 4).                                                                      together to another one. We applied DBSCAN to the SPs
   By plotting the trajectories we can see a second problem:                    obtained as it works well with large geographical dataset and
some paths appear broken (not continuous) probably due to the                   likewise can be adapted for any distance functions. DBSCAN
presence of buildings or tunnels that disturb the GPS signal (in                (Density-Based Spatial Clustering of Applications with Noise)
some areas the recording is lost). The filtered data, formed by                 is a popular unsupervised learning method, proposed in 1996
18,021,911 GPS points, were then grouped into 6 time slots                      [9], has been used in model building and machine learning
of 4 hours each: Slot1 [00:00:00, 03:59:59], Slot2 [04:00:00,                   algorithms.
07:59:59] and so on, in order to analyse the traffic in Beijing                    The advantages of DBSCAN are as follows.
during different time slots. Information about these slots are                     • It is very good for separating clusters of high density




                                                                            101
                                         Workshop "From Objects to Agents" (WOA 2019)

  Data: A trajectory T={p i,p i+1,. . . }, a distance
         threshold (DistThr) and time span threshold
         (TimeThr)
  Result: A set of stay points SP ={}
  i=0, cardinality traj= |T |
  while i < cardinality traj do
      j = i + 1;
      while j < cardinality traj do
          dist=distance ( p i, p j );
          if dist > DistThr then
              δtime=time p j−time p i;
              if δtime >TimeThr then
                  S.coords=MeanCoords({p k|i < k < j});
                  S.arrive time=time p i;
                  S.left time=time p j;
                  SP.append(S);                                         Fig. 7. POIs obtained for the trajectories on time Slot 3.
                  break;
              end
          end                                                   a point x. It is called the EPS-neighbourhood of x. The
          j = j + 1;                                            parameter MinPts is the minimum number of neighbours
      end                                                       within “Eps” radius.
      i = j;                                                       For our data, the clustering algorithm DBSCAN has de-
  end                                                           termined clusters for all SPs. We set MinPts equal to 10 or
  return SP                                                     15 and Eps from a minimum of 200 meters to a maximum of
        Algorithm 1: Pseudocode for SPs detection               400 meters. We obtained on average 20 clusters for every time
                                                                slot (see Table II) that represent significant places for users,
                                                                i.e. the centroids of these clusters are POIs. E.g. when we
                                                                considered time Slot 3 and we set that the minimum number
                                                                of SPs necessary to make a cluster as 15 and the Eps equal
                                                                to 200 meters, we obtained 29 clusters, hence 29 POIs (see
                                                                Figure 7).
                                                                   The last step of our work was to filter the POIs detected
                                                                according to popularity. We considered only POIs with a
                                                                number of users greater than 10 (called Popular POIs), in
                                                                order to understand users interaction and similarity. E.g., for
                                                                time Slot 3 we obtained 9 POIs shared by a minimum of 11
                                                                individuals to a maximum of 80 individuals (see Figure 8).
                                                                Our experiments have shown that in different time slots a
                                                                set of different individuals move together to the same POIs,
                                                                like parks, departments of Universities, shopping centres,
                                                                hostels, parking spaces, libraries, stadiums, banks, Metro and
                                                                bus stops. This suggests us a similarity between users. For
           Fig. 6. StayPoints of the trajectories on Slot3.
                                                                detected POIs we can further say that our experiments show a
                                                                correlation of people moving from one POI to another: users
                                                                remain in these areas in certain common time slots.
    versus clusters of low density within a given dataset;
  • unlike K-means, DBSCAN does not require the user to            In our experiments the execution time of DBSCAN on the 6
    specify the number of clusters to be generated;             time slots ranges from a minimum of 240 ms to a maximum of
  • DBSCAN can find any shape of clusters, i.e. the cluster
                                                                1.44 s. Our implementation uses Python 3, and the experiments
    doesnt have to be circular;                                 were run in a host having an Intel Xeon CPU E5-2620 v3
  • DBSCAN can identify outliers.
                                                                2.40GHz, with RAM 32, 0 GB.

  The goal of this algorithm is to identify dense regions,                                V. D ISCUSSION
which can be measured by the number of objects close to
a given point. Two important parameters are required for           Thanks to the discussed algorithm, it is possible to find a
DBSCAN: Epsilon (“Eps”) and minimum points (“MinPts”).          set of POIs based on gathered trajectories. In our experiments,
The parameter Eps defines the radius of neighbourhood around    such data were gathered by Geolife experiments, and the set




                                                              102
                                            Workshop "From Objects to Agents" (WOA 2019)

                                                                                                        VI. C ONCLUSIONS
                                                                                 Nowadays, thousands of users use their mobile device to
                                                                              gain access to new information in relation to their geographical
                                                                              location. This innovation has given rise to new services, such
                                                                              as reading GPS coordinates in order to receive information on
                                                                              nearby Points Of Interest (POIs). In this paper we used a multi-
                                                                              agent system for creating recommendations for POIs. The
                                                                              POIs were created from a dataset supplied to us by the Geolife
                                                                              project. From our results we can conclude the following.
                                                                                 • It is possible to find the POIs from a set of trajectories.
                                                                                   We have identified about 36 POIs by analysing 182
                                                                                   trajectories. In addition, the Popular POIs, related to more
                                                                                   than 10 users, correspond to 30% of the POIs previously
                                                                                   found;
                                                                                 • it has been verified that the POIs correspond to well-
                                                                                   known places, e.g. restaurants, parks, etc;
                                                                                 • the visiting hours of the POIs are uniform, therefore each
                                                                                   POI has a time slot preferred by users. In general, the
                                                                                   most frequent time slot is between 08:00 and 12:00;
                                                                                 • it has been shown that there is a correlation of people
                                                                                   moving from one POI to another in the city.
                                                                                 Thanks to the points listed above, the proposed multi-agent
Fig. 8. POIs with a number of users greater than 10 for the trajectories of
time Slot 3.                                                                  system, exchanging information with the centralised server,
                                                                              has been used for the creation of a recommendation tool for
                                                                              POIs.
                               TABLE II
                 R ESULTS ABOUT SP S AND POI S OBTAINED
                                                                                                            R EFERENCES
                                                                               [1] R. Agrawal and R. Srikant. Privacy-preserving data mining. ACM
 Time                 Total number of                     DBSCAN
                                                                                   Sigmod Record, 29(2):439–450, 2000.
 Slot     SPs      Users POIs Popular POIs            Eps(km) MinPts
                                                                               [2] M. Aliannejadi and F. Crestani. Personalized context-aware point of
   1      2966      122      18       8                 0.3     15                 interest recommendation. ACM Transactions on Information Systems
   2      3772      124      27       8                0.25     15                 (TOIS), 36(4):45, 2018.
   3      4146      145      29       9                 0.2     15             [3] C. Boutilier. Sequential optimality and coordination in multiagent
   4      1899      130      24       6                 0.2     15                 systems. In Proceedings of International Joint Conference on Artificial
   5      751        84      13       4                 0.4     10                 Intelligence (IJCAI), volume 99, pages 478–485, 1999.
   6      545        84       9       1                 0.4     10             [4] J. S. Breese, D. Heckerman, and C. Kadie. Empirical analysis of
                                                                                   predictive algorithms for collaborative filtering. In Proceedings of the
                                                                                   Fourteenth conference on Uncertainty in artificial intelligence, pages
                                                                                   43–52. Morgan Kaufmann Publishers Inc., 1998.
                                                                               [5] J. Canny. Collaborative filtering with privacy. In Proceedings IEEE
of POIs were used as a knowledge base for our recommen-                            Symposium on Security and Privacy, pages 45–57, 2002.
dation system. The large amount of data was instrumental for                   [6] J. Canny. Collaborative filtering with privacy via factor analysis. In
validating our approach.                                                           Proceedings of international ACM SIGIR conference on Research and
                                                                                   development in information retrieval, pages 238–245, 2002.
   For the above proposed multi-agent system, a setting in our                 [7] S. H. S. Chee, J. Han, and K. Wang. Rectree: An efficient collaborative
agent application on the smartphone allows collecting GPS                          filtering method. In Proeedings of International Conference on Data
                                                                                   Warehousing and Knowledge Discovery, pages 141–151. Springer, 2001.
coordinates. This is useful for a geographical location were                   [8] J. Cruz, E. Silva, R. J. Rossetti, D. C. Silva, E. C. Oliveira, and
there are no previously gathered trajectories. Then, we can                        J. Neto. Application of multi-agent systems to shared transport services:
continually extract the trajectories of users and updating both                    A review. In Proceedings of Iberian Conference on Information Systems
                                                                                   and Technologies (CISTI), pages 1–6. IEEE, 2018.
suggestions for users and POIs recommendation.                                 [9] M. Ester, H.-P. Kriegel, J. Sander, X. Xu, et al. A density-based
   Using such a setting, each agent releases to the server the                     algorithm for discovering clusters in large spatial databases with noise.
                                                                                   In Proceedings of International Conference on Knowledge Discovery
GPS coordinates and its identity periodically, however to take                     and Data Mining, pages 226–231, 1996.
into account privacy concerns, the user identity is masked,                   [10] A. E. Fano. Shopper’s eye: using location-based filtering for a shopping
and the GPS location is randomly moved by at maximum 100                           agent in the physical world. In Agents, volume 98, pages 416–421, 1998.
                                                                              [11] S. Gambs, M.-O. Killijian, and M. N. del Prado Cortez. Next place
meters. Then, we obtain a trajectory which is not very precise,                    prediction using mobility markov chains. In Proceedings of the First
however still useful.                                                              Workshop on Measurement, Privacy, and Mobility, page 3. ACM, 2012.
   As trajectories are dynamically gathered, also POIs are                    [12] R. Giunta, G. Pappalardo, and E. Tramontana. Aspects and annotations
                                                                                   for controlling the roles application classes play for design patterns. In
determined dynamically, as data arrive to the server. This is                      Proc. of IEEE Asia Pacific Software Engineering Conference (APSEC),
possible since our DBSCAN implementation performs well.                            pages 306–314, Ho Chi Minh, Vietnam, December 2011.




                                                                          103
                                             Workshop "From Objects to Agents" (WOA 2019)

[13] D. Goldberg, D. Nichols, B. M. Oki, and D. Terry. Using collaborative           grouplens research collaborative filtering system. In Proceedings of the
     filtering to weave an information tapestry. Communications of the ACM,          ACM Conference on Computer Supported Cooperative Work (CSCW),
     35(12):61–71, 1992.                                                             GroupLens Research Collaborative Filtering System, 1998.
[14] J. Z. Hernández, S. Ossowski, and A. Garcıa-Serrano. Multiagent           [25] X. Su and T. M. Khoshgoftaar. Collaborative filtering for multi-class data
     architectures for intelligent traffic management systems. Transportation        using bayesian networks. International Journal on Artificial Intelligence
     Research Part C: Emerging Technologies, 10(5-6):473–506, 2002.                  Tools, 17(01):71–85, 2008.
[15] J.-R. Hwang, H.-Y. Kang, and K.-J. Li. Spatio-temporal similarity          [26] P. F. Syverson, D. M. Goldschlag, and M. G. Reed. Anonymous
     analysis between trajectories on road networks. In Proceedings of               connections and onion routing. In Proceedings of IEEE Symposium
     International Conference on Conceptual Modeling, pages 280–289.                 on Security and Privacy, pages 44–54, 1997.
     Springer, 2005.                                                            [27] E. Tramontana and G. Verga. Get spatio-temporal flows from gps data.
[16] B. Liu. Sentiment analysis and opinion mining. Synthesis lectures on            In Proceedings of IEEE International Conference on Smart Computing
     human language technologies, 5(1):1–167, 2012.                                  (SMARTCOMP), pages 282–284, 2018.
[17] B. Liu, Y. Fu, Z. Yao, and H. Xiong. Learning geographical preferences     [28] L. H. Ungar and D. P. Foster. Clustering methods for collaborative
     for point-of-interest recommendation. In Proceedings of ACM SIGKDD              filtering. In Proceedings of AAAI workshop on recommendation systems,
     international conference on Knowledge discovery and data mining,                volume 1, pages 114–129, 1998.
     pages 1043–1051, 2013.
                                                                                [29] P. Xuan and V. Lesser. Multi-agent policies: from centralized ones
[18] W. Mathew, R. Raposo, and B. Martins. Predicting future locations
                                                                                     to decentralized ones. In Proceedings of the first international joint
     with hidden markov models. In Proceedings of ACM conference on
                                                                                     conference on Autonomous agents and multiagent systems: part 3, pages
     ubiquitous computing, pages 911–918, 2012.
                                                                                     1098–1105. ACM, 2002.
[19] P. Melville, R. J. Mooney, and R. Nagarajan. Content-boosted col-
     laborative filtering for improved recommendations. In Proceeding of        [30] P. Xuan, V. Lesser, and S. Zilberstein. Communication decisions in
     Eighteenth national conference on Artificial intelligence, volume 23,           multi-agent cooperation: Model and experiments. In Proceedings of the
     pages 187–192, 2002.                                                            fifth international conference on Autonomous agents, pages 616–623.
[20] K. Miyahara and M. J. Pazzani. Collaborative filtering with the                 ACM, 2001.
     simple bayesian classifier. In Proceedings of Pacific Rim International    [31] Q. Yuan, G. Cong, Z. Ma, A. Sun, and N. M. Thalmann. Time-aware
     conference on artificial intelligence, pages 679–689. Springer, 2000.           point-of-interest recommendation. In Proceedings of the international
[21] R. Pérez-Torres, C. Torres-Huitzil, and H. Galeana-Zapién. Full on-           ACM SIGIR conference on Research and development in information
     device stay points detection in smartphones for location-based mobile           retrieval, pages 363–372. ACM, 2013.
     applications. Sensors, 16(10):1693, 2016.                                  [32] Y. Zheng, Q. Li, Y. Chen, X. Xie, and W.-Y. Ma. Understanding mobility
[22] H. Polat and W. Du. Svd-based collaborative filtering with privacy. In          based on gps data. In Proceedings of ACM international conference on
     Proceedings of ACM Symposium on Applied Computing (SAC), pages                  Ubiquitous computing, pages 312–321, 2008.
     791–795, 2005.                                                             [33] Y. Zheng, X. Xie, and W.-Y. Ma. Geolife: A collaborative social
[23] M. K. Reiter and A. D. Rubin. Crowds: Anonymity for web transac-                networking service among user, location and trajectory. IEEE Data(base)
     tions. ACM transactions on information and system security (TISSEC),            Engineering Bulletin, 33(2):32–39, 2010.
     1(1):66–92, 1998.                                                          [34] Y. Zheng, L. Zhang, X. Xie, and W.-Y. Ma. Mining interesting locations
[24] B. M. Sarwar, J. A. Konstan, A. Borchers, J. Herlocker, B. Miller, and          and travel sequences from gps trajectories. In Proceedings of ACM
     J. Riedl. Using filtering agents to improve prediction quality in the           international conference on World wide web, pages 791–800, 2009.




                                                                            104