<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Multi-Agent Architecture for Point of Interest Detection and Recommendation</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Claudia Cavallaro, Gabriella Verga, Emiliano Tramontana, Orazio Muscato Department of Mathematics and Computer Science University of Catania</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2019</year>
      </pub-date>
      <fpage>98</fpage>
      <lpage>104</lpage>
      <abstract>
        <p>-Geographical positions are widely employed in many applications, such as recommendation systems. The wide-spread use of mobile devices and location-based Internet services (e.g., Google Maps) gives the opportunity to collect user locations. Taking advantage of a multi-agent system, this work proposes an approach providing users with personalised recommendations of places of interests, such as libraries, museum, restaurants, etc. The approach offers a better experience by giving additional dynamic data (e.g. popularity, as number of users) to a list of Points Of Interest (POIs), and by exploring their temporal relations. Indeed, for POIs, which we determine using a DBSCAN algorithm, we take into account the time slots when the users visited them, to offer a more advanced service. Finally, the approach was designed to preserve the privacy of users, i.e. it does not reveal the position of users. Index Terms-GPS data, Points Of Interest, Stay Points, Data analysis, DBSCAN, Privacy</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Given the extraordinary use of mobile devices and various
technologies tracing one’s geographical position, it becomes
increasingly easier to acquire information relating to users’
GPS in real time. This availability has triggered several studies
based on user positioning, such as the analysis of the flows
of people in the cities [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ], or the prediction of people
movements [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. This has also led to the improvement of
services that identify the points of interest for a city to offer
benefits to users who want to reach a place but they do
not have enough knowledge for an immediate choice. Points
of Interest, commonly abbreviated POIs, are a well-known
concept in literature [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ]. A POI is defined as an
object associated with a latitude and a longitude which at least
one person would reasonably be expected to have an interest or
an utility. POI recommendation is one of the services available,
suggesting places for users to visit [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <p>This paper proposes an approach for POI recommendation
using collaborating agents and a centralised server. The server
dynamically acquires information coming from agents, which
are held on the users’ mobile device, creating new suggestions
about the next place to visit. Common knowledge is important
because, by definition, each agent can independently infer
information and share it with the group. In our context, an
agent is an application that improves user navigation in a city.
An agent communicates with a centralised server to learn new
information about POIs. Moreover, an agent gives to the server
information about GPS locations for the most visited POIs, and
their most frequent time slots.</p>
      <p>
        POIs are taken from an automatic analysis of a real dataset
offered by the Geolife experiment [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ]. The points found by
our analysis were verified by matching the results with Google
maps data. It was confirmed that they correspond to real POIs,
i.e. parks, restaurants, etc., hence validating our approach.
GeoLife GPS trajectories were collected in the framework of
(Microsoft Research Asia) Geolife project by 182 users in a
period of over three years (from April 2007 to August 2012).
A GPS trajectory in such a dataset is represented by a sequence
of time-stamped points, each of which contains the information
of latitude, longitude and altitude [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ], [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ]–[
        <xref ref-type="bibr" rid="ref34">34</xref>
        ].
      </p>
      <p>Thanks to the collaborating agents in our architecture, the
proposed approach provides users with: (i) a list of POIs, and
for each point, (ii) further information based on real time data
gathered from other users, which helps her choose the next
destination with greater awareness. A key objective is to have
this information as close as possible to real time data, and
rank places according to feedback from other users, the most
frequent time slots and the time spent visiting a place by other
users.</p>
      <p>The remainder of the paper is as follows. Next section
discusses the related work. Section III describes the proposed
multi-agent system. Section IV details the methodology used
to find POIs and gives the corresponding results. Section V
draws our conclusions.</p>
    </sec>
    <sec id="sec-2">
      <title>II. RELATED WORK</title>
      <p>This study lies at an intersection of multiple disciplines,
including multi-agent systems, POI recommendation systems,
collaborative filtering and privacy preserving systems.</p>
      <p>
        Multi-agent: several studies have proposed the use of
multi-agent systems (MAS) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] to a wide range of different
domains. In 1998, a study described a supporting system for
suggesting possible purchases during shopping based on the
GPS position with the use of agents [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. In general, there
are two main approaches to MAS developments: centralised
policies (CMAS) and decentralised policies (DMAS) [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ].
• A centralised approach consists of taking all of the
decisions in one place. In a typical CMAS, a central
server collects all the relevant data that come from
the different actors (that is, agents) and identifies the
decisions for each agent according to the global system
state. The centralised view of the system can be described
by a multi-agent Markov decision process model, a good
example is presented in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
• 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 [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ] whose authors propose
a decentralised multi-agent decision process framework
that provides the basis for a decision-theoretic study of
decentralised policies.
      </p>
      <p>
        The decentralized architecture has advantages in
synchronisation, reusability, scalability, and modularity [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
However, the complexity of decentralised systems is greater than
that of centralised ones. Although decentralisation shows
obvious advantages, decentralisation also has its own drawbacks,
including that agents cannot predict the group behavior based
only on the available local information, possible instability,
and sub-optimal decisions.
      </p>
      <p>Due to the importance of total knowledge, our choice fell
into the first category. Moreover, the centralised server is able
to filter information offering advices to users without sending
their sensitive data; this preserves the user’s privacy.</p>
      <p>
        POI: Researchers have ventured into several studies
concerning the analysis of user trajectories. This interest is driven
by the possibilities it offers for marketing and the many
services that can be offered to users. Since 2005 researchers
have faced the problem of analysing trajectories according to
space-time. The first studies on the analysis of trajectories offer
an overview on how it is possible to analyse the trajectories
starting from a set of POIs [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Over the years, these
analyses have fed other different studies on trajectories, such as
calculating the probability of moving from one POI to another,
using, for example, the Markov chains [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] and then
creating methods that predict the next movements of individual
users from the analysis of their POIs.
      </p>
      <p>
        Collaborative Filtering: Collaborative filtering (CF)
techniques are widely adopted for recommendation systems and
many CF recommendation methods have been proposed, as
e.g. in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. The CF approach is one of the approaches
for creating recommendation systems. It creates suggestions
using a similarity metric among users. The assumption is
that similar users probably have similar tastes. The concept
of CF was introduced in 1992 by the Xerox research staff
within the Tapestry project, a system that allowed users
to trace documents based on comments left by other users
[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Later, several ratings-based automated recommendation
systems were developed, e.g. the GroupLens research system
[
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] provides a pseudonymous CF solution for Usenet news
and movies. Other technologies have also been applied to
recommendation systems as Bayesian networks [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]
and clustering [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ].
      </p>
      <p>
        Privacy Preserving: CF techniques have been very
successful in e-commerce and in direct recommendation applications.
They are widely used and very useful but they often fail to
protect users privacy, hence they have some disadvantages. In
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] the privacy breaches are tackled with cryptographic
systems, which can reduce the risk for the user. In other
research works, e.g. in [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], each user first disguises her private
data, and then sends it to the data collector. Therefore, a
Randomised Perturbation (RP) technique is used to disguise
private data [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Moreover, anonymisation techniques can be
used, however these introduce some attack problem, making
datasets not very useful [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ].
      </p>
      <p>Unlike other approaches, our proposal includes a solution
to identify POIs through the use of the DBSCAN
(DensityBased Spatial Clustering of Applications with Noise)
algorithm. Then, collaboration filtering is used with the dynamic
calculation of ratings based on user experiences. For such a
rating we use spatio-temporal variables offering a dynamic and
realistic outcomes. This is done by safeguarding the privacy of
users because the centralised server only tracks the movements
near the POIs. Furthermore, it is important to offer a service
that makes the user and her privacy more secure. To do this we
have users sharing their position only if they are close enough
to a POI and this information is manipulated to ensure user
safety. E.g. the position of a user within the radius of a POI
will be saved in our central server with an error rate of about
300 meters in order to preserve the user’s privacy. This does
not corrupt our system data and better protects users.</p>
    </sec>
    <sec id="sec-3">
      <title>III. PROPOSED MULTI-AGENT SYSTEM</title>
      <p>
        In our software architecture, a centralised server gathers and
analyses the data coming from several agents, with the aim to
offer users suggestions and some real time data on POIs to
visit. Moreover, each user (with reference to an application)
has been modeled as an independent agent that communicates
with the centralised server. Therefore, POIs recommendation
is based on a multi-agent system performing the following
steps (see Figure 1).
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 [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] 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.
      </p>
      <p>Step 2: thanks to the rating, the agent chooses a place of
interest which the user can visit. As soon as the GPS
coordinates are in a range of less than one kilometer
from the coordinates of a POI, then the position will
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.</p>
      <p>
        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 [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], which in
turn lets the server determine a score that identifies
whether the POI was satisfactory for the user.
      </p>
      <p>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.</p>
      <p>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
recommendation system based on POIs (see Figure 2).</p>
      <p>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
and user knowledge by creating a content filtering software
that creates customised recommendations specific to the user
to help him in his choices.</p>
      <p>Figure 3 shows a list of POIs nearby to the user. Then, for
each POI the user can access the ratings gathered from to other
people comments, as well as give her comments. As mentioned
in Step 1, POIs are found by the implemented algorithm
discussed in the next section. We can see, in Figure 3, four
nearby points labeled as POIs:
• Chaofan Weiye Kejiao Bookstore with coordinates:
39.98405510061326, 116.3204636235443;
• Haidian Stadium with coordinates: 39.987213527969644,
116.30248430595732;
• Beijing Rural Commercial Bank Zhongguancun
Branchcon with coordinates: 39.980016801082485,
116.30856309688643;
• Beihang University with coordinates:
39.98011363182701, 116.34218061609567.</p>
      <p>Another nearby POI has been associated with a parking area
(however, it is not listed in Figure 3):
• Satellite Building Parking Lot with coordinates:
39.97673497237701, 116.33137904408086.</p>
      <p>For validating the results of our algorithm finding POIs,
each discovered site was checked against Google Maps.
Hence, the above list consists of actual sites, being POIs
according to Google Maps, which are within a radius of 100
meters from the POIs found by our algorithm.</p>
    </sec>
    <sec id="sec-4">
      <title>IV. METHODOLOGY FOR DETERMINING POIS</title>
      <p>We have acquired the data from the database Geolife of
Microsoft Research Asia, that contains the routes of 182 users
and it reports, at regular intervals of time, each point in GPS
coordinates: longitude, latitude, altitude with corresponding
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.</p>
      <p>The distance d(pi, pj ) between point pi and point pj , when
their coordinates are given by latitude (lt) and longitude (lg),
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.</p>
      <p>d(pi, pj ) =
2R arcsin
r
sin2 lti − ltj + cos lti cos ltj sin2 lgi − lgj (1)</p>
      <p>2 2</p>
      <p>The first step in our analysis was the data cleaning of the
trajectories, based on the speed of their GPS points, with the
goal to remove inconsistent data. Considering a trajectory, a
sequence of GPS points ordered by the time of recording,
we computed the velocity of a point as the ratio of the
distance from it and its consecutive (applying the Haversine
formula, Equation 1) and the difference of time recording
them. If this velocity exceeds 100 m/s, the second point was
deleted. Another case is when the velocity appeared in the
form 0/0, this noise was caused by the GPS device that did
not run properly. For our research we have chosen the range of
longitude and latitude of [116.1, 39.7]×[116.7, 40.13] (Beijing
metropolitan area of 51 kilometers per 48 kilometers, see
Figure 4).</p>
      <p>By plotting the trajectories we can see a second problem:
some paths appear broken (not continuous) probably due to the
presence of buildings or tunnels that disturb the GPS signal (in
some areas the recording is lost). The filtered data, formed by
18,021,911 GPS points, were then grouped into 6 time slots
of 4 hours each: Slot1 [00:00:00, 03:59:59], Slot2 [04:00:00,
07:59:59] and so on, in order to analyse the traffic in Beijing
during different time slots. Information about these slots are
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
users’ activity in this period of time in this area (see Figure 5).</p>
      <p>
        For every slot of time, after grouping trajectories by users,
the second step of our work was the StayPoints (SPs) detection
[
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. When we find a region in which a user has spent a
considerable time on its surroundings, the centroid (the mean of
coordinates of the points belong to it) of this cluster represents
an SP. The algorithm that we implemented for the SP detection
needs as input a TimeThreshold and a DistanceThreshold. If
an individual stays over 20 minutes (TimeThreshold) within a
distance of 200 meters (DistanceThreshold), a SP is detected.
The execution time of the SPs detection algorithm (see 1 for
its psuedo-code) for 100 trajectories is about 16 minutes.
      </p>
      <p>
        We obtained many SPs for every time slot, as shown in
Table II. For the Slot 3’s trajectories the plot of their SPs is
in Figure 6. Then, we focused on POIs that cluster together
SPs of different users (at least 10), and checked if, in different
time slots, the users that previously had a common POI move
together to another one. We applied DBSCAN to the SPs
obtained as it works well with large geographical dataset and
likewise can be adapted for any distance functions. DBSCAN
(Density-Based Spatial Clustering of Applications with Noise)
is a popular unsupervised learning method, proposed in 1996
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], has been used in model building and machine learning
algorithms.
      </p>
      <p>The advantages of DBSCAN are as follows.</p>
      <p>• It is very good for separating clusters of high density
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 &lt; cardinality traj do
j = i + 1;
while j &lt; cardinality traj do
dist=distance ( p i, p j );
if dist &gt; DistThr then
δtime=time p j−time p i;
if δtime &gt;TimeThr then</p>
      <p>S.coords=MeanCoords({p k|i &lt; k &lt; j});
S.arrive time=time p i;
S.left time=time p j;
SP.append(S);
break;
end
end
j = j + 1;
end
i = j;
end
return SP</p>
      <p>Algorithm 1: Pseudocode for SPs detection</p>
      <p>versus clusters of low density within a given dataset;
• unlike K-means, DBSCAN does not require the user to
specify the number of clusters to be generated;
• DBSCAN can find any shape of clusters, i.e. the cluster
doesnt have to be circular;
• DBSCAN can identify outliers.</p>
      <p>The goal of this algorithm is to identify dense regions,
which can be measured by the number of objects close to
a given point. Two important parameters are required for
DBSCAN: Epsilon (“Eps”) and minimum points (“MinPts”).
The parameter Eps defines the radius of neighbourhood around
a point x. It is called the EPS-neighbourhood of x. The
parameter MinPts is the minimum number of neighbours
within “Eps” radius.</p>
      <p>For our data, the clustering algorithm DBSCAN has
determined clusters for all SPs. We set MinPts equal to 10 or
15 and Eps from a minimum of 200 meters to a maximum of
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).</p>
      <p>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
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.</p>
      <p>In our experiments the execution time of DBSCAN on the 6
time slots ranges from a minimum of 240 ms to a maximum of
1.44 s. Our implementation uses Python 3, and the experiments
were run in a host having an Intel Xeon CPU E5-2620 v3
2.40GHz, with RAM 32, 0 GB.</p>
    </sec>
    <sec id="sec-5">
      <title>V. DISCUSSION Thanks to the discussed algorithm, it is possible to find a set of POIs based on gathered trajectories. In our experiments, such data were gathered by Geolife experiments, and the set</title>
      <p>of POIs were used as a knowledge base for our
recommendation system. The large amount of data was instrumental for
validating our approach.</p>
      <p>For the above proposed multi-agent system, a setting in our
agent application on the smartphone allows collecting GPS
coordinates. This is useful for a geographical location were
there are no previously gathered trajectories. Then, we can
continually extract the trajectories of users and updating both
suggestions for users and POIs recommendation.</p>
      <p>Using such a setting, each agent releases to the server the
GPS coordinates and its identity periodically, however to take
into account privacy concerns, the user identity is masked,
and the GPS location is randomly moved by at maximum 100
meters. Then, we obtain a trajectory which is not very precise,
however still useful.</p>
      <p>As trajectories are dynamically gathered, also POIs are
determined dynamically, as data arrive to the server. This is
possible since our DBSCAN implementation performs well.</p>
    </sec>
    <sec id="sec-6">
      <title>VI. CONCLUSIONS</title>
      <p>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
multiagent 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.</p>
      <p>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
wellknown 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.</p>
      <p>Thanks to the points listed above, the proposed multi-agent
system, exchanging information with the centralised server,
has been used for the creation of a recommendation tool for
POIs.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>R.</given-names>
            <surname>Agrawal</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Srikant</surname>
          </string-name>
          .
          <article-title>Privacy-preserving data mining</article-title>
          .
          <source>ACM Sigmod Record</source>
          ,
          <volume>29</volume>
          (
          <issue>2</issue>
          ):
          <fpage>439</fpage>
          -
          <lpage>450</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Aliannejadi</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Crestani</surname>
          </string-name>
          .
          <article-title>Personalized context-aware point of interest recommendation</article-title>
          .
          <source>ACM Transactions on Information Systems (TOIS)</source>
          ,
          <volume>36</volume>
          (
          <issue>4</issue>
          ):
          <fpage>45</fpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>C.</given-names>
            <surname>Boutilier</surname>
          </string-name>
          .
          <article-title>Sequential optimality and coordination in multiagent systems</article-title>
          .
          <source>In Proceedings of International Joint Conference on Artificial Intelligence (IJCAI)</source>
          , volume
          <volume>99</volume>
          , pages
          <fpage>478</fpage>
          -
          <lpage>485</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Breese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Heckerman</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Kadie</surname>
          </string-name>
          .
          <article-title>Empirical analysis of predictive algorithms for collaborative filtering</article-title>
          .
          <source>In Proceedings of the Fourteenth conference on Uncertainty in artificial intelligence</source>
          , pages
          <fpage>43</fpage>
          -
          <lpage>52</lpage>
          . Morgan Kaufmann Publishers Inc.,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Canny</surname>
          </string-name>
          .
          <article-title>Collaborative filtering with privacy</article-title>
          .
          <source>In Proceedings IEEE Symposium on Security and Privacy</source>
          , pages
          <fpage>45</fpage>
          -
          <lpage>57</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Canny</surname>
          </string-name>
          .
          <article-title>Collaborative filtering with privacy via factor analysis</article-title>
          .
          <source>In Proceedings of international ACM SIGIR conference on Research and development in information retrieval</source>
          , pages
          <fpage>238</fpage>
          -
          <lpage>245</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S. H. S.</given-names>
            <surname>Chee</surname>
          </string-name>
          , J. Han, and
          <string-name>
            <given-names>K.</given-names>
            <surname>Wang. Rectree</surname>
          </string-name>
          :
          <article-title>An efficient collaborative filtering method</article-title>
          .
          <source>In Proeedings of International Conference on Data Warehousing and Knowledge Discovery</source>
          , pages
          <fpage>141</fpage>
          -
          <lpage>151</lpage>
          . Springer,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J.</given-names>
            <surname>Cruz</surname>
          </string-name>
          , E. Silva,
          <string-name>
            <given-names>R. J.</given-names>
            <surname>Rossetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. C.</given-names>
            <surname>Silva</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. C.</given-names>
            <surname>Oliveira</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Neto</surname>
          </string-name>
          .
          <article-title>Application of multi-agent systems to shared transport services: A review</article-title>
          .
          <source>In Proceedings of Iberian Conference on Information Systems and Technologies (CISTI)</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          . IEEE,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ester</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.-P.</given-names>
            <surname>Kriegel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Sander</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Xu</surname>
          </string-name>
          , et al.
          <article-title>A density-based algorithm for discovering clusters in large spatial databases with noise</article-title>
          .
          <source>In Proceedings of International Conference on Knowledge Discovery and Data Mining</source>
          , pages
          <fpage>226</fpage>
          -
          <lpage>231</lpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A. E.</given-names>
            <surname>Fano</surname>
          </string-name>
          .
          <article-title>Shopper's eye: using location-based filtering for a shopping agent in the physical world</article-title>
          .
          <source>In Agents</source>
          , volume
          <volume>98</volume>
          , pages
          <fpage>416</fpage>
          -
          <lpage>421</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S.</given-names>
            <surname>Gambs</surname>
          </string-name>
          , M.
          <article-title>-</article-title>
          <string-name>
            <surname>O. Killijian</surname>
            , and
            <given-names>M. N. del Prado</given-names>
          </string-name>
          <string-name>
            <surname>Cortez</surname>
          </string-name>
          .
          <article-title>Next place prediction using mobility markov chains</article-title>
          .
          <source>In Proceedings of the First Workshop on Measurement, Privacy, and Mobility, page 3. ACM</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>R.</given-names>
            <surname>Giunta</surname>
          </string-name>
          , G. Pappalardo, and
          <string-name>
            <given-names>E.</given-names>
            <surname>Tramontana</surname>
          </string-name>
          .
          <article-title>Aspects and annotations for controlling the roles application classes play for design patterns</article-title>
          .
          <source>In Proc. of IEEE Asia Pacific Software Engineering Conference (APSEC)</source>
          , pages
          <fpage>306</fpage>
          -
          <lpage>314</lpage>
          , Ho Chi Minh, Vietnam,
          <year>December 2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>D.</given-names>
            <surname>Goldberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Nichols</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. M.</given-names>
            <surname>Oki</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Terry</surname>
          </string-name>
          .
          <article-title>Using collaborative filtering to weave an information tapestry</article-title>
          .
          <source>Communications of the ACM</source>
          ,
          <volume>35</volume>
          (
          <issue>12</issue>
          ):
          <fpage>61</fpage>
          -
          <lpage>71</lpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>J. Z.</given-names>
            <surname>Herna</surname>
          </string-name>
          <article-title>´ndez, S. Ossowski, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Garcıa-Serrano</surname>
          </string-name>
          .
          <article-title>Multiagent architectures for intelligent traffic management systems</article-title>
          . Transportation Research Part C: Emerging Technologies,
          <volume>10</volume>
          (
          <issue>5-6</issue>
          ):
          <fpage>473</fpage>
          -
          <lpage>506</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>J.-R. Hwang</surname>
            , H.-Y. Kang, and
            <given-names>K.-J.</given-names>
          </string-name>
          <string-name>
            <surname>Li</surname>
          </string-name>
          .
          <article-title>Spatio-temporal similarity analysis between trajectories on road networks</article-title>
          .
          <source>In Proceedings of International Conference on Conceptual Modeling</source>
          , pages
          <fpage>280</fpage>
          -
          <lpage>289</lpage>
          . Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>B.</given-names>
            <surname>Liu</surname>
          </string-name>
          .
          <article-title>Sentiment analysis and opinion mining</article-title>
          .
          <source>Synthesis lectures on human language technologies</source>
          ,
          <volume>5</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>167</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>B.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Fu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Yao</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Xiong</surname>
          </string-name>
          .
          <article-title>Learning geographical preferences for point-of-interest recommendation</article-title>
          .
          <source>In Proceedings of ACM SIGKDD international conference on Knowledge discovery and data mining</source>
          , pages
          <fpage>1043</fpage>
          -
          <lpage>1051</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>W.</given-names>
            <surname>Mathew</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Raposo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Martins</surname>
          </string-name>
          .
          <article-title>Predicting future locations with hidden markov models</article-title>
          .
          <source>In Proceedings of ACM conference on ubiquitous computing</source>
          , pages
          <fpage>911</fpage>
          -
          <lpage>918</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>P.</given-names>
            <surname>Melville</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. J.</given-names>
            <surname>Mooney</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Nagarajan</surname>
          </string-name>
          .
          <article-title>Content-boosted collaborative filtering for improved recommendations</article-title>
          .
          <source>In Proceeding of Eighteenth national conference on Artificial intelligence</source>
          , volume
          <volume>23</volume>
          , pages
          <fpage>187</fpage>
          -
          <lpage>192</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>K.</given-names>
            <surname>Miyahara</surname>
          </string-name>
          and
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Pazzani</surname>
          </string-name>
          .
          <article-title>Collaborative filtering with the simple bayesian classifier</article-title>
          .
          <source>In Proceedings of Pacific Rim International conference on artificial intelligence</source>
          , pages
          <fpage>679</fpage>
          -
          <lpage>689</lpage>
          . Springer,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>R.</given-names>
            <surname>Pe</surname>
          </string-name>
          <article-title>´rez-</article-title>
          <string-name>
            <surname>Torres</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Torres-Huitzil</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <surname>H.</surname>
          </string-name>
          <article-title>Galeana-Zapie´n. Full ondevice stay points detection in smartphones for location-based mobile applications</article-title>
          .
          <source>Sensors</source>
          ,
          <volume>16</volume>
          (
          <issue>10</issue>
          ):
          <fpage>1693</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>H.</given-names>
            <surname>Polat</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Du</surname>
          </string-name>
          .
          <article-title>Svd-based collaborative filtering with privacy</article-title>
          .
          <source>In Proceedings of ACM Symposium on Applied Computing (SAC)</source>
          , pages
          <fpage>791</fpage>
          -
          <lpage>795</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>M. K. Reiter</surname>
            and
            <given-names>A. D.</given-names>
          </string-name>
          <string-name>
            <surname>Rubin</surname>
          </string-name>
          . Crowds:
          <article-title>Anonymity for web transactions</article-title>
          .
          <source>ACM transactions on information and system security (TISSEC)</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <fpage>66</fpage>
          -
          <lpage>92</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>B. M.</given-names>
            <surname>Sarwar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Konstan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Borchers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Herlocker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Miller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and J.</given-names>
            <surname>Riedl</surname>
          </string-name>
          .
          <article-title>Using filtering agents to improve prediction quality in the grouplens research collaborative filtering system</article-title>
          .
          <source>In Proceedings of the ACM Conference on Computer Supported Cooperative Work (CSCW)</source>
          ,
          <source>GroupLens Research Collaborative Filtering System</source>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>X.</given-names>
            <surname>Su</surname>
          </string-name>
          and
          <string-name>
            <given-names>T. M.</given-names>
            <surname>Khoshgoftaar</surname>
          </string-name>
          .
          <article-title>Collaborative filtering for multi-class data using bayesian networks</article-title>
          .
          <source>International Journal on Artificial Intelligence Tools</source>
          ,
          <volume>17</volume>
          (
          <issue>01</issue>
          ):
          <fpage>71</fpage>
          -
          <lpage>85</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>P. F.</given-names>
            <surname>Syverson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. M.</given-names>
            <surname>Goldschlag</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. G.</given-names>
            <surname>Reed</surname>
          </string-name>
          .
          <article-title>Anonymous connections and onion routing</article-title>
          .
          <source>In Proceedings of IEEE Symposium on Security and Privacy</source>
          , pages
          <fpage>44</fpage>
          -
          <lpage>54</lpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>E.</given-names>
            <surname>Tramontana</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Verga. Get</surname>
          </string-name>
          spatio
          <article-title>-temporal flows from gps data</article-title>
          .
          <source>In Proceedings of IEEE International Conference on Smart Computing (SMARTCOMP)</source>
          , pages
          <fpage>282</fpage>
          -
          <lpage>284</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>L. H.</given-names>
            <surname>Ungar</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Foster</surname>
          </string-name>
          .
          <article-title>Clustering methods for collaborative filtering</article-title>
          .
          <source>In Proceedings of AAAI workshop on recommendation systems</source>
          , volume
          <volume>1</volume>
          , pages
          <fpage>114</fpage>
          -
          <lpage>129</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>P.</given-names>
            <surname>Xuan</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Lesser</surname>
          </string-name>
          <article-title>. Multi-agent policies: from centralized ones to decentralized ones</article-title>
          .
          <source>In Proceedings of the first international joint conference on Autonomous agents and multiagent systems: part 3</source>
          , pages
          <fpage>1098</fpage>
          -
          <lpage>1105</lpage>
          . ACM,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>P.</given-names>
            <surname>Xuan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Lesser</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Zilberstein</surname>
          </string-name>
          .
          <article-title>Communication decisions in multi-agent cooperation: Model and experiments</article-title>
          .
          <source>In Proceedings of the fifth international conference on Autonomous agents</source>
          , pages
          <fpage>616</fpage>
          -
          <lpage>623</lpage>
          . ACM,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>Q.</given-names>
            <surname>Yuan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Cong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Ma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sun</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N. M.</given-names>
            <surname>Thalmann</surname>
          </string-name>
          .
          <article-title>Time-aware point-of-interest recommendation</article-title>
          .
          <source>In Proceedings of the international ACM SIGIR conference on Research and development in information retrieval</source>
          , pages
          <fpage>363</fpage>
          -
          <lpage>372</lpage>
          . ACM,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zheng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Xie</surname>
          </string-name>
          , and W.-Y. Ma.
          <article-title>Understanding mobility based on gps data</article-title>
          .
          <source>In Proceedings of ACM international conference on Ubiquitous computing</source>
          , pages
          <fpage>312</fpage>
          -
          <lpage>321</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zheng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Xie</surname>
          </string-name>
          , and W.-Y. Ma. Geolife:
          <article-title>A collaborative social networking service among user, location and trajectory</article-title>
          .
          <source>IEEE Data(base) Engineering Bulletin</source>
          ,
          <volume>33</volume>
          (
          <issue>2</issue>
          ):
          <fpage>32</fpage>
          -
          <lpage>39</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zheng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Xie</surname>
          </string-name>
          , and W.-Y. Ma.
          <article-title>Mining interesting locations and travel sequences from gps trajectories</article-title>
          .
          <source>In Proceedings of ACM international conference on World wide web</source>
          , pages
          <fpage>791</fpage>
          -
          <lpage>800</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>