<!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>Chatbot-based Tourist Recommendations Using Model-based Reasoning</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Iulia Nica</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oliver A. Tazl</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Franz Wotawa</string-name>
          <email>wotawag@ist.tugraz.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>TU Graz, Institute for Software Technology</institution>
          ,
          <addr-line>Inffeldgasse 16b/2, A-8010</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Chatbots have gained increasing importance for research and practice with a lot of applications available today including Amazon's Alexa or Apple's Siri. In this paper, we present the underlying methods and technologies behind a Chatbot for e-tourism that allows people textually communicate with the purpose of booking hotels, planning trips, and asking for interesting sights worth being visit. In particular, we show how model-based reasoning can be used for enhancing user experience during a chat, e.g., in cases where too many possible selections are available or where user preferences are too restricted causing inconsistencies and as a consequence not possible answers to be provided. Besides the underlying foundations, we provide a use case from the intended tourism domain to show how such a model-based chatbot effectively can be used in practice.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Communicating with systems based on natural language is very
much appealing and of growing interest and importance also for
industry. See for example [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ] for predictions about the rise of the
chatbot market in the future. Natural language interfaces (NLI) offer
a lot of new possibilities for humans to interact and collaborate with
users [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Chatbots are a form of artificial intelligence system that
allows a human-computer interaction in a natural language form. They
could be based on rule sets or neural networks in order to decide the
correct answer to the user’s request. Chatbots are not restricted to
certain application domains. They are flexible enough to be used in
many different application scenarios and domains including systems
for tourists recommending sights, hotels, or even complete travel
plans. Often chatbots rely on pre-specified patterns that trigger the
chatbot’s behavior, e.g., see [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], restricting its space of interaction
with users.
      </p>
      <p>In this paper, we focus on improving adaptivity of chatbots in the
context of recommender systems, where we have identified two
issues that arise during and human-computer interaction session. In
order to make a recommendation, the chatbot has to interact with the
user in order to find out preferences and wishes in order to make an
appropriate recommendation. In case of too little preference
information, the first issue is, that a chatbot may not be able to restrict the
number of recommendations to be provided to the user. Selecting a
particular recommendation, e.g., the first one in a list of 1,000
elements might not be the best idea. It might also be not possible to find
a general applicable function that returns the best solution for the
current user. Hence, there is a need to further restrict the search space,
which can be provided by asking the user about further preferences
that allow to restrict the search space in an optimal way.
The second issue that may arise is the impossibility of providing
even a single recommendation because of inconsistent or too
restrictive preferences provided by the user. In this case, it is necessary, to
provide feedback to the user and ask for removing preferences or for
ranking preferences accordingly to their importance. In this paper,
we focus on these two issues and provide a solution for both. For the
first issue, we propose the use of Entropies for selecting new
preferences. For the second issue, we suggest using model-based diagnosis
for identifying the causes of inconsistencies. In addition, we put both
parts together in a single recommendation algorithm for improving
user experience when interacting with a chatbot.</p>
      <p>The main contributions of this paper can be summarized as the
follows.
1. An algorithm that is based on the ideas of model-based
diagnosis and Shannon’s information entropy to solve recommendation
problems.
2. An iterative approach to the algorithm realized with a natural
language interface using a chatbot.</p>
      <p>The remainder of this paper is organized as follows: In the next
section we introduce an example domain and give an overview of
our algorithmic approach. Afterwards, we get into more details
regarding the designed algorithms. Finally, we discuss related research
and conclude the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Chatbot for Tourism – A Case Study</title>
      <p>In this section, we discuss the use of chatbots for recommendation
in the area of tourism where we introduce a typical conversation
between a tourist and a chatbot. This conversion presents a use case of
a tourism chatbot and serves as motivating example throughout this
paper. We depict the whole conversation in Figure 1, which illustrates
the recommendation process for hotels in a specific area. There, after
selecting the sight of interest, i.e., the Branderburg gate, the tourist
requests a low-priced hotel near this sight. The answer of the
chatbot from Line 14 in Figure 1 introduce a first challenging situation
of every recommender, i.e., an unsuccessful user query. An
intelligent recommender should be able to deal with such a situation and
provide a list of items which fulfill as many requirements as
possible, and ideally explain the cause of trouble. Therefore, the next step
for the recommender should be to automatically identify the minimal
set of inconsistent requirements provided by the user. Furthermore,
a flexible, interactive query-based approach should allow the user to
choose from the identified inconsistent requirements, and as a
consequence enhancing the recommendation. The second corner situation,
which is illustrated in Line 18, deals with the case where we have too
many hotels matching the customer requirements. In this situation,
1 Bot: Hello John, how can I help you today?
2 John: I would like to plan a trip.
3 Bot: Great! Are you interested in a specific region
4 or would you like to plan the trip by activities?
5 John: I am interested in a specific region.
6 Bot: Please click on map to pick the point of interest
7 or type in the place that you are interested in.
8 (John clicks a point on the map near the city Berlin)
9 Bot: OK, I will search for relevant sights near Berlin.
10 (Shows a list of relevant sights in Berlin.)
11 John: Show me the Brandenburger Tor.
12 (The bot shows several information about the Brandenburger Tor.)
13 John: Looks nice! Find a low-priced hotel near this sight.
14 Bot: I am sorry, but there are no hotels of this category near
15 Brandenburger Tor. Which requirement is not that important
16 to you? Price or distance?
17 John: Distance.
18 Bot: OK! There are 9 hotels available for you. You should
19 incorporate another filter. How about parking? Will
20 you have a car?
21 John: No, I do not need a parking facility.
22 Bot: OK! Now there are 4 hotels left. Here is the list: Hotel 7,
23 Hotel 10, Hotel 15, Hotel 18.
24 John: Cool! Is Hotel 15 available from 19.08.2018 to 25.08.2018
25 for two people?
26 Bot: Yes! Should I book it?
27 John: Yes.
28 Bot: Hotel booked!
the system should be able to generate a proposal for the user,
suggesting which hotel attribute or feature should be further constrained
to narrow down the number of relevant hotels. Here the chatbot could
randomly offer alternative features to choose from, or even better, it
could optimize the searching process by making use of an algorithm
to determine the attribute, which if constrained, leads to the largest
information gain. Note that we rely on a pure knowledge-based
approach, i.e., we assume that no other filtering like collaborative or
content-based is available.
In the following, we further discuss the details of how to overcome
the considered issues that arise during the recommendation process,
i.e., not being able to provide a recommendation due to
inconsistencies, and not being able to reduce the number of selection given the
current requirements. In this discussion we focus only on those parts
that are important for the case study for the sake of clarity.
Therefore, we further consider only the items of type hotel to be part of
the knowledge base, which we depict in Table 1. There we further
assume that each hotel possesses a simplified set of attributes,
containing the name of the hotel, its price, defining the price range (low,
medium, or high), its category with the domain f2-stars, 3-stars,
4stars, 5-starsg, the availability of parking space being either true or
false, and distance (short, medium, or long). Note that distance is
a special attribute, as it represents the distance to the starting point
introduced by the user in the current recommendation session and
thus it has to be recalculated on demand and not actually stored in
the knowledge base.</p>
      <p>It is easy to see that the requirements specified by the customer in
Line 13 cannot be satisfied by the items from Table 1:</p>
      <p>R1 = fr1 : distance = short; r2 : price = lowg;
as there is no low-priced hotel within distance = short in the given
assortment. Hence, we are interested in identifying that minimal set
of requirements that when changed, lead to a recommendation for the
customer. In our example, the situation is simple. The
recommendation system determines that either r1 or r2 have to be relaxed (in
the sense that the chosen requirement will not be further taken into
consideration when computing the recommendation). Still, in more
complex scenarios, when the user query implies more requirements,
the solution is not so straightforward. For instance, if the query was:
” Find a low-priced, 4-stars hotel near this sight.”, then we would
have to deal with the following user requirements:</p>
      <p>R2 = fr1 : distance = short; r2 : price = low;</p>
      <p>
        r3 : category = 4 starsg:
There choosing r1 alone as inconsistent requirement would not solve
the problem, because, as one can see in Table 1, we still have no items
that satisfy both r2 and r3. Hence, in order to automatically identify
the minimal set of inconsistent requirements, we would have to make
use of logical reasoning methods that are able to determine causes for
inconsistencies, e.g., consistency-based reasoning, where we have to
describe the inconsistent requirements problem as a diagnosis
problem. The idea is not new and state-of-the-art knowledge-based
approaches like [
        <xref ref-type="bibr" rid="ref14 ref21 ref6 ref7">6, 7, 14, 21</xref>
        ] compute minimal sets of faulty
requirements, which should be changed in order to find a solution. In this
paper, we take the idea and transfer it to the domain of chatbots. In
addition, we do not need to come up with conflicts for computing
diagnoses but instead compute inconsistent requirements directly from
the given formalized knowledge. Furthermore, the idea of
personalized repairs is covered by asking the user directly which requirements
he or she prefers. We discuss the recommendation algorithm in detail
in Section 3.
      </p>
      <p>
        In the following, we now discuss the other particular situation,
where a recommender would have to deliver too many items
matching the customer’s requirements. In order to determine which
attribute selection is the best one for accelerating the searching
process, we suggest computing the entropy of the items’ attributes at the
first place. Using entropies for finding the best next selection in
order to accelerate the overall search process is not new. For example,
De Kleer and Williams [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] introduced a measurement selection
algorithm for obtaining the next best measurement in order to reduce
the diagnosis search space. In our case, we have a similar situation
and adapt using Entropies for our purpose. Further not that entropy
is a measure commonly used in decision and information theory to
quantify choice and uncertainty. For more details on Shannon’s
information entropy, we refer the interested reader to [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ].
      </p>
      <p>
        Let us consider our case study. In this example, the user query
R = fdistance = fmed; longg; price = lowg leads to the
solution list given in Table 2. There we have a set of 9 hotels with the
attributes distance; category; parking, and price. In order to
further reduce the number of hotels provided by the recommender, we
have to identify the next attribute that should be further constraint by
the user. In case of entropy used for selection, we have to compute
the entropy for each attribute first. For more details on Shannon’s
information entropy we refer the reader to [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. For computing the
entropy of an attribute X, we make use of the following formula
from [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] where P (xi) is the probability that attribute X takes value
xi:
      </p>
      <p>H(X) =</p>
      <p>X P (xi) log P (xi)
i
(1)</p>
      <p>
        Entropy has several interesting properties. Among them, as
Shannon mentions in [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], H = 0 if and only if all the P (xi) but one are
zero. Thus only when we are certain of the outcome does H vanish,
otherwise H is positive. In the other extreme case, for a given n, H is
a maximum and equal to log n when all the P (xi) are equal to 1=n.
      </p>
      <p>Let us now make use of entropies for selecting the next best
attribute. Hence, we compute the attributes’ entropies as follows:
H(distance) =</p>
      <p>P (med) log P (med)</p>
      <p>P (long) log P (long)
=
1=3 log(1=3)</p>
      <p>2=3 log(2=3)
= 0:92
H(category) =</p>
      <p>P (3s) log P (3s)</p>
      <p>P (2s) log P (2s)
=
5=9 log(5=9)</p>
      <p>4=9 log(4=9)
= 0:99
H(parking) =</p>
      <p>P (t) log P (t)</p>
      <p>P (f ) log P (f )
=
5=9 log(5=9)</p>
      <p>4=9 log(4=9)</p>
      <p>From these figures we see that we obtain the maximum entropy
for the attributes category and parking, whereas the minimum
entropy is computed for price. In order to make the best choice, the
recommendation system offers the attribute with the largest entropy
value, i.e., category or parking in our case, to the user and asks him
or her to further constrain it via selecting a certain attribute value. If
the number of the remaining recommendations still exceeds a
predefined maximum number of recommendations, the described solution
reduction process based on entropy continues with the second best
entropy attribute as already described above. In the next section, we
describe an algorithm implementing this process in more detail and
also integrate it within a whole recommendation process loop.
3</p>
    </sec>
    <sec id="sec-3">
      <title>EntRecom Algorithm</title>
      <p>
        Before stating our recommendation algorithm, which is based on a
diagnosis algorithm that is close to ConDiag [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], and on a method
that applies Shannon’s information entropy [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] for the attributes, we
introduce and discuss basic definitions. We first formalize the
inconsistent requirements problem, by exploiting the concepts of
ModelBased Diagnosis (MBD) [
        <xref ref-type="bibr" rid="ref22 ref3">3, 22</xref>
        ] and constraint solving [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>The inconsistent requirements problem requires information on
the item catalog (i.e., the knowledge-base of the recommendation
system) and the current customer’s requirements. Note that the
knowledge-base of the recommender may be consistent with the
customer’s requirements (i.e., the customer’s query) and an appropriate
number of recommendations can be offered. In this case, the
recommendation system shows the recommendations to the customer and
no further algorithms have to be applied. Otherwise, if no solutions
to the recommendation problem were found, then the minimal set of
requirements, which determined the inconsistency with the
knowledge base, have to be identified and consequently offered to the user
as explanation for not finding any recommendation. The user can in
this case adapt the requirement(s) (relax it/them). Here we borrow the
idea from MBD and introduce abnormal modes for the given
requirements, i.e., we use Ab predicates stating whether a requirement i is
should be assumed valid (:Abi) or not (Abi) in a particular context.
The Ab values for the requirements are set by the model-based
diagnosis algorithm so that the assumptions together with the
requirements and the knowledge-base are consistent. In the following, we
define the inconsistent requirements problem and its solutions.</p>
      <p>We start stating the inconsistent requirements problem:
Definition 1 (Inconsistent Requirements Problem) Given a tuple
(KB; REQ) where KB denotes the knowledge base of the
recommender system, i.e., the item catalog, and REQ denotes the
customer requirements. The Inconsistent Requirements Problem arises
4
when KB together with REQ is inconsistent. In this case we are
interested in identifying those requirements that are responsible for
the inconsistency.</p>
      <p>For our example introduced in Section 2, there is a knowledge
base KB capturing the rows of the Table 1. This can be formalized
as follows: (name = Hotel 1 ^ distance = med ^ category =
5 stars ^ parking = f alse ^ price = med) _ (name =
Hotel 2 ^ distance = med ^ category = 5 stars ^ parking =
true ^ price = high) _ : : :. We have formalized knowledge
stating equations, i.e., saying that distance cannot be short and med
at the same time, i.e., distance = short ^ distance = med ! ?.
In addition, there are two requirements REQ = fR1; R2g, and for
each requirement a variable AbR1; AbR2 stating whether the
requirement should be considered or not. The requirements R1, and R2
themselves can be defined using the following logical representation
AbR1 = 0 ! (distance = short), and AbR2 = 0 ! (price =
low) respectively. Obviously, when assuming all AbRi (for i = 1; 2)
to be 0, we obtain an inconsistency because there is no hotel
matching the requirements. Therefore, an explanation for such
inconsistencies is needed.</p>
      <p>
        A solution or explanation to the inconsistent requirements
problem can be easily formalized using the analogy with the definition of
diagnosis from Reiter [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. We first introduce a modified
representation of (KB; REQ) comprising (KBD; REQ) where KBD
comprises KB together with rules of the form AbR for each requirement
R in REQ. The solution to the Inconsistent Requirements Problem
can now be defined using the modified representation as follows:
      </p>
      <sec id="sec-3-1">
        <title>Definition 2 (Inconsistent Requirements) Given a modified rec</title>
        <p>ommendation model (KBD; REQ). A subset REQ is a valid
set of inconsistent requirements iff KBD [f:AbRjR 2 REQn g[
fAbRjR 2 g is satisfiable.</p>
        <p>A set of inconsistent requirements is minimal iff no other set
of inconsistent requirements 0 exists. A set of inconsistent
requirements is minimal with respect to cardinality iff no other set
of inconsistent requirements 0 with j 0j &lt; j j exists. From here
on we assume minimal cardinality sets when using the term minimal
sets.</p>
        <p>For our example, inconsistent requirements are fR1g and fR2g.
In both cases there are hotels available and we do not obtain an
inconsistency any more. In the following, we describe the algorithm
for providing recommendations in the context of chatbots.</p>
        <p>
          Algorithm 1 EntRecom takes a knowledge base, a set of customer
requirements, and the maximum number of recommendations, and
computes all recommendations. Algorithm 1 is an iterative algorithm
that starts with deriving a constraint model CM from the
knowledge base KB and the customer requirements REQ. Such a
constraint representation captures the semantics of the provided
knowledge base and requirements. Following the ideas presented in [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ],
we use a constraint solver both to directly compute the
recommendations and to determine the inconsistent requirements. Still, in contrast
to ConDiag, which guarantees to compute all the minimal diagnoses
up to a predefined cardinality, we are interested here only in the
minimal cardinality diagnosis, that in our case translates to the minimal
set of inconsistent requirements.
        </p>
        <p>Therefore, in Step 2, we check the consistency of our model by
calling CSolver, a constraint solver taking the set of constraints CM</p>
      </sec>
      <sec id="sec-3-2">
        <title>Algorithm 1 EntRecom(KBD; REQ; n)</title>
        <p>Input: A modified knowledge base KBD, a set of customer
requirements REQ and the maximum number of recommendations
n
Output: All recommendations S
1: Generate the constraint model CM from KBD and REQ
2: Call CSolver(CM ) to check consistency and store the result
in S
3: if S = ; then
4: Call MI REQ(CM; jREQj) and store the inconsistent
requirements in IncReqs
5: Call askUser(IncReqs) and store the answer in</p>
        <p>AdaptedReqs
6: CM = KB [ (REQ n IncReqs [ AdaptedReqs)
7: go to Step 2
8: end if
9: while jSj &gt; n do
10: Call GetBestEntrAttr(AS ) and store the result in a
11: AS = AS n a
12: Call askUser(a) and store the answer in va
13: S = R (S; va))
14: end while
15: return S
and returning the set of recommendations S. If no recommendation
was found (the empty set is returned), then we have to identify the
minimal set of inconsistent requirements. For this purpose, we call
algorithm 2 MI REQ(CM; jREQj) . Algorithm 2 starts with
assuming one faulty requirement (i = 1) and continues to search, if
necessary, up to the number of existing requirements. The constraint
solver is this time called restricting the solutions to the specific
cardinality i (see Line 2). In Line 3, the function P is assumed to map
the output of the solver to a set of solutions. The termination criteria
before reaching jREQj is given in Line 4, where a non-empty
solution obtained from the satisfiability check is returned as result. In
case no solution is found, the empty set is returned (Line 8).</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Algorithm 2 MI REQ(CM; jREQj)</title>
      <p>Input: A constraint model CM and the cardinality of the
requirements set jREQj
Output: Minimal set of inconsistent requirements
1: for i = 1 to jREQj do</p>
      <p>(jRPEQj
2:</p>
      <p>M = CM [</p>
      <p>j=0
3: S = P (CSolver(M ))
4: if S 6= ; then</p>
      <sec id="sec-4-1">
        <title>5: return S</title>
        <p>6: end if
7: end for</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>8: return ;</title>
      <p>abj = i
)</p>
      <p>When being back into the EntRecom algorithm, we call the
function askUser in order to adapt the inconsistent requirements
according to customer preferences. Afterward the constraint model is
updated, by mapping the new adapted requirements, and the solver
is called once again for checking consistency. In Step 9, the
algorithm checks repeatedly if the cardinality of the computed
recommendations is greater than the predefined maximum number of
recommendations. Within this loop, we first determine the attribute with
the best entropy, by calling function GetBestEntrAttr and store
the result in a. Note that the entropy of each attribute is computed
considering the values from the current set of solutions S. Next, we
update the remaining set of attributes, then ask the user again about
the preferred values of attribute a, and store the answer in va. In Step
13, function R keeps only the recommendations where attribute a
takes values from va. Algorithm 1 obviously terminates, assuming
that CSolver terminates.</p>
      <p>Algorithm 3 GetBestEntrAttr(AS )
Input: The set of attributes AS , containing the attributes and their
domains accessible using the function dom.</p>
      <p>Output: ares the attribute with the highest entropy
1: ares = null; ent =
2: for a 2 As do
3: e = Px2dom(a)
4: if ent &lt; e then
5: ent = e
6: ares = a
7: end if
8: end for</p>
      <sec id="sec-5-1">
        <title>9: return ares</title>
        <p>1</p>
        <p>P (x) log P (x) compare Equation 1</p>
        <p>Algorithm 3 GetBestEntrAttr determines the first attribute
having the highest entropy. The algorithm uses the set AS providing the
the domain da for each attribute a 2 AS . GetBestEntrAttr iterates
over the set of attributes. In every step it calculates the entropy for
the current attribute a. If this attribute has a higher entropy than the
entropies of the previously selected attributes, this value is stored in
ent. In addition, the attribute itself is stored in ares. After the end of
the iteration cycle, the attribute with the highest entropy value stored
in ares is given back as result. Obviously, the algorithm terminates
providing a finite set of attributes.</p>
        <p>With the provide algorithms a chatbot for recommendations can
be build that is able to deal with inconsistent requirements as well as
missing requirements in a more or less straightforward way making
use of previously invented algorithms. We are currently
implementing the algorithms into a chatbot environment in order to provide a
solid experimental platform for carrying out different case studies.
4</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Related Work</title>
      <p>
        The use of model-based reasoning and model-based diagnosis in
particular in the field of recommender systems is not novel. Papers like
[
        <xref ref-type="bibr" rid="ref14 ref21 ref7">7, 14, 21</xref>
        ] compute the minimal sets of faulty requirements, which
should be changed in order to find a solution. There the authors
compute the diagnosis for inconsistent requirements, relying on the
existence of minimal conflict sets. In [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], an algorithm that calculates
personalized repairs for inconsistent requirements is presented.The
5
algorithm integrates concepts of MBD with ideas of collaborative
problem solving, thus improving the quality of repairs in terms of
prediction accuracy. [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] introduces the concept of representative
explanations, which follow the idea of generating diversity in
alternative diagnoses informally, constraints that occur in conflicts should
as well be included in diagnoses presented to the user. Instead of
computing all minimal conflicts within the user requirements in
advance, [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] proposes to determine preferred conflicts ”on demand”
and use a general-purpose and fast conflict detection algorithm for
this task.
      </p>
      <p>
        Among the authors who integrate diagnosis and constraint
solving more closely, we may mention [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and later on [
        <xref ref-type="bibr" rid="ref26 ref27">26, 27</xref>
        ], who
proposed a diagnosis algorithm for tree-structured models. Since all
general constraint models can be converted into an equivalent
treestructured model using decomposition methods, e.g., hyper tree
decomposition [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ], the approach is generally applicable. [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ]
provides more details regarding the coupling of decomposition methods
and the diagnosis algorithms for tree-structured models. Further on
[
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] generalized the algorithms of [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] the authors
also propose the use of constraints for diagnosis where conflicts are
used to drive the computation. In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], which is maybe the earliest
work that describes the use of constraints for diagnosis, the authors
introduce the using constraints for computing conflicts under the
correctness assumptions. For this purpose they developed the concept of
constraint propagation. Despite of the fact that all of these algorithms
use constraints for modeling, they mainly focus on the integration of
constraint solving for conflict generation, which is different to our
approach. For presenting recommendation tasks as constraint
satisfaction problem, we refer to [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        Human-chatbot communication is a broad field. It includes the
technical aspect as well as psychological and human aspects.
Papers like [
        <xref ref-type="bibr" rid="ref12 ref31">12, 31</xref>
        ] show several approaches of implementing
chatbots in several domains. [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ] shows an artificial intelligence natural
language robot (A.L.I.C.E.), as an extension to ELIZA [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ], which
is based on an experiment by Alan M. Turing in 1950 [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ]. This
work describes how to create a robot personality using AIML, an
artificial intelligence modelling language, to pretend intelligence and
self-awareness. In [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] the authors demonstrate the usage of
chatbots in the field of tracking food consumption. Sun et al. [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]
introduced a conversational recommendation system based on
unsupervised learning techniques. The bot was trained by successful order
conversations between user and real human agents.
      </p>
      <p>
        Papers like [
        <xref ref-type="bibr" rid="ref13 ref16 ref33 ref8">8, 13, 16, 33</xref>
        ] address the topics user acceptance and
experience. In [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ] a pre-study shows that users infer the authenticity
of a chat agent by two different categories of cues: agent-related cues
and conversational-related cues. To get an optimal conversational
result the bot should provide a human-like interaction. Questions of
conversational UX design raised by [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] demonstrate also
the need to rethink user interaction at all. The topic of recommender
systems with conversational interfaces is shown in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], where an
adaptive recommendation strategy was shown based on
reinforcement learning methods.
5
      </p>
    </sec>
    <sec id="sec-7">
      <title>Conclusions</title>
      <p>In this paper, we introduced and discussed a recommendation
algorithm based on the concepts of model-based diagnosis and Shannon’s
6
information entropy. The algorithm is intended to be used in a chatbot
environment for the tourism domain to handle the user responses via
a textual user interface. We presented the challenges to solve
common problems in the decision process of a tourist who
communicates with such a chatbot. The identified challenges included the case
of too many offerings that are presented to the user during the
recommendation process and the case of too less offerings, which are
caused by inconsistencies between the available knowledge of the
chatbot and the given user requirements obtained during a
conversation session.</p>
      <p>In the proposed approach, we use model-based diagnosis to
resolve the inconsistent requirements problem and Shannon’s
information entropy for solving the issue of too large amounts of offerings
by presenting attributes and their values that can be chosen by the
user in order to restrict the number of recommendations. Both
solutions can be easily integrated within a chatbot environment guiding
the chatbot application during the recommendation process.</p>
      <p>We are currently implementing the presented algorithms
including an integration with an existing chatbot environment dealing with
tourism recommender systems. The algorithm is purposed to be used
in several other industries and service domains as part of our future
work. In the future, we will use this implementation for carrying out
experiments and user studies with the objective to show that the
approach can be effectively used in practical chatbot settings.</p>
    </sec>
    <sec id="sec-8">
      <title>Acknowledgements</title>
      <p>Research presented in this paper was carried out as part of the
ASIT-IC project that is co-financed by the Cooperation Programme
Interreg V-A Slovenia-Austria 2014-2020, European Union, European
Regional Development Fund.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Chatbot</given-names>
            <surname>Market Size And Share Analysis</surname>
          </string-name>
          ,
          <source>Industry Report</source>
          ,
          <fpage>2014</fpage>
          -
          <lpage>2025</lpage>
          . https://www.grandviewresearch.com/ industry
          <article-title>-analysis/chatbot-market</article-title>
          .
          <source>Accessed: 2018-05- 07.</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Gartner</given-names>
            <surname>Top</surname>
          </string-name>
          <article-title>Strategic Predictions for 2018 and Beyond</article-title>
          . https://www.gartner.com/smarterwithgartner/ gartner-top
          <article-title>-strategic-predictions-for-2018-andbeyond</article-title>
          . Accessed:
          <fpage>2018</fpage>
          -05-07.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Johan de Kleer and Brian C. Williams</surname>
          </string-name>
          , 'Diagnosing multiple faults',
          <volume>32</volume>
          (
          <issue>1</issue>
          ),
          <fpage>97</fpage>
          -
          <lpage>130</lpage>
          , (
          <year>1987</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Rina</given-names>
            <surname>Dechter</surname>
          </string-name>
          , Constraint Processing, Morgan Kaufmann,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Yousri</given-names>
            <surname>El Fattah and Rina Dechter</surname>
          </string-name>
          , '
          <article-title>Diagnosing tree-decomposable circuits'</article-title>
          ,
          <source>in Proceedings 14th International Joint Conf. on Artificial Intelligence</source>
          , pp.
          <fpage>1742</fpage>
          -
          <lpage>1748</lpage>
          , (
          <year>1995</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Felfernig</surname>
          </string-name>
          , Gerhard Friedrich, Dietmar Jannach, and Markus Stumptner, '
          <article-title>Consistency-based diagnosis of configuration knowledge bases'</article-title>
          ,
          <volume>152</volume>
          ,
          <fpage>213</fpage>
          -
          <lpage>234</lpage>
          , (02
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Felfernig</surname>
          </string-name>
          , Gerhard Friedrich, Monika Schubert, Monika Mandl, Markus Mairitsch, and
          <string-name>
            <given-names>Erich</given-names>
            <surname>Teppan</surname>
          </string-name>
          .
          <article-title>Plausible repairs for inconsistent requirements</article-title>
          ., 01
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Asbjørn</given-names>
            <surname>Følstad</surname>
          </string-name>
          and Petter Bae Brandtzaeg, '
          <article-title>Chatbots and the new world of hci'</article-title>
          , interactions,
          <volume>24</volume>
          (
          <issue>4</issue>
          ),
          <fpage>38</fpage>
          -
          <lpage>42</lpage>
          , (
          <year>June 2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Hector</given-names>
            <surname>Geffner</surname>
          </string-name>
          and
          <string-name>
            <given-names>Judea</given-names>
            <surname>Pearl</surname>
          </string-name>
          , '
          <article-title>An Improved Constraint-Propagation Algorithm for Diagnosis'</article-title>
          ,
          <source>in Proceedings 10th International Joint Conf. on Artificial Intelligence</source>
          , pp.
          <fpage>1105</fpage>
          -
          <lpage>1111</lpage>
          , (
          <year>1987</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Georg</surname>
            <given-names>Gottlob</given-names>
          </string-name>
          , Nicola Leone, and Francesco Scarcello, '
          <article-title>Hypertree Decomposition and Tractable Queries'</article-title>
          ,
          <source>in Proc. 18th ACM SIGACT SIGMOD SIGART Symposium on Principles of Database Systems (PODS99)</source>
          , pp.
          <fpage>21</fpage>
          -
          <lpage>32</lpage>
          , Philadelphia, PA, (
          <year>1999</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Georg</surname>
            <given-names>Gottlob</given-names>
          </string-name>
          , Nicola Leone, and Francesco Scarcello, '
          <article-title>A comparison of structural CSP decomposition methods'</article-title>
          ,
          <source>Artificial Intelligence</source>
          ,
          <volume>124</volume>
          (
          <issue>2</issue>
          ),
          <fpage>243</fpage>
          -
          <lpage>282</lpage>
          , (
          <year>December 2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>B.</given-names>
            <surname>Graf</surname>
          </string-name>
          , M. Kru¨ger,
          <string-name>
            <surname>F.</surname>
          </string-name>
          <article-title>Mu¨ller, A. Ruhland, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Zech</surname>
          </string-name>
          , 'Nombot - simplify
          <source>food tracking'</source>
          , volume
          <volume>30</volume>
          -November-2015, pp.
          <fpage>360</fpage>
          -
          <lpage>363</lpage>
          . Association for Computing Machinery, (
          <year>2015</year>
          ).
          <source>cited By</source>
          <volume>3</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Jennifer</given-names>
            <surname>Hill</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. Randolph</given-names>
            <surname>Ford</surname>
          </string-name>
          , and Ingrid G. Farreras, '
          <article-title>Real conversations with artificial intelligence: A comparison between humanhuman online conversations and human-chatbot conversations'</article-title>
          ,
          <source>Computers in Human Behavior</source>
          ,
          <volume>49</volume>
          ,
          <fpage>245</fpage>
          -
          <lpage>250</lpage>
          , (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Dietmar</given-names>
            <surname>Jannach</surname>
          </string-name>
          .
          <article-title>Finding preferred query relaxations in content-based recommenders</article-title>
          ,
          <year>04 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Dietmar</surname>
            <given-names>Jannach</given-names>
          </string-name>
          , Markus Zanker, and Matthias Fuchs, '
          <article-title>Constraintbased recommendation in tourism: A multiperspective case study'</article-title>
          ,
          <source>Journal of IT and Tourism</source>
          ,
          <volume>11</volume>
          ,
          <fpage>139</fpage>
          -
          <lpage>155</lpage>
          , (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>A.</given-names>
            <surname>Khanna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Jain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kumar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Singh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Pandey</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Jha</surname>
          </string-name>
          , '
          <article-title>Anatomy and utilities of an artificial intelligence conversational entity'</article-title>
          , pp.
          <fpage>594</fpage>
          -
          <lpage>597</lpage>
          .
          <article-title>Institute of Electrical and Electronics Engineers Inc</article-title>
          ., (
          <year>2016</year>
          ).
          <source>cited By</source>
          <volume>0</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Tariq</surname>
            <given-names>Mahmood</given-names>
          </string-name>
          , Francesco Ricci, and Adriano Venturini, '
          <article-title>Learning adaptive recommendation strategies for online travel planning'</article-title>
          ,
          <source>Information and Communication Technologies in Tourism</source>
          <year>2009</year>
          ,
          <fpage>149</fpage>
          -
          <lpage>160</lpage>
          , (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Jakob</given-names>
            <surname>Mauss</surname>
          </string-name>
          and Martin Sachenbacher, '
          <article-title>Conflict-driven diagnosis using relational aggregations'</article-title>
          ,
          <source>in Working Papers of the 10th International Workshop on Principles of Diagnosis (DX-99)</source>
          , Loch Awe, Scotland, (
          <year>1999</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>R.J.</given-names>
            <surname>Moore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Arar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.-J.</given-names>
            <surname>Ren</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.H.</given-names>
            <surname>Szymanski</surname>
          </string-name>
          , '
          <article-title>Conversational ux design'</article-title>
          ,
          <source>volume Part F127655</source>
          , pp.
          <fpage>492</fpage>
          -
          <lpage>497</lpage>
          . Association for Computing Machinery, (
          <year>2017</year>
          ).
          <source>cited By</source>
          <volume>1</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Iulia</surname>
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Nica</surname>
          </string-name>
          and Franz Wotawa, '
          <article-title>ConDiag - Computing minimal diagnoses using a constraint solver'</article-title>
          ,
          <source>in Proc. 23rd International Workshop on Principles of Diagnosis (DX)</source>
          , (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Barry O'Sullivan</surname>
            ,
            <given-names>Alexandre</given-names>
          </string-name>
          <string-name>
            <surname>Papadopoulos</surname>
          </string-name>
          , Boi Faltings, and Pearl Pu, '
          <article-title>Representative explanations for over-constrained problems', 1</article-title>
          , (07
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Raymond</surname>
            <given-names>Reiter</given-names>
          </string-name>
          ,
          <article-title>'A Theory of Diagnosis from First Principles'</article-title>
          ,
          <volume>32</volume>
          (
          <issue>1</issue>
          ),
          <fpage>57</fpage>
          -
          <lpage>95</lpage>
          , (
          <year>1987</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>Martin</given-names>
            <surname>Sachenbacher and Brian C. Williams</surname>
          </string-name>
          , '
          <article-title>Diagnosis as semiringbased constraint optimization'</article-title>
          ,
          <source>in European Conference on Artificial Intelligence</source>
          , pp.
          <fpage>873</fpage>
          -
          <lpage>877</lpage>
          , (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>C. E.</given-names>
            <surname>Shannon</surname>
          </string-name>
          , '
          <article-title>A mathematical theory of communication'</article-title>
          ,
          <source>Bell system technical journal</source>
          ,
          <volume>27</volume>
          , (
          <year>1948</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>B. Abu</given-names>
            <surname>Shawar</surname>
          </string-name>
          and E. Atwell, '
          <article-title>Using corpora in machine-learning chatbot systems'</article-title>
          , in
          <source>International Journal of Corpus Linguistics</source>
          , vol.
          <volume>10</volume>
          , (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>Markus</given-names>
            <surname>Stumptner</surname>
          </string-name>
          and Franz Wotawa, '
          <article-title>Diagnosing Tree-Structured Systems'</article-title>
          ,
          <source>in Proceedings 15th International Joint Conf. on Artificial Intelligence</source>
          , Nagoya, Japan, (
          <year>1997</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>Markus</given-names>
            <surname>Stumptner</surname>
          </string-name>
          and Franz Wotawa, '
          <article-title>Diagnosing tree-structured systems'</article-title>
          ,
          <source>Artificial Intelligence</source>
          ,
          <volume>127</volume>
          (
          <issue>1</issue>
          ),
          <fpage>1</fpage>
          -
          <lpage>29</lpage>
          , (
          <year>2001</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>Markus</given-names>
            <surname>Stumptner</surname>
          </string-name>
          and Franz Wotawa, '
          <article-title>Coupling CSP decomposition methods and diagnosis algorithms for tree-structured systems'</article-title>
          ,
          <source>in Proceedings of the 18th International Joint Conference on Artificial Intelligence (IJCAI-03)</source>
          , pp.
          <fpage>388</fpage>
          -
          <lpage>393</lpage>
          , Acapulco, Mexico, (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Chen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Jin</surname>
          </string-name>
          , '
          <article-title>Conversational recommendation system with unsupervised learning'</article-title>
          , pp.
          <fpage>397</fpage>
          -
          <lpage>398</lpage>
          . Association for Computing Machinery, Inc, (
          <year>2016</year>
          ).
          <source>cited By</source>
          <volume>0</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <surname>Alan</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Turing</surname>
          </string-name>
          ,
          <source>Computing Machinery and Intelligence</source>
          ,
          <fpage>23</fpage>
          -
          <lpage>65</lpage>
          , Springer Netherlands, Dordrecht,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>R.S.</given-names>
            <surname>Wallace</surname>
          </string-name>
          ,
          <article-title>The anatomy of</article-title>
          <string-name>
            <surname>A.L.I.C.E.</surname>
          </string-name>
          , Springer Netherlands,
          <year>2009</year>
          . cited By 53.
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>J.</given-names>
            <surname>Weizenbaum</surname>
          </string-name>
          , '
          <article-title>Eliza-a computer program for the study of natural language communication between man and machine'</article-title>
          ,
          <source>Communications of the ACM</source>
          ,
          <volume>9</volume>
          (
          <issue>1</issue>
          ),
          <fpage>36</fpage>
          -
          <lpage>45</lpage>
          , (
          <year>1966</year>
          ).
          <source>cited By</source>
          <volume>1052</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>N.V.</given-names>
            <surname>Wu</surname>
          </string-name>
          <article-title>¨nderlich and S. Paluch, 'A nice and friendly chat with a bot: User perceptions of ai-based service agents'</article-title>
          .
          <source>Association for Information Systems</source>
          , (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>