<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Framework for building Chat-based Recommender Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Fedelucio Narducci</string-name>
          <email>fedelucio.narducci@uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pierpaolo Basile</string-name>
          <email>pierpaolo.basile@uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrea Iovine</string-name>
          <email>andrea.iovine@uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco de Gemmis</string-name>
          <email>marco.degemmis@uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pasquale Lops</string-name>
          <email>pasquale.lops@uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giovanni Semeraro</string-name>
          <email>giovanni.semeraro@uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Bari Aldo Moro</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Chat-based recommender systems are getting more and more attention in recent time given their natural interaction with the user. Indeed, chat-based recommender systems implement a paradigm where users define their preferences and discover items that best fit their needs through a dialog. A chat-based recommender system can be easily integrated in platforms such as social networks, e-commerce websites, bank websites. Therefore, the preferences can be directly provided by the users during the dialog or can be automatically extracted from their activities on the same platform that hosts the chatbot [3]. In this demo, we present a framework for building chatbased recommender systems. The framework, based on a content-based recommendation algorithm, is independent from the domain.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Chat-based recommender systems have the capability of
interacting with the user during the recommendation process
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Instead of asking users to provide all the requirements in
one step, they guide the users through an interactive dialog
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. This kind of interaction is particularly useful in domains
such as music, TV [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] were the user interacts with the system
while doing other activities.
      </p>
      <p>
        Users can provide functional requirements or technical
