Paper_1_2_4 e-Review of Tourism Research (eRTR), Vol. 16, No. 2/3, 2019 http://ertr.tamu.edu 95 Christos Mettouris University of Cyprus George A. Papadopoulos University of Cyprus UbiRS4Tourism: Design and Development of Point-of-Interest Recommender Systems Made Easy Point-of-Interest (POI) recommender systems recommend POIs to users based on their preferences. POI recommender systems can be utilized in a variety of mobile and web applications for tourism, touristic websites, travel agency systems, etc., aiming not only to increase customer satisfaction and improve user experience while interacting with these applications but to eventually increase business revenue as well. In this respect, tourism businesses can directly benefit from developing and deploying recommender systems in their platforms. However, developing effective recommender systems by non-recommender system experts, such as Tourism practitioners and web developers, is not an easy task due to the complexity of building data models and selecting and configuring recommendation algorithms. In this paper, the “Ubiquitous Recommender Systems for Tourism” (UbiRS4Tourism) Model Driven Framework for the POI for tourism recommendation domain is proposed. The UbiRS4Tourism Framework utilizes a model driven methodology and defines a novel graphical Domain Specific Modelling Language, aiming to reduce the complexity and expedite the development of POI recommender systems for tourism by practitioners/developers with no expertise and background in recommender systems. Key words: point of interest recommendations, intelligent recommendations for tourism, UbiCARS, modelling Christos Mettouris Department of Computer Science University of Cyprus PO Box 20537 1 University Avenue, CY-2109 Cyprus Phone: [+357] 22 892684 Email: mettour@cs.ucy.ac.cy George A. Papadopoulos Department of Computer Science University of Cyprus PO Box 20537 1 University Avenue, CY-2109 Cyprus Phone: [+357] 22 892693 Email: george@cs.ucy.ac.cy e-Review of Tourism Research (eRTR), Vol. 16, No. 2/3, 2019 http://ertr.tamu.edu 96 Introduction Recommender systems (RSs) discover knowledge about users and offer personalized recommendations to them. In tourism, RSs recommend destinations to visit, points of interest (POIs) in an area, events and complete tourist packages; e.g., TripAdvisor1 suggests trips and activities and allows user ratings on items and user reviews. Services offered by RSs in tourism can be categorized among other in POI recommendations, travel services recommendations (suggesting hotels, restaurants, means of transportation, etc.), and routes and tours recommendations. In addition, the recent advancement of social networks, such as Facebook, Twitter, and Foursquare, that store enormous volumes of user generated check-in data, constitute a valuable resource for recommending touristic POIs (Kesorn et al., 2017). The most efficient recommendation algorithms nowadays rely on user behaviour to construct user models and, based on these models, compute personalized recommendations to their users (Adomavicius et. al., 2005). User behaviour is being tracked by means of user feedback information on the items, either explicitly (e.g., user ratings on items) or implicitly (e.g., user browsing history). In ubiquitous settings however, different context-aware methods are applied, such as tracking users’ path in the environment or the customers’ staying time in the product area (So and Yada, 2017). In a similar way, in the tourism domain, systems recommending POIs need analyse past user behaviour on POIs to accurately compute recommendations to users, e.g., ratings on POIs. POI RSs can be utilized in a large variety of applications for tourism, touristic websites, travel agency systems, museums, archaeological sites, etc., aiming not only to increase customer satisfaction and improve user experience but to increase business revenue as well. In this respect, tourism businesses can directly benefit from developing and using such systems in their platforms. Although open source recommendation frameworks are available (e.g., 1 www.tripadvisor.com e-Review of Tourism Research (eRTR), Vol. 16, No. 2/3, 2019 http://ertr.tamu.edu 97 EasyRec, LensKit, LibRec2) for interested businesses to use as recommendation engines when building RS applications, it is nevertheless difficult for practitioners that are not RSs experts to achieve this (Hussein et. al., 2014). These frameworks do not offer abstraction from the technical details of embedding recommendations into a website, requiring from practitioners to work on code level. In addition, as State-of-the-Art recommendation algorithms utilize machine learning techniques, such as matrix factorization methods, it is even more difficult for practitioners that are non-RS-experts to develop and use them in their applications. In our prior work (Mettouris and Papadopoulos, 2018) the Model Driven Development (MDD) paradigm in the commerce recommendation domain was utilized and the Ubiquitous Context-Aware Recommender Systems (UbiCARS) Framework was proposed, aiming to reduce complexity and expedite the development of RSs for commerce by practitioners that are not RSs experts. In this paper, following a similar approach, the UbiRS4Tourism (Ubiquitous RSs for Tourism) MDD framework, specifically developed for the Tourism domain, is proposed. A graphical Domain Specific Modelling Language (DSML) is proposed for the development of UbiCARS in Point-of-Interest tourism recommendation scenarios, the UbiRS4Tourism DSML. UbiRS4Tourism DSML aims to reduce the complexity, abstract the technical details and expedite the development of POI RSs for tourism by developers/practitioners with no expertise on RSs development. POI RSs resulting from the framework utilize State-of-the-Art context-aware recommendation algorithms that can achieve high accuracy in the personalized recommendations offered. To the best of our knowledge, a DSML for POI RSs for tourism does not exist. UbiRS4Tourism enables to track and to use ubiquitous user-POI interaction data from a physical site by means of users’ total staying time near a POI, as well as the users’ number of visits to a POI. By utilizing data from a physical site, together with user-POI interaction data from tourism websites (user ratings on POIs, 2 easyrec.org, lenskit.org, www.librec.net e-Review of Tourism Research (eRTR), Vol. 16, No. 2/3, 2019 http://ertr.tamu.edu 98 browsing history for POIs), accuracy can be enhanced, since more relevant user-POI interaction data are used in the recommendation computation. Background State-of-the-Art RSs that recommend POIs (POI RSs) often utilize location based social network (LBSN) data to achieve their goal. Such data include user check-in data, social network data, and user-generated content such as tips, comments and ratings on POIs. User modelling techniques in LBSNs rely, among other, on geographical information, where they treat POIs as if they were items in traditional RSs, without considering their geographical influence and interrelation (Liu, 2018). In this work, we follow a similar approach by applying State-of-the-Art CARS algorithms for items (e.g., matrix factorization methods), in the POI recommendation domain. Regarding existing literature on Point-of-Interest RSs, in (Berjani and Strufe, 2011) the authors propose to use a matrix factorization approach for predicting user interest in POIs. The authors use the frequency of user check-ins into POIs as a method of representing user interest for POIs. In (Wang et al., 2015), the authors suggest representing venue semantics using user generated content (tips, photos, and check-ins) from social networks to model user preferences and utilize them for producing POI recommendations. According to the authors, the method improves the recommendation performance. In (Maroulis et al., 2016) a context-aware POI RS is proposed that uses tensor factorization to produce personalized context aware POI recommendations. In (Kesorn et al., 2017) the author uses users’ Facebook check-in data as implicit user feedback on POIs to propose a tourism RS that recommends POIs. A number of works in the literature propose software engineering techniques to tackle RS complexity. A recommendation framework for assisting developers to build CARS and hybrid RSs is Hybreed (Hussein et al., 2014). Hybreed incorporates a set of standard e-Review of Tourism Research (eRTR), Vol. 16, No. 2/3, 2019 http://ertr.tamu.edu 99 recommendation algorithms and provides templates for combining them into hybrids with a significantly reduced amount of effort. In (Rojas et al., 2009), the authors deal with the problem of developers needing assistance by means of methods and tools, for dealing with complexity issues when adopting recommendation techniques in web applications. They refer to the lack of model driven methodologies for the specification of RS algorithmic and interface elements. The authors use UML to model a RS algorithm. Our proposal differs from works in the literature in the way that: (i) it defines a novel Domain Specific Modelling Language for POI RSs for tourism, (ii) it focuses also on the ubiquitous scenario of POI RSs aiming to potentially enhance recommendation accuracy, (iii) it supports complex algorithms and data models from the State-of-the-Art of RS literature and (iv) it is easily extendable. The proposed UbiRS4Tourism Framework The UbiRS4Tourism framework specifies a UbiCARS mobile application and a CARS system. UbiCARS enables tracking of user interaction with POIs in real time and on-location, while recommendations can be displayed on the app’s screen. On-location user interaction with POIs includes users’ total staying time near a POI across visits and users’ total number of visits to a POI’s physical location. CARS on the other hand is a server-side system that includes a recommendation engine and which tracks user interactions with electronic versions of POIs on-line via a POIs website, e.g., a tourism website, a travel agency website, or a museum website. Online user interactions with POIs includes: (i) user visits to the POI’s webpage for information seeking, and (ii) user ratings on POIs (one to five stars assignment). CARS is responsible for computing context-aware POI recommendations, as well as for displaying POI recommendations to users through the website. The UbiRS4Tourism DSML specifies a graphical modelling editor, via which practitioners can drive model-based design of POI RSs and their dynamic configuration on a e-Review of Tourism Research (eRTR), Vol. 16, No. 2/3, 2019 http://ertr.tamu.edu 100 tourism website of their choice. The DSML is cross-platform, meaning that any platform specific implementation details are abstracted from the designers. We further discuss the UbiRS4Tourism framework through a scenario. We consider a touristic website similar to TripAdvisor (named Trip2Remember or T2R) that lists POIs for the users to browse, search for, rate and comment, for example we will consider archaeological sites. The UbiRS4Tourism framework defines for T2R a UbiCARS app and a CARS system. Through the app, users can check-in into a POI using their smartphones. In fact, by switching on Bluetooth on their smartphones, users not only do not need to actively check-in into a POI since they are automatically detected by Bluetooth sensors installed on near-by POIs, but furthermore, the system computes the users’ staying time at the POI. To do this, it is required that T2R installs Bluetooth beacons to selected POIs, perhaps the most important ones where T2R already has presence, e.g., via a kiosk. Bluetooth is preferred over GPS to enable indoor positioning as well for usage within buildings, e.g., a museum. Mary is a regular T2R user that frequently visits the website to read comments and reviews on interesting locations for her trips. After visiting various POIs, Mary likes to comment herself about them on T2R website, as well as rate them online. Her motivation is that she has been assisted and guided herself many times by fellow T2R users through comments, reviews and ratings, that she acknowledges the benefit of user feedback on POIs. When Mary visits a POI that T2R has presence, she uses the T2R app to get information about the POI, but also to utilize the staying time and number of visits features of the app. The app via the smartphone’s Bluetooth automatically detects Mary near the POI (with Mary’s consent) and firstly, calculates her staying time near the POI in minutes, and secondly, it keeps track of Mary’s number of visits to the particular POI. The idea is that, the more interesting the POI is for a particular user: (i) the longer this user will stay around it and (ii) the more visits that user will have to that POI. For Mary, the T2R CARS system has recorded a number of online ratings on POIs through the T2R website (explicit feedback) and has tracked e-Review of Tourism Research (eRTR), Vol. 16, No. 2/3, 2019 http://ertr.tamu.edu 101 her online interaction with POIs through her browser history (implicit feedback). From such data, corresponding datasets are compiled to be used in the recommendation process. Browsing history refers to the number of user accesses of the POI’s webpage. The T2R UbiCARS app contributes to the recommendation process by sensing the total time (in minutes) that Mary has stayed near a POI, as well as Mary’s total number of physical visits to the POI. After users’ visit to POIs, the T2R UbiCARS datasets become available to the CARS for use in the next recommendation computation, in addition to the datasets form the online scenario. Thus, recommendations for Mary the next time she visits T2R website or app will potentially be more accurate, as additional relevant data will be used for computation. The UbiRS4Tourism DSML Via the graphical modelling editor of the UbiRS4Tourism framework, practitioners may use the UbiRS4Tourism DSML. Due to space limitations the Modelling Language is referenced3. The Application element is the core element that represents a recommender system consisting of a CARS system and a UbiCARS app. CARS defines the user ratings on POIs as an explicit user feedback element, and the BrowsingHistory element as user implicit feedback on POIs. A CARS can instantiate zero or one of these elements, while a number of custom NewUserFeedback elements can be defined by the user which can be explicit or implicit (default value is explicit). For example, a custom NewUserFeedback element may define user interaction with advertising material of a POI, e.g., a video about the Kourion4 archaeological site in Cyprus. The fact that a user has interacted with the video may imply user interest in the POI. This is an implicit user-POI interaction element. In the physical (ubiquitous) scenario, a UbiCARS app uses two implicit user feedback elements, the StayingTime element 3 drive.google.com/file/d/1JquNwe5MHaJrSouQBsFalbFdM7jFf1Ix/view?usp=sharing 4 visitcyprus.com/index.php/en/discovercyprus/rural/sites-monuments/item/2402-kourion-archaeological-site e-Review of Tourism Research (eRTR), Vol. 16, No. 2/3, 2019 http://ertr.tamu.edu 102 representing the staying time near a POI and the NumberOfVisits element representing the number of user visits to a POI. UbiCARS has zero or one of these elements, as well as a number of custom explicit or implicit NewUserFeedback elements to be defined by the user if needed. Each of the aforementioned elements uses a DatabaseResource and may use a ContextParameter. A DatabaseResource specifies information about the database where the respective information will be stored and retrieved from (timestamp may be used as contextual information about time). A ContextParameter captures the context of users while interacting with POIs, either in the physical environment or online. Boolean isAvailable states whether the corresponding context sensing mechanism is available or needs to be developed. A RecommendationEngine computes the recommendations. The CARSKIT (Zheng et al., 2015) recommendation framework is the default engine in the metamodel; however, other recommendation frameworks can be used. The engine uses a RecommendationAlgorithm which the user can select from the available algorithms offered by the selected engine. The default algorithm used is context-aware matrix factorization CAMF_CU. Two more recommendation algorithms are available in the metamodel: CAMF_ICS and CPTF (tensor factorization). The metamodel can be easily extended with more algorithms from the CARSKIT framework. In addition to algorithm selection, algorithmic configuration parameters are also defined. RecommendationStorage defines the place where computed recommendations are stored and RecommendationPresentation denotes the platformOfPresentation of the recommendations to users – via the website or the UbiCARS app. The ubiquitous technology to be used by the UbiCARS app is determined by the UbiquitousTechnology element. Currently, BluetoothBeacons are used to enable also indoor user positioning near POIs. Using the UbiRS4Tourism framework, practitioners may specify their platform of choice in the model to drive system configuration (platformOfUse of configFile element). platformOfUse refers to the web platform on e-Review of Tourism Research (eRTR), Vol. 16, No. 2/3, 2019 http://ertr.tamu.edu 103 which the POI website and CARS system will be set up. The system provides ready-to-use functionality that can be installed on the corresponding platform as specified in the model, to automatically retrieve explicit user feedback (user ratings on POIs), as well as implicit feedback (user browsing history for POIs) and compile the corresponding datasets. Integration into the UbiCARS app is also provided. The graphical modelling editor can be seen in Fig. 1 where a snippet of a model (left) and the editor toolbox (right) are shown. The model in Fig. 1 shows the CARS and UbiCARS elements of T2R. The T2R UbiCARS app is extendable and configurable to the level of communicating with Bluetooth beacons to determine the POI ID and access the data base to store the data. Figure 1. The UbiCARS Instance Model & Modelling Editor Conclusions and future work To demonstrate our framework’s capabilities, a demo of the Trip2Remember POI website for the WordPress5 platform was set up. The UbiRS4Tourism framework was able to produce four datasets: a POIs ratings dataset, a POIs browsing history dataset, a POIs staying time dataset, and a POIs number of visits dataset. Each of these datasets was then used by the framework to produce context-aware personalized recommendations for the end-users of T2R. Evaluation of the UbiRS4Tourism framework is left for future work. Since the system targets 5 wordpress.org e-Review of Tourism Research (eRTR), Vol. 16, No. 2/3, 2019 http://ertr.tamu.edu 104 practitioners not experts in RSs, and due to the inherent complexity of RSs, the evaluation session will be task-oriented: participants will be given a set of tasks to complete using the system and then fill in a questionnaire on the usefulness and ease-of-use of the framework. References Adomavicius, G., Sankaranarayanan, R., Sen, S., & Tuzhilin, A. (2005). Incorporating contextual information in recommender systems using a multidimensional approach. ACM Transactions on Information Systems (TOIS), vol. 23 103–145. Berjani, B., & Strufe, T. (2011). A Recommendation System for Spots in Location-based Online Social Networks. In Proceedings of the 4th Workshop on Social Network Systems, New York, NY, USA. p. 4:1–4:6. Hussein, T., Linder, T., Gaulke, W., & Ziegler, J. (2014). Hybreed: A software framework for developing context-aware hybrid recommender systems. User Model User-Adap Inter, vol. 24, no. 1–2, pp. 121–174. Kesorn, K., Juraphanthong, W., & Salaiwarakul, A. (2017). Personalized Attraction Recommendation System for Tourists Through Check-In Data. IEEE Access, vol. 5, pp. 26703–26721. Liu, S. (2018). User Modeling for Point-of-Interest Recommendations in Location-Based Social Networks: The State of the Art, Mobile Information Systems. Vol. 2018. Maroulis, S., Boutsis, I., & Kalogeraki, V. (2016). Context-aware point of interest recommendation using tensor factorization. In 2016 IEEE International Conference on Big Data (Big Data), pp. 963–968. Mettouris, C., & Papadopoulos, G. A. (2018). The UbiCARS Model-Driven Framework: Automating Development of Recommender Systems for Commerce, In Proceedings of the 2018 European Conference on Ambient Intelligence (AmI 2018), Springer. Rojas, G., Domínguez, F., & Salvatori, S. (2009). Recommender Systems on the Web: A Model-Driven Approach. In Proceedings of the 10th International Conference EC-Web 2009. Linz, Austria. Springer Berlin Heidelberg, pp. 252–263. So, W. T., & Yada, K. (2017). A Framework of Recommendation System Based on In-store Behavior. In Proceedings of the 4th Multidisciplinary International Social Networks Conference, New York, NY, USA, p. 33:1–33:4. Wang, X., Zhao, Y., Nie, L., Gao, Y., Nie, W., Zha, Z., & Chua, T. (2015). Semantic-Based Location Recommendation With Multimodal Venue Semantics’, IEEE Transactions on Multimedia, vol. 17, no. 3, pp. 409–419. Zheng, Y., Mobasher, B., & Burke, R. (2015). CARSKit: A Java-Based Context-Aware Recommendation Engine. In 2015 IEEE International Conference on Data Mining Workshop (ICDMW). pp. 1668–1671.