2474
Utilizing Semantic Web and Software Agents in a Travel Support System
/HW XV QRZ EULHÀ\ GHVFULEH WKH QH[W WKUHH
agents visible in Figure 2. The DBA represents
interface between the database (in our case the
Jena repository) and the agent system. It is cre-
DWHGWRVHSDUDWHDQDJHQWV\VWHPIURPDQ³RXWVLGH
technology” in such a way that in case of changes
in the repository all other changes will be local-
ized to that agent, while the remaining parts of
the system stay unchanged.
In the current system the DMA is a simple one.
A number of agents of this type, responsible for
different travel objects, are created upon system
VWDUWXS7KHLUUROHLVWR³WUDYHUVH´WKHUHSRVLWRU\
WR¿QGRXWGDWHGDQGLQFRPSOHWHWRNHQVDQGUHTXHVW
new/additional ones to be generated to update/
complete information stored in the repository. To
DFKLHYHWKLVJRDO'0$VJHQHUDWHDFRQ¿JXUDWLRQ
¿OHRIDQDSSURSULDWH:$DQGVHQGWKHPWRWKH
CA for processing. In the future DMAs will be
responsible for complete management of tokens
stored in the repository to assure their complete-
ness, consistency, and freshness.
The PIA consists of a manager and a number
RI³5')VXEDJHQWV´PIA workers in Figure 6).
Each of these subagents represents one or more of
VLPSOHUXOHVRIWKHW\SH³,ULVKSXELVDOVRDSXE´
RU³-DSDQHVHIRRGLV2ULHQWDOIRRG´7KHVHUXOHV
are applied to the set of RDF triples returned by
the initial query. Rule application involves query-
ing the repository and is expected to expand the
result set (e.g., if the user is asking for a Korean
restaurant then other Oriental restaurants are
likely to be included). The PIA subagents oper-
ate as a team passing the result set from one to
the next (in our current implementation they are
organized in a ring), and since their role is to
maximize the set of responses to be delivered to
the user no potential response is removed from
the set. Final result of their operation is the MRS
that is operated on by the PA. Action diagram of
the PIA is depicted in Figure 6.
Figure 4. Statechart of the CA
2475
Utilizing Semantic Web and Software Agents in a Travel Support System
Figure 5. Statechart of the IA
Figure 6. Action diagram of the PIA
2476
Utilizing Semantic Web and Software Agents in a Travel Support System
A separate PA will be created for each user
and will play two roles in the content delivery
subsystem. First, it is the central coordinator—for
each user query it directs it from one agent to the
next, constantly monitoring processing progress.
6HFRQGLWXWLOL]HVXVHUSUR¿OHWR¿OWHUDQGRUGHU
responses that are to be sent to the user. More
precisely, the user query, after being pre-processed
and transformed into an RDQL query (see Kacz-
marek et al., 2005 for more details), is being sent to
the DBA. What is returned is the initial response
consisting of a number of tokens that satisfy the
query. This response is being redirected (by the
PA) to the PIA to obtain the MRS. Then the PA
XWLOL]HVWKHXVHUSUR¿OHWRUHPRYHIURPWKH
set responses that do not belong there (e.g., user
is known to be adversely inclined toward Italian
food, and pizza in particular, and thus all of the
Italian food serving restaurants have to be ex-
cluded); (2) order the remaining selections in such
a way that those that are believed to be of most
LQWHUHVWWRWKHXVHUZLOOEHGLVSOD\HG¿UVWHJLI
user is known to stay in Hilton hotels, they will
EHGLVSOD\HG¿UVW7KHVWDWHFKDUWGLDJUDPRIWKH
PA is contained in Figure 7.
As we can see the PA behaves differently
depending if the user is using the system for the
¿UVWWLPHRULILWLVDUHWXUQLQJXVHU,QWKHODWWHU
case, the PA will attempt at gathering explicit
feedback related to the information delivered to
the user during the previous session. This will
be done through a generation of a questionnaire
that will be shown to the user, who may decide
to ignore it (see also Galant & Paprzycki, 2002).
Obtained responses will be used to adjust the
XVHUSUR¿OH:HFDQDOVRVHHKRZWKH3$SOD\V
the role of response preparation orchestrator by
always receiving responses from other agents and
forwarding them to the next agent in the processing
chain. We have selected this model of informa-
WLRQSURFHVVLQJVRWKDW³ZRUNHUDJHQWV´OLNHWKH
DBA or the PIA know only one agent to interact
with (the PA). Otherwise, an unnecessary set of
dependencies would be introduced to the system
PDNLQJLWVXEVWDQWLDOO\PRUHGLI¿FXOWWRPDQDJH
(any change to one of these agents would have
Figure 7. Statechart of the PA
2477
Utilizing Semantic Web and Software Agents in a Travel Support System
to be propagated to all agents that interact with
it—while in our case only a single agent needs
to be adjusted).
Replacing Semantic Web with a
Semantic Database
As noted before, currently the Semantic Web is
a n a t t r ac t iv e i d e a t h a t l a c k s i t s m ai n c o m p o n e nt —
large repositories of semantically demarcated (in
particular travel-related) data. This was one of
the important reasons to change the design of our
systems from data indexing into data gathering.
$VDUHVXOWZHDUHDEOHWRFUHDWHRXURZQ³PLQL6H-
mantic Web” (in the form of a semantic database)
and store there information that in the future will
allow us to extend our system beyond the basic
skeleton described here, and start experiment-
ing with its true projected functionalities—like
content personalization.
Let us describe how the HTML-demarcated
information available on the Web is turned into
semantic tokens representing travel objects in our
UHSRVLWRU\%HIRUHSURFHHGLQJOHWXVGLVFXVVEULHÀ\
ontologies utilized in the system. As reported
in Gawinecki, Gordon, Nguyen, et al., 2005;
Gawinecki, Gordon, Paprzycki, et al., 2005; and
Gordon, Kowalski, et al., 2005, while there exists
a large number of attempts at designing ontologies
depicting various aspects of the world, we were
not able to locate a complete ontology of the most
EDVLFREMHFWVLQWKH³ZRUOGRIWUDYHO´VXFKDVD
hotel and a restaurant. More precisely, there exists
an implicit ontology of restaurants utilized by the
Figure 8. Hilton Sao Paulo Morumbi main page
2478
Utilizing Semantic Web and Software Agents in a Travel Support System
ChefMoz project (ChefMoz, 2005), but it cannot
be used directly as a Semantic Web resource, due
to the fact that data stored there is infested with
bugs that make its automatic utilization impossible
without pre-processing that also involves manual
operations (see Gawinecki, Gordon, Paprzycki,
et al., 2005 and Gordon, Kowalski, et al., 2005
for more details).
This being the case we have proceeded in
two directions. First, as reported in Gawinecki,
Gordon, and Paprzycki, et al. (2005) and Gor-
don, Kowalski, et al. (2005) we have reverse
engineered the restaurant ontology underlying
the ChefMoz project and cleaned data related to
Polish restaurants. Separately we have proceeded
with designing hotel ontology using a pragmatic
approach. Our hotel ontology is to be used to rep-
resent, manipulate, and manage hotel information
actually appearing within Web-based repositories
(in context of travel; i.e., not hotels as landmarks,
or sites of historical events). Therefore we have
studied content of the 10 largest Internet travel
agencies and found out that most of them describe
hotels using very similar vocabulary. Therefore
we used these common terms to shape our hotel
ontology and the results of this process have
been reported in Gawinecki, Gordon, Nguyen,
et al. (2005); Gawinecki, Gordon, Paprzycki, et
al. (2005); and Gordon, Kowalski, et al. (2005).
As an outcome we have two fully functional,
complete ontologies (of a hotel and of a restau-
rant) that are used to shape data stored in our
Jena repository.
In this context, let us illustrate how we trans-
form the VCP featured data into travel tokens. As
Figure 9. Hilton Sao Paulo Morumbi amenities page
2479
Utilizing Semantic Web and Software Agents in a Travel Support System
an example we will utilize the Web site belonging
to Hilton hotels (www.hilton.com). More precisely,
let us look at some of the information that is avail-
able at the Web site of Hilton Sao Paulo Morumbi
depicted in Figure 8.
As clearly seen, from this page we can extract
information such as the hotel name, address, and
phone numbers. This page would also have to
be interacted with, in case we planned to utilize
our travel support system to make an actual
reservation (which is only in very long-term
SODQVDQGRXWRIVFRSHRIWKLVFKDSWHU7R¿QG
WKHUHPDLQLQJLQIRUPDWLRQGH¿QHGE\WKHKRWHO
ontology requires traversing the Web site deeper.
Therefore, for instance, the WA has to go to the
SDJHFRQWDLQHGLQ)LJXUHWR¿QGLQIRUPDWLRQ
about hotel amenities.
As a result the following set of RDF triples (in
XML-based notation) will be generated:
<rdf:Description
UGIDERXW ³KWWSZZZDJHQWODEQHWWUDYHOKRWHOV+LOWRQ6$2-
02+,´!
MURRP$PHQLWUGIUHVRXUFH ³KWWSKRWHO
UGI$FFHVVLEOH5RRP´!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHO
UGI$LU&RQGLWLRQLQJ´!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHO
UGI&RQQHFWLQJ5RRPV´!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHO
UGI6KRZHU´!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHO
UGI&DEOH7HOHYLVLRQ´!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHO
UGI&11DYDLODEOH´!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHO
UGI%DWKUREH´!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHOUGI%DWKUR
RP$PHQLWLHV´!
MURRP$PHQLW\UGIUHVRXUFH ³KWWSKRWHOUGI&RIIHHB
7HD0DNHU ´!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHO
UGI+DLUGU\HU´!
MURRP$PHQLW\
UGIUHVRXUFH ³KWWSKRWHOUGI+LJK6SHHG,QWHUQHW&RQQHF
WLRQ´!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHO
UGI,QWHUQHW$FFHVV´!
MURRP$PHQLW\UGIUHVRXUFH ³KWWSKRWHOUGI,URQ´!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHO
UGI,URQLQJ%RDUG´!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHO
UGI0LQLEDU´!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHO
UGI1HZVSDSHU´!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHOUGI:DNH
XS&DOOV´!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHOUGI7ZR
OLQH3KRQH´!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHO
UGI9RLFH0DLO´!
MURRP$PHQLW\
UGIUHVRXUFH ³KWWSKRWHOUGI7HOHSKRQH:LWK'DWD3RUWV´
!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHO
UGI6SHDNHU3KRQH´!
MURRP$PHQLW\ UGIUHVRXUFH ³KWWSKRWHO
UGI6PRNH'HWHNWRUV´!
MURRP$PHQLW\UGIUHVRXUFH ³KWWSKRWHOUGI6DIH´!
UGI'HVFULSWLRQ!
These RDF triples represent a part of our
hotel ontology, but this time they became its in-
stance representing a given Hilton hotel (values
RIYDULRXVDVSHFWVRIWKHKRWHODUH¿OOHGLQ2XU
WA will then continue traversing the hotel site
WR ¿QG IRULQVWDQFH LQIRUPDWLRQ DERXW ¿WQHVV
and recreation as well as check-in and check-out
times. An appropriate page belonging to the same
hotel is depicted in Figure 10 while the resulting
set of RDF triples follows.
2480
Utilizing Semantic Web and Software Agents in a Travel Support System
<rdf:Description
UGIDERXW ³KWWSZZZDJHQWODEQHWWUDYHOKRWHOV+LOWRQ6$2-
02+,´!
MUHFUHDWLRQ6HUYLFH
UGIUHVRXUFH ³KWWSKRWHOUGI)LWQHVV&HQWHU2QVLWH´!
MUHFUHDWLRQ6HUYLFH
UGIUHVRXUFH ³KWWSKRWHOUGI,QGRRU2U2XWGRRU&RQQHFW
LQJ3RRO´!
MSHWV3ROLF\UGIUHVRXUFH ´KWWSKRWHO
UGI1R3HWV$ORZHG´!
MDGGLWLRQDO'HWDLO
UGIUHVRXUFH ³KWWSZZZDJHQWODEQHWWUDYHOKRWHOV+LOWRQ
6$202+,&KHFN,Q&KHFN2XW´!
UGI'HVFULSWLRQ!
<rdf:Description
UGIDERXW ³KWWSZZZDJHQWODEQHWWUDYHOKRWHOV+LOWRQ6$2-
02+,&KHFN,Q&KHFN2XW´!
MGHWDLO!&KHFNLQ 30 &KHFNRXW 30M
GHWDLO!
UGI'HVFULSWLRQ!
In this way the WA processes all necessary
pages belonging to the Hilton Sao Paulo Morumbi
and as a result obtains a set of RDF triples that
FRQVWLWXWHLWVFRPSOHWHGH¿QLWLRQIURPWKHSRLQW
of view of ontology utilized in our system). This
set of RDF triples is then time and priority level
stamped, packed into an ACL message and send
to the CA that inserts it into the priority queue—to
be later inserted, by the IA, to the semantic data-
base. Depending on the assignment the WA may
continue producing tokens of other Hilton hotels
or, if work is completed, it informs the CA about
this fact and self-destructs. In this way in our
system, by manually creating WAs for a variety of
travel information sources, we can collect real-life
data representing actual travel objects.
)LJXUH+LOWRQ6DR3DXOR0RUXPEL¿WQHVVDQGUHFUHDWLRQDQGFKHFNLQDQGFKHFNRXWLQIRUPDWLRQ
2481
Utilizing Semantic Web and Software Agents in a Travel Support System
RDF Data Utilization: Content
Personalization
Let us now discuss how the data stored in the
system is used to deliver personalized responses
WRWKHXVHU:KLOHRXUDSSURDFKWRXVHUSUR¿OH
construction and utilization is based on ideas
presented in Burke (2002); Fink and Kobsa (2002);
Galant and Paprzycki (2002); Kobsa, Koenemann,
and Pohl (2001); Montaner, López, and De La Rosa
5LFKDQG6RáW\VLDNDQG&UDEWUHH
(1998), however utilization of these methods in the
context of ontologically demarcated information is
novel and was proposed originally in Gawinecki,
Vetulani, Gordon, and Paprzycki (2005).
To b e a b l e t o d e l i v e r p e r s o n a l i z e d c o n t e nt t o t he
user of the system, we have to be able to represent
WKHXVHULQWKHV\VWHP¿UVW²GH¿QHXVHUSUR¿OH
)XUWKHUPRUHWKHSURSRVHGXVHUSUR¿OHKDVWREH
created in such a way to simplify interactions in
the system. Since our system is oriented toward
processing of ontologically demarcated data, it is
very natural to represent user preferences in the
same way. Thus we adapted an overlay model of
XVHUSUR¿OHZKHUHRSLQLRQVDUH³FRQQHFWHG´ZLWK
appropriate concepts in the domain ontology. This
approach is also called a student model, since it
has been found useful to describe knowledge of
WKHVWXGHQWDERXWVSHFL¿FWRSLFVRIWKHGRPDLQ
(Greer & McCalla, 1994). Basic tenets of the
overlay model are depicted in Figure 11.
For instance, let us consider our hotel ontology
and assume that the user likes to stay in hotels that
have both a pool and ¿WQHVVFHQWHU. Both these
features are subclasses of the concept ameni-
ties. We can represent user interest by assigning
weight to each amenity (the larger the weight the
more important the given feature is to the user).
In case of our hypothetical customer, both pool
and exercise room will be assigned large weights,
while features that user is not particularly inter-
ested in (e.g., availability of ironing board—see
Figure 9) will be assigned small weight—the
lesser the interest is the closer to 0 the value
will be. In the case of features about which we
do not know anything about users’ preferences,
no value will be assigned (see Figure 11). Let us
observe that in this approach we are mimicking
the notion of probability—all assigned values are
from the interval (0, 1). This means that even in
the case of strong counter preference towards a
given feature we will assign value 0 (there are
)LJXUH2YHUOD\PRGHOXWLOL]HGWRUHSUHVHQWXVHUSUR¿OH
2482
Utilizing Semantic Web and Software Agents in a Travel Support System
no negative values available). Proceeding in this
described way, we will create a special instance
of hotel ontology, one that represents user-hotel-
SUR¿OH. The following fragment of an instance
of hotel ontology (this time represented in an
1QRWDWLRQGHSLFWVXVHU.DUROSUR¿OHDVLWLV
represented in our system:
:KarolOpinions a sys:OpinionsSet;
sys:containsOpinion
[sys:about hotel:Pool;
V\VKDV&ODVVL¿FDWLRQV\V,QWHUHVWLQJ
V\VKDV1RUPDOL]HG3UREDELOLW\@
[sys:about hotel:ExerciseRoom;
V\VKDV&ODVVL¿FDWLRQV\V,QWHUHVWLQJ
V\VKDV1RUPDOL]HG3UREDELOLW\@
[sys:about res:AirConditioning;
V\VKDV&ODVVL¿FDWLRQV\V,QWHUHVWLQJ
V\VKDV1RUPDOL]HG3UREDELOLW\@
[sys:about hotel:BathroomAmenities;
V\VKDV&ODVVL¿FDWLRQV\V,QWHUHVWLQJ
V\VKDV1RUPDOL]HG3UREDELOLW\@
[sys:about hotel:IroningBoard;
V\VKDV&ODVVL¿FDWLRQV\V1RW,QWHUHVWLQJ
V\VKDV1RUPDOL]HG3UREDELOLW\@
[sys:about hotel:Iron,
V\VKDV&ODVVL¿FDWLRQV\V1RW,QWHUHVWLQJ
V\VKDV1RUPDOL]HG3UREDELOLW\@
7 K H S U H Y L RX V KRW HO S U R¿OH of Karol, tells us that
he likes to stay in hotels with swimming pool and
exercise room, while the availability of an iron
and ironing board is inconsequential to him.
Obviously, somewhere in the system we have
to store, in some form, information about the user.
To assure consistency across the system, this is
done in the form of a simplistic user ontology.
Next, we present a fragment of such ontology:
:hasDress a rdf:Property ;
rdfs:range :Dress ;
UGIVGRPDLQ8VHU3UR¿OH'DWD
:hasAge a rdf:Property ;
rdfs:range :Age ;
UGIVGRPDLQ8VHU3UR¿OH'DWD
:hasWealth a rdf:Property ;
rdfs:range :Wealth ;
UGIVGRPDLQ8VHU3UR¿OH'DWD
:hasProfession a rdf:Property ;
rdfs:range :Profession ;
UGIVGRPDLQ8VHU3UR¿OH'DWD
Let us now assume that Karol is a 24-year-old
painter, who has enough money to feel rich and
whose dressing style is a natural one, then his
SUR¿OHZRXOGEHUHSUHVHQWHGDV
.DURO3UR¿OHDV\V8VHU3UR¿OH
V\VKDV8VHU,'
V\VKDV8VHU3UR¿OH'DWD.DURO3UR¿OH'DWD
sys:hasOpinionsSet :KarolOpinions.
.DURO3UR¿OH'DWDDV\V8VHU3UR¿OH'DWD
sys:hasAge 24;
sys:hasWealth sys:Rich;
sys:hasDress sys:NaturalDress;
sys:hasProfession sys:SpecialistFreeLancer.
Rather than keeping them separate, we com-
bine instances of user ontology with the previously
GHVFULEHGXVHUSUR¿OHLQWRDFRPSOHWHRQWRORJL-
FDO GHVFULSWLRQ²D FRPSUHKHQVLYH XVHU SUR¿OH
7KLVXVHUSUR¿OHLVWKHQWREHVWRUHGLQWKH-HQD
repository.
One of the important questions that all rec-
ommender systems have to address is, how to
³LQWURGXFH´QHZXVHUVWRWKHV\VWHP*DODQW
Paprzycki, 2002). In our system we use stereo-
typing (Rich, 1979). Obviously, we represent
stereotypes the same way we used to represent
XVHUSUR¿OHVZLWKWKHGLIIHUHQFHWKDWLQVWHDG
RIVSHFL¿FYDOXHVUHSUHVHQWLQJSUHIHUHQFHVRID
given user, we use sets of variables of nominal
2483
Utilizing Semantic Web and Software Agents in a Travel Support System
(to represent categories—e.g., profession), ordinal
(e.g., low income, medium income, high income),
and interval (e.g., age between 16 and 22) types.
For values of nominal and ordinal types we have
established sets of possible values, while for the
YDOXHVRILQWHUYDOW\SHVZHGH¿QHGERUGHUVRI
intervals considered in the system. Using results
of a s u r v ey a nd e x p e r t k n ow le d g e , we w e r e a bl e t o
create restaurant-related stereotypes (one instance
RIUHVWDXUDQWRQWRORJ\RIHDFKLGHQWL¿HGVWHUHR-
type). To illustrate such a case, here is a fragment
RIDUWLVWLFSUR¿OHLQWKHDUHDRIUHVWDXUDQWV
:ArtistStereotypeOpinions a sys:OpinionsSet;
sys:containsOpinion
[sys:about res:CafeCoffeeShopCuisine;
V\VKDV&ODVVL¿FDWLRQV\V,QWHUHVWLQJ
V\VKDV1RUPDOL]HG3UREDELOLW\@
[sys:about res:CafeteriaCuisine;
V\VKDV&ODVVL¿FDWLRQV\V,QWHUHVWLQJ
V\VKDV1RUPDOL]HG3UREDELOLW\@
[sys:about res:TeaHouseCuisine;
V\VKDV&ODVVL¿FDWLRQV\V,QWHUHVWLQJ
V\VKDV1RUPDOL]HG3UREDELOLW\@
[sys:about res:WineBeer;
V\VKDV&ODVVL¿FDWLRQV\V,QWHUHVWLQJ
V\VKDV1RUPDOL]HG3UREDELOLW\@
[sys:about res:WineList;
V\VKDV&ODVVL¿FDWLRQV\V,QWHUHVWLQJ
V\VKDV1RUPDOL]HG3UREDELOLW\@
[sys:about res:HotDogsCuisine;
V\VKDV&ODVVL¿FDWLRQV\V1RW,QWHUHVWLQJ
V\VKDV1RUPDOL]HG3UREDELOLW\@
In this stereotype we can see, among others,
that an artist has been conceptualized as a per-
son who likes coffee houses a bit more than tea
houses and is willing to eat in a cafeteria, likes
wine (a bit more than beer), but does not like hot
dogs (fast food). Other stereotypes have been
conceptualized similarly and their complete list
and a detailed description of their utilization can
be found in Gawinecki, Kruszyk, and Paprzycki
(2005).
When a new user logs onto the system he/she
ZLOOEHUHTXHVWHGWR¿OORXWDVKRUWTXHVWLRQQDLUH
about age, gender, income level, occupation,
DGGUHVVPDWFKLQJXVHUIHDWXUHVGH¿QHGE\WKH
user ontology), as well as questions about travel
preferences. While the basic user ontology-based
data will be required, answering questions about
t r av e l p r e fe re n c e s w i l l b e v ol u nt a r y. P e r s o n a l d a t a
collected through the questionnaire will be used
to match a person to a stereotype. More precisely,
we will calculate a distance measure between
XVHUVSHFL¿HGFKDUDFWHULVWLFVDQGWKHVHDSSHDULQJ
LQVWHUHRW\SHVGH¿QHGLQWKHV\VWHPDQG¿QGRQH
WKDWPDWFKHVKLVKHUSUR¿OHWKHFORVHVW7RDFKLHYH
this we will use the following formula:
ˆˆ
ˆˆ
1
ˆ
ˆ
1
ˆ
ˆ
,
k
ff f
Su Su
f
k
ff
Su
f
wd
dSu
w
G
G
¦
¦
Where: w
f
– weight of attribute, d
f
S,u
– distance
between values of the attribute in the stereotype S
and user’s data u, į
f
S,u
±%RROHDQÀDJWKDWLQIRUPV
whether attribute f appears in both: stereotype’s
data (S) and user’s data (u).
To illustrate this, let us consider Karol, the
painter, again. In the Table 1 we present Karol’s
data and the artist stereotype data and show how
the closeness between Karol and that stereotype
is calculated.
The same process is then repeated comparing
.DURO¶VGDWDDJDLQVWDOORWKHUVWHUHRW\SHVWR¿QG
WKHRQHWKDW¿WVKLPWKHEHVW,QWKHQH[WVWHSWKLV
stereotype is joined with his user data to become
his LQLWLDOSUR¿OH. In the case when he answers
DQ\ GRPDLQVSHFL¿F TXHVWLRQV UHFDOO WKDW KH
may omit them), this data will be used to modify
KLVXVHUSUR¿OH)RUH[DPSOHOHWXVDVVXPHWKDW
KHKDVEHHQLGHQWL¿HGDVVWXGHQWVWHUHRW\SHEXW
KHKDVDOVRVSHFL¿HGWKDWKHGRHVQRWOLNHFRIIHH