=Paper=
{{Paper
|id=Vol-2482/paper47
|storemode=property
|title=A Framework for Building Chat-based Recommender Systems
|pdfUrl=https://ceur-ws.org/Vol-2482/paper47.pdf
|volume=Vol-2482
|authors=Fedelucio Narducci,Pierpaolo Basile,Andrea Iovine,Marco De Gemmis,Pasquale Lops,Giovanni Semeraro
|dblpUrl=https://dblp.org/rec/conf/cikm/NarducciBIGLS18
}}
==A Framework for Building Chat-based Recommender Systems==
A Framework for building Chat-based Recommender Systems Fedelucio Narducci Pierpaolo Basile Andrea Iovine Department of Computer Science Department of Computer Science Department of Computer Science University of Bari Aldo Moro, Italy University of Bari Aldo Moro, Italy University of Bari Aldo Moro, Italy fedelucio.narducci@uniba.it pierpaolo.basile@uniba.it andrea.iovine@uniba.it Marco de Gemmis Pasquale Lops Giovanni Semeraro Department of Computer Science Department of Computer Science Department of Computer Science University of Bari Aldo Moro, Italy University of Bari Aldo Moro, Italy University of Bari Aldo Moro, Italy marco.degemmis@uniba.it pasquale.lops@uniba.it giovanni.semeraro@uniba.it ABSTRACT a recommender should offer, such as preference acquisition, Chat-based recommender systems are getting more and more profile exploration, critiquing strategies, and explanation. attention in recent time given their natural interaction with By exploiting our framework, we successfully implemented the user. Indeed, chat-based recommender systems implement instances of a conversational recommender system, as Tele- a paradigm where users define their preferences and discover gram chatbot, in three different domains: movies, music, and items that best fit their needs through a dialog. A chat-based books1 . recommender system can be easily integrated in platforms such as social networks, e-commerce websites, bank websites. 2 THE ARCHITECTURE Therefore, the preferences can be directly provided by the The main goal of this framework is to make easy the building users during the dialog or can be automatically extracted of a new chat-based recommender system. Therefore, the from their activities on the same platform that hosts the components have been generalized making them independent chatbot [3]. from a specific domain. When the user desire to build a In this demo, we present a framework for building chat- new chat-based recommender system for a new domain she based recommender systems. The framework, based on a should update the configuration file, and provide the list of content-based recommendation algorithm, is independent entities and properties in the Wikidata2 format. This last from the domain. requirement depends on the implementation of the Entity Recognizer. In the following we provide a brief description of 1 INTRODUCTION each component. Chat-based recommender systems have the capability of in- Dialog Manager. This is the core component of the teracting with the user during the recommendation process framework whose responsibility is to supervise the whole [4]. Instead of asking users to provide all the requirements in recommendation process. The Dialog Manager (DM) is the one step, they guide the users through an interactive dialog component that keeps track of the dialog state. DM receives [2]. This kind of interaction is particularly useful in domains the user message, invokes the components needed for answer- such as music, TV [6] were the user interacts with the system ing to the user request, and returns the message to be shown while doing other activities. to the user. Users can provide functional requirements or technical con- Intent Recognizer. This component has the goal of defin- straints used by the recommender for finding the items that ing the intent of the user formulated by natural language. best fit their needs. Accordingly, the acquisition of prefer- The Intent Recognizer (IR) is based on DialogFlow3 devel- ences is an incremental process that might not be necessarily oped by Google. Our framework uses the DialogFlow APIs finalized in a single step. A chat-based recommender system for sending the user message and to receive the intent rec- can provide several interaction modes and can offer explana- ognized. DialogFlow requires a set of example sentences for tion mechanisms [5]. Hence, the goal of these systems is not each intent. only to improve the accuracy of the recommendations, but Sentiment Analyzer. The Sentiment Analyzer (SA) is also to provide an effective user-recommender interaction. based on the Sentiment Tagger of Stanford CoreNLP4 . The In this demo we will show a framework, not dependent on Sentiment Tagger takes as input the user sentence and re- the domain, for generating conversational recommender sys- turns the sentiment tags identified. Afterwards, SA assigns tems. Our framework implements most of the capabilities that 1 Copyright © CIKM 2018 for the individual papers by the papers' On Telegram, search for: @MovieRecSysBot, @MusicRecSys, @BookRecSys. authors. Copyright © CIKM 2018 for the volume as a collection 2 https://www.wikidata.org/ 3 https://dialogflow.com/ by its editors. This volume and its papers are published under 4 https://stanfordnlp.github.io/CoreNLP/ the Creative Commons License Attribution 4.0 International (CC BY 4.0). the sentiment tags to the right entity identified into the sen- tence. For example, given the sentence I like The Matrix, but I hate Keanu Reeves, the Sentiment Tagger identifies a positive sentiment (i.e. like) and a negative one (i.e. hate). SA associates the positive sentiment to the entity The Matrix and the negative sentiment to the entity Keanu Reeves. Entity Recognizer. The aim of the Entity Recognizer (ER) module is to find relevant entities mentioned in the user sentence and then to link them to the correct concept in the Knowledge Base (KB). The KB chosen for building our framework is Wikidata since it is a free and open-knowledge base and acts as a hub of several structured data coming from Wikimedia sister projects5 . Moreover, Wikidata covers several domains and this is a key feature for developing a domain- independent framework. The ER module can be adapted to exploit a custom KB for particular domains not covered by Wikidata. The only requirements are: 1) the knowledge must be modeled through triples; 2) each concept must have one or more alias. Recommendation Services This component collects the services strictly related to the recommendation process. The recommendation algorithm implemented is the PageR- Figure 1: Two screenshots of the movie recom- ank with Priors [1], also known as Personalized PageRank. mender system with the hybrid interaction (on the Another recommendation service offered by the framework left side) and the music recommender with the NLP is the explanation feature. The framework implements an interaction (on the right side). explanation algorithm inspired by [5]. An example of natural- language explanation provided by the system is: ”I suggest you the movie Duplex because you like movies where: the ac- ACKNOWLEDGMENT tor is Ben Stiller as in Meet the Fockers, the genre is Comedy This work has been funded by the projects UNIFIED WEALTH as in American Reunion.”. The last service implemented is MANAGEMENT PLATFORM - OBJECTWAY SpA - Via the critiquing. This service allows to acquire a critique on a Giovanni Da Procida nr. 24, 20149 MILANO - c.f., P. IVA recommended item (e.g. I like the movie Titanic, but I don’t 07114250967, and PON01 00850 ASK-Health (Advanced sys- like the actor Bill Paxton) and this feedback will be used tem for the interpretations and sharing of knowledge in health in the next recommendation cycle by properly setting the care). weights of the nodes in the PageRank graph. As before stated, all these components are independent from the domain. The REFERENCES only requirement is that the entities have to be available in [1] Taher H Haveliwala. 2003. Topic-sensitive pagerank: A context- sensitive ranking algorithm for web search. IEEE trans. on Wikidata. knowledge and data engin. 15, 4 (2003), 784–796. [2] Michael Jugovac and Dietmar Jannach. 2017. Interacting with 3 DEMONSTRATION SUMMARY Recommenders: Overview and Research Directions. ACM Trans. During the demo we will show three different implementations Interact. Intell. Syst. 7, 3, Article 10 (Sept. 2017), 46 pages. DOI: of our chat-based recommender system in three different do- https://doi.org/10.1145/3001837 [3] P. Lops, M. De Gemmis, G. Semeraro, F. Narducci, and C. Musto. mains. More specifically, we will show a music recommender 2011. Leveraging the LinkedIn social network data for extracting system, a movie recommender system, and a book recom- content-based user profiles. RecSys’11 - Proc. of the 5th ACM mender system. The peculiarity of these systems is that they Conf. on Recommender Systems (2011), 293–296. DOI:https: //doi.org/10.1145/2043932.2043986 have been implemented through the same framework with [4] Tariq Mahmood and Francesco Ricci. 2009. Improving recom- minimal code variations. Furthermore, we will show three mender systems with adaptive conversational strategies. In Pro- ceedings of the 20th ACM conference on Hypertext and hyper- different interaction modes: a button-based interaction, a media. ACM, 73–82. natural-language based interaction, and a hybrid interaction [5] Cataldo Musto, Fedelucio Narducci, Pasquale Lops, Marco (natural language and buttons combined). In Figure 1 two De Gemmis, and Giovanni Semeraro. 2016. ExpLOD: A Frame- work for Explaining Recommendations based on the Linked Open screenshots of the movie recommender system with the hy- Data Cloud. In Proceedings of the 10th ACM Conference on brid interaction, and the music recommender system with the Recommender Systems. ACM, 151–154. NLP interaction are reported. The goal of the demonstration [6] C. Musto, F. Narducci, P. Lops, G. Semeraro, M. De Gem- mis, M. Barbieri, J. Korst, V. Pronk, and R. Clout. 2012. En- will be to show how to build a new chat-based recommender hanced semantic TV-show representation for personalized elec- through our framework is an easy task. tronic program guides. In Int. Conf. on User Modeling, Adap- tation, and Personalization, Vol. 7379 LNCS. 188–199. DOI: https://doi.org/10.1007/978-3-642-31454-4 16 5 Wikipedia, Wikivoyage, Wikisource, and others