=Paper= {{Paper |id=Vol-2351/paper10 |storemode=property |title=Point-of-interest Recommendation in a City |pdfUrl=https://ceur-ws.org/Vol-2351/paper_44.pdf |volume=Vol-2351 |authors=Latifa Baba-Hamed,Djihene Bourenane,Lamia Hamoudi |dblpUrl=https://dblp.org/rec/conf/jeri/Baba-HamedBH19 }} ==Point-of-interest Recommendation in a City== https://ceur-ws.org/Vol-2351/paper_44.pdf
            Point-of-interest Recommendation in a City
             Latifa Baba-Hamed1, Djihene Bourenane1 and Lamia Hamoudi1
                     1
                         Computer Science Department, University of Oran 1
                                      lbabahamed@yahoo.fr



       Abstract. The recommendation for points of interest has become an important
       way to help people discover interesting places, especially when users want to
       visit a city. The purpose of this paper is to provide a recommendation system to
       help residents of a city or tourists learn about the events/outings available in
       this city. An evaluation of this system, in terms of precision, is also presented.




       Keywords: recommendation, content-based filtering, collaborative filtering,
       profile, preferences, geo-location, geographic database, precision




1     Introduction

   The recommendation of points of interest is one of the most important topics due to
the high value in both research and academy. Recommendation Systems (RS) are
powerful tools that help users, in online mode, solve the problem of the information
overload they face today with the advent of the Internet, providing them with the most
relevant content. To do this, these systems use some information about past user
preferences. Recommendation strategies are generally based on collaborative filtering
(CF) [2], [3], content-based filtering (CBF) [4], [5] or a combination of these two
approaches [1]. The CF recommends products based on the similarity of the
preferences of a group of customers (neighbors). This implies that users with common
interests in the past will probably continue to share the same tastes in the future. CBF
systems use the matching between a user's profile and content descriptors to
recommend the appropriate products.
   RSs operate on a user-item matrix. When a user enters new votes, his profile is
updated by adding new information to that user's current voting vector. The
recommendation of points of interest has been addressed, essentially, using GPS
trajectory logs [6], [7], [8], [13] or well, using data from social networks location-
based (LBSN), such as Foursquare, Loopt and Facebook Places, where users can
register at points of interest and share their experiences in the physical world via
mobile devices. A synthesis of this work is given in [17].
   In this paper, we present a new approach for the recommendation of places of
interest in a city to a given user. This method is different from that of the works
discussed in the literature as it does not use GPS trajectory logs or LBSN data. We
have applied it for the recommendation of places of interest of the Oran city, but the
approach remains valid for any city. The scenario envisaged is: a user connects to the
platform and asks for a specific recommendation (eg: I want to go to the cinema) or a
general one (eg: where can I go out tonight?). The system will try to exploit the
preferences of this user and makes recommendations to him. In addition, it is a
question of ensuring the precision of the system's recommendations. Our system
makes the match between geo-localization and the recommendation of places in the
case of the application of content-based filtering using the category of places (eg.
restaurant, beach, etc.) preferred by the active user. In the case of collaborative
filtering, our system is based on the preferences of the active user and those of his
similar users.
    The rest of the paper is organized as follows. In section 2, we present the proposed
approach with the different stages of the recommendation process. Section 3 is
devoted to the implementation and evaluation of the recommendation process in terms
of precision. In section 4, we expose some related work. Finally, Section 5 concludes
this paper, recalls our main contributions and gives some perspectives.


2     Proposed approach

   We recall that our approach aims to provide an online platform to help the
inhabitants or visitors of the city of Oran to learn about its events/outings. The first
step is to collect the Point-of-interest of different categories of the Oran city. Once the
collection is completed, we opted for a geographic database (DBG) for the storage of
these places. The next step is to create a graphical interface for querying the database.
For this interface we have proposed a geographical map of the city of Oran in which
the different places, which respond to the request initiated by user, appear. In this
section, we detail, first the structure of the DBG. Then we present our system through
the description of its architecture.


2.1    Building the database

   The construction of the DB required administrative documents relating to the
information of the outings of Oran city collected from different administrations. The
collect of events was done from websites, social networks or even from advertising
posters. In order to visualize these places and these socio-cultural activities on a map,
we have geo-located, each of them, with two important dimensions (latitude and
longitude). We structured this data in the form of tables. We have thus conceived a
main table called "Point-interest" which brings together all the places collected. This
table admits the attributes: Pointid (identifier of the point of interest), Pointname (its
name), Category (its category), Address (its address), phone (its phone number), and
Latlong (geometric column containing its latitude and its longitude). We have also,
created the tables specifying each category of the interest point, namely, the tables:
Hotel, Restaurant, Amusement_park, Beach, Green_area, Cinema, Theater, Museum,
Culture, Library, Mall. Figure 1 summarizes the schema for this database.
   In addition, we have created another table, in this base, called "Evenement" listing
all the cultural events of Oran city. This table includes the attributes: E_id (Event
identifier), E_title (its title), E_categoy (its category; e.g. art, music, etc.), Start_Date
(its start date), End_Date (its end date), Start_time (its start time), End_time (its end
time), Type_person (the type of person destined for this event) and Pointid (identifier
of the point of interest where the event takes place). This, table can extend to other
events added (by the administrator) from a form (see Figure 2).




Fig. 1. Database schema.




Fig. 2. Event Entry form.
2.2     Architecture of the system

  The architecture of our system is divided into two parts: a user space and an
administrator space. We detail its components in the Figure 3.




Fig. 3. Architecture of the recommendation system.


   The user space is dedicated to active users who are looking to have
recommendations for places of exits. The recommendation is calculated using two
methods: Content-based filtering and collaborative filtering.


2.2.1    Content-based recommendation

   In this method the recommendations are calculated according to the preference of
the user as well as the distance between the latter and the different places of exit.
   The reference is chosen from the different categories of the places listed in our
database. The distance is calculated by the system by considering the position of the
active user and that of the places of the category chosen by the latter.
   The system sorts these places according to their distances and recommends to the
user a list of the top-K places. This list will be consumed and evaluated by the user.
   The evaluation consists of the assignment of a note between 1 and 5 at the place
visited (1: The user has not liked at all and 5: The user has enjoyed much). This note
will then be used to update the user's profile.
   In order to calculate the distance between the user and the places of interest, we
used the predefined function of POSTGRESQL "St_distance ()".
   This function has two parameters, the first containing the geographical point of the
user, the second one contains that of the place of interest.
   The calculation of the distance requires the geometric points of the places as well
as that of the user. Those of the places are more or less fixed, the user meanwhile, he
can be at any place and therefore each time his position must be geo-localized.
   For geo-localization, we used a JavaScript function with the Google API. The
function returns the latitude and longitude of the user and the system takes care of
turning them into a geometric point.


2.2.2    Recommendation based on collaborative filtering

   Collaborative filtering relies on the profiles of other system users that are similar to
the current user.
   The active user must enter his preferences by assigning a rating of 0 to 5 for a few
exit places. Note 0 is given to a place not yet visited, 1 and 2 are negative values, 3 is
a neutral value, 4 and 5 to express the fact that the user really appreciates the place.
These preferences will serve as the initial profile for this user.
   This profile will be completed later when the user evaluates the places that will be
recommended. The places recommended to the user are the places appreciated by the
users most similar to the latter. An appreciated place has a rating of more than 3.

   In our application; we model the profile of a user U in the form of a vector V of
size n where n represents the number of places of interest. V [i] represents the user's
appreciation note for place i. This note is equal to 0 if U does not know place i; it
takes a value from 1 to 5 according to the degree of appreciation of U for place i.
   The similarity between two users is calculated according to their respective
profiles.
   We have chosen, in our case, the cosine similarity measure which is frequently
used in the domain of information retrieval for its satisfactory results (see Formula 1).
If the similarity between two profiles exceeds the threshold set to 0.6 (in our
application), then we deduce that these two users are similar.
                               Σi=0 xi * yi
  Cos(x,y) =                                                  (1)
                         √ Σi=0 xi² * Σi=0 yi²
With x and y representing two vectors.

   We presented user ratings in the form of an evaluation matrix. The rows represent
the users and the columns represent different places to evaluate. A small example is
presented in Figure 4. The evaluation matrix lists all users of the system. It helps us to
make the recommendation of places to an active user. In effect, when a user connects
to our system, his profile is compared to all user profiles in the evaluation matrix to
retain only similar users (closest neighbors). Then the system recommends to him all
the places of outings appreciated by his neighbors and that he has not yet visited.
   It should be noted that a change of scale is necessary to reduce the values from 1 to
5 between 0 and 1. Preferences must be between 0 and 1.




Fig. 4. Example on the evaluation matrix.

    The administrator space is reserved for the administrator who is responsible for
managing the contents of the database. Different treatments have been assigned to the
latter so that the recommendations posted to the users may be adequate.
    The administrator has the option to add a new place using the form in Figure 5: any
new place must be registered in the database. The administrator can also delete a
place (for example, a place that has been demolished), or to change information about
a place (for example, a hotel that changes the phone number must be updated).




Fig. 5. Form to add a new place.
3     Implementation and evaluation

  In this section we expose the various development tools and languages that we
have used to implement our application. We also show how we proceeded to evaluate
our system.


3.1    Tools and languages used

   The languages used are: HTML to create the interface of our recommendation
system, JavaScript to determine the position of the user, and also for the definition of
the Google APIs, and finally PHP to manage the interactions of the user with our
System.
   The tools used are: The Apache server that allows the use of several languages
interpreted as PHP. It also helps to manage the interactions between users and the
system. To manage our database, we used the DBMS Postgres with its extension
PostGIS which allows the manipulation of spatial data and supports geographic
objects.


3.2    Evaluation of the recommendation process

    Evaluation of recommendation systems is an important step in the recommendation
process. Its purpose is to reflect the performance of the system which must effectively
predict items and contribute to the satisfaction of the needs of the users. The criteria
chosen for evaluating our recommendation system is precision.
    Precision measure consists in evaluating the difference between the predicted notes
and the real notes. High accuracy implies that the recommendation system is accurate.
    The predicted values in our case correspond to the average of the ratings assigned
by similar users for each active user.
     To carry out our experiments, we first started by preparing the data corpus. The
first corpus "A" represents the actual data entered by the users in our evaluation
matrix. The second corpus "B" contains, however, predicted values.
    Corpus "B" was generated from corpus "A" using the SQL query:

                             Create table B as Select * From A;

   The matrix "A" therefore represents the learning corpus and the matrix "B"
contains the test corpus. For each user of the table generated "B" we selected 30 of the
100 places randomly to form a pseudo-profile. This distribution was performed to
keep a maximum number of real data (70% more precisely).
   The value assigned to each of the selected places is the average value of the real
values assigned by the 10 most similar users to the same place.
   We have selected, in the Matrix "A" as well as in "B", the top-K of the places taken
randomly. For each user, we calculated the intersection of the top-K of the two
matrices. This last one was useful for the calculation of the precision (see Formula 2).
It should be noted that, the more a relevant item is far from the beginning of the list,
the less useful it is for the user, because it has little chance to be retained.
                           intersection (top-k A, top-k B)
    Precision _profile =                                           (2)
                                            k
   The precision of the system is equal to the sum of the precisions of all the profiles
on the number of the latter (see Formula 3).
                             Σ precision_profile
    Precision_system =                                       (3)
                              number_profiles

   A graphical analysis to better understand the evolutions of precision has been
adapted. After calculating the system precisions to recommend the top 1, top 2, top 3,
top 4 and top 5, we plotted the precision curve (see Figure 6).




Fig. 6. Curve of system precisions using the top-K recommendations.

   Figure 6 shows graphically the different precisions of the system according to the
top-k. For the top 1 and 2 the precision is lower than the threshold 0.5. This precision
has evolved from the top 3. We can see that the precision increases when the row k
increases. This indicates an acceptable precision in our recommendation process.


4      Related works

   Currently, there are two research trends to solve the problem of recommending
points of interest in a city. One search line is conducted using GPS trajectory logs [6],
[7], [8], [13]. GPS trajectory data typically includes a small number of users, but
dense recordings [12], [9]. Many collaborative filtering algorithms, such as collective
factorization of the matrix [7] tensor factorization [8] the memory-based collaborative
localization model [13], etc., have been proposed to solve it and have considered the
sites as the items of the traditional recommendation systems.
   The other research trend concerns LBSN (location-based social networks) data,
which are very sparse and large scale [10], [11], [14]. Currently, the geographical
influence, for example, modeling the probability of recording at the distance of the
total record history by distribution of the power law [11], Modeling behaviors multi-
centric recording of users via multicenter Gaussians [14], etc., have been approached
and merged with conventional collaborative filtering algorithms.
   In this second axis, the authors of [16] proposed a model of region by subject
(TRM), which is a unified probabilistic generative model, allowing to discover
simultaneously the semantic, temporal and spatial patterns of the user registration
activities and to model their joint effect on the decision-making, of the latter, for the
selection of points of interest to be visited. In [15] the authors define formally the
problem of the recommendations of successive personalized points of interest in the
LBSN and analyze the spatiotemporal properties of two large LBSN data sets of the
real world, Foursquare and Gowalla. They propose a new method of matrix
factorization, namely FPMC-LR, to incorporate the two properties: the personalized
Markov chain and localized region constraint. Thus, they significantly reduce the
costs of calculating compared to previous methods.
   Our solution for this problem is seen from a different angle. It is applied to the
recommendation of places of exit for a user wishing to visit a city. This problem is
handled in two different ways: collaborative filtering and content-based filtering.


5     Conclusion

   The systems of recommendations have become, like the search engines, an
indispensable tool. Their goal is to select the items most susceptible to interest a
particular user. Our goal is to satisfy the latter by providing him with a personalized
search that responds, at best, to his needs in terms of interesting exit places on the city
of Oran using two types of filtering, cognitive and collaborative.
   We have conceived a system that matches geo-localization with the
recommendation. It is based on a linear distance for the content-based
recommendation or the similarity of cosine for the collaborative recommendation.
   In order to ensure the satisfaction of the user's expectations we calculated the
performance of our system in terms of precision.
   Our system is evaluated on the basis of an approach that we have proposed, which
considers the top-K recommendations of the corpus of learning and the corpus of test.
The result shows that our system ensures a good precision.
   Having no real data, we had to build our own dataset and our own evaluation
matrix by collecting information from students, close people or friends.
In the future, we envisage: (i) making recommendations considering the fluidity of
road traffic (to avoid traffic jams, accidents, etc.); (ii) Use the content-based
recommendation for places not for their categories; (iii) Optimize computational time
by forming user clusters, and (iv) integrate other evaluation criteria in order to
improve the quality of the recommendations and the predictive capacity of the system.
References

[1] M. J. Pazzani.: A framework for collaborative, content-based and demographic filtering. In:
technical report, University of California, Irvine., 1999.
[2] Herlocker, J. L.; Konstan, J. A.; Terven, L. G.; and Riedl, J. T. Evaluating Collaborative
Recommender Systems. In: ACM Transaction on Information Systems, 2004.
[3] A. T. Nguyen. COCoFil2: Un nouveau système de filtrage collaboratif basé sur le modèle
des espaces de communautés. Thèse de Docteur. Université Joseph Fourier, Grenoble I.
November, 2006.
[4] Kr. Markov and Kr. Ivanova.: An ontology-content-based filtering method. In: Proceedings
of the Fifth International Conference “Information Research and Applications”, Varna,
Bulgaria. June 2007.
[5] P. Shoval, V. Maidel, B. Shapira. An ontology-content-based filtering method, I.Tech-2007,
Information Research and Applications, 2007.
[6] Yu Zheng, Lizhu Zhang, Xing Xie, and Wei-Ying Ma.: Mining interesting locations and
travel sequences from gps trajectories. In: WWW, pages 791–800, 2009.
[7] Vincent Wenchen Zheng, Yu Zheng, Xing Xie, and Qiang Yang.: Collaborative location
and activity recommendations with gps history data. In: WWW, pages 1029–1038, 2010.
[8] V.W. Zheng, B. Cao, Y. Zheng, X. Xie, and Q. Yang.: Collaborative filtering meets mobile
recommendation: A user-centered approach. In: Proceedings of the 24rd AAAI Conference on
Artificial Intelligence, 2010.
[9] X. Cao, G. Cong, and C.S. Jensen.: Mining significant semantic locations from gps data.
Proceedings of the VLDB Endowment, 3(1-2):1009–1020, 2010.
[10] M. Ye, P. Yin, and W.C. Lee.: Location recommendation for location-based social
networks. In Proceedings of the 18th SIGSPATIAL International Conference on Advances in
Geographic Information Systems, pages 458–461. In: ACM, 2010.
[11] Mao Ye, Peifeng Yin,Wang-Chien Lee, and Dik Lun Lee.: Exploiting geographical
influence for collaborative point-of-interest recommendation. In: SIGIR, pages 325–334, 2011.
[12] Yu Zheng and Xing Xie.: Learning travel recommendations from user generated gps
traces. ACM TIST, 2(1):2, 2011.
[13] KennethWai-Ting Leung, Dik Lun Lee, and Wang-Chien Lee. Clr: a collaborative location
recommendation framework based on co-clustering. In SIGIR, pages 305–314, 2011.
[14] C. Cheng, H. Yang, I. King, and M.R. Lyu.: Fused matrix factorization with geographical
and social influence in location-based social networks. In Twenty-Sixth AAAI Conference on
Artificial Intelligence, pages 17-23. In: AAAI Press, 2012.
[15] Chen Cheng, Haiqin Yang, Michael R. Lyu, Irwin King.: Where You Like to Go Next:
Successive Point-of-Interest Recommendation. In: Proceedings of the Twenty-Third
International Joint Conference on Artificial Intelligence, pages 2605-2611. AAAI Press, 2013.
[16] Hongzhi Yin, Bin Cui, Xiaofang Zhou, Weiqing Wang, Zi Huang and Shazia Sadiq.: Joint
Modeling of User Check-in Behaviors for Real-time Point-of-Interest Recommendation. In:
ACM Transactions on Information Systems (TOIS), 2016.
[17] Shenglin Zhao, Irwin King, and Michael R. Lyu.: A Survey of Point-of-interest
Recommendation in Location-based Social Networks. In: ArXiv, 2016.