<!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>Integrating the Mechanisms of Critiquing-based Recommendation into Constraint Solving</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Pavle Knežević</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander Felfernig</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sebastian Lubos</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Software Technology, Graz University of Technology</institution>
          ,
          <addr-line>Infeldgasse 16b, 8010 Graz</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Critiquing-based recommender systems enhance decision-making by guiding users through a product space to ifnd items that meet their preferences. By incorporating feedback in the form of critiques that constrain feature value spaces, these systems refine user profiles to provide more accurate and tailored recommendations. This paper presents a novel approach that integrates critiquing into constraint solving, ofering particular benefits for configurable products where finding optimal configurations is complex. We conducted a preliminary ofline evaluation of unit-critiquing in the prototype system to gain initial insights into the approach's eficiency and lfexibility. The results suggest that this method has the potential to eficiently generate relevant recommendations, highlighting its promise for addressing challenges in configurable product recommendations.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Critiquing-based recommender system</kwd>
        <kwd>Constraint solving</kwd>
        <kwd>Decision-making</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        In recent decades, critiquing has gained broad recognition as an efective approach in
preferencebased search and recommender systems. This method allows users to express preferences and provide
feedback on various product aspects without specifying exact values [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. A notable advantage is its
capacity to address the cold-start problem prevalent in methods such as collaborative filtering, which
depend on detailed user data and past interactions [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. By using a navigation-based approach, these
systems help users explore the item space by presenting a reference product for acceptance or feedback
via critiques [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ]. Based on this feedback, the system refines its recommendations in subsequent
cycles, aiding users in making better decisions. Primarily, critiquing was developed for Case-Based
Reasoning (CBR) recommendation approaches, which rely on a database (or case-base) where items are
modeled as cases, and recommendations are produced by retrieving cases most similar to a user’s query
or profile [
        <xref ref-type="bibr" rid="ref5">5, 6</xref>
        ]. Although, this approach has proven useful to generate relevant recommendations, the
need for improvements remains, particularly in the system’s ability to dynamically adapt the critiquing
process in response to the user’s evolving preferences [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        Constraint solving approaches enable the compact representation of complex problems [7]. These
methods are widely employed in constraint-based recommender systems, which suggest products and
services based on a given set of constraints [8]. Such systems include a recommender knowledge base,
defined by various sets of variables and constraints, which are the core components of a constraint
satisfaction problem (CSP) [
        <xref ref-type="bibr" rid="ref5">5, 9</xref>
        ]. Solving a CSP involves finding specific assignments for the variables
that satisfy all given constraints. Those approaches have been successfully applied in complex domains
such as automotive and financial services [8].
      </p>
      <p>In this paper, we present a recommendation approach that applies critiquing while interacting with a
constraint solver from the Choco [10] library. The core idea is that user-specified critiques can be directly
translated into constraints, which are then processed by the solver. This approach leverages constraint
solving technology to identify valid configurations meeting user requirements [ 11]. Additionally, our
approach incorporates a search heuristic that considers user preferences which can positively impact
Variables of the set PROD describing the properties of a tennis racket.
results. In Section 6, we discuss the advantages of our approach. Finally, Section 7 concludes the paper
with a discussion of open research issues.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Working Example</title>
      <p>
        For demonstration purposes, we present a critiquing-based recommendation scenario within the domain
of tennis rackets. Our approach, similar to constraint-based recommender systems, frames the task of
selecting products that meet user preferences and needs (referred to as the recommendation task) as a
CSP [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. We define the recommendation task as a tuple (PROD, C, KB, F, PROD, C), where each
component is defined as follows:
• PROD: a set of variables describing the properties of a tennis racket (see Table 1).
• C: a set of variables describing the user profile (see Table 2).
• KB: a set of restricting constraints that systematically limit the possible instantiations of variables.
      </p>
      <p>For example, extremely narrow rackets require higher stifness (see Table 3).
• F: a set of filter constraints based on the user profile. For example, a user with a history of arm
injuries requires a racket with lower stifness to help prevent discomfort or injury (see Table 4).
• PROD: a single constraint in disjunctive normal form (DNF) that defines the product catalog by
specifying elementary restrictions on the possible values of variables in PROD (see Formula 1).
Here,  is the set of all products, and  represents the value of product  with respect to the
PROD = ⋁︁ (︁
⋀︁</p>
      <p>
        ︁)
∈ ∈ 
(1)
• C: a set of constraints specified by the user during interaction with the system to reflect the
user’s critiques. For example, this set might include a constraint like brand ̸= Dunlop, excluding
Dunlop from the variable brand. Initially empty, this set is updated as critiques are applied (see
Given this definition, a solution to a recommendation task is an assignment of the variables in PROD
and C, such that none of the constraints in KB, F, PROD, and C are violated [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
weight ≤ 290 ∨ headSize ≥ 104 =⇒ beamWidth ≥ 22
weight ≥ 321 =⇒ beamWidth ≤ 25
beamWidth ≤ 19 =⇒ stifness  ≥ 65
experience = beginner =⇒ weight ≤ 300 ∧ headSize ≥ 100
gender = female =⇒ weight ≤ 305
armInjury = yes =⇒ stifness  ≤ 63
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Generating Recommendations</title>
      <p>In this section, we present the key components involved in generating recommendations and describe
their core principles.</p>
      <sec id="sec-3-1">
        <title>3.1. Modelling Preferences</title>
        <p>
          Acquiring and modeling user preferences is essential in critiquing-based recommender systems. One
common approach is to translate preferences directly into constraints to guide the search process [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
However, this method restricts the search space, potentially excluding products that might better suit
user needs. An alternative, outlined in [
          <xref ref-type="bibr" rid="ref1 ref3">1, 3</xref>
          ], uses Multi-Attribute Utility Theory (MAUT) to model
preferences, accounting for conflicting values and scoring items based on their overall alignment with
user preferences. Another method, mentioned in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], employs a probabilistic model, which captures
uncertainty and variability in user desires.
        </p>
        <p>In our approach, we employ MAUT to model user preferences. Specifically, each tennis racket
variable is assigned an importance and preference value, as well as a preference metric (see Section 3.4),
initially set to nearer-is-better. These preferences are dynamically updated through user interactions
(i.e., critiquing, see Section 3.2), and play a key role in adjusting the search heuristic (see Section 3.3)
and determining the best recommendation when multiple or no solutions meet the user criteria (see
Sections 3.4 and 3.5). Additionally, the selection and presentation of attribute-oriented system-suggested
critiques are influenced by current user preferences (see Section 3.2). These concepts address the
adaptive needs of the critiquing process, making the system more flexible and responsive to changes in
user preferences.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Supporting Critiquing</title>
        <p>
          To support critiquing, a hybrid system incorporating both user-initiated and system-suggested critiquing
is proposed in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. User-initiated critiquing allows users to generate their own self-motivated critiques,
while system-suggested critiquing involves presenting users with proposals to refine the current
recommendation. As argued in [
          <xref ref-type="bibr" rid="ref3">3, 12</xref>
          ], suggested compound critiques can enhance system performance and
should align with users’ interests. Generally, critiques can be categorized as either unit or compound
forms [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Unit critiques enable users to comment on individual item attributes (e.g., heavier), whereas
compound critiques combine multiple unit critiques to address several features simultaneously.
        </p>
        <p>
          In our working example, user-initiated critiquing is facilitated by the navigation panel described
in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], which allows users to choose whether to keep or improve a specific variable. As a result, within
a single cycle, the user can submit either a unit or compound critique, with the system deciding on any
variables not mentioned in the critique. In contrast, system-suggested critiques are generated based on
the user’s playing profile and racket attributes. These critiques are suggested as follows:
• Profile-based Critiques (PBC) : these critiques address various performance preferences and are
suggested based on the user’s playing profile. Each profile, as defined by the
knowledge base (KB),
is associated with several PBCs, each linked to specific constraints. For instance, the serve-volley
profile is paired with an " Increased Serve Power" PBC, which, when selected, applies increased
weight and stifness  constraints. A PBC is recommended if the constraint solver identifies a
solution that satisfies its constraints. The process begins with the user’s playing profile and
follows a similarity-based order, evaluating each profile and its PBCs in sequence until either
three PBCs are identified or all profiles have been examined. Additionally, similarity is measured
using the Euclidean distance between default profile attributes and their respective importance.
• Attribute-oriented Critiques (AOC): these critiques are suggested using the approach described
in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. Rackets are ranked by utility (see Section 3.4), and up to four distinct compound critiques
(AOCs) are selected from this ranking, each highlighting the diferences from the current
recommendation. The order of attributes in each AOC is determined by the current importance of
the variables (see Section 3.1), with more important variables and their diferences listed before
those of lower importance. This approach helps users eficiently understand and evaluate the key
factors and diferences while still providing an overview of other relevant attributes.
        </p>
        <p>
          After the user selects or specifies critiques, these are translated into corresponding constraints. The
system then performs the following steps on all variables in the set PROD (see Section 2):
1. Update Importance: the system updates the importance of variables depending on whether they
are constrained in the current cycle or not (modified from [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]). The update is performed as follows:
() = () *
,

1
        </p>
        <p>if  is critiqued
, otherwise
where v is a variable and  represents an importance factor, set to 1.5 in our working example.
2. Store Preference Metrics: the system stores the preference metrics (see Section 3.4) for variables
based on critiques’ impact on their domains. For example, if the user specifies a critique such as
"Heavier", the metric more-is-better is assigned to the variable representing the racket’s weight.</p>
        <p>For each variable not constrained in the current cycle, the default metric nearer-is-better is applied.
Furthermore, as demonstrated in [13], monitoring successive critiques can significantly enhance
recommendation eficiency. Consequently, we maintain a model that includes critiques selected by the user in
previous cycles. Before adding a new critique (constraint) to the  set (see Section 2), we first remove
any existing critiques from the model that are inconsistent with the new one.</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Finding Valid Configurations</title>
        <p>To find valid configurations, we deploy a custom search heuristic over the search space. As noted in [ 8],
identifying valuable products and services within a set of constraints is often necessary in systems
operating within domains where millions of potential recommendations are available. Consequently,
we limit the number of solutions provided by the constraint solver to 15. The following describes the
custom variable and value-order selectors used by the system:
• Variable-order Selector: this selector prioritizes variables that are deemed more important at
a given moment. For instance, if (weight) &gt; (stifness ), then the
variable weight will be selected before stifness . This approach ensures that the instantiation of
less important variables does not afect those with higher importance. Additionally, if constraints
are relaxed (see Section 3.5), the afected variables will be given priority for selection.
• Value-order Selector: this selector considers the current preference metric of the corresponding
variable (see Section 3.1). It assigns either the IntDomainClosest or IntDomainMedian value-order
heuristic from the Choco [10] constraint solver to each variable. These selectors choose the
value from the variable domain that is closest to the specified target value or the median value,
respectively. If the preference metric is nearer-is-better or equal-is-better, the IntDomainClosest
heuristic is used, with the target value set to the current recommendation’s variable value or the
new critique, respectively. Conversely, if the metric is more-is-better, less-is-better, or
in-range-isbetter, the IntDomainMedian heuristic is employed.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Calculating Utility of a Recommendation</title>
        <p>When multiple solutions are possible, ranking the items becomes necessary. The method presented
in [8] determines the degree of similarity between user requirements and recommendations. We adapt
these metrics to meet our needs (see Formulae 4–8). The utility of a recommendation  is calculated
as a weighted sum over the variables describing racket properties  , based on user preferences (see
Formula 3). Specifically, (, ) denotes the utility of recommendation  with respect to variable ,
 () is the preferred value for  stored in the user’s preference model, and () corresponds
to the constrained range of variable . For example, if a critique indicates that the optimal racket’s
stifness is mid-stif, then the constrained range for stifness  is from 64 to 67. The terms  and
 represent the minimum and maximum values for variable  according to the KB definitions.
Additionally, the metrics are categorized as follows: more-is-better (MIB; e.g., a heavier racket is better),
less-is-better (LIB; e.g., lower stifness is better), nearer-is-better (NIB; e.g., stifness closer to 65 is better),
equal-is-better (EIB; e.g., a grip size of 2 is optimal), and in-range-is-better (IRIB; e.g., medium stifness is
preferable). The choice of metric for each variable depends on its assigned metric (see Section 3.1).</p>
        <p>In our working example, calculating utility is crucial for ranking attribute-oriented critiques (see
Section 3.2) and valid configurations. In the latter case, the item with the highest utility is recommended,
and the preferred values of variables in the user’s preference model are updated to match this item.
() = ∑︁ (, ) * ()
∈</p>
        <p>− ()
  : (, ) =
() − ()</p>
        <p>() − 
 : (, ) =
() − ()</p>
        <p>| () − |
  : (, ) = 1 − () − ()
 : (, ) =
{︃1,   =  ()
{︃1,   ∈ ()</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.5. Dealing with Unsatisfiable Critiques</title>
        <p>
          (8)
(9)
In scenarios where no item satisfies the critiques (constraints), displaying a message such as “no product
found” is highly undesirable [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. Additionally, research indicates that users cannot always be relied
upon to provide consistent feedback throughout a recommendation session [13].
        </p>
        <p>
          To address this issue, we employ a linear-time constraint relaxation technique based on the data
structure described in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. The core idea is to associate each constraint with a list of items that satisfy it.
This approach makes it straightforward to identify which constraints need to be relaxed to include a
specific product in the result set. We define the Optimal Relaxation Set (ORS) as follows:
• The ORS is a set of relaxations, where each relaxation is a set of constraints that includes the
smallest number of new constraints (introduced in the current cycle) and is minimal in size.
For example, if product  requires the relaxation of two new constraints and one prior constraint
(specified in previous cycles), while product  requires the relaxation of one new constraint and two
prior constraints, then product  will be included in the ORS. After generating the ORS, we rank its
repair alternatives using the relaxation utility formula (see Formula 9) presented in [14]. Here, S denotes
the set of constraints to be relaxed, and () represents the importance of a constraint c from the
user’s perspective, corresponding to the importance of the constrained variable.
        </p>
        <p>1
_() = ∑︀∈ ()
If the top-ranked relaxation includes only prior constraints, it is automatically applied by removing the
diagnosed user critiques (constraints). This method is known as hard relaxation (see [8]). Conversely, if
the top-ranked relaxation includes at least one new constraint, the user is presented with a relaxation
proposal that includes only the new constraints and omits prior ones. This approach helps prevent
the user from being overwhelmed by potentially irrelevant information due to changes in preferences.
Additionally, relaxation proposals are suggested based on the ranking. If the user does not accept any
proposal, no constraints will be removed from the model. Conversely, accepting a proposal implies the
application of hard relaxation to the constraints within the corresponding constraint set.</p>
        <p>After performing the relaxation, the preference metric for variables afected by the relaxation (i.e.,
those involved in relaxing constraints) is set to nearer-is-better. These variables are then prioritized by
the Variable-order Selector when identifying the next solution (see Section 3.3). Once this process is
complete, the prioritization of these variables is removed.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Prototype System</title>
      <p>
        The prototype follows the typical interaction model between users and a critiquing-based recommender
system, as described in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Initially, users are asked to provide their profile information, including
gender, knowledge of tennis rackets, experience, playing profile, and any history of arm injuries. For
users with basic knowledge of tennis rackets, the system requests additional details on the racket
features they are familiar with.
      </p>
      <p>After specifying their profile information, users can enter preferred values for known racket features
(or all features, in the case of advanced knowledge), along with their importance on a scale from 0 to 5,
where 0 indicates the lowest importance and 5 the highest. The system stores these preferences and
calculates the importance as follows: () = 1 + _ * , where
 represents the number of racket variables, _ is the chosen importance value, and
 is a constant factor, set to 0.2. If users do not specify a preference for a particular variable, its default
value and importance are assigned based on their profile.</p>
      <p>The system then identifies and presents the best-fitting recommendation to the user (see Figure 1). The
user can either accept this recommendation or provide critiques. Each profile-based and attribute-oriented
critique can be selected to apply the corresponding critique. For users with advanced knowledge of tennis
rackets, the suggestion of profile-based critiques is omitted. Additionally, attribute-oriented critiques
follow a simple presentation pattern [15] and include an "Explain" option for a detailed explanation of
the critique’s impact on the search space. Conversely, the navigation panel for user-initiated critiquing
allows users to manually specify critiques using the options from "Keep" and "Improve" components.
The "Improve" component for a specific racket attribute includes possible critiques to modify the
recommended product, such as "decrease", "increase", "Flexible", "Medium", and "Stif" for racket stifness.
For example, the user can choose to retain the current recommendation’s brand by selecting the "Keep"
option for the brand, while simultaneously constraining the stifness by selecting the " Medium" option
(see Figure 1). For users with advanced knowledge, this panel includes all racket features, while for basic
users, it displays only features they identified as familiar, which can be modified using the "Change
shown features" option. By clicking on the "Find" option, the system applies the selected critiques from
the navigation panel. If no solutions meeting the new user criteria exist, the system presents relaxation
proposals (see Figure 2). The "Previous Proposal" and "Next Proposal" options allow the user to navigate
through a maximum of three proposals. The user can then either accept the proposal via the "Apply
Relaxation" option, or select "Continue Without Relaxation".</p>
      <p>Additionally, users can access explanations of their profile through the "Explain My Profile" option
and receive details about racket features via the "Explain Features" option. These explanations facilitate
a deeper exploration of the item space. Furthermore, the system incorporates explanations for the
rationale behind the given recommendation or relaxation (see Figures 1 and 2), adhering to the criterion
of satisfaction described in [16]. Finally, the "History of Shown Rackets" option displays the last three
recommendations, their specifications, and an option to set them as the current recommendation again.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Evaluation and Results</title>
      <p>
        In this evaluation, we compared our approach with the conventional CBR approach by examining the
performance of unit critiquing. For the evaluation, we used a custom dataset of 523 real-world rackets
obtained from online selling platforms. Each racket is described by 9 variables (see Section 2), and
all of these variables, except for the racket’s name, were subject to critique. We conducted an ofline
experiment employing the leave-one-out approach described in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. At the start of each evaluation
session, a random racket is temporarily removed from the dataset and used as the target for critiquing.
Each session simulated a male, experienced user with a random playing profile, advanced knowledge of
tennis rackets, and no arm injuries, ensuring unrestricted target selection. Additionally, two random
variables are assigned preferred values matching those of the target, with importance randomly selected
on a scale from 0 to 5. Once these steps are completed and the initial recommendation is generated,
the target racket is reintroduced into the dataset. To simulate user critiques, a variable difering from
the target is randomly selected for critique, aiming to align the recommended racket with the target.
This critique is specified using one of the corresponding " Improve" options (see Section 4). For example,
if the selected variable is stifness, and the recommended racket has a stifness of 64 while the target
racket has 67, an "increase" option for stifness is applied as a critique. This process continues until the
target racket is recommended, marking the end of a single evaluation session. Finally, we measured
performance based on the number of cycles required, conducting a total of 1000 sessions.
      </p>
      <p>
        For generating recommendations, our approach follows the principles mentioned in previous sections.
Conversely, in the conventional CBR approach, all items in the product catalog CB are modeled as
product cases [6], which capture product details through predefined variables. When a user applies
a critique c to a recommended item r, the goal is to find an item that satisfies c and is maximally
similar to r [
        <xref ref-type="bibr" rid="ref2">2, 6</xref>
        ]. Specifically, items in CB that do not meet criteria of c are filtered out, and the
next recommendation is selected from the remaining items based on their similarity with r. Similarity
is measured using the utility described in Section 3.4, where each variable is assigned a
nearer-isbetter metric, except for the variable mentioned in c, which is excluded from the utility calculation.
Additionally, user preferences are modeled in the same way as in our approach, and the same user
interface of the prototype system is utilized.
      </p>
      <p>The evaluation results show that the conventional approach needed an average of 8.04 critiquing
cycles to recommend the target item, whereas our approach required 5.18 cycles. These results highlight
the potential eficiency and flexibility of our approach.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Discussion</title>
      <p>
        In summary, conceptualizing the recommendation task within a critiquing-based recommender system
as a CSP enables the efective utilization of constraint solving technology. Unlike conventional methods
that typically require exhaustive scanning of the entire case-base to identify optimal products, a
CSPbased approach narrows the solution space and employs a targeted search heuristic. This not only
mitigates issues related to poor runtime performance but also has the potential to enhance the system’s
ability to identify highly preferred configurations, as indicated by the preliminary evaluation conducted
in Section 5. This aligns well with the objective of aiding users in efective product configuration [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
Additional key advantages include the flexibility provided by relaxation options and the diagnosis
inherent in constraint technology. These features facilitate the eficient handling of scenarios where
user requirements conflict with underlying constraints, as detailed in [
        <xref ref-type="bibr" rid="ref5">5, 8</xref>
        ].
      </p>
    </sec>
    <sec id="sec-7">
      <title>7. Conclusions, Limitations and Future Work</title>
      <p>
        This paper introduced a new approach to designing critiquing-based recommender systems by combining
the strengths of critiquing with constraint solving technologies, particularly relevant for assisting
users in configuring products. We demonstrated this approach within the context of a tennis racket
recommender system by representing the recommendation task as a constraint satisfaction problem
and detailing its key components for user support and recommendation generation. Additionally,
we conducted a preliminary ofline experiment to evaluate the performance of unit-critiquing within
the prototype system. The results indicate that this approach is promising in terms of eficiency and
lfexibility. However, a limitation of our evaluation strategy is the reliance on simulated users, which may
not fully reflect real-world scenarios. To address this, we plan to validate the approach in a real-world
study to obtain practical insights. Future work will also focus on integrating additional concepts, such
as optimizing performance. Finally, we plan to extend our approach by incorporating information from
successfully completed critiquing sessions to enhance the eficiency of the critiquing process [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
[6] B. Smyth, Case-Based Recommendation, Springer Berlin Heidelberg, Berlin, Heidelberg, 2007, pp.
      </p>
      <p>342–376. doi:10.1007/978-3-540-72079-9_11.
[7] M. Torrens, B. Faltings, P. Pu, Smartclients: Constraint Satisfaction as a Paradigm for Scaleable</p>
      <p>Intelligent Information Systems, Constraints 7 (2002) 49–69. doi:10.1023/A:1017940426216.
[8] M. Atas, T. N. T. Tran, A. Felfernig, S. P. Erdeniz, R. Samer, M. Stettinger, Towards
SimilarityAware Constraint-Based Recommendation, in: F. Wotawa, G. Friedrich, I. Pill, R. Koitz-Hristov,
M. Ali (Eds.), Advances and Trends in Artificial Intelligence. From Theory to Practice, Springer
International Publishing, Cham, 2019, pp. 287–299.
[9] E. C. Freuder, A. K. Mackworth, Chapter 2 - Constraint Satisfaction: An Emerging Paradigm,
in: F. Rossi, P. van Beek, T. Walsh (Eds.), Handbook of Constraint Programming, volume 2 of
Foundations of Artificial Intelligence , Elsevier, 2006, pp. 13–27. doi:10.1016/S1574-6526(06)
80006-4.
[10] C. Prud’homme, J.-G. Fages, X. Lorca, Choco documentation, TASC, INRIA Rennes, LINA CNRS</p>
      <p>UMR 6241 (2014) 64–70.
[11] A. Felfernig, A. Falkner, D. Benavides, Interacting with feature model configurators, in: Feature
Models: AI-Driven Design, Analysis and Applications, Springer International Publishing, Cham,
2024, pp. 73–93. doi:10.1007/978-3-031-61874-1_4.
[12] J. Reilly, K. McCarthy, L. McGinty, B. Smyth, Dynamic Critiquing, in: P. Funk, P. A. González Calero
(Eds.), Advances in Case-Based Reasoning, Springer Berlin Heidelberg, Berlin, Heidelberg, 2004,
pp. 763–777.
[13] J. Reilly, K. McCarthy, L. McGinty, B. Smyth, Incremental Critiquing, in: M. Bramer, F. Coenen,
T. Allen (Eds.), Research and Development in Intelligent Systems XXI, Springer London, London,
2005, pp. 101–114.
[14] A. Felfernig, R. Burke, Constraint-based recommender systems: technologies and research issues,
in: Proceedings of the 10th International Conference on Electronic Commerce, ICEC ’08,
Association for Computing Machinery, New York, NY, USA, 2008. doi:10.1145/1409540.1409544.
[15] K. McCarthy, J. Reilly, L. McGinty, B. Smyth, On the Dynamic Generation of Compound Critiques in
Conversational Recommender Systems, in: P. M. E. De Bra, W. Nejdl (Eds.), Adaptive Hypermedia
and Adaptive Web-Based Systems, Springer Berlin Heidelberg, Berlin, Heidelberg, 2004, pp. 176–
184.
[16] N. Tintarev, J. Masthof, Designing and Evaluating Explanations for Recommender Systems,
Springer US, Boston, MA, 2011, pp. 479–510. doi:10.1007/978-0-387-85820-3_15.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pu</surname>
          </string-name>
          ,
          <article-title>A Comparative Study of Compound Critique Generation in Conversational Recommender systems</article-title>
          , in: V. P. Wade,
          <string-name>
            <given-names>H.</given-names>
            <surname>Ashman</surname>
          </string-name>
          ,
          <string-name>
            <surname>B.</surname>
          </string-name>
          Smyth (Eds.),
          <source>Adaptive Hypermedia and Adaptive Web-Based Systems</source>
          , Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2006</year>
          , pp.
          <fpage>234</fpage>
          -
          <lpage>243</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Mandl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <article-title>Improving the Performance of Unit Critiquing</article-title>
          , in: J.
          <string-name>
            <surname>Masthof</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Mobasher</surname>
            ,
            <given-names>M. C.</given-names>
          </string-name>
          <string-name>
            <surname>Desmarais</surname>
          </string-name>
          , R. Nkambou (Eds.),
          <string-name>
            <surname>User</surname>
            <given-names>Modeling</given-names>
          </string-name>
          , Adaptation, and Personalization, Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2012</year>
          , pp.
          <fpage>176</fpage>
          -
          <lpage>187</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pu</surname>
          </string-name>
          ,
          <article-title>Critiquing-based recommenders: survey and emerging trends, User Modeling and User-Adapted Interaction 22 (</article-title>
          <year>2012</year>
          )
          <fpage>837</fpage>
          -
          <lpage>852</lpage>
          . doi:
          <volume>10</volume>
          .1007/s11257-011-9108-6.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Uta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          , V.
          <string-name>
            <surname>-M. Le</surname>
            ,
            <given-names>T. N. T.</given-names>
          </string-name>
          <string-name>
            <surname>Tran</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Garber</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Lubos</surname>
          </string-name>
          , T. Burgstaller,
          <article-title>Knowledgebased recommender systems: overview and research directions</article-title>
          ,
          <source>Frontiers in Big Data</source>
          <volume>7</volume>
          (
          <year>2024</year>
          ). doi:
          <volume>10</volume>
          .3389/fdata.
          <year>2024</year>
          .
          <volume>1304439</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Friedrich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Jannach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zanker</surname>
          </string-name>
          ,
          <source>Constraint-Based Recommender Systems</source>
          , Springer US, Boston, MA,
          <year>2015</year>
          , pp.
          <fpage>161</fpage>
          -
          <lpage>190</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-1-
          <fpage>4899</fpage>
          -7637-
          <issue>6</issue>
          _
          <fpage>5</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>