<!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>DrIveSCOVER: A Tourism Recommender System Based on External Driving Factors</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Benjamin Klotz</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pasquale Lisena</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Raphael Troncy</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Wilms</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christian Bonnet</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>BMW Research</institution>
          ,
          <addr-line>Garching</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>EURECOM</institution>
          ,
          <addr-line>Sophia Antipolis</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper, we present the design and implementation of DrIveSCOVER, a recommender system for places and events in case of an in-car use, where the driving conditions such as weather and local tra c are taken into account. We integrate multiple data sources using semantic technologies and we devise recommending functions that are presented in a web-based application. Data is organized according to ve root classes: accommodation, car amenity, events, gastronomy and points of interest. An interest score is calculated from the weighted user inputs in terms of preferences of classes and driving conditions. The application is available at http://drivescover.eurecom.fr/.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Recommender systems in the context of driving mobility present a new
challenge when taking into account numerous real world external factors. This
topic is especially relevant considering the challenge of third-party integration
in location-based services that can support the driving experience, as well as
semantic mobility learning patterns that use places as nodes between trips [
        <xref ref-type="bibr" rid="ref4 ref6">4,6</xref>
        ].
This work focuses on the general problem of semantic and location-based
recommendations. Another goal is to bene t from the large amount of existing web
data describing sights, points of interests and activities. The problem is divided
into two sub-questions: i How can we integrate external data available in
various formats and from di erent sources? ii How can we recommend places and
activities for a driver considering the driving context?
      </p>
      <p>
        We aim to integrate web data [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and we rely on ontologies describing tourism
and travel concepts [
        <xref ref-type="bibr" rid="ref3 ref5">3,5</xref>
        ] for the selection of various sources. In contrast to
existing methods that perform recommendations being content-based,
collaborativeltering or hybrid [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], we de ne an interest score that takes into account external
factors such as the opening hours of businesses, the weather forecasts or the
ratings of venues. In the case of a driver using a GPS device, and assuming a route
selection, we can easily predict the next location of the car and the recommender
system will be able to look for places in a range around the scheduled route with
no additional user input.
      </p>
      <p>The remainder of this paper is organized as follows. Section 2 presents our
approach for integrating multiple web data sources. Section 3 describes our
recommender system and the interest score calculation.</p>
    </sec>
    <sec id="sec-2">
      <title>Data Selection and Implementation</title>
      <p>We selected ve root classes that represent the traveler needs:
{ Accommodation: integrating data using the Foursquare API1
{ Gastronomy: integrating data using the Foursquare API
{ Car amenity: integrating data using the LinkedGeoData SPARQL endpoint2
{ Events: integrating data using the OpenAgenda API3
{ Points of interest: integrating data using the DBpedia SPARQL endpoint4</p>
      <p>We implemented a single-page web application called DrIveSCOVER5, built
on top of a MEAN stack6 (MongoDB, ExpressJS, AngularJS, NodeJS). First,
the user de nes an itinerary from an origin to a destination for a certain date
and time. On the server side, the GoogleMaps APIs are used for computing the
route that re ects the input. For each route point, we look for nearby places that
belong to the selected classes. In order to consider places only around estimated
break areas, we look for route points around the areas where the vehicle is
expected to be after the regular driving time between breaks T 2hours with
an uncertainty T . The resulting segments allow us to do query, integrate,
score and recommend in a separate way for each cluster. Then, the results are
displayed on a map, with the details on each selected place.</p>
      <p>If the origin A and the destination B are located in di erent countries,
DrIveSCOVER will take that into account and will retrieve information in
English if possible, and in the local language if English is not available.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Recommender System</title>
      <p>A JavaScript function calculates the recommendation score using di erent
features: matching classes C with weights WC , tra c quality in the direction of
the place t, quality of the weather w based on temperature wT and humidity
wH , arrival during the opening hours h, and existing rating r.</p>
      <p>score = [WC</p>
      <p>C] h (w + r + t)
8 0 if arrivalT ime \ opening hours = ?
h = &lt; 1:5 if arrivalT ime \ opening hours 6= ?</p>
      <p>: 1 else
r =
0 if undef ined
exisiting rating between 0 and 1 if available
1 https://developer.foursquare.com/
2 http://linkedgeodata.org/About
3 https://openagenda.com/
4 http://wiki.dbpedia.org/
5 http://drivescover.eurecom.fr
6 https://www.mongodb.com/blog/post/the-mean-stack-mongodb-expressjs-angularjs-and
w = jwT
wT idealj + jwH
2</p>
      <p>wT Hidealj wT ideal = 20 C; wHideal = 50%</p>
      <p>Tra c and weather quality are extracted from the Here.com API. Some
ratings for Accommodations and Gastronomy places are available for places
described in the Foursquare database. In case of Points of Interest, the places are
always linked to Wikipedia articles describing them and the page ranking7 is
used as a rating.</p>
      <p>If we study a trip from an origin A to a destination B that contains at least
one break, and assume that every break i will happen in a short proximity from a
town or city Ci. the application will suggest places at the beginning and end of a
trip from Ci to Ci+1. For instance, a morning trip or an evening trip containing
a need for an accommodation will result in di erent suggestions: in the rst
con guration, the score will put forward restaurants for a lunch break and avoid
cities if there is a break expected during the morning tra c congestion time,
while in the second con guration, the same avoidance will happen at the end of
the afternoon, and then places of type \accommodation" will likely be suggested.</p>
      <p>More practically, DrIveSCOVER would recommend two places along a route
between Paris and Lyon. It is illustrated in Figure 1 for a journey planned on the
28 July 2017 with sights and events as stop preferences. The rst cluster happens
in an area with a small density of events and points of interests, so there are no
alternatives suggested. In contrast, for the second cluster, numerous choices are
proposed in the dense area of Lyon.
7 http://people.aifb.kit.edu/ath/</p>
      <p>In order to validate the accuracy of DrIveSCOVER, users will be asked to
ll static forms about places they would like to have been recommended. Since
it is a problem of top N recommendations, we calculate the precision and recall
de ned by: P recision = jLu(NN)\T Suj Recall = jLu(jNT S)\uTj Suj where Lu(N ) is the
recommendation list up to the N th element, and T Su is a set of relevant test
items. This quantitative evaluation will be completed with a qualitative one with
two questions: Were the recommendation surprising? Would you have followed
such a recommendation?</p>
      <p>We will evaluate DrIveSCOVER on several pre-de ned routes:</p>
      <p>Origin Destination Duration Number of stops
Paris Lille 3 hours 1
Paris Lyon 4.5 hours 2
Nice Florence 5 hours 2
Paris Marseille 7 hours 3</p>
      <p>Nantes Strasbourg 8 hours 3
5</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>We have seen that web data can provide useful information that can be
combined to be really bene cial to a driver looking for places and events during
breaks on a long trip. In order to improve our data coverage, we plan to use more
complex data integration methods that make use of both static and live data
streams. In order to increase the accuracy of the recommender system, we plan
to use car simulators that generate numerous GPS traces in order to simulate
alternative recommendations. Finally, a user evaluation is in progress.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. G. de Melo and
          <string-name>
            <given-names>K.</given-names>
            <surname>Hose</surname>
          </string-name>
          .
          <article-title>Searching the web of data</article-title>
          .
          <source>In European Conference on Information Retrieval</source>
          , pages
          <volume>869</volume>
          {
          <fpage>873</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>A.</given-names>
            <surname>Hinze</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Junmanee</surname>
          </string-name>
          .
          <article-title>Travel recommendations in a mobile tourist information system</article-title>
          .
          <source>In 4th International Conference on Innovations in Software Technologies and Automation (ISTA)</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>A.</given-names>
            <surname>Mathur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Akshatha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Shastry</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Anitha</surname>
          </string-name>
          .
          <article-title>A survey on existing tourism ontologies</article-title>
          .
          <source>IJRET: International Journal of Research in Engineering and Technology</source>
          , pages
          <volume>20</volume>
          {
          <fpage>23</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>C.</given-names>
            <surname>Parent</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Spaccapietra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Renso</surname>
          </string-name>
          , G. Andrienko,
          <string-name>
            <given-names>N.</given-names>
            <surname>Andrienko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Bogorny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. L.</given-names>
            <surname>Damiani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gkoulalas-Divanis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Macedo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Pelekis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Theodoridis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Yan</surname>
          </string-name>
          .
          <article-title>Semantic trajectories modeling and analysis</article-title>
          .
          <source>ACM Comput. Surv.</source>
          ,
          <volume>45</volume>
          (
          <issue>4</issue>
          ):
          <volume>42</volume>
          :1{
          <fpage>42</fpage>
          :
          <fpage>32</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>K.</given-names>
            <surname>Prantner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Ding</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Luger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Yan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Herzog</surname>
          </string-name>
          .
          <article-title>Tourism ontology and semantic management system : state-of-the-arts analysis</article-title>
          .
          <source>In IADIS International Conference WWW/Internet</source>
          , pages
          <volume>111</volume>
          {
          <fpage>115</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>H.</given-names>
            <surname>Su</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Zheng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Zeng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Huang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhou</surname>
          </string-name>
          .
          <article-title>Stmaker: A system to make sense of trajectory data</article-title>
          .
          <source>Proc. VLDB Endow</source>
          .,
          <volume>7</volume>
          (
          <issue>13</issue>
          ):
          <volume>1701</volume>
          {
          <fpage>1704</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>