<!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>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>A roadmap for privacy preserving tourist recom mendation system</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tsvi Kuflik</string-name>
          <email>tsvikak@is.haifa.ac.il</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alan J. Wecker</string-name>
          <email>ajwecker@gmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Noa Tuval</string-name>
          <email>noa.tuval@gmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alain Hertz</string-name>
          <email>alain.hertz@gerad.ca</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Muhammad Mahamid</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Workshop</string-name>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Recommender Systems, Bari, Italy.</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Polytechnique Montreal„ 2500 Chem. de Polytechnique</institution>
          ,
          <addr-line>Montréal, QC H3T 1J4</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Univeristy of Haifa</institution>
          ,
          <addr-line>199 Abba Khosuhy Avenue, Haifa, 3498838</addr-line>
          ,
          <country country="IL">Israel</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Users' privacy is one of the main concerns of users who use recommender systems in general and tourist recommender systems in particular, due to the fact that they must share personal information (like preferences and location) with the system in exchange for recommendations. The personal information collected by the system is used for creating user models used for personalization of recommendations, but may be used and / or shared or sold to 3rd parties. Still, when considering content-based recommender systems, the situation may be diferent if the user's model is built, maintained and stored locally on the user's device/personal cloud. The paper presents a simple yet efective privacy preserving content-based recommender system architecture that uses a hypercube-based model for representing user preferences.</p>
      </abstract>
      <kwd-group>
        <kwd>system</kwd>
        <kwd>Hypercube-based recommender</kwd>
        <kwd>system</kwd>
        <kwd>privacy preserving</kwd>
        <kwd>recommender system</kwd>
        <kwd>content-based recommender</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Motivation</title>
      <p>https://cris.haifa.ac.il/en/persons/alan-wecker (A. J. Wecker); https://www.polymtl.ca/expertises2/hertz-alain (A. Hertz);</p>
      <p>CEUR</p>
      <p>ceur-ws.org
with the recommender system [3]. Still, when a selection/purchase is made through the system, the
recommender system may infer the user’s preferences. However, if the purchase is made directly
from the service provider, the user’s privacy is preserved. We follow this line of thought - in order
to protect the user’s privacy while interacting with recommender systems, we advocate the use of
they content-based technique for recommender system, while the purchase is done directly from the
provider and not via a recommender system [4]. In this short paper we propose a simple yet efective
content-based recommender system architecture, based on a hypercube model [5] and present our
current implementation (work in progress) and planned evaluation in the tourism domain. See [6] for
examples of such applications in the tourist domain .</p>
    </sec>
    <sec id="sec-2">
      <title>2. System overview</title>
      <p>The system consists of two parts. The first part sits on a server(s) and is concerned with generating the
non-personalized (generic) information about the restaurants and constructing the hyper-cube. The
second part is located on the user’s device and is concerned with the user interface, construction of the
user profile, and using the user profile to search the hypercube. The server contains a json file which
describes each of the restaurants’ features and additional information about the restaurant which could
be useful for the user (but not necessarily for the collaborative filtering).The features are translated into
a binary vector. Thus the multi-valued cuisine type (Turkish, Chinese, Fast Food…) feature is translated
into a number of binary (Yes, No) features (isTurkish, isChinese, isFastFood …). Once a restaurant is
translated into a feature vector, a hypercube is built and the original information about the restaurant
is sent to the user. The user device application consists of the user interface which shows the user a
ranked list of restaurants (sorted by hypercube recommendations, with a rank score), which he can
iflter for location and features they are presently interested in (this fine tunes the recommendations by
allowing the user to express contextual concerns which are appropriate for this particular visit). They
can select a restaurant to get more detailed information than is contained in the listing. In addition,
they can evaluate a restaurant that they like by giving it a score. These scores are used to determine
the user profile as described in the next sections,</p>
    </sec>
    <sec id="sec-3">
      <title>3. Recommendation engine description - Hypercube</title>
      <p>The hypercube-based model for CB recommender systems is a graph-based approach with multiple
Boolean features. The system is represented by a hypercube-graph Qn in which edges exist between
nodes that difer in one bit (Hertz et al., 2021). The graph vertices represent the items in the system
which are characterized by n attributes. Each item is associated with a vector of attributes indicating
for each attribute whether the item has the attribute or not, as shown in Figure 1 below, for n=3. For
example, for a set of tourist attractions with n = 3 Boolean attributes, the first one being ‘low-price’, the
second one ‘unique landscapes’, and the third one ‘accessible’, then vector (1,1,0) is associated with low
price tourist attractions located in unique landscapes but are not accessible to the disabled.</p>
      <p>Each user has his preferences, represented by the user model wu which is a vector of attributes
