
 
two-step personalized services. Service 
recommender is responsible for service 
recommendation; hence, it is to set up a weighted 
list of useful services according to user behavior 
patterns in the current situation and user’s service 
preference shown in Fig. 5. Equation (1) shows 
user’s preference for service recommender. That is 
to say, for user u, the preference value of service i is 
computed by equation (1). Contents recommender is 
responsible for contents recommendation according 
to selected service domain. As previous mentioned 
in Fig. 5, IPTV is included in this case. 
Preference
u,
=
×Preference
(Up)
u,i
+
×Preference
(Us)
u,i
u : user,             i : services 
Preference 
u,i
: The preference value of user u about item i 
Preference
(Up)
u,i
 : The preference of user preference model  
Preference
(Us)
u,i
 : The preference of user service usage  
model 
α : The weight of user preference model 
β : The weight of user service usage  model
  
(1) 
4.3.1  Service Recommendation Function 
The service recommender fuction is as following 
equation (2). Equation (2) is applied to learner and 
preference ontology modeling.  
reference
u,
=
×preferenceProbalility(u, S
j
)
 
+ 
β
×(w
k
×C-TBL[a
k,i
][S
j
] )  
u : user,            S 
j
: j
th
 services item 
Preference
u,j
: The preference value of user u about 
service item S
j
 
preferenceProbalility(u, S
j
): The preference of user 
preference model by ontology shown in Fig. 5. 
C-TBL[a
k,i
][S
j
]: The preference of user service 
usage  model by learner 
a
k,i
: the attribute value of C
k 
w
k : 
the weight of context C
k 
α : The weight of user preference model 
 β : The weight of user service usage  model  
(2) 
According to Equation (2), weighted list of preferred 
services is to set up and notifies to user. Suppose 
that “watch TV” service is recommended. If user 
selected TV service among service categories to be 
recommended at the first step, it should match a 
user’s desired TV programs and recommend TV 
programs with high user preference by contents 
recommender according to information of shown in 
Fig. 5.  
4.3.2  Contents Recommendation Function 
For contents recommendation of TV domain, we 
choose content-based approaches in order that 
sparsity and cold-start (Papagelis et al., 2005) 
problems are solved. The sparsity problem has a 
major negative impact on the effectiveness of a 
collaborative filtering approach. Because of sparsity, 
it is impossible that the similarity between two users 
cannot be defined, rendering collaborative filtering 
useless. Even when the evaluation of similarity is 
possible, it may not be very reliable, because of 
insufficient information processed. Cold-start refers 
that it cannot be recommended unless it has been 
rated by a substantial number of users. 
This is preference model for TV application 
domain. The content of TV programs can be 
represented in these items: identification information 
(ID/title), category information (genres/subgenres), 
broadcast information (channel/the starting time and 
ending time of the program), content ratings and 
keywords. To compute user preference, the TV 
model is divided into three types of information 
about TV content: “genre”, “channel” and 
“companion”.   
Companion: with whom the TV was seen (alone, 
with friends, with family). It is possible to be 
included in common model. 
To collect this information about the user’s 
interests, the system can ask a user manually 
indicate his/her interests by giving GUI. The 
function of TV specific model consists of computing 
the preference of genre, channel and person, and 
multiplying the each result by weights as equation 
(3). The previous mentioned Fig. 6 shows the 
example of ontology model of TV genre preferences. 
P
u,i
 =W
g 
P
genre
u,p
+ W
c 
P
channel
u,p 
+W
c
×P
companion
u,p  
u : user,          i : items     p: TV broadcasting program 
W
g
: weight of genre, W
c
: weight of channel,  
W
c
: weight of companion 
(3) 
4.4  Performance of Functions 
To evaluate function, we chose the following the 
data set; Create Approval, Balance and balloon in 
UCI depository. In the case of the create approval of 
UCI data, this consists of 15 contexts which has 9 
categorical attributes and 6 continuous attributes), 
and two action classes as show in Table 2. 
Table 2: Example of UCI data for simulation. 
Data  Instance  Attr.(Categorical)  ActionClass 
Create Approva
665  15(9)  2 
alloons  20  4(4)  2 
alance  625  4(4)  3 
And also, we chose machine learning algorithms 
from the Weka tool-kit (http://www.cs. 
waikato.ac.nz/ml/weka/): J48, ZeroR, NaiveBayes 
(Louis and Shankar, 2004).The performance 
evaluation metric in this experiment is the 
ICSOFT 2009 - 4th International Conference on Software and Data Technologies
336