A Multi-domain Hybrid Recommender Systems Based on a Dynamic
Contextual Ontological User Profile
Aleksandra Karpus and Krzysztof Goczyła
Faculty of Electronics, Telecommunications and Informatics, Gda´nsk University of Technology,
ul. Gabriela Narutowicza 11/12, 80-233 Gda´nsk-Wrzeszcz, Poland
1 STAGE OF THE RESEARCH
The aim of research presented here is creation of
a multi-domain hybrid recommender system based on
a dynamic contextual ontological user profile. Re-
cently, we have built a contextual ontology for rep-
resenting user preferences. The next step that need to
be undertaken is validation of correctness and com-
pleteness of this idea of representing a user profile.
We consider three context parameters: location,
time and user mood. The validity of these parame-
ters, and hence, their impact on user preferences, has
been confirmed by the results of a survey among users
of recommendation systems. The research on knowl-
edge aquisition and new recommendation algorithms
is still in the early stages.
2 RESEARCH PROBLEM
The area of recommender systems is well established
but scientists and engineers still try to improve quality
and diversity of recommendations. Some of research
questions in this field that still can be addressed are:
How can system automatically aquire and contin-
uously improve user profile?
What impact on the recommendations quality has
a user context?
How to append a contextual data to the user pro-
file?
During our research we will try to answer those and
some additional questions:
Does the way of describing user preferences in the
form of contextual ontology significantly improve
the quality of recommendations in comparison to
known methods?
How do we measure similarity of two contextual
ontologies?
Does removal of some concepts reduce the possi-
bilities of reasoning from contextual ontology?
3 OUTLINE OF OBJECTIVES
The objectivesof presented research is to developnew
methods and algorithms in the field of recommender
systems. Our main goal is novel approach to model-
ing user preferences. We plan to derive an algorithm
for user preferences aquisition. This algorithm will
create a new profile ontology based on the gained in-
formation and a ,,metaontology” from which needed
concepts and roles would be extracted. Due to the new
representation of a user profile, new recommendation
algorithms need to be developed. The method of com-
paring two contextual ontologies is also needed.
4 STATE OF THE ART
The role of recommender systems is to give possibly
the most adequate recommendations to users in differ-
ent situations. Scientists try to include a user context
in recommendation algorithms to give more adequate
results to users (Adomavicius and Tuzhilin, 2011).
There are several deffinitions of what the context is.
In the rest of this paper as a context we understand
”any information that can be used to characterize the
situation of a person, place or object that is considered
relevant to the interaction between a user and applica-
tion” (Blefari-Melazzi et al., 2007).
Another trend in the field of recommender sys-
tems is to apply ontologies to capture user prefer-
ences. It has been proved that ontological user profile
improves recommendation accuracy and diversity (Su
et al., 2012).
Recently, some context-aware recommender sys-
tems using ontologies for making recomendations
have been developed and reported. AMAYA rec-
ommender system that allows management of con-
textual preferences and contextual recommendations
was proposed (R¨ack et al., 2006). AMAYA also uses
an ontology-based content categorization scheme for
mapping user preferences to entities to recommend.
83
Karpus A. and Goczyla K..
A Multi-domain Hybrid Recommender Systems Based on a Dynamic Contextual Ontological User Profile.
Copyright
c
2014 SCITEPRESS (Science and Technology Publications, Lda.)
News@hand, a hybrid recommender system for
ontology-based personalized and context-aware rec-
ommendations of news items was presented in (Can-
tador et al., 2008). The news items are automatically
and periodically retrieved via RSS feeds and anno-
tated with semantic concepts from system domain on-
tologies. During an interaction with the user a set of
weighted concepts from the domain ontologies is col-
lected. A user context is represented by this set. The
importance of concepts fades away with the time by a
decay factor. This helps to keep the user context up to
date. Existing relations between concepts in the on-
tologies are used to find semantic paths linking pref-
erences to context.
A context-aware system which recommends Web
services to users was described in (Rodriguez et al.,
2013). The main idea is using a multi-dimensional
ontology model to describe Web services, a user
context and an application domain. The multi-
dimensional ontology model consists of a three inde-
pendent ontologies: a user context ontology, a Web
service ontology and an application domain ontology,
which are combined into one ontology by some re-
lations between concepts from different ontologies.
Data from a WSDL file for a Web service are auto-
matically added into the Web service ontology during
the registration process. The user must specify the
name, birth date, sex and occupation to build his pro-
file. The user context ontology consists of those pa-
rameters and a list of interests. Every item of the list
has a level of interest property, which is used to as-
sign a weight to the item during the recommendation
process.
5 METHODOLOGY
In this section we describe an idea of a contextual ap-
proach to an ontological user profile (Subsection 5.2).
First, we need to define the contextualontology which
is done in Subsecion 5.1. The general architecture of
the proposed system is presented in Subsection 5.3.
A description of planned experiments and future re-
search close this section.
5.1 Structured-interpretation Model
Contextual ontology introduced in (Goczyła et al.,
2007) enables us to model different situations in
which a user could find himself as a set of ontological
modules. As an ontology we mean here a Description
Logics (DL) ontology which consists of a terminol-
ogy (TBox) and a world description (ABox). As a
context we understand a part of TBox defined by val-
T
A
A A
A
A
A A
A
A
T T
T
T
1
1
2
2
3
3
4
4
5
5 6 7 8
specializes
context
contextinstance
instance-of
is-aggregated-by
9
Figure 1: Structured-Interpretation Model (from (Goczyła
et al., 2007)).
ues of a set of contextual parameters. The contexts are
arranged in an inheritance hierarchy. More special-
ized terminologies may ,,see” more general ones, but
more general terminologies are unaware of the exis-
tence of more specialized ones. To deal with possible
different assertional parts of the knowledge base we
can create many ABoxes for one terminology. These
ABoxes are called context instances. To allow for
a flow of conclusions between context instances, the
context instances are connected by relation of aggre-
gation. This approach to modularization, described in
details in (Goczyła et al., 2012), is called Structured-
Interpretation Model (SIM) and is illustrated in Fig. 1.
To explain how the contextual ontology works we
use a simple example taken from (Waloszek, 2010).
Let assume that an ontology consists of two contexts
(TBoxes) and three context instances (ABoxes). Con-
text T
1
provides concept Can
resuscitate from which
concept Doctor inherits. Doctor is a concept pro-
vided in the terminology of context T
2
. Context in-
stances A
2
and A
3
describe a situation of an individ-
ual called john
doe from different points of view: he
is a doctor in Poland but legally he is not a doctor
in United Kingdom. Assertions Doctor( john
doe)
and ¬Doctor( john doe) are contradictory, neverthe-
less the ontology is consistent. It is because the con-
cept Doctor is defined below the context instance A
1
which aggregates context instances A
2
and A
3
. The
concept Can
resuscitate is immanent for the context
T
2
because it is defined on the level of the context in-
stance A
1
. Therefore the conclusions reflecting the
fact that John Doe can resuscitate can flow between
the two contexts (in Poland and in the United King-
dom). This example is shown in Fig. 2.
Another example is shown in Fig. 3. Here we have
three contexts: T
1
that describes general notions of
Woman and Man, T
2
that specializes T
1
towards de-
scription of voices in a choir, and T
3
that also spe-
cializes T
1
but towards description of social relations.
IC3K2014-DoctoralConsortium
84
T
A
A
A
T
1
1
2
2
3
:Can_resuscitate
:Doctor Can_resuscitatem
:Doctor(john_doe)
:¬Doctor(john_doe)
:-
Poland
UnitedKingdom
general
Can_resuscitate(john_doe)
Can_resuscitate(john_doe)
Figure 2: An example of SIM ontology (based on
(Waloszek, 2010)).
T
A
A
A
T
1
1
2
2
3
:Man Woman* m¦
:Soprano Womanm
:Soprano(mary)
:Married(mary)
:-
Contextvillechoir
Contextvilleregisteroffice
Contextvilleataglance
Woman(mary)
Wife(mary)
T
3
:Wife Woman Marriedm *
Figure 3: An example of SIM ontology (from (Goczyła
et al., 2012)).
Context instance A
1
aggregates context instances A
2
and A
3
. Although ABox of A
1
is empty, interpretation
1
in order to be a model of the knowledgebase has to
assign Mary to the concept Woman. As a consequence
of this, the same rule enforces that in the interpreta-
tion
3
Mary is assigned to the concept Wife, as the
information about Mary being a woman flows” down
the aggregation relationships. (Goczyła et al., 2012).
As we could see from the above examples, an on-
tology built according to SIM enables us to model
complicated structure of user preferences depending
on the context in which the user currently is.
5.2 Contextual Approach to Ontological
User Profile
A user profile keeps all the information about user
preferences. For assuring context-awareness in our
recommender system, it is crucial to embed contex-
tual parameters into a user profile. To this aim, we
propose a new representation of a user profile as a
contextual ontology.
We consider three contextual parameters: loca-
tion, time and mood - which divides a profile ontol-
ogy into context modules. By location we mean the
place and other circumstances that affect the user ac-
tivity, in particular: Is he at work? Or at home? Or
on holidays? It is important to know if the user is at
home or at work to make appropriate recommenda-
T
A
A
A
A
A A
A
T
T
T
1
1
2
2
3
3
4
4
5 6
specializes
context
contextinstance
instance-of
is-aggregated-by
7
A
A
T
5
8 9
general
work
home
time
mood
time=morning
time=weekday
morning
time=
night
time=weekend
mood=
sad
mood=
happy
Figure 4: The general idea of a contextual user profile on-
tology (based on (Goczyła et al., 2007)).
tions. For example, assume that we want to recom-
mend some books to a Java developer who is know to
have a daughter. We do not want to recommend him
a book with fairy tales when he is at work, but we
want to do that when he is at home. Instead, we want
to recommend him a book about a new framework in
Java when he is at work.
The location parameter is a special parameter in
our approach. Different values for this parameter re-
quire different terminological parts, thus we limited
possible values to the following two: at home and at
work. It is shown in Fig. 4.
The time parameter is considered in two dimen-
sions. The first one specifies if the current day is
a weekday or a weekend day. The second one speci-
fies the part of day: morning, afternoon, evening and
night. Such a division is justified by the fact that nor-
mally we are searching for different things on the In-
ternet on weekday morning (for example, some news
update) than on weekend evening (for example, what
movies are shown in nearby cinemas).
Another contextual parameter that is worth adding
into the user profile in user mood. The fact that one is
happy or sad could really influence his behavior and
current preferences. Let us consider a simple exam-
ple. Mary had fallen in love and actually she is very
happy. She is a great fan of documentary movies.
If we did not take into account her current mood,
we might recommend her an interesting movie about
the Second World War. But Mary might not want to
watch this movie at this time because it is too depress-
ing for her.
AMulti-domainHybridRecommenderSystemsBasedonaDynamicContextualOntologicalUserProfile
85
Wi-Fi Facebook Callendar
Contextualuserprofile
Recommendationalgorithm
user
Figure 5: The general architecture of the context-aware rec-
ommender system based on an ontological user profile.
Initially the profile ontology will not contain any
context instances. When we first get information
about a user (i.e. when he registers to the system),
new ontology will be created. The terminological part
of it will contain only those concepts and roles from
the model taxonomy (,,metaontology”) that would be
relevant to the data retrieved and stored as the asser-
tional part of the profile ontology.
5.3 The Architecture of the System
One of the main problems in the field of recommender
systems is the cold-start problem. Our system will
be partly based on collaborative filtering techniques,
thus it should be exposed to the existence of this prob-
lem. On the other hand, we model user preferences by
using a contextual ontology, thus we use advantages
of the semantic approach to modelling. To avoid the
cold-start problem, we will provide to our system a
possibility to log in with a specific Facebook account.
Then, after a user logs into the system for the first
time, we will automatically build a profile ontology
based on the user data obtained from the social media
account. To make this process transparent to the user,
we would do it in background and for making recom-
mendations ,,in real time” after his first login we use
only the user’s latest ,,likes”. It would give us possi-
bility to get access to a lot of user data that he shares
throughout the social media. In case the user does not
intend to use the Facebook account, he could create a
new one and give us only some selected information
about himself, including e.g. his current mood.
The current position of the user we could get from
GPS or a Wi-Fi adapter. The current time we will ob-
tain from the system clock and the calendar. To get the
information about a user location (at work or at home)
we need to know the user’s schedule. The simplest
way to do that is to connect our recommender with
the Google Callendar, assuming that most of users al-
ready use it.
If the user shares with the system information
about his current mood, the system could return the
most appropriate recommendation - the recommenda-
tions will be made basing on the most specific context
(bottom nodes of the graph in Fig. 4). If not, the rec-
ommendation will be performed in more general con-
text in the user profile ontology. For this purpose we
need to compare a specified context of the user X with
the same contexts in different users profiles to find
a k-Nearest Neighbors. After that, we could recom-
mend items to the user X basing on the preferences
of top k-Nearest Neighbors in that specific context.
The general architecture of the context-aware recom-
mender system based on the ontological user profile
is shown in Fig. 5.
5.4 Planned Experiments and Research
The next step that needs to be undertaken is validation
of correctness and completeness of the proposed user
profile. To this aim we plan to conduct qualitative re-
search in a group of some fifty people. Firstly, we will
create some kind of subsystem which will allow only
to register, log in, and present to the user data from the
profile broken down into contexts. The people will be
divided into two groups. The first one will be asked to
log in with their Facebook accounts. The second one
should create new account from scratch. After that, all
people will complete a survey about their profile in-
formation and corectness of dividing their preferences
into contexts.
Next, we will conduct at least two experiments.
The first one will involve testing the influence of the
size of the ontology (and richness of hierarchy) on the
time efficiency and the quality of recommendations.
The second one will cover comparison of the results
returned by the proposed system with the results re-
turned by existing recommendation systems.
6 EXPECTED OUTCOME
The aim of the decribed research project is to provide
a new multi-domain context-aware recommender sys-
tem that will:
minimalize the cold-start problem;
improve the quality and diversity of recommenda-
tions;
facilitate search of relevant information from In-
ternet that would be of interest to a user;
IC3K2014-DoctoralConsortium
86
automatically create an adequate user profile;
allow for dynamic update of a user profile.
To achieve the results, some new methods and al-
gorithms in the area of recommender systems will be
developed.
REFERENCES
Adomavicius, G. and Tuzhilin, A. (2011). Handbook on
Recommender Systems, chapter Context-Aware Rec-
ommender Systems, pages 217–256. Springer.
Blefari-Melazzi, N., Casalicchio, E., and Salsano, S.
(2007). Context-aware service discovery in mobile
heterogenous environments. In Proc. IEEE Mobile
and Wireless Communications Summit, pages 1–5.
Cantador, I., Bellogin, A., and Castells, P. (2008).
Ontology-based personalised and context-aware rec-
ommendations of news items. In Web Intelligence and
Intelligent Agent Technology, Proc. WI-IAT ’08, pages
562–565.
Goczyła, K., Waloszek, A., and Waloszek, W. (2007). Con-
textualization of a dl knowledge base. Proc. of the
20th International Workshop on Description Logics
DL07, pages 291–298.
Goczyła, K., Waloszek, A., Waloszek, W., and Zawadzka,
T. (2012). Modularized knowledge bases using con-
texts, conglomerates and a query language. Intelligent
Tools for Building a Scientific Information Platform,
390:179–201.
R¨ack, C., Arbanowski, S., and Steglich, S. (2006). Context-
aware, ontology-based recommendations. In Inter-
national Symposium on Applications and the Internet
Workshops (SAINTW 2006), pages 98–104.
Rodriguez, J., Bravo, M., and Guzman, R. (2013). Multi-
dimensional ontology model to support context-aware
systems. In AAAI 2013 Workshop.
Su, Z., Yan, J., Ling, H., and Chen, H. (2012). Research
on personalized recommendation algorithm based on
ontological user interest model. Journal of Computa-
tional Information Systems, 8(1):169–181.
Waloszek, A. (2010). Hierarchiczna kontekstualizacja baz
wiedzy. PhD thesis, Gda´nsk University of Technology.
AMulti-domainHybridRecommenderSystemsBasedonaDynamicContextualOntologicalUserProfile
87