Académique Documents
Professionnel Documents
Culture Documents
Research Article
Time-Aware IoE Service Recommendation on Sparse Data
Lianyong Qi,1,2 Xiaolong Xu,3 Wanchun Dou,2 Jiguo Yu,1 Zhili Zhou,3 and Xuyun Zhang4
1
School of Information Science and Engineering, Qufu Normal University, Qufu, China
2
Department of Computer Science and Technology, State Key Laboratory for Novel Software Technology, Nanjing University,
Nanjing, China
3
School of Computer and Software, Nanjing University of Information Science and Technology, Nanjing, China
4
Department of Electrical and Computer Engineering, University of Auckland, Auckland, New Zealand
Copyright © 2016 Lianyong Qi et al. This is an open access article distributed under the Creative Commons Attribution License,
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
With the advent of “Internet of Everything” (IoE) age, an excessive number of IoE services are emerging on the web, which
places a heavy burden on the service selection decision of target users. In this situation, various recommendation techniques
are introduced to alleviate the burden, for example, Collaborative Filtering- (CF-) based recommendation. Generally, CF-based
recommendation approaches utilize similar friends or similar services to achieve the recommendation goal. However, due to the
sparsity of user feedback, it is possible that a target user has no similar friends and similar services; in this situation, traditional CF-
based approaches fail to produce a satisfying recommendation result. Besides, recommendation accuracy would be decreased if time
factor is overlooked, as IoE service quality often varies with time. In view of these challenges, a time-aware service recommendation
approach named Ser Rectime is proposed in this paper. Concretely, we first calculate the time-aware user similarity; afterwards,
indirect friends of the target user are inferred by Social Balance Theory (e.g., “enemy’s enemy is a friend” rule); finally, the services
preferred by indirect friends of the target user are recommended to the target user. At last, through a set of experiments deployed
on dataset WS-DREAM, we validate the feasibility of our proposal.
user-service rating data is sparse. Concretely, in Ser Rectime , (4) usertarget denotes the target user that requires service
we first calculate the time-aware user similarity; afterwards, recommendation and usertarget ∈ 𝑈 holds.
we look for the enemies (antonym of “friend”) of the target
With the above formalization, CF-based service recom-
user and further determine the “indirect friends” of target
mendation problem could be specified as follows: according
user by Social Balance Theory [22] (e.g., “enemy’s enemy is a
to the historical invocation record set “→” between users (in
friend” rule); finally, the services preferred by indirect friends
𝑈) and web services (in WS), find out the services that were
of target user are recommended to the target user.
never invoked but may be preferred by target user usertarget
The contributions of our paper are threefold.
and recommend them to usertarget .
(1) Time factor is considered in user similarity calcula-
tion to adapt to the dynamic quality variation of IoE 2.2. Motivation. In this subsection, the paper motivation is
services, which makes the subsequent recommenda- clarified more intuitively with the example shown in Figure 1.
tion result more objective and accurate. In Figure 1, there are three users {Tom, Alice, Bob} (Tom is
(2) Social Balance Theory is introduced for service rec- the target user) in set 𝑈 and six web services {ws1 , ws2 , ws3 ,
ommendation on sparse data so that the recommen- ws4 , ws5 , ws6 } in set WS; historical user-service invocation
dation robustness is improved. record set → (including rating data and timestamp) is also
presented in Figure 1.
(3) A wide range of experiments are designed and Then according to the Adjusted Cosine Similarity [24]
deployed on a real web service quality set WS- (i.e., ACS ∈ [−1, 1]; here, the reason that we utilize ACS
DREAM [23], so as to further validate the feasibility for similarity calculation is that user-service rating data is
of our proposal. often discrete and the rating scales of different users often
The remainder of our paper is organized as follows. In vary), we can calculate the similarity between target user
Section 2, we first formalize the CF-based service recommen- Tom and other two users (i.e., Alice and Bob). Concretely,
dation problem and afterwards demonstrate the motivation Sim(Tom, Alice) = −0.2747 and Sim(Tom, Bob) = Null (as
of our paper. In Section 3, a novel time-aware service no services were rated by both Tom and Bob). Therefore, we
recommendation approach named Ser Rectime is brought can conclude that target user Tom has no similar friends, so
forth. A set of experiments are deployed in Section 4 and according to the traditional user-based CF recommendation
evaluations are presented in Section 5. Finally, in Section 6, approaches, no qualified services are recommended to Tom.
we summarize the paper and point out our future research Likewise, the similarities between target services (i.e., ws1
directions. and ws2 ) and other services (i.e., ws3 , ws4 , ws5 , and ws6 ) could
also be obtained. Concretely, Sim(ws1 , ws3 ) = Sim(ws1 , ws4 )
= Sim(ws2 , ws3 ) = Sim(ws2 , ws4 ) = −1 and Sim(ws1 , ws5 ) =
2. Formalization and Motivation Sim(ws1 , ws6 ) = Sim(ws2 , ws5 ) = Sim(ws2 , ws6 ) = Null (as
no users invoked any pair of services above simultaneously).
In this section, we first formalize the CF-based service recom-
Therefore, a conclusion could be drawn that target user Tom’s
mendation problem. And afterwards, an example is presented
preferred services (i.e., ws1 and ws2 ) have no similar services,
to demonstrate the motivation of our paper intuitively.
so according to the traditional item-based CF recommenda-
tion approaches, no qualified services are recommended to
2.1. Formal Specification. Generally, the CF-based service Tom.
recommendation problem could be specified with a four- Therefore, in this situation, traditional CF-based ser-
tuple CF-Ser-Rec (𝑈, WS, →, usertarget ), where vice recommendation approaches (e.g., user-based CF, item-
(1) 𝑈 = {user1 , . . . , user𝑚 } denotes the user set in user- based CF, or hybrid CF) cannot make accurate service rec-
service invocation network and 𝑚 is the number of ommendation for target user. Besides, as Figure 1 shows, the
users; timestamps of various invocation records are often different,
so the service recommendation accuracy and fairness would
(2) WS = {ws1 , . . . , ws𝑛 } denotes the web service set in be decreased if we overlook the time factor in recommen-
user-service invocation network and 𝑛 is the number dation process. In view of the above two challenges, a novel
of web services; service recommendation approach named Ser Rectime is put
𝑅𝑖−𝑗 forward in Section 3. Ser Rectime cannot only find out
(3) → = {(user𝑖 → ws𝑗 ) | 1 ≤ 𝑖 ≤ 𝑚, 1 ≤ 𝑗 ≤ 𝑛} de-
𝑇𝑖−𝑗 the indirect friends of a target user so as to improve the
notes the historical invocation record set, that is, recommendation robustness in sparse-data environment, but
𝑅𝑖−𝑗 also consider time factor in recommendation so as to ensure
user𝑖 → ws𝑗 , which means that user𝑖 invoked ws𝑗 in the fairness and accuracy of recommendation results.
𝑇𝑖−𝑗
the past and the rating of ws𝑗 by user𝑖 is 𝑅𝑖−𝑗 . Here, for
simplicity, the well-known {1∗ , 2∗ , 3∗ , 4∗ , 5∗ } rating 3. Time-Aware Service Recommendation
system is adopted to depict 𝑅𝑖−𝑗 . Also, each invocation Approach: Ser_Rectime
record owns a timestamp 𝑇𝑖−𝑗 that indicates the ser-
vice invocation time (here, we assume the timestamp In this section, a novel time-aware recommendation ap-
format is “yyyy.mm.dd”); proach, that is, Ser Rectime , is introduced to deal with the
Mobile Information Systems 3
User target
Tom Alice Bob
User level
5∗ 4∗ 5∗ 1∗
1∗ 1∗
2012.04.07 2011.02.17 2015.11.26 2015.01.16
2010.01.01 ∗ ∗
1 5
2∗ 5∗ 2013.06.16
2016.06.09
2014.09.27 2013.07.22 2016.01.14
Figure 1: Time-aware service recommendation when target user has no similar friends and similar services.
service recommendation problem on sparse data. The main user𝑖 ’s average rating values. Then according to (1), we can
idea of our proposal is as follows: first, we calculate the calculate the similarity between target user and any other
time-aware similarity between target user and other users user.
based on the historical user-service rating records; second, Next, we improve the user similarity formula in (1) by
according to the derived user similarity and Social Balance introducing four kinds of weight coefficients.
Theory, we infer the indirect friends of target user; third,
the services preferred by indirect friends of target user are (i) Weight for Service Intersection Size. As formula (1)
recommended to the target user. Concretely, the three steps of indicates, 𝐼target and 𝐼𝑖 denote the service set rated
time-aware service recommendation approach (Ser Rectime ) by usertarget and user𝑖 , respectively. Generally, for
are as follows. usertarget and user𝑖 , the larger their service intersec-
tion (i.e., set 𝐼 in formula (1)) is, the more convincing
Step 1 (time-aware user similarity calculation). Calculate the their similarity is. So in order to depict this correla-
similarity Sim(usertarget , user𝑖 ) between usertarget and other tion, weight 𝑊ser-intersection (in formula (2)) is assigned
users user𝑖 ∈ 𝑈. If 𝑆im(usertarget , user𝑖 ) ≤ 𝑃 (𝑃 is similarity to user similarity Sim(usertarget , user𝑖 ):
threshold), then user𝑖 is considered as an enemy of usertarget .
1 𝐼target ∩ 𝐼𝑖 𝐼target ∩ 𝐼𝑖
Step 2 (determining indirect friends of target user). Accord- 𝑊ser-intersection = ∗( + ). (2)
2 𝐼target 𝐼𝑖
ing to the enemies (derived in Step 1) of target user and Social
Balance Theory, determine target user’s indirect friends.
(ii) Weight for Invocation Time. Due to the dynamic
Step 3 (service recommendation). Select the services pre- and unstable network environment, the IoE service
ferred by the indirect friends (derived in Step 2) of target user quality is often varied with time; therefore, two
and recommend them to the target user. neighboring service invocations with close invocation
time often contribute more to the user similarity. In
The three steps are explained as follows: view of this observation, similar to work [4], weight
𝑊time in formula (3) is assigned to user similarity
Step 1 (time-aware user similarity calculation). In this step, Sim(usertarget , user𝑖 ). In (3), 𝛼 (𝛼 ≥ 0) is a parameter,
we calculate the similarity between target user usertarget and while 𝑇target−𝑗 and 𝑇𝑖−𝑗 represent the invocation time
other users user𝑖 (user𝑖 ∈ 𝑈), that is, Sim(usertarget , user𝑖 ). As of service ws𝑗 by usertarget and user𝑖 , respectively
user-service rating data is often discrete and rating scores of
a service by different users are often varied, Adjusted Cosine 𝑊time = 𝑒−𝛼|𝑇target−𝑗 −𝑇𝑖−𝑗 | . (3)
Similarity is recruited here for user similarity calculation.
Concretely, Sim(usertarget , user𝑖 ) could be obtained based on
(iii) Weight for Invocation Load. Service invocation time
Sim (usertarget , user𝑖 ) cannot reflect all the time-related information in
similarity calculation. For example, user1 and user2
∑ws𝑗 ∈𝐼 (𝑅target−𝑗 − 𝑅target ) ∗ (𝑅𝑖−𝑗 − 𝑅𝑖 ) (1) invoked the same ticket-booking service on 22-12-
= . 2015 and 24-12-2015, respectively. Although their
2 2
√ ∑ws ∈𝐼 (𝑅target−𝑗 − 𝑅target ) ∗ √ ∑ws𝑗 ∈𝐼𝑖 (𝑅𝑖−𝑗 − 𝑅𝑖 ) service invocation time is close, the user experi-
𝑗 target
enced service quality may vary significantly as heavy
Here, set 𝐼 denotes the common services that were rated service load is inevitable when Christmas day is
by both usertarget and user𝑖 ; sets 𝐼target and 𝐼𝑖 denote the approaching. So in order to depict the effect of service
service set rated by usertarget and user𝑖 , respectively; 𝑅target−𝑗 load on user similarity, weight 𝑊load in formula (4)
and 𝑅𝑖−𝑗 denote ratings of service ws𝑗 by usertarget and user𝑖 , is assigned to user similarity Sim(usertarget , user𝑖 ).
respectively; while 𝑅target and 𝑅𝑖 represent usertarget ’s and In (4), Loadtarget−𝑗 and Load𝑖−𝑗 denote the service
4 Mobile Information Systems
loads when usertarget and user𝑖 invoked service ws𝑗 , service qualities. In view of this observation, weight
respectively. 𝑊version is suggested as follows:
Loadtarget−𝑗 − Load𝑖−𝑗 𝑊version
𝑊load =1− . (4)
max {Loadtarget−𝑗 , Load𝑖−𝑗 } {1 usertarget , user𝑖 invoked same service of same version (5)
={
0 else.
{
(iv) Weight for Service Version. In the life cycle of a
web service, service provider may publish a series With the above analyses, we can update the user similarity
of service versions with updated service qualities. Sim(usertarget , user𝑖 ) in (1) to be time-aware user similarity
Therefore, if two users invoked an identical web Simtime (usertarget , user𝑖 ) in (6). Then based on (6), we can
service that belongs to different versions, it would calculate the time-aware similarity between target user and
not make much sense to compare their experienced any other user:
Furthermore, according to the derived user similarity, user, that is, Indirect f riend set(usertarget ), based on the
the enemy set of target user, that is, Enemy set (usertarget ), derived Enemy set(usertarget ) in Step 1.
could be obtained based on (7). Here, parameter 𝑃 (−1 ≤ Concretely, for each user𝑖 ∈ Enemy set (usertarget ), we
𝑃 ≤ −0.5) is a predefined user similarity threshold for enemy first calculate his/her similarities with other users based on
relationship: (6); afterwards, we determine user𝑖 ’s enemies user𝑘 (i.e.,
user𝑘 ∈ Enemy set (user𝑖 )) based on (7) and user𝑖 ’s friends
{∈ Enemy set (usertarget ) if Simtime (usertarget , user𝑖 ) ≤ 𝑃 user𝑔 (i.e., user𝑔 ∈ Friend set (user𝑖 )) based on (8). In
user𝑖 { (7)
{
∉ Enemy set (usertarget ) else. (8), parameter −𝑃 denotes the user similarity threshold for
friend relationship. To ease the understanding of readers,
Step 2 (determining indirect friends of target user). In the relationships among usertarget , user𝑖 , user𝑘 , and user𝑔 are
Step 1, we have obtained the enemy set of target user, presented in Figure 3.
that is, Enemy set (usertarget ). Next, in this step, we will
introduce how to get the indirect friends of target user,
that is, Indirect f riend set(usertarget ), based on the obtained {∈ Friend set (user𝑖 ) if Simtime (user𝑖 , user𝑔 ) ≥ −𝑃
Enemy set (usertarget ) and Social Balance Theory. First of all, user𝑔 { (8)
we introduce Social Balance Theory briefly. ∉ Friend set (user𝑖 ) else.
{
Social Balance Theory [22] was first put forward by
psychologist F. Heider in 1958. The theory investigates the
stable social relationships among involved three parties (i.e., Then according to “enemy’s enemy is a friend” rule in Fig-
𝑃, 𝑂, and 𝑋 in Figure 2). Concretely, according to Figure 2, ure 2(b), we can infer that user𝑘 is probably an indirect friend
we introduce the four stable social relationships, respectively, of usertarget , and the probability could be calculated based
in a more intuitive manner. on (9). If Probabilityfriend (usertarget , user𝑘 ) ≥ −𝑃, then user𝑘
is regarded as a qualified indirect friend of target user and
(a) Friend’s Friend Is a Friend. If 𝑋 is a friend of 𝑂 and 𝑂 put into set Indirect f riend set(usertarget ) (see Figure 3(b)).
is a friend of 𝑃, then we can infer that 𝑋 is probably Likewise, according to “enemy’s friend is an enemy” rule
an indirect friend of 𝑃 (see Figure 2(a)). in Figure 2(d), it can be inferred that user𝑔 is probably
(b) Enemy’s Enemy Is a Friend. If 𝑋 is an enemy of 𝑂 and 𝑂 an indirect enemy of usertarget , and the probability can be
is an enemy of 𝑃, then we can infer that 𝑋 is probably obtained based on (10). If Probabilityenemy (usertarget , user𝑔 ) ≥
an indirect friend of 𝑃 (see Figure 2(b)). −𝑃, then user𝑔 is regarded as a qualified indirect enemy
(c) Friend’s Enemy Is an Enemy. If 𝑋 is an enemy of 𝑂 of target user and put into set Enemy set (usertarget ) (see
while 𝑂 is a friend of 𝑃, then we can infer that 𝑋 is Figure 3(d))
probably an indirect enemy of 𝑃 (see Figure 2(c)).
(d) Enemy’s Friend Is an Enemy. If 𝑋 is a friend of 𝑂
while 𝑂 is an enemy of 𝑃, then we can infer that 𝑋 Probabilityfriend (usertarget , user𝑘 )
is probably an indirect enemy of 𝑃 (see Figure 2(d)).
= Simtime (usertarget , user𝑖 ) (9)
Next, with the above four rules in Social Balance Theory,
we introduce how to obtain the indirect friend set of target ∗ Simtime (user𝑖 , user𝑘 ) ,
Mobile Information Systems 5
P O P O
Step 3 (service recommendation). In Step 2, we
have obtained target user’s indirect friend set
Friend relationship Friend relationship Indirect f riend set(usertarget ). Next, in this step, we
Enemy relationship Enemy relationship select the services preferred (i.e., with 4∗ or 5∗ rating)
(a) (b) by indirect friends of target user and recommend them
to the target user. More formally, for each element
X X
user𝑥 ∈ Indirect f riend set(usertarget ), if his/her rating over
web service ws𝑗 (1 ≤ 𝑗 ≤ 𝑛), that is, 𝑅𝑥−𝑗 ∈ {4∗ , 5∗ }, holds,
then ws𝑗 is put into the recommended service set, that is,
P O P O
Rec Ser Set. Finally, all the web services in set Rec Ser Set
are recommended to usertarget .
Friend relationship Friend relationship
Enemy relationship Enemy relationship With above Step 1–Step 3 of our proposed Ser Rectime
(c) (d) approach, a set of IoE services (in set Rec Ser Set) are recom-
mended to the target user. More formally, the pseudocode of
Figure 2: Four stable relationships among 𝑃, 𝑋, and 𝑂 according to Ser Rectime (𝑈, WS, →, usertarget ) is presented in Algorithm 1
Social Balance Theory (the blue arrows between 𝑃 and 𝑋 denote the (please note that algorithm Ser Rectime (𝑈, WS, →, usertarget )
inferred relationships). is abbreviated as Ser Rectime in the whole paper).
Friend_set (useri )
User g
(d)
Enemy_set (usertarget ) ···
User target
User i
..
. Enemy_set (useri )
User k
···
(b)
Service User y
recommendation (c)
User x
Preferred
··· (a) User z
services
Indirect_friend_set (usertarget )
Friend relationship
Enemy relationship
Figure 3: Relationships among usertarget , user𝑖 , user𝑘 , user𝑔 , user𝑥 , user𝑦 , and user𝑧 .
transform the service quality corresponding to the selected The experiments were conducted on a Dell laptop with
time interval into a user-service rating with a timestamp (i.e., 2.80 GHz processors and 2.0 GB RAM. The software config-
the selected time interval). In the experiment, only a quality uration is Windows XP + JAVA 1.5. Each experiment was
dimension, that is, throughput, is considered. carried out 10 times and the average results were adopted
Besides, our paper only discusses the time-aware service finally.
recommendation in sparse-data environment where target
user has no similar friends and similar services. Therefore,
we select appropriate data from WS-DREAM to simulate the 4.2. Experiment Results and Analyses. Concretely, four pro-
above sparse recommendation situations. Furthermore, for files are designed, tested, and compared. Here, 𝑚 and 𝑛 denote
each recruited target user, his/her 80% ratings are randomly the number of users and number of services in the historical
selected for training while the remaining 20% ratings for user-service invocation network.
testing.
Also, we compare our proposal with related works, for (Profile 1) Recommendation Accuracy Comparison. In this
example, WSRec [25], MCCP [26], and SBT-SR [27], in profile, we compare the recommendation accuracy of
terms of recommendation accuracy and recall. Concretely, Ser Rectime with the other three approaches, that is, WSRec,
accuracy and recall are measured by Mean Absolute Error MCCP, and SBT-SR. Concretely, parameters 𝑤𝑢 = 𝑤𝑖 = 0.5
(i.e., MAE; the smaller the better) in (13) and Recall (the hold in WSRec; 𝛼 = 0.8 holds in MCCP; user similarity
larger the better) in (14). In (13), Rec Ser Set denotes the threshold 𝑃 = −0.5 holds in both SBT-SR and Ser Rectime .
recommended service set for target user; |𝑋| denotes the size Besides, in Ser Rectime , 𝛼 = 0.09 holds in (3) and 𝑊load =
of set 𝑋; 𝑅target−𝑥 and 𝑅target−𝑥
#
represent target user’s real 𝑊version = 1 holds (in WS-DREAM, a service was invoked
and predicted ratings over service ws𝑥 , respectively. While in by a user 64 times within successive 16 hours; therefore, we
(14), symbols Preferred Ser Set and Rec Ser Set denote the assume that the service load and version do not vary much).
service set really preferred (with 4∗ or 5∗ rating) by target user Finally, 𝑚 is varied from 20 to 100 in all the four approaches.
and the service set recommended to target user, respectively. The experiment result is presented in Figure 4. As
Figure 4 shows, the recommendation accuracy of WSRec
is low, as it only adopts the average ratings of target user
and target services without considering the valuable user-
𝑅target−𝑥 − 𝑅target−𝑥
#
MAE = ∑ , (13) service relationships hidden in historical service invocation
ws𝑥 ∈Rec Ser Set |Rec Ser Set| records. The accuracy of MCCP is improved by considering
the user-service relationships; however, it is not very suitable
|Preferred Ser Set ∩ Rec Ser Set| for service recommendation when target user has no similar
Recall = . (14)
|Preferred Ser Set| friends and similar services, as MCCP is essentially a kind
Mobile Information Systems 7
Inputs:
(1) 𝑈 = {user1 , . . . , user𝑚 }: a set of users in user-service invocation & rating network;
(2) WS = {ws1 , . . . , ws𝑛 }: a set of web services in user-service invocation & rating network;
𝑅𝑖−𝑗
(3) → = {(user𝑖 → ws𝑗 ) | 1 ≤ 𝑖 ≤ 𝑚, 1 ≤ 𝑗 ≤ 𝑛}: a set of historical user-service rating records;
𝑇𝑖−𝑗
(4) usertarget : target user who requires service recommendation.
Output: Rec Ser Set: service set recommended to usertarget
(1) Set user similarity threshold 𝑃 (−1 ≤ 𝑃 ≤ −0.5)
(2) for each user𝑖 ∈ 𝑈 do // Step 1
(3) calculate Simtime (usertarget , user𝑖 ) based on (1)–(6)
(4) if Simtime (usertarget , user𝑖 ) ≤ 𝑃
(5) then put user𝑖 into set Enemy set(usertarget )
(6) end if
(7) end for
(8) for each user𝑖 ∈ Enemy set(usertarget ) do // Step 2
(9) determine user𝑖 ’s friend user𝑔 based on (6) and (8)
(10) if probability in (10) is larger than −𝑃
(11) then put user𝑔 into Enemy set(usertarget )
(12) end if
(13) determine user𝑖 ’s enemy user𝑘 based on (6) and (7)
(14) if probability in (9) is larger than −𝑃
(15) then put user𝑘 into Indirect f riend set(usertarget )
(16) end if
(17) end for
(18) for each user𝑥 ∈ Indirect f riend set(usertarget ) do
(19) determine user𝑥 ’s enemy user𝑦 based on (6) and (7)
(20) if probability in (11) is larger than −𝑃
(21) then put user𝑦 into Enemy set(usertarget )
(22) end if
(23) determine user𝑥 ’s friend user𝑧 based on (6) and (8)
(24) if probability in (12) is larger than −𝑃
(25) then put user𝑧 into Indirect f riend set(usertarget )
(26) end if
(27) end for
(28) repeat Line (8)–Line (27) until Indirect f riend set(usertarget ) stays stable
(29) Rec Ser Set = 0 // Step 3
(30) for each user𝑥 ∈ Indirect f riend set(usertarget ) do
(31) for each ws𝑗 ∈ WS do
(32) if 𝑅𝑥−𝑗 ∈ {4∗ , 5∗ }
(33) then put ws𝑗 into set Rec Ser Set
(34) end if
(35) end for
(36) end for
(37) return Rec Ser Set
of similar user-based service recommendation approach. The for service recommendation when there are many users as
recommendation accuracy of SBT-SR is high as “enemy’s well as their invocation records.
enemy is a friend” rule of Social Balance Theory is recruited
to find the “indirect friends” of target user. Furthermore, (Profile 2) Recommendation Recall Comparison. In this pro-
our proposed Ser Rectime outperforms SBT-SR as Ser Rectime file, we compare the recommendation recall values of four
not only considers Social Balance Theory, but also takes approaches. The parameter settings are the same as those in
time factor into consideration for looking for the really profile 1. Concrete experiment results are shown in Figure 5.
similar “indirect friends” of target user. Besides, as shown As Figure 5 shows, the recall of WSRec is low as the
in Figure 4, recommendation accuracy values of MCCP, “average” idea adopted in WSRec often leads to a low recom-
SBT-SR, and Ser Rectime all increase with the growth of 𝑚 mendation hit rate. The recommendation recall values of the
approximately; this is because more valuable user-service remaining three approaches all increase with the growth of 𝑚;
relationship information would be discovered and recruited this is because when there are many available historical users,
8 Mobile Information Systems
2 1.6
1.9
1.4
1.8
1.2
1.7
1.5 0.8
1.4
0.6
1.3
0.4
1.2
1.1 0.2
1 0
20 40 60 80 100 20 40 60 80 100
m: number of users m: number of users
Ser_Rectime SBT-SR Ser_Rectime SBT-SR
WSRec MCCP WSRec MCCP
Figure 4: Recommendation accuracy comparison with respect to Figure 6: Time cost comparison with respect to 𝑚.
𝑚.
50
and similar services. Furthermore, our proposed Ser Rectime
45
approach often outperforms SBT-SR in recall. This is because
40 only “enemy’s enemy is a friend” rule of Social Balance
Theory is recruited in SBT-SR, while in Ser Rectime , all
35 four rules in Figure 2 are considered, which improves the
recommendation hit rate to some extent.
Recall (%)
30
1
𝑂(𝑚2 ∗ 𝑛).
0.8
5.2. Related Works and Comparison Analyses. With the
0.6 advent of IoE age, an excessive number of IoE services are
emerging on the web, which places a heavy burden on the
0.4 service selection decision of target users. In this situation,
various recommendation techniques, for example, CF-based
0.2 recommendation [28] and content-based recommendation
[29], are put forward to help the target users find their
0
200 400 600 800 1000
interested IoE services.
n: number of services
A two-phase 𝐾-means clustering approach is brought
forth in [30] to make service quality prediction and service
Ser_Rectime SBT-SR recommendation. However, this clustering-based approach
WSRec MCCP
often requires a dense historical user-service invocation
Figure 7: Time cost comparison with respect to 𝑛. matrix, and hence cannot deal with the service recommen-
dation problem on sparse data very well. In [31], a CF-based
recommendation approach is put forward, which realizes ser-
vice recommendation based on the similar friends of target
the time costs of the remaining three approaches all increase user. However, when the target user has no similar friends,
with the growth of 𝑚 approximately linearly, as each service the recommendation accuracy is decreased significantly. A
is considered at most once in each user similarity calculation bidirectional (i.e., user-based CF + item-based CF) service
process. However, as can be seen from Figure 7, the service recommendation approach named WSRec is brought forth
recommendation process of Ser Rectime approach could be in [25], for high-quality recommendation results. However,
generally finished in polynomial time. when a target user has no similar friends and similar
services, WSRec can only make a rough prediction and
5. Evaluations recommendation, by considering both the average rating
from target user and the average rating of the service that
In this section, we first analyze the time complexity of our is ready to be predicted. In [26], a MCCP approach is put
proposed Ser Rectime approach. Afterwards, related works forward to capture and model the preferences of various
and comparison analyses are presented to further clarify the users over different services; however, only similar friends of
advantages and application scope of our proposal. Finally, we target user are recruited for service quality prediction and
point out our future research directions. recommendation, which drops some valuable user-service
relationship information hidden in the historical user-service
5.1. Complexity Analyses. Suppose there are 𝑚 users and 𝑛 invocation records.
services in the historical user-service invocation network. In order to mine and introduce more user-service rela-
tionship information into recommendation, a service rec-
Step 1. According to (1)–(6), the time-aware similarity ommendation approach SBT-SR is proposed in our previous
between target user and any other user could be calculated, work [27]. By utilizing “enemy’s enemy is a friend” rule in
whose time complexity is 𝑂(𝑛). Afterwards, a user is judged Social Balance Theory, some indirect friends of target user
to be an qualified enemy of target user or not based on (7), could be found and utilized for further recommendation,
whose time complexity is 𝑂(1). As there are totally 𝑚 users which improves the accuracy and recall of recommendation
in set 𝑈, the time complexity of this step is 𝑂(𝑚 ∗ (𝑛 + 1)) = in sparse-data environment. However, SBT-SR has two short-
𝑂(𝑚 ∗ 𝑛). comings: first, service invocation time is not considered in
SBT-SR, which may decrease the recommendation accuracy
Step 2. In this step, we utilize the four rules (see Figure 3) in as service quality is often dynamic and varied with time;
Social Balance Theory iteratively, so as to find all the indirect second, SBT-SR only employs “enemy’s enemy is a friend”
friends of target user. And, in the worst case, the similarity rule for service recommendation, while overlooks other
between any two users in set 𝑈 needs to be calculated. As valuable rules in Social Balance Theory, for example, “friend’s
there are 𝑚 users in set 𝑈, the time complexity of this step friend is a friend” rule, “friend’s enemy is an enemy” rule, and
is 𝑂(𝑚2 ∗ 𝑛). “enemy’s friend is an enemy” rule. In view of the above two
shortcomings, a novel time-aware service recommendation
Step 3. For each derived indirect friend (at most 𝑚−1 indirect approach named Ser Rectime is put forward in this paper,
friends) of target user, we select his/her preferred services (at to deal with the recommendation problem in sparse-data
10 Mobile Information Systems
[14] L. Qi, W. Dou, C. Hu, Y. Zhou, and J. Yu, “A context-aware ser- [30] C. Wu, W. Qiu, Z. Zheng, X. Wang, and X. Yang, “QoS predic-
vice evaluation approach over big data for cloud applications,” tion of web services based on two-phase K-means clustering,”
IEEE Transactions on Cloud Computing. in Proceedings of the IEEE International Conference on Web
[15] X. Fan, Y. Hu, R. Zhang, W. Chen, and P. Brézillon, “Modeling Services (ICWS ’15), pp. 161–168, IEEE, New York, NY, USA, July
temporal effectiveness for context-aware web services recom- 2015.
mendation,” in Proceedings of the IEEE International Conference [31] S.-Y. Lin, C.-H. Lai, C.-H. Wu, and C.-C. Lo, “A trustworthy
on Web Services (ICWS ’15), pp. 225–232, New York, NY, USA, QoS-based collaborative filtering approach for web service
June 2015. discovery,” Journal of Systems and Software, vol. 93, pp. 217–228,
[16] S. Wang, L. Huang, C.-H. Hsu, and F. Yang, “Collaboration 2014.
reputation for trustworthy Web service selection in social [32] Z. Fu, X. Wu, C. Guan, X. Sun, and K. Ren, “Towards efficient
networks,” Journal of Computer and System Sciences, vol. 82, no. multi-keyword fuzzy search over encrypted outsourced data
1, pp. 130–143, 2016. with accuracy improvement,” IEEE Transactions on Information
Forensics and Security, vol. 11, no. 12, pp. 2706–2716, 2016.
[17] S. Wang, Y. Ma, B. Cheng, F. Yang, and R. Chang, “Multi-
dimensional QoS prediction for service recommendations,” [33] Z. Fu, K. Ren, J. Shu, X. Sun, and F. Huang, “Enabling person-
IEEE Transaction on Services Computing, 2016. alized search over encrypted outsourced data with efficiency
improvement,” IEEE Transactions on Parallel and Distributed
[18] Y. Ma, S. Wang, P. C. Hung, C. H. Hsu, Q. Sun, and F. Yang, “A Systems, vol. 27, no. 9, pp. 2546–2559, 2016.
highly accurate prediction algorithm for unknown web service
[34] Z. Pan, P. Jin, J. Lei, Y. Zhang, X. Sun, and S. Kwong, “Fast
QoS value,” IEEE Transactions on Services Computing, vol. 9, no.
reference frame selection based on content similarity for low
4, pp. 511–523, 2016.
complexity HEVC encoder,” Journal of Visual Communication
[19] S. Wang, L. Huang, L. Sun, C.-H. Hsu, and F. Yang, “Efficient and Image Representation, vol. 40, pp. 516–524, 2016.
and reliable service selection for heterogeneous distributed [35] Z. Fu, F. Huang, X. Sun, A. V. Vasilakos, and C. Yang, “Enabling
software systems,” Future Generation Computer Systems, 2016. semantic search based on conceptual graphs over encrypted
[20] Y. Ni, Y. Fan, W. Tan, K. Huang, and J. Bi, “NCSR: negative- outsourced data,” IEEE Transactions on Services Computing,
connection-aware service recommendation for large sparse 2016.
service network,” IEEE Transactions on Automation Science and [36] Z. Fu, X. Sun, S. Ji, and G. Xie, “Towards efficient content-aware
Engineering, vol. 13, no. 2, pp. 579–590, 2016. search over encrypted outsourced data in cloud,” in Proceedings
[21] Y. Zhong, Y. Fan, K. Huang, W. Tan, and J. Zhang, “Time- of the 35th Annual IEEE International Conference on Computer
aware service recommendation for mashup creation,” IEEE Communications (INFOCOM ’16), pp. 1–9, San Francisco, Calif,
Transactions on Services Computing, vol. 8, no. 3, pp. 356–368, USA, April 2016.
2015. [37] Z. Xia, X. Wang, X. Sun, and B. Wang, “Steganalysis of least
[22] D. Cartwright and F. Harary, “Structural balance: a generaliza- significant bit matching using multi-order differences,” Security
tion of Heider’s theory,” Psychological Review, vol. 63, no. 5, pp. and Communication Networks, vol. 7, no. 8, pp. 1283–1291, 2014.
277–293, 1956. [38] J. Li, X. Li, B. Yang, and X. Sun, “Segmentation-based image
[23] Z. Zheng, Y. Zhang, and M. R. Lyu, “Investigating QoS of real- copy-move forgery detection scheme,” IEEE Transactions on
world web services,” IEEE Transactions on Services Computing, Information Forensics and Security, vol. 10, no. 3, pp. 507–518,
vol. 7, no. 1, pp. 32–39, 2014. 2015.
[39] Z. Pan, J. Lei, Y. Zhang, X. Sun, and S. Kwong, “Fast motion
[24] B. Sarwar, G. Karypis, J. Konstan, and J. Reidl, “Item-based col-
estimation based on content property for low-complexity
laborative filtering recommendation algorithms,” in Proceedings
H.265/HEVC encoder,” IEEE Transactions on Broadcasting, vol.
of the the 10th International Conference on World Wide Web, pp.
62, no. 3, pp. 675–684, 2016.
285–295, ACM, Hong Kong, May 2001.
[40] Y. Zheng, B. Jeon, D. Xu, Q. M. J. Wu, and H. Zhang, “Image
[25] Z. Zheng, H. Ma, M. R. Lyu, and I. King, “QoS-aware web segmentation by generalized hierarchical fuzzy C-means algo-
service recommendation by collaborative filtering,” IEEE Trans- rithm,” Journal of Intelligent and Fuzzy Systems, vol. 28, no. 2,
actions on Services Computing, vol. 4, no. 2, pp. 140–152, 2011. pp. 961–973, 2015.
[26] Y. Rong, X. Wen, and H. Cheng, “A Monte Carlo algorithm [41] B. Chen, H. Shu, G. Coatrieux, G. Chen, X. Sun, and J. L. Coa-
for cold start recommendation,” in Proceedings of the 23rd trieux, “Color image analysis by quaternion-type moments,”
International Conference on World Wide Web (WWW ’14), pp. Journal of Mathematical Imaging and Vision, vol. 51, no. 1, pp.
327–336, ACM, Seoul, South Korea, April 2014. 124–144, 2015.
[27] L. Qi, X. Zhang, Y. Wen, and Y. Zhou, “A Social Balance [42] Z. Xia, X. Wang, X. Sun, Q. Liu, and N. Xiong, “Steganalysis
Theory-based service recommendation approach,” in Advances of LSB matching using differences between nonadjacent pixels,”
in Services Computing: 9th Asia-Pacific Services Computing Multimedia Tools and Applications, vol. 75, no. 4, pp. 1947–1962,
Conference, APSCC 2015, Bangkok, Thailand, December 7–9, 2016.
2015, Proceedings, vol. 9464 of Lecture Notes in Computer [43] Y. Zhang, X. Sun, and B. Wang, “Efficient algorithm for k-
Science, pp. 48–60, Springer, Berlin, Germany, 2015. barrier coverage based on integer linear programming,” China
[28] F. Zhang, T. Gong, V. E. Lee, G. Zhao, C. Rong, and G. Qu, “Fast Communications, vol. 13, no. 7, pp. 16–23, 2016.
algorithms to evaluate collaborative filtering recommender [44] J. Wang, T. Li, Y. Shi, S. Lian, and J. Ye, “Forensics feature analysis
systems,” Knowledge-Based Systems, vol. 96, pp. 96–103, 2016. in quaternion wavelet domain for distinguishing photographic
[29] L. Yao, Q. Z. Sheng, A. H. H. Ngu, J. Yu, and A. Segev, “Unified images and computer graphics,” Multimedia Tools and Applica-
collaborative and content-based web service recommendation,” tions, 2016.
IEEE Transactions on Services Computing, vol. 8, no. 3, pp. 453– [45] Z. Zhou, C. Yang, B. Chen, X. Sun, Q. Liu, and Q. J. Wu,
466, 2015. “Effective and efficient image copy detection with resistance
12 Mobile Information Systems
Advances in
Fuzzy
Systems
Modelling &
Simulation
in Engineering
Hindawi Publishing Corporation
Hindawi Publishing Corporation Volume 2014 http://www.hindawi.com Volume 2014
http://www.hindawi.com
International Journal of
Advances in Computer Games Advances in
Computer Engineering Technology Software Engineering
Hindawi Publishing Corporation Hindawi Publishing Corporation Hindawi Publishing Corporation Hindawi Publishing Corporation Hindawi Publishing Corporation
http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014 http://www.hindawi.com Volume 2014
International Journal of
Reconfigurable
Computing