associated with the user. wu indicates for each attribute whether the user likes the attribute, doesn’t
care about it, or dislikes the attribute. So, the attributes have 3 possible values: Yes, Don’t care (no
opinion), No (or 1, 0, -1, respectively). For the above example, the vector (0,1,1) would be associated
with all users who do not care about the price of a tourist attraction, if it is in unique landscapes and
accessible to people with disabilities.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Recommendation engine implementation</title>
      <p>The user model is inferred by the system based on the user’s past ratings. A maximum score given by a
user to an item i means that he or she likes all attributes in i, where the minimum score means that the
user does not like the attributes in the item. To estimate the user model, we first need to transform a
rating into a number of attributes that do not fit with the user preferences. In the formula below, the
rating ri of item i which is given using an s-star scale (i.e., a rating in 1, 2, …., s) is converted by function
τ into a distance ẟi ∈ [0,n] to the user preferences, where n is the number of attributes characterizing
an item [5]. For example, for a 5-star rating of items with n = 20 Boolean attributes, we have τ(1) =
20, τ(2) = 15, τ(3) =10, τ(4) = 5 and τ(5) = 0. The distance between an item and a user model is defined
as the number of attributes that the item has and the user does not like, plus the number of attributes
that the item does not have and the user likes, while ignoring the attributes that the user does not care
about. For a vector wu corresponding to the user model of u and a vector vi associated with an item i,
this distance is denoted d(vi,wu). For example, for wu=(0,1,1) and vi=(1,1,0), we have d(vi,wu)=1 since
the first attribute is ignored and the user likes the third attribute that is not present in the item. Now, if
a vector x corresponds to the user model wu of user u, then the rating ri of each item i rated by the
user u (converted to distance ẟi) should be equal to the distance between x and the vector vi associated
with item i. Therefore, to estimate the user model, we determine a vector x that minimizes which is the
cumulative error over the rated items, that results from imprecise user’s ratings. We model this problem
as an integer linear program. The optimal solution can be obtained in one or two seconds (Hertz et
al., 2021). In order to recommend to the user items that suit her or his preferences, i.e. closest to the
user model, we estimate the rating ri given by u to item i by computing a predicted rating ρi as follows:
where vi is the vector associated with item i, and x is the vector associated with our estimate of the
user model of u. For example, for a 5-star rating, x = (0,1,1) and vi = (1,1,0) we get ρi = 5 - 1 = 4. Finally,
the hypercube-based recommender system ofers the user the items with the highest predicted ratings.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Hypercube Advantages</title>
      <p>Graphs are applied for user modeling as they provide convenient structures for representing complex
relationships among users and items, integrating entities and links without loss of information [7] [8].
Our model uses the hypercube graph that allows defining distances to indicate the similarity between
items, specifying the diference between the item’s features and the features desired by the user, and
predicting rating of an item. The hypercube-based model is suitable for application in areas such as
restaurants and tourism, that allow the representation of an item through many features. As shown in
[5], using a hypercube-based model is helpful in obtaining accurate predictions, even when the number
of user ratings is small. Moreover, as a CB recommender system, the hypercube model does not require
users to share their information with a system in order to generate recommendations for other users,
so user privacy is preserved.</p>
      <p>The hypercube difers from other distributed systems such as[ 9] in that the user’s data does not
need to be shared. This derives from the hypercube being a CB system as opposed to the distributed
collaborative filter system (In fact [ 9] disputes our basic assumption and claims that users do not care
about sharing tourist preferences, since they are seen in these public places)</p>
    </sec>
    <sec id="sec-6">
      <title>6. Practical considerations to work on mobile device</title>
      <p>At present, the user profile construction and the search for a match on the hypercube are done on the
server. The major problems in migrating them to a less powerful user device are discussed below:</p>
      <sec id="sec-6-1">
        <title>6.1. ILP on mobile</title>
        <p>The setup heavily relies on integer linear programming and uses a python package (GLPK) to solve
problems involving user profile construction and ranking the user preferences as discussed above. We
are presently looking for a package to run on Android or we may port the GLPK to something that can
run on Android.</p>
      </sec>
      <sec id="sec-6-2">
        <title>6.2. Feature Reduction</title>
        <p>Clearly, a server is much more powerful than a mobile device, therefore computational complexity is of