constraints used by the recommender for finding the items that
best fit their needs. Accordingly, the acquisition of
preferences is an incremental process that might not be necessarily
ifnalized in a single step. A chat-based recommender system
can provide several interaction modes and can ofer
explanation mechanisms [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Hence, the goal of these systems is not
only to improve the accuracy of the recommendations, but
also to provide an efective user-recommender interaction.
      </p>
      <p>In this demo we will show a framework, not dependent on
the domain, for generating conversational recommender
systems. Our framework implements most of the capabilities that
Copyright © CIKM 2018 for the individual papers by the papers'
authors. Copyright © CIKM 2018 for the volume as a collection
by its editors. This volume and its papers are published under
2</p>
    </sec>
    <sec id="sec-2">
      <title>THE ARCHITECTURE</title>
      <p>The main goal of this framework is to make easy the building
of a new chat-based recommender system. Therefore, the
components have been generalized making them independent
from a specific domain. When the user desire to build a
new chat-based recommender system for a new domain she
should update the configuration file, and provide the list of
entities and properties in the Wikidata2 format. This last
requirement depends on the implementation of the Entity
Recognizer. In the following we provide a brief description of
each component.</p>
      <p>Dialog Manager. This is the core component of the
framework whose responsibility is to supervise the whole
recommendation process. The Dialog Manager (DM) is the
component that keeps track of the dialog state. DM receives
the user message, invokes the components needed for
answering to the user request, and returns the message to be shown
to the user.</p>
      <p>Intent Recognizer. This component has the goal of
defining the intent of the user formulated by natural language.
The Intent Recognizer (IR) is based on DialogFlow3
developed by Google. Our framework uses the DialogFlow APIs
for sending the user message and to receive the intent
recognized. DialogFlow requires a set of example sentences for
each intent.</p>
      <p>Sentiment Analyzer. The Sentiment Analyzer (SA) is
based on the Sentiment Tagger of Stanford CoreNLP4. The
Sentiment Tagger takes as input the user sentence and
returns the sentiment tags identified. Afterwards, SA assigns
1On Telegram, search for: @MovieRecSysBot, @MusicRecSys,
@BookRecSys.
2https://www.wikidata.org/
3https://dialogflow.com/
4https://stanfordnlp.github.io/CoreNLP/
the sentiment tags to the right entity identified into the
sentence. 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.</p>
      <p>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
domainindependent 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.</p>
      <p>
        Recommendation Services This component collects
the services strictly related to the recommendation process.
The recommendation algorithm implemented is the
PageRank with Priors [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], also known as Personalized PageRank.
Another recommendation service ofered by the framework
is the explanation feature. The framework implements an
explanation algorithm inspired by [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. An example of
naturallanguage explanation provided by the system is: ”I suggest
you the movie Duplex because you like movies where: the
actor is Ben Stiller as in Meet the Fockers, the genre is Comedy
as in American Reunion.”. The last service implemented is
the critiquing. This service allows to acquire a critique on a
recommended item (e.g. I like the movie Titanic, but I don’t
like the actor Bill Paxton) and this feedback will be used
in the next recommendation cycle by properly setting the
weights of the nodes in the PageRank graph. As before stated,
all these components are independent from the domain. The
only requirement is that the entities have to be available in
Wikidata.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3 DEMONSTRATION SUMMARY</title>
      <p>During the demo we will show three diferent implementations
of our chat-based recommender system in three diferent
domains. More specifically, we will show a music recommender
system, a movie recommender system, and a book
recommender system. The peculiarity of these systems is that they
have been implemented through the same framework with
minimal code variations. Furthermore, we will show three
diferent interaction modes: a button-based interaction, a
natural-language based interaction, and a hybrid interaction
(natural language and buttons combined). In Figure 1 two
screenshots of the movie recommender system with the
hybrid interaction, and the music recommender system with the
NLP interaction are reported. The goal of the demonstration
will be to show how to build a new chat-based recommender
through our framework is an easy task.</p>
    </sec>
    <sec id="sec-4">
      <title>ACKNOWLEDGMENT</title>
      <p>This work has been funded by the projects UNIFIED WEALTH
MANAGEMENT PLATFORM - OBJECTWAY SpA - Via
Giovanni Da Procida nr. 24, 20149 MILANO - c.f., P. IVA
07114250967, and PON01 00850 ASK-Health (Advanced
system for the interpretations and sharing of knowledge in health
care).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Taher</surname>
            <given-names>H</given-names>
          </string-name>
          <string-name>
            <surname>Haveliwala</surname>
          </string-name>
          .
          <year>2003</year>
          .
          <article-title>Topic-sensitive pagerank: A contextsensitive ranking algorithm for web search</article-title>
          .
          <source>IEEE trans. on knowledge and data engin. 15</source>
          ,
          <issue>4</issue>
          (
          <year>2003</year>
          ),
          <fpage>784</fpage>
          -
          <lpage>796</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Michael</given-names>
            <surname>Jugovac</surname>
          </string-name>
          and
          <string-name>
            <given-names>Dietmar</given-names>
            <surname>Jannach</surname>
          </string-name>
          .
          <year>2017</year>
          .
          <article-title>Interacting with Recommenders: Overview and Research Directions</article-title>
          .
          <source>ACM Trans. Interact. Intell. Syst. 7</source>
          ,
          <issue>3</issue>
          ,
          <string-name>
            <surname>Article 10</surname>
          </string-name>
          (
          <issue>Sept</issue>
          .
          <year>2017</year>
          ),
          <volume>46</volume>
          pages. DOI: https://doi.org/10.1145/3001837
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Lops</surname>
          </string-name>
          ,
          <string-name>
            <surname>M. De Gemmis</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Semeraro</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Narducci</surname>
            , and
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Musto</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Leveraging the LinkedIn social network data for extracting content-based user profiles</article-title>
          .
          <source>RecSys'11 - Proc. of the 5th ACM Conf. on Recommender Systems</source>
          (
          <year>2011</year>
          ),
          <fpage>293</fpage>
          -
          <lpage>296</lpage>
          . DOI:https: //doi.org/10.1145/2043932.2043986
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Tariq</given-names>
            <surname>Mahmood</surname>
          </string-name>
          and
          <string-name>
            <given-names>Francesco</given-names>
            <surname>Ricci</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <article-title>Improving recommender systems with adaptive conversational strategies</article-title>
          .
          <source>In Proceedings of the 20th ACM conference on Hypertext and hypermedia. ACM</source>
          ,
          <volume>73</volume>
          -
          <fpage>82</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Cataldo</given-names>
            <surname>Musto</surname>
          </string-name>
          , Fedelucio Narducci, Pasquale Lops, Marco De Gemmis, and
          <string-name>
            <given-names>Giovanni</given-names>
            <surname>Semeraro</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>ExpLOD: A Framework for Explaining Recommendations based on the Linked Open Data Cloud</article-title>
          .
          <source>In Proceedings of the 10th ACM Conference on Recommender Systems. ACM</source>
          ,
          <volume>151</volume>
          -
          <fpage>154</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>C.</given-names>
            <surname>Musto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Narducci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Lops</surname>
          </string-name>
          , G. Semeraro,
          <string-name>
            <surname>M. De Gemmis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Barbieri</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Korst</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Pronk</surname>
            , and
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Clout</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>Enhanced semantic TV-show representation for personalized electronic program guides</article-title>
          .
          <source>In Int. Conf. on User Modeling, Adaptation, and Personalization</source>
          , Vol.
          <volume>7379</volume>
          LNCS.
          <fpage>188</fpage>
          -
          <lpage>199</lpage>
          . DOI: https://doi.org/10.1007/978-3-
          <fpage>642</fpage>
          -31454-4 16
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>