![](bg4.png)
body type selector, clothing recommender with
models and clothing images, as well as three
knowledge bases and a clothing images database.
The proposed recommendation system was mainly
designed following the conceptual architecture of a
classical knowledge-based system.
Before going to describe each one of these
components, let us first to present a formalization of
some sets used in the recommendation system. Let S,
C, BT, and BP be four nonempty sets, where: S =
{s1, s2, …, sn}, n is the cardinality of S, that is, the
number of elements that belong to S, and S denotes a
set of clothing fashion Styles ; C = {c1, c2, …, ck},
k is the cardinality of C, and C denotes a set of
clothing Categories; BT = { bt1, bt2,...,bt5}, denoting
a set of Body Types; and BP = {bp1, bp2, …,bpm},
m is the cardinality of BP, and denotes a set of Body
Parameters; M = {m1, m2, …, mt}, t is the cardinality
of M, and M denotes a set of clothing Models
associated with the categories; IM = {im1, im2, …,
ims}, s is the cardinality of IM, and IM denotes a set
of clothing images associated with the models.
Figure 1: Recommender System Architecture.
3.2.1 The Intelligent User Interface (IUI)
This component has the responsibility of interacting
with the user and with the rest of the components of
the recommendation system. Thus, the user interacts
with the recommendation system via IUI, which
provides overall control over the whole process. This
component includes question-answer facilities that
are generated by the engines in the architecture,
enabling the system to interact with the user for the
purpose of asking questions and providing answers.
It is a kind of intelligent interface that includes a
controller mechanism playing the role of the control
of interactions in the recommendation system,
working as an intermediary between the user and the
two components: User modeling and Clothing
Recommendation Engine involving clothing
categories, models with clothing images. It takes the
responsibility for controlling the interactions among
the components and presenting information to the
user or to getting information from the user. It
contains rule interactions with knowledge about the
system components, that is, a kind of meta-
knowledge on the other components of the
recommendation system, having the meta-rules for
interacting with the user. Then, the main functions of
the controller are to interpret the user action and to
select the appropriate component for acting, to
coordinate the operations of the five components, and
to interact with users. Hence, it is able to recognize
all actions that an user or any component might
produce, and deciding what action should be taken.
Thus, IUI uses, for instance, rules in the form IF the
current user action is about the task T
i
THEN call
component
i
.
3.2.2 The User Modeling - UM
This component is responsible for creating and
updating the user model. To achieve this, it requests
and stores in the KBUM knowledge base from the
user model: (i) information directly elicited from the
user by the interface and (ii) information inferred by
the two modules in UM: SE, BT, and also (iii)
information inferred by the CCRE component.
The Clothing Fashion Style Engine - SE
This module is responsible for interacting with the
user, via questionnaire generated from the rules in the
style knowledge base, aiming to identify her clothing
fashion style. Hence, to select the clothing fashion
style, the engine works on a knowledge-base in the
form of production rules and then, sometimes, by
asking questions to the user, keeping user's responses
in a working memory. Therefore, from these rules
and user's inputs, the SE makes a decision about user's
fashion style. Its inference engine uses backward
chaining to explore the rule base.
Formally, SE can be defined as follows:
Input: a rule base and some pairs <attribute,
value> obtained from the questionnaire answered by
the user taking into account questions from the rules
asked her.
Process: Rule-based inference Engine.
Output: si⋲S, representing a single element from
S.
The Body Type Selector - BTS
This module is responsible for selecting the user's
body type.
Formally, BTS can be defined as follows:
A Knowledge-based Approach for Personalised Clothing Recommendation for Women
613