Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

TourismShare

2017, Springer eBooks

TourismShare Nuno Areias1 and Benedita Malheiro1,2 1 ISEP/IPP – School of Engineering, Polytechnic Institute of Porto, Portugal 2 INESC TEC, Porto, Portugal {1090430,mbm}@isep.ipp.pt Abstract. TourismShare is a context-aware recommendation platform that allows tourists to share private locations and videos and obtain recommendations regarding potential Points of Interest (POI), including complementary articles and videos. The user experience is enhanced with the addition audio immersion during video playback and automatic recommendation features. The developed system consists of a distributed application comprising a front-end client module (Android application), which provides the user interface and consumes directly external support services, and the back-end server module, which includes the central database and recommendation service. The communication between the client and server modules is implemented by a dedicated application level protocol. The recommendations, which are based on the user context (user position, date and current time, past ratings and user activity level), are provide on request or automatically, whenever POI of great relevance to the user are found. The recommended POI are presented on a map, showing the timetable together with complementary articles and videos. The audio immersion at video playback time takes into account the weather conditions of the video recording and the user activity level. Keywords: Context-aware, Recommendation, Immersion, Tourism. 1 Introduction Information and Communication Technologies (ICT) have greatly contributed to the proliferation of data sources and resource sharing systems. This abundance of information increases the importance of filtering tools such as recommendation systems, which are able to make timely customized suggestions based on the user profile and current context. The main objectives of this project are: (i ) to allow the user to share POI and videos; (ii ) to recommend POI, articles and videos based on the user’s context; and (iii ) to provide the user with a richer video playback experience, simulating the recording conditions. This system was inspired by two previous location-based sharing and recommendation projects: (i ) the POI sharing and recommendation of Bruyneel et al. (2014) [3]; and (ii ) the video sharing and article recommendation of Baecke et al. [1]. The developed system provides POI recommendations together with complementary articles, videos and timetable, based on the user context information (user position, date and time, past ratings and activity level) on request or automatically. The user immersion at video playback time takes into account the time and weather conditions of the video recording. Specifically, TourismShare improves the tourist experience not only by recommending context-aware POI, articles and videos, but also by allowing the user to decide when and which POI and videos to share and by enriching video playback with audio immersion. This paper is organised in four sections. This initial section introduces the problem, the goal and the structure of the paper. The second section provides the background on context-awareness and immersiveness. The third section describes the TourismShare system. Finally, the fourth section draws the conclusions and suggests future developments. 2 Background Recommendation systems are information filtering systems which suggest items or predict the ratings a user would attribute to items based on his/her profile and context. Recommendation systems are becoming increasingly popular since they filter large quantities of data to find and suggest items of interest to users. Nowadays, it is possible to find recommendation systems in e-commerce, e-health, tourism or technology enhanced learning application domains [6,3,12]. 2.1 Context-awareness Context includes any information relating to the user which is relevant to the purpose of the application, including demographic, location, time, preferences or social social data. A context-aware recommender system predicts user preferences by incorporating contextual information into the recommendation process [4] and allowing it to generate more relevant recommendations [5]. The rating depends on the user, item and context, where the context can be the combination of different types of contextual information like time, location or demographics. In terms of contextual information, TourismShare uses the current user position, activity level and time. The position is used to filter the POI based on the distance between the user and POI, excluding all POI outside the maximum distance radius circle. The maximum distance depends on the current user activity level. The activity level, which is derived from the average user velocity during the last 5 min, is expressed in a 0 to 5 scale corresponding to unknown, inactive, low activity level, medium activity level and high activity level. The time is used to recommend, based on the opening hours, only open POI. 2.2 Immersion Immersion is a subjective experience of total involvement in a given environment and that can be suggested by using surround sound sensory experiences, high resolution and augmented reality [10]. The usage of immersion features such as different media elements highly enriches user experience by creating emotional reactions. An example of the usage of such features is the video immersion system proposed by Ramalho et al. (2013) [9], which allows users to capture, search, publish, view and synchronize interactive TV items. During the video capturing process the system collects information in the form of metadata of the user position, velocity, orientation and current weather information. During video playback, this information is used to implement different perception visual, auditory and tactile features. We adopt a similar approach to implement audio immersion during video playback based on the collection of weather information – used to reproduce weather sounds – and smartphone sensory data – used to reproduce a soundtrack matching the user activity level. The application selects the soundtrack from a play list with soundtracks matching the pre-defined levels of user activity, i.e., from classical music (when the user is inactive) to rock/metal (when the user is highly active). 2.3 Related Work Table 1 shows the comparison of the six tourism location-based context aware recommender systems which were studied: ErasmusApp [3,1], Cinemappy [7], MoreTourism [11], Rerex [2], SPLIS [13] and CAMR [8]. Table 1. Comparison of related systems Features ErasmusApp Cinemappy MoreTourism Rerex SPLIS CAMR Position Time Company Weather Crowdedness User Mood Temperature Activity Lighting Noise Immersion ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✓ ✓ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✓ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✗ ✗ ✗ ✗ ✓ ✓ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✓ ✓ ✗ ✓ ✗ ✗ ✓ ✓ ✓ ✓ ✗ This analysis shows the relevance of this project. Although some of these systems implement complex context-aware recommendation algorithms and rely on high volumes of contextual data, none enriches the user experience with immersive features. 3 TourismShare TourismShare is a distributed application composed of three main modules: front-end, back-end and external services (Figure 1). The front-end module provides the user interface and includes a local (SQLite) database to store private locations and messages. The back-end module manages the user access to the central database and generates recommendations when requested. The communication between the client and server modules is achieved though a dedicated application level protocol. The external services provide map rendering, video upload and playback, weather data and complementary Wikipedia articles. Fig. 1. TourismShare architecture 3.1 Back-end The back-end provides two services: persistent data storage and personalised recommendations. The central database is a MySQL database composed of multiple tables, including User, Publisher, Rating, Location, Subcategory, Category, Schedule, LocationSchedule, Report, ReportCat, Device, UserDevice, Videos, WeatherData, Music and several tables for the smartphone sensor data. The recommendation service is based on the available data: (i ) spatial information – geodetic coordinates of the user; (ii ) temporal information – date and time of the search; (iii ) user information – level of activity; and (iv ) device information – brand, model, size, etc. The recommendation algorithm is a cascade of four filters governed by the following rules: (i ) a filter is only applied if the number of input items is above five; and (ii ) the outcome of a filter is only used if the the number of output items is above three. In the latter case, the recommendation service uses the outcome of the previous filter. The first filter – the pre-filter – is used for the recommendation of POI and videos. It collects all items which satisfy the following criteria: (i ) were published by other users (mandatory); (ii ) are located within a radius of 5 km from the search site (mandatory); (iii ) match the category or subcategory (optional); and (iv ) are new sites (optional). The second filter – the spatial filter – narrows the radius of search based on the user activity level: unknown or inactive – 0.75 km; low activity level – 1.50 km; medium activity level – 2.00 km; and high activity level – 3.00 km. The third filter – the temporal filter – extracts all sites which are open at the moment of the search. The last filter – the prediction filter – is a rating prediction algorithm which returns the top five rated locations for the user. The filter considers three cases: (i ) the user has previously rated the site; (ii ) the user has never rated the site, but has rated sites of the same category; and (iii ) the user has never rated the site nor sites of the same category. If the user has previously rated the site, the algorithm, first, applies Equation 1 to determine the reputation of the site’s publisher Rep(p, l), where p is the publisher, l is the site, lpub is the number of sites p published and lrep the number of active reports associated with these sites. Users, while site publishers, have a dynamic reputation, ranging from 0 % and 100 %. Secondly, uses Equation 2 to calculate the average rating of the site l of the category c, where n is the number of users who rated the site and Rating(u, l, c) is the rating user u assigned the site. Finally, applies Equation 3 to predict the user rating for the \ site Rating(u, l, c), where u represents the user, Rating(u, l, c) is the previous rating the user assigned to the site, Rep(p) is the reputation of the site publisher, Rating(l, c) is the average rating of the site and β = 80 %. lpub − lrep lpub (1) n 1X Rating(u, l, c) n u=1 (2) \ Rating(u, l, c) = βRating(u, l, c) + (1 − β)Rep(p) × Rating(l, c) (3) Rep(p, l) = Rating(l, c) = If the user has never rated the site, but has rated sites of the same category, the algorithm first applies Equation 4 to determine the average rating user u has given to sites of category c, where n is the number of sites of category c the user has rated and Rating(u, l, c) is the rating user u assigned the site l of category \ c. Then, uses Equation 5 to predict the site rating for the user Rating(u, l, c), where Rating(u, c) is the average rating user u has given to sites of category c, Rep(p, l) is the reputation of the site publisher given by Equation 1, Rating(l, c) is the average rating of the site given by Equation 2 and β = 60 %. 1X Rating(u, c) = Rating(u, l, c) n (4) \ Rating(u, l, c) = βRating(u, c) + (1 − β)Rep(p, l) × Rating(l, c) (5) n l=1 If the user has never rated the site nor sites of the same category, the algorithm \ applies Equation 6 to predict the site rating for the user Rating(u, l, c), where Rep(p, l) is the reputation of the site publisher given by Equation 1, Rating(l, c) is the average rating of the site l given by Equation 2 and β = 40 %. \ Rating(u, l, c) = βRating(l, c) + (1 − β)Rep(p) × Rating(l, c) (6) In this case, the weight of the publisher is higher since the active user does contribute with any input to the rating prediction. In the case of video recommendation, the algorithm applies an additional filter to select popular videos based on the ratio between the number of views and the tine elapsed since the date of the video publication. New videos start with a default ratio of 0.3. Finally, the video soundtracks are selected according to the user activity level. 3.2 External Services The Android mobile application interacts directly with Google Maps, GeoNames, OpenWeatherMap and the YouTube services. The Google Maps service provides a map-based graphical user interface showing the user position and the various private or recommended POI. The interaction with the Google Maps service, including connecting, loading, map displaying and interacting, is supported by the Google Maps Android API and requires authentication. The GeoNames service provides Wikipedia articles related to the area surrounding the user location. The interaction is supported by the GeoNames API. The service requires authentication and provides a maximum of 40 English articles related to POI located in the region centred on the user location and with the specified radius. The OpenWeatherMap service returns the weather of a location. The application accesses the service during video recordings to obtain the meteorological information, e.g., humidity, pressure, wind or temperature. The YouTube service requires authentication and allows video storage and sharing. The application uses the YouTube Direct Lite API to interact with the YouTube service [1]. 3.3 Front-End The front-end comprises the client Android application and the local database and interacts with external services and the back-end. The local SQLite database is composed of the Location, Subcategory, Category, Message and MessageCat tables. The client application includes three independent Android services: (i ) the MyPVTService, which is responsible for obtaining the position, velocity and time (PVT) of the user; (ii ) the RecommendService, which is responsible for the automatic recommendation sites, videos and articles; and (iii ) the MusicService, which is responsible for the audio immersion. These services are launched at start-up and remain active until they are disabled by the user in the application settings (RecommendService and MusicService). MyPVTService provides the user’s PVT. This event driven service, whenever there is a location-related event, verifies the source and the specified data refresh period. While the network provider has a refresh period of 90 s, the GPS sensor updates every 30 s. The GPS sensor events are granted higher priority because they have greater accuracy. Regardless of the source (GPS sensor or network). If the refresh period had been exceeded (30 s or 90 s), the service collects new information. The velocity is stored in a First In, First Out (FIFO) buffer queue of size 10 used to establish the user’s activity level. If the update period is higher than 20 min, the service classifies the activity level as unknown. RecommendService supplies POI recommendations. This service, every 5 min, calculates the distance between the current and the previously recorded user location, assuming the user is authenticated, has the automatic recommendation mode on and is connected to the Internet, If this distance is greater than 300 m, it invokes the back-end recommendation service, avoiding generating redundant recommendations. Whenever new recommendations are generated, the system checks and only notifies the user of the new items. MusicService is responsible for the audio immersion. Assuming the user is authenticated and has access to the Internet, the application requests the playlists to the back-end server. If the user’s activity level is unknown, the service checks periodically (every 3 min) for changes. Once the level of activity is known, the service starts playing the corresponding playlist. There are four playlists associated with the four pre-defines levels of activity (unknown, low, medium, high). The audio immersion, once started, rechecks at the end of each song the user level of activity and, depending on the outcome, may start playing another list. 3.4 Features TourismShare has two operation modes: stand-alone and connected. In standalone or private mode, the user can only use a subset of the system features since the front-end application is disconnected from the back-end. They include user authentication, user registration, user data update, private POI edition and private POI rating. In connected or shared mode, the front-end interacts with the back-end, requiring successful user authentication. It provides access to the full set of implemented functionalities, including user authentication, user registration, user data update, POI edition, POI rating, POI sharing, POI reporting, video playing, video recording & sharing, on-request POI recommendation and automatic POI recommendation. Automatic Recommendation The user is notified every time a new POI is recommended (Figure 2a). This feature can be enabled/disabled in the application settings. On Request Recommendation The user can request POI recommendations at any time and specify: (i ) the type(s) of POI (places, articles, videos); (ii ) the category and subcategory of the places; (iii ) the time (current or another); and (iv ) the location (current or another). After submitting the request, the user is redirected to a map of his surroundings showing the recommended POI with different markers depending on the type of POI and, in case of a place, the category and subcategory (Figure 2b). When the user clicks on an article marker, a new screen displays a brief of the Wikipedia article together with a hyperlink to the full article (Figure 2c). If the user clicks on a place marker, a menu appears for the user to: (i ) report a location; (ii ) rate a location; (iii ) add a location to the list of favourites; and (iv ) show a location schedule (week/weekend) (Figure 2d). (a) Automatic recommendation (b) On request recommendation (c) Show recommended article (d) Show recommended location (e) Video sharing (f) Audio immersion Fig. 2. TourismShare Features Video Sharing This feature uses YouTube and, thus, requires the user to be logged into a Google account. During the recording process, the application collects the weather and sensor data which will be used for the audio immersion during the video playback. After recording, naming and reviewing a video, the user can upload it to Youtube (Figure 2e). Audio Immersion During video playback, the application accesses the weather information gathered at the time of the video recording and the current activity level of the user. It plays a background wind sound and a soundtrack according to the current user activity level and the wind velocity at the time of recording. There are four playlists, one for each user activity level (stopped, low, medium, high). Figure 2f illustrates the video immersion. The user can enable/disable this feature in the application settings. 3.5 Tests and Results In order to characterize the execution of the different features, a performance test was made under the following conditions: (i ) the front-end device was a Motorola Moto G with a Central Processing Unit (CPU) Quad-core 1.2 GHz Cortex-A7, 1 GB random-access memory (RAM) and accelerometer and proximity embedded sensors; (ii ) the back-end platform was Compaq Pressario laptop with a AMD Sempron M120 / 2.1 GHz CPU and 4 GB RAM; and (iii ) an optical fibre Internet connection which, during the data transmission test, presented an average download rate of 19.08 Mb/s, an average upload rate of 1.67 Mb/s and an average latency of 81 ms. Table 2 displays the obtained results. Table 2. Average elapsed time, upload and download data per feature Feature User authentication User registration User data update Rate place Report place Share place Edit place Play video Share video On-req. POI recomm. Autom. POI recomm. Time (s) Upload (B) Download (B) 1.33 1.77 1.27 1.71 1.65 1.91 1.88 1.21 2.55 2.01 2.32 856 1144 1053 774 783 1274 1235 795 3764 1124 1174 658 660 663 653 578 664 658 576 576 4367 4567 During the test, the average elapsed time, the data exchanged between the client device and the server (upload) and between the server and the client device (download) for each feature was determined based on ten measurements. 4 Conclusions and Future Work TourismShare is a tourism context-aware platform for Android smartphone users. In terms of contextual data, it uses: (i ) the current location, level of activity, device and time of the user to make recommendations; and (ii ) weather data and the current activity level of the user for audio immersion. TourismShare improves the tourist experience by recommending context-aware POI, articles and videos, by allowing the tourist to decide when and which personal data (POI and videos) to share and by enriching video playback with audio immersion. In the future, the recommendation algorithm can be refined by using information it currently collects, e.g., the device characteristics, and by integrating social network data. The video immersion system, which is currently based on weather information, can be extended by using local sensor information already collected and stored. Finally, the current audio immersion, which is based on the user activity level, may evolve into a music recommendation system based also on the user emotional state and profile. Acknowledgements This work was partially financed by the European Regional Development Fund (ERDF) through the Operational Programme for Competitiveness and Internationalisation (COMPETE Programme), within project «FCOMP-01-0202FEDER-023151» and project «POCI-01-0145-FEDER-006961», and by national funds through the Fundação para a Ciência e Tecnologia (FCT) - Portuguese Foundation for Science and Technology - as part of project UID/EEA/50014/2013. References 1. Baecke, B.: Context-Aware Video-Sharing Android Application. Master’s thesis, Instituto Superior de Engenharia do Porto, Portugal (2014) 2. Baltrunas, L., Ludwig, B., Peer, S., Ricci, F.: Context-aware places of interest recommendations for mobile users. In: CEUR Worshop Proceedings. vol. 740 (2011) 3. Bruyneel, K., Malheiro, B.: Erasmusapp: A location-based collaborative system for erasmus students. In: De Strycker, L. (ed.) ECUMICT 2014, Lecture Notes in Electrical Engineering, vol. 302. Springer International Publishing (2014) 4. Gediminas Adomavicius, Ramesh Sankaranarayanan, S.S., Tuzhilin, A.: Incorporating contextual information in recommender systems using a multidimensional approach. ACM Transactions on Information Systems (TOIS) 23(1) (2005) 5. Jong-yi Hong, Eui-ho Suh, S.J.K.: Context-aware systems: A literature review and classification. Expert Systems with Applications 36(1) (2009) 6. Melville, P., Sindhwani, V.: Recommender systems. In: Sammut, C., Webb, G.I. (eds.) Encyclopedia of Machine Learning, pp. 829–838. Springer US, Boston, MA (2010) 7. Ostuni, V.C., Noia, T.D., Mirizzi, R., Romito, D., Sciascio, E.D.: Cinemappy: a context-aware mobile app for movie recommendations boosted by dbpedia. In: CEUR Workshop Proceedings. vol. 919 (2007) 8. Otebolaku, A.M., Andrade, M.T.: Context-aware media recommendations for smart devices. Journal of Ambient Intelligence and Humanized Computing 6(1) (2015) 9. Ramalho, J., Chambel, T.: Immersive 360o mobile video with an emotional perspective. In: Proceedings of ImmersiveMe 2013. ACM (2013) 10. Ramalho, J., Chambel, T.: Windy sight surfers: Sensing and awareness of 360o immersive videos on the move. In: Proceedings of ImmersiveMe 2013. ACM (2013) 11. Rey-López, M., Barragáns-Martı́nez, A.B., Peleteiro, A., Mikic-Fonte, F.A., Burguillo, J.C.: moretourism: Mobile recommendations for tourism. In: Proceedings of ICCE’2011. IEEE (2011) 12. Verbert, K., N., M., Ochoa, X.W., M. Drachsler, H., Bosnic, I., Duval, E.: Contextaware recommender systems for learning: A survey and future challenges. IEEE Transactions on Learning Technologies 5(4) (2012) 13. Viktoratos, I., Tsadiras, A., Bassiliades, N.: Geosocial splis: A rule-based service for context-aware point of interest exploration. In: Challenge+ DC@ RuleML (2014)