importance. In addition, since many multi-varied features get translated to a number of binary features,
there is an explosion of features. In the restaurant example we are working on we have approximately
165 features, 48 of which have only one item matching them (while this can be useful for filtering to find
unique restaurants, they are useless in collaborative filtering to find similar items. Thus by removing
them from the hypercube we can speed up computations. If we consider the group of features from
among 450 restaurants that have a count of less than 5 we can reduce by 50 percent, but this maybe a
too radical reduction</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>7. Problems</title>
      <sec id="sec-7-1">
        <title>7.1. How can we do personalized ads</title>
        <p>What is the economical model that would make someone want to provide this service? Normally
personalized ads and exposures pay for these kinds of services. One could do a model of paying to
be part of the hypercube but that doesn’t reflect real value to the restaurant. A possible solution is to
send a generic package of 10-100 adds, the user-side application knowing the user profile could pick
appropriate ads (the ads could have vectors similar to restaurants How can we order directly or how
do we know the system is efective If as discussed in the introduction the user orders directly to the
restaurant, how does the service know how efective it has been and hence its value. The restaurant
can know the value as a direct result of the order (maybe containing a value of who the referral is from.
However because of privacy concerns this information is withheld from the service. Thus this is a price
negotiation problem where only one side has true knowledge. Perhaps by limiting the number of places
in the cube and having restaurants bid for a place on the cube, they have incentive to ask for the true
worth..</p>
      </sec>
      <sec id="sec-7-2">
        <title>7.2. How do we share data among multiple personal devices</title>
        <p>Today many people have multiple devices, how can user profiles be shared among diferent devices?
We don’t want this information on a central server; so perhaps some form of encrypted peer to peer
communication would be useful in allowing users to share profiles and migrate from and to diferent
devices,</p>
      </sec>
      <sec id="sec-7-3">
        <title>7.3. Cold Start problem</title>
        <p>How do we get a user profile when the user has not rated any restaurants. Our present solution involves
having the user rate 6 restaurants that they are familiar with before beginning to work with the system.
The user profile is then built up over time as the user visits more and more restaurants.</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>8. Evaluation Plan</title>
      <p>We plan to evaluate our system by giving two systems to the user to evaluate (the order being balanced so
to counter first use efects). The first gives the restaurants in a generic order as provided by the services’
generic ranking; the second system gives them the personalized hypercube order. After experiencing
each system we ask questions about satisfaction and to evaluate 6 of the recommendations for accuracy
and usefulness At the end we ask some comparative questions. This is to determine whether the system
brings reasonable results, maybe not as precise as some of the state of the art techniques, but with the
advantage of preserving the user’s privacy. We also will try to examine users attitudes towards privacy
to determine if this is a needed consideration.</p>
      <p>We also plan on comparing the methods computational complexity to other RS algorithms to show
that the hypercube has a comparatively low overhead. In particular we will focus on content based
methods.</p>
    </sec>
    <sec id="sec-9">
      <title>9. Conclusion</title>
      <p>The Hypercube-based content-based recommendation model enables users to preserve their privacy
while seeking recommendations for services/items to purchase. It was already shown that it may be
efective with a small number of ratings. Using this approach, a user profile is kept locally on the user’s
device (or private cloud) and there the section of item/service is performed. The hypercube-based model
provides a compact and efective representation for content based recommendations. The planned
study will focus on demonstrating its efectiveness and will seek to understand users’ perceptions.</p>
    </sec>
    <sec id="sec-10">
      <title>Acknowledgments References</title>
      <p>This study is partially supported by the Israeli science foundation, grant number 216/23
[1] Y. Himeur, S. S. Sohail, F. Bensaali, A. Amira, M. Alazab, Latest trends of security and privacy in
recommender systems: a comprehensive review and future perspectives, Computers &amp; Security
118 (2022) 102746.
[2] M. P. O’Mahony, N. J. Hurley, G. C. Silvestre, Recommender systems: Attack types and strategies,
in: AAAI, 2005, pp. 334–339.
[3] S. Puglisi, J. Parra-Arnau, J. Forné, D. Rebollo-Monedero, On content-based recommendation and
user privacy in social-tagging systems, Computer Standards &amp; Interfaces 41 (2015) 17–27.
[4] T. Kuflik, K. Poteriaykina, User model on a key, in: Proceedings of the 20th ACM conference on</p>
      <p>Hypertext and hypermedia, 2009, pp. 371–372.
[5] A. Hertz, T. Kuflik, N. Tuval, Resolving sets and integer programs for recommender systems, Journal
of Global Optimization 81 (2021) 153–178.
[6] D. Gavalas, C. Konstantopoulos, K. Mastakas, G. Pantziou, Mobile recommender systems in tourism,</p>
      <p>Journal of network and computer applications 39 (2014) 319–333.
[7] C. C. Aggarwal, et al., Recommender systems, volume 1, Springer, 2016.
[8] A. Tiroshi, S. Berkovsky, M. A. Kaafar, D. Vallet, T. Kuflik, Graph-based recommendations: Make
the most out of social data, in: User Modeling, Adaptation, and Personalization: 22nd International
Conference, UMAP 2014, Aalborg, Denmark, July 7-11, 2014. Proceedings 22, Springer, 2014, pp.
447–458.
[9] F. Beierle, S. Egger, Mobrec—mobile platform for decentralized recommender systems, IEEE Access
8 (2020) 185311–185329.</p>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>