=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== https://ceur-ws.org/Vol-2482/paper47.pdf
                                    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