<!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>Recommender Systems in the Internet of Talking Things (IoT T)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Fedelucio Narducci</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco de Gemmis</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pasquale Lops</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giovanni Semeraro</string-name>
          <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>
      <pub-date>
        <year>2017</year>
      </pub-date>
      <abstract>
        <p>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 ift 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.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>BACKGROUND AND MOTIVATIONS</title>
      <p>
        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 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. 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 efective user-recommender interaction.
      </p>
      <p>
        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
is capable of adapting its behavior to the user feedback by
implementing a critiquing strategy proposed in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. LOD have already
been efectively used in other recommendation scenarios [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]as well
as for other tasks such as cross-lingual information retrieval [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ].
      </p>
      <p>In the next Section how the Telegram Bot works and its
interaction with the user are described.
2</p>
    </sec>
    <sec id="sec-2">
      <title>DESCRIPTION OF THE CHATBOT</title>
      <p>
        The workflow carried out by the Bot is depicted in Figure 1. In the
ifrst 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
ofers the user two diferent 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 [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] 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 [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], also known as Personalized PageRank. Diferently 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 diferent weights to diferent nodes to get a bias towards some
nodes (in this case, the preferences of a specific user). The algorithm
has been efectively used in other recommendation environments
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. 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 [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The algorithm
generates a ranking of the items potentially interesting for a given
user. The Bot also implements an Explanation module. Tintarev
and Masthof [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] 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 [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. 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.
      </p>
      <p>An example of natural-language explanation provided by the
system is: "I suggest you Duplex because you like movies where:
the actor is Ben Stiller as in Meet the Fockers, the genre is Comedy as
in American Reunion. Moreover, I recommend Duplex because the
actor is Ben Stiller and you like him". In this case the system used the
connections, extracted from DBpedia, between the recommended
movie Duplex and the user preferences (consisting of Meet the
Fockers, American Reunion, and Ben Stiller). By tapping on the Profile
button (Figure 3 (b)) the user can also explore her profile, and update
her preferences.</p>
      <p>
        Finally, the Bot allows the user to give feedback on a given
recommendation. This module implements an Adaptive Strategy
proposed in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. By tapping on the Like, but... button (Figure 3 (b))
the user activates the Refine strategy. The Refine is a critiquing
strategy which allows the user to express a preference on a movie,
but to separately evaluate its characteristics (e.g,. I like this movie
but it runs too or I like the movie, but not an actor). Therefore, the
user can express a preference on a single characteristic of a movie.
The node associated to the characteristic the user does not like
(e.g., Quentin Tarantino) will be removed from the graph used by
the PageRank and the recommendation process starts again on the
new updated graph. Finally, the Bot allows the user to explore and
to update her profile. Through these functions the user can view
the preferences stored in her profile and change them. At the end,
when the profile has been updated, the system will run again the
PageRank and generate a new set of recommendations.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Pierpaolo</given-names>
            <surname>Basile</surname>
          </string-name>
          , Cataldo Musto, Marco de Gemmis, Pasquale Lops, Fedelucio Narducci, and
          <string-name>
            <given-names>Giovanni</given-names>
            <surname>Semeraro</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Content-based recommender systems+ DBpedia knowledge= semantics-aware recommender systems</article-title>
          .
          <source>In Semantic Web Evaluation Challenge</source>
          . Springer,
          <fpage>163</fpage>
          -
          <lpage>169</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <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 context-sensitive ranking algorithm for web search</article-title>
          .
          <source>IEEE transactions on knowledge and data engineering 15</source>
          ,
          <issue>4</issue>
          (
          <year>2003</year>
          ),
          <fpage>784</fpage>
          -
          <lpage>796</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <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="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Lorraine</given-names>
            <surname>Mcginty</surname>
          </string-name>
          and
          <string-name>
            <given-names>Barry</given-names>
            <surname>Smyth</surname>
          </string-name>
          .
          <year>2006</year>
          .
          <article-title>Adaptive selection: An analysis of critiquing and preference-based feedback in conversational recommender systems</article-title>
          .
          <source>International Journal of Electronic Commerce</source>
          <volume>11</volume>
          ,
          <issue>2</issue>
          (
          <year>2006</year>
          ),
          <fpage>35</fpage>
          -
          <lpage>57</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Cataldo</given-names>
            <surname>Musto</surname>
          </string-name>
          , Pasquale Lops, Pierpaolo Basile, Marco de Gemmis, and
          <string-name>
            <given-names>Giovanni</given-names>
            <surname>Semeraro</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Semantics-aware graph-based recommender systems exploiting linked open data</article-title>
          .
          <source>In Proceedings of the 2016 Conference on User Modeling Adaptation and Personalization. ACM</source>
          ,
          <volume>229</volume>
          -
          <fpage>237</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <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="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Fedelucio</given-names>
            <surname>Narducci</surname>
          </string-name>
          , Matteo Palmonari, and
          <string-name>
            <given-names>Giovanni</given-names>
            <surname>Semeraro</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>CrossLanguage Semantic Retrieval and Linking of E-Gov Services</article-title>
          .
          <source>In The Semantic Web - ISWC 2013 - 12th International Semantic Web Conference</source>
          , Sydney,
          <string-name>
            <surname>NSW</surname>
          </string-name>
          , Australia,
          <source>October 21-25</source>
          ,
          <year>2013</year>
          , Proceedings, Part II.
          <fpage>130</fpage>
          -
          <lpage>145</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Fedelucio</given-names>
            <surname>Narducci</surname>
          </string-name>
          , Matteo Palmonari, and
          <string-name>
            <given-names>Giovanni</given-names>
            <surname>Semeraro</surname>
          </string-name>
          .
          <year>2017</year>
          .
          <article-title>Crosslingual link discovery with TR-ESA</article-title>
          .
          <source>Inf. Sci</source>
          .
          <volume>394</volume>
          (
          <year>2017</year>
          ),
          <fpage>68</fpage>
          -
          <lpage>87</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Tommaso</given-names>
            <surname>Di</surname>
          </string-name>
          <string-name>
            <surname>Noia</surname>
          </string-name>
          , Vito Claudio Ostuni, Paolo Tomeo, and Eugenio Di Sciascio.
          <year>2016</year>
          .
          <article-title>SPrank: Semantic Path-Based Ranking for Top-N Recommendations Using Linked Open Data</article-title>
          .
          <source>ACM Trans. Intell. Syst. Technol. 8</source>
          ,
          <issue>1</issue>
          ,
          <string-name>
            <surname>Article 9</surname>
          </string-name>
          (
          <issue>Sept</issue>
          .
          <year>2016</year>
          ),
          <volume>34</volume>
          pages.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Nava</given-names>
            <surname>Tintarev</surname>
          </string-name>
          and
          <string-name>
            <given-names>Judith</given-names>
            <surname>Masthof</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>Evaluating the efectiveness of explanations for recommender systems</article-title>
          .
          <source>User Modeling and User-Adapted Interaction 22</source>
          ,
          <fpage>4</fpage>
          -
          <lpage>5</lpage>
          (
          <year>2012</year>
          ),
          <fpage>399</fpage>
          -
          <lpage>439</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Li</given-names>
            <surname>Yujian</surname>
          </string-name>
          and
          <string-name>
            <given-names>Liu</given-names>
            <surname>Bo</surname>
          </string-name>
          .
          <year>2007</year>
          .
          <article-title>A normalized Levenshtein distance metric</article-title>
          .
          <source>IEEE transactions on pattern analysis and machine intelligence 29</source>
          ,
          <issue>6</issue>
          (
          <year>2007</year>
          ),
          <fpage>1091</fpage>
          -
          <lpage>1095</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>