Recommender Systems in the Internet of Talking Things (IoTT)

In the Internet of Things, smart devices are connected to collect and to exchange data. In our vision, in the Internet of Talking Things, objects such as intelligent fridges will be able to communicate with humans to set up preferences and profiling options which allow a personalized usage of the object. In this paper, we present a recommender system implemented as a Telegram Bot, that can fit with the previous scenario. The system is a movie recommender which exploits the information available in the Linked Open Data (LOD) cloud for generating the recommendations and leading the conversation with the user. It can be easily seen as an intelligent component of a connected TV. ACM Reference format: Fedelucio Narducci, Marco de Gemmis, Pasquale Lops, Giovanni Semeraro. Copyrights held by the authors. Recommender Systems in the Internet of Talking Things (IoTT) . RecSys 2017 Posters, Como, Italy, August 27-31 (RecSys 2017 Poster Proceedings), 2 pages. 1 BACKGROUND AND MOTIVATIONS The main distinctive feature of a conversational recommender system (CORS) compared to a classical one is its capability of interacting with the user during the recommendation process [3]. The user provides feedback and tries to get better recommendations. It is not essential that a complete user profile has been built before beginning the recommendation process and all preferences have been specified upfront by the user. There is a cycle of interactions between the CORS and the user repeated until the user reaches an item of interest. Accordingly, the goal of a CORS is not only to improve the accuracy of the recommendations, but also to provide an effective user-recommender interaction. In this paper we propose a conversational movie recommender system implemented as Telegram Bot (@MovieRecSysBot). Chatbots are a kind of bots which emulate user conversations. The main advantages of using a Telegram bot are that it facilitates the interaction of the user by a clean and well-known user interface (the same that people daily use for other purposes on their smartphones), it does not require credentials since each account is identified in Telegram by the phone number, and lastly the user can answer by tapping a button. The Bot is based on the Linked Open Data (LOD) cloud, and more specifically on the properties encoded in DBpedia1. These properties are exploited by the Bot for eliciting user preferences, for providing recommendations as well as for generating personalized explanations in natural language. The system 1http://wiki.dbpedia. org/ RecSys 2017 Poster Proceedings, Como, Italy Copyrights held by the authors. is capable of adapting its behavior to the user feedback by implementing a critiquing strategy proposed in [4]. LOD have already been effectively used in other recommendation scenarios [9]as well as for other tasks such as cross-lingual information retrieval [7, 8]. In the next Section how the Telegram Bot works and its interaction with the user are described. 2 DESCRIPTION OF THE CHATBOT The workflow carried out by the Bot is depicted in Figure 1. In the Figure 1: The Bot workflow first step, Preference Acquisition, the Bot asks the user to express her interests. It asks questions related to entities (e.g, movies and persons) and their properties in DBpedia (e.g, genre, role). When the user starts the interaction, her profile is empty, so the recommender system needs to address a classical cold-start problem. The system offers the user two different strategies to express her preferences: (i) rating a set of items or properties proposed by the system; (ii) typing the entities or properties she is willing to rate. The first option allows the user to express the preferences by tapping buttons. The second option implements an entity recognizer based on the Levenshtein distance [11] by means of a Did you mean function (Figure 3 (a)), so that, if the user makes typos, the system is anyway able to recognize the right entity or property. The second step is the Recommendation. The Bot currently implements PageRank with Priors [2], also known as Personalized PageRank. Differently from PageRank, which assigns an evenly distributed prior probability to each node (1/N , where N is the number of nodes), the Personalized PageRank adopts a non-uniform personalization vector by assigning different weights to different nodes to get a bias towards some nodes (in this case, the preferences of a specific user). The algorithm has been effectively used in other recommendation environments RecSys 2017 Poster Proceedings, August 27-31, Como, Italy F. Narducci et al. [1]. Figure 2 shows how the user preferences and the DBpedia properties are represented in a single graph. The algorithm is run for each user and the assignment of the probabilities to the nodes has been inspired by the model proposed in [5]. The algorithm generates a ranking of the items potentially interesting for a given user. The Bot also implements an Explanation module. Tintarev and Masthoff [10] point out that explaining a recommendation is generally intended as justifying the suggestion, but it might be also intended as providing a detailed description that allows the user to understand the quality of the recommended item. The Bot is able to provide these types of explanation. Details about an item can be obtained by tapping on a Details button (Figure 3 (b)) which shows information extracted from IMDB on a given movie. The Why? button implements an explanation algorithm inspired by [6]. The idea is to use the connections in the LOD-based graph between the user preferences and the recommended items for explaining why a given item has been recommended. Figure 2: Example graph which connects users, items and