# Time-Aware Cross-Platform IoT Service Recommendation with Privacy Preservation

Authors: Can Zhang; Junhua Wu; Chao Yan; Guangshun Li
Journal: Security and Communication Networks
 (2021)

---

## Abstract

IoT service recommendation techniques can help a user select appropriate IoT services efficiently. Aiming at improving the recommendation efficiency and preserving the data privacy, the locality-sensitive hashing (LSH) technique is adopted in service recommendation. However, existing LSH-based service recommendation methods ignore the intrinsic temporal feature of IoT services. In light of this challenge, we integrate the temporal feature into the conventional LSH-based method and present a time-aware approach with the capability of privacy preservation for IoT service recommendation across multiple platforms. Experiments on a real-world dataset are conducted to validate the advantage of our proposed approach in terms of accuracy and efficiency in recommendation.


---

## Body

## 1. Introduction

The rapidly increasing number of IoT devices and services are continuously producing a vast amount of data. Among those data, the quality of service (QoS) data is generated when a user invoked a service. Service recommendation techniques can employ the historical quality data to reduce the users’ service selection burden and help them find out appropriate services efficiently. Typically, taking collaborative filtering recommendation algorithm for example, through predicting the quality value when a target user invokes a service according to its similar users’ quality data, a recommendation system can suggest a list of optional services for a target user.However, in the IoT environment, traditional recommendation algorithms are often nonavailable in practice [1]. One fundamental reason is that users may choose services from different platforms. For example, in the context of a smart home, users may use service provided by Hikvision to capture video data, service from Huawei to monitor the air quality, and service from Xiaomi to control household appliances. Therefore, the historical QoS data of users is not centralized, but stored across different platforms [2, 3]. Moreover, because of conflicts in economic interests and data privacy concerns, service providers are unwilling to share their data with each other. Furthermore, the volume of the historical QoS data is often massive, thus it is impractical to share such large amount of data with other platforms.Considering these challenges, the locality-sensitive hashing (LSH) algorithm [4] is adopted in service recommender system. Specifically, through hashing high dimensional historical quality data of users into scalar hash value, user privacy is preserved. Besides, as the hashing process is conducted individually in each platform, there is no need to transfer historical data.However, most LSH-based service recommender systems view the historical QoS data as static and unique, rarely taking other context factors (e.g., time) into account. This may lead to less reasonable and accurate recommended results.In light of the abovementioned challenges, we integrate temporal dimension into the conventional LSH-based recommendation method and present a time-aware recommendation approach for IoT services across multiple platforms. The proposed approach achieves higher accuracy than conventional recommendation approaches that have the capability of privacy preservation. The contributions of this paper are summarized as follows.(1)
We improve the conventional LSH-based recommender system by incorporating it with a time factor, so as to adapt the intrinsic feature of IoT services, and achieve better performance in IoT service recommendation.(2)
We conduct extensive experiments on a real-world dataset to validate the advantage of our method. Experimental results demonstrate that the proposed method outperforms the other state-of-the-art approaches in both recommendation accuracy and efficiency, while preserving data privacy among multiple platforms.The rest of this article is structured as follows. Section2 reviews recent work on recommender system for IoT service. Section 3 formulates the problem of IoT service recommendation and presents our motivation. Section 4 describes a time-aware cross-platform IoT service recommendation approach with privacy-preserving capability. Section 5 demonstrates the implementation and results of experiments. Section 6 summarizes the whole paper and addresses future work.


## 2. Related Work

In this section, we review the related research work on time-aware IoT services recommendation with privacy preservation from the following three aspects.


### 2.1. IoT Service Recommendation

Most existing researches on recommender system for IoT services can be classified into three groups: content-based filtering, collaborative filtering, and link-based methods [1]. In [5, 6], Mashal et al. formulated the IoT recommendation as a hypergraph model, which connects users, objects, and services with hyperedges and presents a graph-based recommender system considering the unique feature of IoT services. Yao et al. put forward a unified framework based on probabilistic factor; they calculated user similarity and device similarity and then fused them together to make more accurate recommendation [7, 8]. In [9], Mashal et al. proposed a multiagent approach to establish a distributed recommender system in IoT environment. However, in the above literature, the time factor, which is one of the most common features of IoT service, is not considered in IoT recommendation system. This may decrease the accuracy of recommendation result.


### 2.2. Time-Aware Service Recommendation

A number of research works have taken the time factor into account to obtain more accurate recommendation results. In [10, 11], Wang and Zhu present a spatial-temporal QoS value prediction approach. Temporal sequences of historical QoS data are employed to build feature models, while the spatial information of web services is exploited to reduce the searching space. In [12], Zhong and Fan built a time-aware recommender system for mashup creation. An extraction method for service pattern based on LDA and time series prediction is presented. In [13], Yu and Huang took both time and location factors into account; they represent the temporal quality data as a three-dimensional matrix and use CF techniques to make prediction and recommendation.All of the abovementioned methods employed the time factor to enhance the performance of recommendation system; however, none of those methods take privacy preservation into account, which is necessary when QoS data is collected from different platform to obtain more comprehensive user preference.


### 2.3. Privacy-Preserving Service Recommendation

As IoT service data from different platform contains sensitive user information, it is crucial to preserve user’s privacy while sharing valuable data across platforms [14–19]. In [20], Ma et al. proposed K-anonymity method to protect user privacy through hiding sensitive user identification information. However, this may influence the data availability and decrease the performance of recommendation systems accordingly. In [21], Dou et al. suggest not publishing all the observed QoS data but the optimal data; however, users may still leak some sensitive information. In [4], Qi et al. first introduced LSH technique into service recommendation; by hashing high dimensionality QoS data into low dimensionality indices, data privacy can be protected in an efficient way. However, time factor is still not considered in the approach.As a conclusion, existing IoT service recommendation methods fail in taking time factor and privacy preservation into account simultaneously [22–26]. In light of this challenge, we improve the conventional LSH method and present a time-aware cross-platform IoT service recommendation algorithm with privacy preservation.


## 2.1. IoT Service Recommendation

Most existing researches on recommender system for IoT services can be classified into three groups: content-based filtering, collaborative filtering, and link-based methods [1]. In [5, 6], Mashal et al. formulated the IoT recommendation as a hypergraph model, which connects users, objects, and services with hyperedges and presents a graph-based recommender system considering the unique feature of IoT services. Yao et al. put forward a unified framework based on probabilistic factor; they calculated user similarity and device similarity and then fused them together to make more accurate recommendation [7, 8]. In [9], Mashal et al. proposed a multiagent approach to establish a distributed recommender system in IoT environment. However, in the above literature, the time factor, which is one of the most common features of IoT service, is not considered in IoT recommendation system. This may decrease the accuracy of recommendation result.


## 2.2. Time-Aware Service Recommendation

A number of research works have taken the time factor into account to obtain more accurate recommendation results. In [10, 11], Wang and Zhu present a spatial-temporal QoS value prediction approach. Temporal sequences of historical QoS data are employed to build feature models, while the spatial information of web services is exploited to reduce the searching space. In [12], Zhong and Fan built a time-aware recommender system for mashup creation. An extraction method for service pattern based on LDA and time series prediction is presented. In [13], Yu and Huang took both time and location factors into account; they represent the temporal quality data as a three-dimensional matrix and use CF techniques to make prediction and recommendation.All of the abovementioned methods employed the time factor to enhance the performance of recommendation system; however, none of those methods take privacy preservation into account, which is necessary when QoS data is collected from different platform to obtain more comprehensive user preference.


## 2.3. Privacy-Preserving Service Recommendation

As IoT service data from different platform contains sensitive user information, it is crucial to preserve user’s privacy while sharing valuable data across platforms [14–19]. In [20], Ma et al. proposed K-anonymity method to protect user privacy through hiding sensitive user identification information. However, this may influence the data availability and decrease the performance of recommendation systems accordingly. In [21], Dou et al. suggest not publishing all the observed QoS data but the optimal data; however, users may still leak some sensitive information. In [4], Qi et al. first introduced LSH technique into service recommendation; by hashing high dimensionality QoS data into low dimensionality indices, data privacy can be protected in an efficient way. However, time factor is still not considered in the approach.As a conclusion, existing IoT service recommendation methods fail in taking time factor and privacy preservation into account simultaneously [22–26]. In light of this challenge, we improve the conventional LSH method and present a time-aware cross-platform IoT service recommendation algorithm with privacy preservation.


## 3. Formulation and Motivation

### 3.1. Problem Formulation

Concretely, our time-aware cross-platform IoT service recommendation model can be formulated as a five-tuple IoTSerRect-LSH (SP, U, IS, H, utarget), where(1)
SP=sp1,…,spc:spk1≤k≤c represents the k-th IoT service platform. Each platform provides a part of a user’s QoS data.(2)
U=u1,…,um:uk1≤k≤m denotes the k-th IoT service user. As a user may invoke IoT service from different platforms, his/her historical QoS data is stored across multiple platforms.(3)
IS=is1,1,…,is1,n1,…,isc,1,…,isc,nc:isi,j1≤i≤c,1≤j≤ni denotes the j-th IoT service on the i-th platform; ni means the number of IoT services provided by the i-th platform.(4)
Q=Q1,…,Qt:Qk1≤k≤t denotes the historical user-service quality data at the k-th time slot. Qk=qk,1,1,…,qk,1,n,…,qk,m,1,…,qk,m,n:qk,i,j denotes the quality value of the j-th IoT service when the i-th user invokes at the k-th time slot.(5)
utarget∈U: the user who needs recommendation service.


### 3.2. Motivation

As shown in Figure1, there are three IoT service platforms, Alibaba (denoted as sp1), Huawei (denoted as sp2), and Google (denoted as sp3). IoT services is1,1,…,is1,n1 are deployed in Alibaba, is2,1,…,is2,n2 are deployed in Huawei, and is3,1,…,is3,n3 are deployed in Google. Users u1,u2,u3 keep on invoking IoT services in the above platforms to finish certain tasks.Figure 1
Cross-platform IoT service recommendation: an intuitive example.For conventional user-based CF recommendation approach, if we want to make recommendation forutarget, we need to find similar users of utarget according to the historical QoS data first [27–29]. However, there are three challenges in the collaboration process among Alibaba, Huawei, and Google. (1) Considering user privacy, each platform cannot share their own QoS data to each other [30–33]. (2) Since the user-service quality data keeps updating overtime, its volume becomes increasingly massive, which significantly reduces the collaboration efficiency and scalability [19, 34]. (3) As a user often invokes an IoT service constantly, a user-service pair is made up of a series of QoS values, which makes traditional user-based recommendation approach unsuitable for this situation [35, 36].Considering the abovementioned challenges, we present a novel LSH-based IoT service recommendation method. The method will be elaborated in Section4.


## 3.1. Problem Formulation

Concretely, our time-aware cross-platform IoT service recommendation model can be formulated as a five-tuple IoTSerRect-LSH (SP, U, IS, H, utarget), where(1)
SP=sp1,…,spc:spk1≤k≤c represents the k-th IoT service platform. Each platform provides a part of a user’s QoS data.(2)
U=u1,…,um:uk1≤k≤m denotes the k-th IoT service user. As a user may invoke IoT service from different platforms, his/her historical QoS data is stored across multiple platforms.(3)
IS=is1,1,…,is1,n1,…,isc,1,…,isc,nc:isi,j1≤i≤c,1≤j≤ni denotes the j-th IoT service on the i-th platform; ni means the number of IoT services provided by the i-th platform.(4)
Q=Q1,…,Qt:Qk1≤k≤t denotes the historical user-service quality data at the k-th time slot. Qk=qk,1,1,…,qk,1,n,…,qk,m,1,…,qk,m,n:qk,i,j denotes the quality value of the j-th IoT service when the i-th user invokes at the k-th time slot.(5)
utarget∈U: the user who needs recommendation service.


## 3.2. Motivation

As shown in Figure1, there are three IoT service platforms, Alibaba (denoted as sp1), Huawei (denoted as sp2), and Google (denoted as sp3). IoT services is1,1,…,is1,n1 are deployed in Alibaba, is2,1,…,is2,n2 are deployed in Huawei, and is3,1,…,is3,n3 are deployed in Google. Users u1,u2,u3 keep on invoking IoT services in the above platforms to finish certain tasks.Figure 1
Cross-platform IoT service recommendation: an intuitive example.For conventional user-based CF recommendation approach, if we want to make recommendation forutarget, we need to find similar users of utarget according to the historical QoS data first [27–29]. However, there are three challenges in the collaboration process among Alibaba, Huawei, and Google. (1) Considering user privacy, each platform cannot share their own QoS data to each other [30–33]. (2) Since the user-service quality data keeps updating overtime, its volume becomes increasingly massive, which significantly reduces the collaboration efficiency and scalability [19, 34]. (3) As a user often invokes an IoT service constantly, a user-service pair is made up of a series of QoS values, which makes traditional user-based recommendation approach unsuitable for this situation [35, 36].Considering the abovementioned challenges, we present a novel LSH-based IoT service recommendation method. The method will be elaborated in Section4.


## 4. Privacy-Preserving and Time-Aware LSH-Based IoT Service Recommendation Algorithm: IoTSerRect-LSH

In this section, we present a time-aware LSH-based recommendation algorithm for IoT services across multiple platforms, which is denoted as IoTSerRect-LSH. In summary, our proposed algorithm is divided into three steps:Step 1: calculating user indices at each time slots based on LSH. For an IoT service platform,spk(1 ≤ k ≤ z), each user u‘s QoS data in spk at the t-th time slot is mapped into Ht,k (u), which denotes the k-th subindex of user u at the t-th time slot. User u’s complete index at the t-th time slot Ht (u) is merged as (Ht,1(u),…, Ht,c (u)) offline. The set of indices of all users at each time slot is regarded as a hash table.Step 2: finding out top-K users most similar toutarget. Compute utarget’s complete index at each time slot according to step 1. Then, calculate the similarity between utarget and other users according to the user indices at each time slot, and return the top-K users with the highest similarity score with utarget.Step 3: recommending IoT service for utarget. Predict the quality value of services never invoked by utarget based on utarget’s top-K neighbors’ quality data. Then, retrieve the quality-optimal one to utarget.Next, we demonstrate the implementation of each step in details.


### 4.1. Step 1: Calculating User Indices at Each Time Slots Based on LSH

In the IoT environment, a user (i.e.,ui) usually invokes a IoT service (i.e., isj) at intervals and continuously generates a sequence of QoS data (i.e., …,qt−1,i,j,qt,i,j) [37]. To reduce the scale of historical QoS data, we only employ the historical QoS data of the latest t time slots (i.e., q1,i,j…,qt−1,i,j,qt,i,j). Therefore, we denote the QoS data in the p-th platform at the tk-th time slot as a matrix shown in (1), where the i-th row describes the quality value of all np services provided in the p-th platform invoked by the i-th user at the tk-th time slot. Note that if the i-th user does not employ the j-th IoT service at the tk-th time slot, qtk,i,j=0.(1)Qtk,p=qtk,1,1⋯qtk,1,np⋮⋱⋮qtk,m,1⋯qtk,m,np.Next, to preserve the user’s privacy, we utilize LSH technique to map a user’s QoS data to less-sensitive user index. Since classical CF-based recommendation algorithms often employ Pearson correlation coefficient (PCC) as a measure of user similarity, we adopt the LSH function for the PCC distance to realize the transformation.For each platformspp and each time slot tk, we randomly generate a np-dimensional vector v⟶tk,p from the range [−1, 1]. For user ui, the LSH function for time slot tk is defined in (2). Here, Qtkui=Qtk,1ui,…,Qtk,cui, and Qtk,pui=qtk,i,1,…,qtk,i,np.(2)hQtkui=1,if∑p=1cQtk,pui°vtk,p⟶>0,0,if∑p=1cQtk,pui°vtk,p⟶>0.Thus, according to (2), a user’s observed IoT service data at the p-th platform is firstly mapped into a less-sensitive one-dimensional float value; then, all the float values at each platform are accumulated and mapped into a binary value.Because LSH is a neighbor search method based on probability, one hash function usually leads to less accurate search results. Thus, we adopt amplified LSH through employing multiple hash functions and hash tables. Concretely, for each time slottk, we define r hash functions based on r vectors randomly generated from the range [−1, 1]. Afterwards, we obtain a t ∗ r 0-1 matrix, represented as HQui in (3). Indices of all users in U are stored in a hash table.(3)HQui=h1,1Q1ui⋯h1,rQ1ui⋮⋱⋮ht,1Qtui⋯ht,1Qtui.


### 4.2. Step 2: Finding Out Top-K Users Most Similar toutarget

In step 1, we have generated a hash table; a user’s quality data in recentt time slots is mapped into a t ∗ r 0-1 matrix. For convenience, we denote the matrix (in (3)), as shown in (4), where htkui⟶ is a vector referring to the tk-th row in the matrix. Thus, the hash values of all users’ quality data in recent t time slots can be represented by t ∗ m matrix (shown in (5)).(4)HQui=h1ui⟶…htui⟶,(5)HQ=h1u1⟶⋯h1um⟶⋮⋱⋮htu1⟶⋯htum⟶.Because of the probability-based feature of LSH, it is too strict to find neighbors according to single hash table. Thus, we buildLL>1 hash tables through repeating step 1 L times, which can reduce the number of possible “false-negative” neighbors.Next, we compute the similarities betweenui and the other users at the tk-th time slot by comparing htkui⟶ with the other elements in the tk-th row in (5). The similarity between ui and uj at time slot tk is denoted as simtkui,uj. We first initialize simtkui,uj to 0. If htkui⟶=htkuj⟶ holds in any hash table Tp1≤p≤L, we increment simtkui,uj by one. The similarity between ui and uj is calculated with the formula in (6), where ωtk is a tunable parameter to control the influence of different time slot. The tunable parameters meet the constraint defined in (7).(6)simui,uj=∑tk=1tsimtkui,uj,(7)∑tk=1tωtk=1.Finally, theK users with the highest simui,uj values are returned as the similar user set of ui, denoted as SIM_U_Set.


### 4.3. Step 3: Recommending IoT Service forutarget at Time Slot t

In step 3, we have obtained the top-k most similar users ofutarget, i.e., SIM_U_Set(utarget). Next, we recommend the optimal IoT service for utarget at time slot t based on SIM_U_Set(utarget). In detail, we first predict the quality value of IoT services which have not been employed by utarget at time slot t according to formula (8); then, we make recommendation for utarget according to the predicted quality value.(8)qt,target,j=∑ui∈sIM_U_Setutargetsimutarget,ui∗qt,i,j∑ui∈sIM_U_Setutargetsimutarget,ui.


## 4.1. Step 1: Calculating User Indices at Each Time Slots Based on LSH

In the IoT environment, a user (i.e.,ui) usually invokes a IoT service (i.e., isj) at intervals and continuously generates a sequence of QoS data (i.e., …,qt−1,i,j,qt,i,j) [37]. To reduce the scale of historical QoS data, we only employ the historical QoS data of the latest t time slots (i.e., q1,i,j…,qt−1,i,j,qt,i,j). Therefore, we denote the QoS data in the p-th platform at the tk-th time slot as a matrix shown in (1), where the i-th row describes the quality value of all np services provided in the p-th platform invoked by the i-th user at the tk-th time slot. Note that if the i-th user does not employ the j-th IoT service at the tk-th time slot, qtk,i,j=0.(1)Qtk,p=qtk,1,1⋯qtk,1,np⋮⋱⋮qtk,m,1⋯qtk,m,np.Next, to preserve the user’s privacy, we utilize LSH technique to map a user’s QoS data to less-sensitive user index. Since classical CF-based recommendation algorithms often employ Pearson correlation coefficient (PCC) as a measure of user similarity, we adopt the LSH function for the PCC distance to realize the transformation.For each platformspp and each time slot tk, we randomly generate a np-dimensional vector v⟶tk,p from the range [−1, 1]. For user ui, the LSH function for time slot tk is defined in (2). Here, Qtkui=Qtk,1ui,…,Qtk,cui, and Qtk,pui=qtk,i,1,…,qtk,i,np.(2)hQtkui=1,if∑p=1cQtk,pui°vtk,p⟶>0,0,if∑p=1cQtk,pui°vtk,p⟶>0.Thus, according to (2), a user’s observed IoT service data at the p-th platform is firstly mapped into a less-sensitive one-dimensional float value; then, all the float values at each platform are accumulated and mapped into a binary value.Because LSH is a neighbor search method based on probability, one hash function usually leads to less accurate search results. Thus, we adopt amplified LSH through employing multiple hash functions and hash tables. Concretely, for each time slottk, we define r hash functions based on r vectors randomly generated from the range [−1, 1]. Afterwards, we obtain a t ∗ r 0-1 matrix, represented as HQui in (3). Indices of all users in U are stored in a hash table.(3)HQui=h1,1Q1ui⋯h1,rQ1ui⋮⋱⋮ht,1Qtui⋯ht,1Qtui.


## 4.2. Step 2: Finding Out Top-K Users Most Similar toutarget

In step 1, we have generated a hash table; a user’s quality data in recentt time slots is mapped into a t ∗ r 0-1 matrix. For convenience, we denote the matrix (in (3)), as shown in (4), where htkui⟶ is a vector referring to the tk-th row in the matrix. Thus, the hash values of all users’ quality data in recent t time slots can be represented by t ∗ m matrix (shown in (5)).(4)HQui=h1ui⟶…htui⟶,(5)HQ=h1u1⟶⋯h1um⟶⋮⋱⋮htu1⟶⋯htum⟶.Because of the probability-based feature of LSH, it is too strict to find neighbors according to single hash table. Thus, we buildLL>1 hash tables through repeating step 1 L times, which can reduce the number of possible “false-negative” neighbors.Next, we compute the similarities betweenui and the other users at the tk-th time slot by comparing htkui⟶ with the other elements in the tk-th row in (5). The similarity between ui and uj at time slot tk is denoted as simtkui,uj. We first initialize simtkui,uj to 0. If htkui⟶=htkuj⟶ holds in any hash table Tp1≤p≤L, we increment simtkui,uj by one. The similarity between ui and uj is calculated with the formula in (6), where ωtk is a tunable parameter to control the influence of different time slot. The tunable parameters meet the constraint defined in (7).(6)simui,uj=∑tk=1tsimtkui,uj,(7)∑tk=1tωtk=1.Finally, theK users with the highest simui,uj values are returned as the similar user set of ui, denoted as SIM_U_Set.


## 4.3. Step 3: Recommending IoT Service forutarget at Time Slot t

In step 3, we have obtained the top-k most similar users ofutarget, i.e., SIM_U_Set(utarget). Next, we recommend the optimal IoT service for utarget at time slot t based on SIM_U_Set(utarget). In detail, we first predict the quality value of IoT services which have not been employed by utarget at time slot t according to formula (8); then, we make recommendation for utarget according to the predicted quality value.(8)qt,target,j=∑ui∈sIM_U_Setutargetsimutarget,ui∗qt,i,j∑ui∈sIM_U_Setutargetsimutarget,ui.


## 5. Experiments

To testify the feasibility of our proposed method, extensive experiments are conducted on a real-world QoS dataset, i.e., WS-DREAM [17]. The dataset consists of quality values (i.e., response time and throughput) of 4532 web services invoked by 142 users at 64 different time slots. In our experiments, we consider only one quality dimension, i.e., response time. Moreover, each country that owns services is used to simulate a geographically distributed IoT service platform.Next, we generate test dataset by randomly removing a proportion of data in the dataset. If P% QoS values have been erased, the sparsity of the test dataset is defined as P%.Because of the intrinsic nature of LSH, the privacy-preservation capability of our approach is not testified here. Specifically, we testify and compare three evaluation measures.(1)
Time cost: time consumption of our proposed approach, which is employed to measure the efficiency and performance of a recommendation system.(2)
MAE (mean absolute error): average difference between predicted value and real value, which is employed to measure the accuracy of a recommender system.(3)
RMSE (root mean square error): square root of the average of squared error between predicted value and real value, which is also employed to measure the accuracy of a recommendation system.Concretely, in our experiments, we testify and compare five profiles in our experiments.


### 5.1. Profile 1: Determining the Best Value of ParametersL and r

In our approach, the number of hash tables (i.e.,L) and the number of hash functions in a hash table (i.e., r) can significantly influence the accuracy of a recommender system. Thus, we compare the prediction accuracy (i.e., RMSE and MAE) under different L-r settings and find out the best value of L and r in this profile. For each L-r setting, we repeat our approach on 50 different test datasets and all of the test datasets’ sparsity if fixed to 10%. The reason why we choose 50 different test datasets is that we find the average accuracy tends to be convergent after repeated 50 times (as shown in Figure 2).Figure 2
MAE and RMSE w.r.t experiment times.Table1 demonstrates the MAE and RMSE values of our algorithm under different combination of L, r, and K when the sparsity of test dataset is set to 10%. Results reveal that our algorithm has the best accuracy when parameters are set as follows: L = 16 and r = 8. This holds when top varies from 5 to 10.Table 1
Accuracy comparisons of IoTSerRect-LSH under different combination of parameters.
ParameterK = 5K = 8K = 10MAERMSEMAERMSEMAERMSEL = 16, r = 61.07822.72861.07712.68851.07872.6828L = 16, r = 81.06472.7171.06512.67621.07022.6808L = 16, r = 101.08352.74291.07262.69121.07232.682L = 14, r = 61.08042.73231.07272.6841.07832.6836L = 14, r = 81.07332.72971.07192.68641.07712.6906L = 14, r = 101.08922.75581.0822.70331.07882.6943L = 12, r = 61.0872.74511.08162.69391.08422.691L = 12, r = 81.08082.74111.08072.70531.08242.6979L = 12, r = 101.09082.75731.08932.71381.09342.709


### 5.2. Profile 2: Finding the Proper Value for ParameterK

In our proposed method, we need to find out a target user’sK most similar users. To this end, we conduct experiment with various values of K, where parameters L and r are fixed to 16 and 8, respectively. Therefore, we can find out the proper value of K in our method. Figure 3 shows that, after repeating the experiment on different test datasets 50 times, our method achieves the highest average accuracy (both MAE and RMSE) when top = 8.Figure 3
MAE and RMSE of IoTSerRect-LSH w.r.t. top.


### 5.3. Profile 3: Accuracy Comparison of Three Recommendation Algorithms

To demonstrate the feasibility of our method, we compare IoTSerRect-LSH with two state-of-the-art algorithms UPCC [18] and SerRecdistr-LSH [4] within different dataset sparsity. Based on the findings in Profile 1 and Profile 2, parameters in IoTSerRect-LSH are defined as follows: L = 16, r = 8, and K = 8. The following observations are made based on the results presented in Figure 4:(1)
The MAE and RMSE values of all three approaches decrease as the dataset sparsity increases. When the sparsity is high, less useful QoS values are fetched, which leads to a less precise prediction.(2)
SerRecdistr-LSH performs much worse than our approach since it does not consider the historical temporal information.(3)
When the dataset sparsity is lower than 50%, the MAE value of our approach is a little lower than UPCC. In spite of this, our algorithm still outperforms other algorithms in most cases. The reason is that the quality values at current time slot are sufficient to find the most similar users for UPCC when the dataset sparsity is low. However, temporal information is necessary within sparser dataset.Figure 4
Recommendation accuracy comparison.


### 5.4. Profile 4: Efficiency Comparison of Three Recommendation Algorithms

In this profile, we make a comparison among the three recommendation algorithms in terms of the efficiency. All of the experiments are performed on a computer with Intel i5 processor and 16.0 GB RAM, which runs Windows 10 and Python 3.6. The experimental results (in Figure5) show that the time consumption of UPCC is much higher than the other approaches since the UPCC method calculates correlation coefficients online. Furthermore, the time cost of our method is close to that of SerRecdistr-LSH since they both adopt the offline recommendation strategy.Figure 5
Recommendation efficiency comparison.


## 5.1. Profile 1: Determining the Best Value of ParametersL and r

In our approach, the number of hash tables (i.e.,L) and the number of hash functions in a hash table (i.e., r) can significantly influence the accuracy of a recommender system. Thus, we compare the prediction accuracy (i.e., RMSE and MAE) under different L-r settings and find out the best value of L and r in this profile. For each L-r setting, we repeat our approach on 50 different test datasets and all of the test datasets’ sparsity if fixed to 10%. The reason why we choose 50 different test datasets is that we find the average accuracy tends to be convergent after repeated 50 times (as shown in Figure 2).Figure 2
MAE and RMSE w.r.t experiment times.Table1 demonstrates the MAE and RMSE values of our algorithm under different combination of L, r, and K when the sparsity of test dataset is set to 10%. Results reveal that our algorithm has the best accuracy when parameters are set as follows: L = 16 and r = 8. This holds when top varies from 5 to 10.Table 1
Accuracy comparisons of IoTSerRect-LSH under different combination of parameters.
ParameterK = 5K = 8K = 10MAERMSEMAERMSEMAERMSEL = 16, r = 61.07822.72861.07712.68851.07872.6828L = 16, r = 81.06472.7171.06512.67621.07022.6808L = 16, r = 101.08352.74291.07262.69121.07232.682L = 14, r = 61.08042.73231.07272.6841.07832.6836L = 14, r = 81.07332.72971.07192.68641.07712.6906L = 14, r = 101.08922.75581.0822.70331.07882.6943L = 12, r = 61.0872.74511.08162.69391.08422.691L = 12, r = 81.08082.74111.08072.70531.08242.6979L = 12, r = 101.09082.75731.08932.71381.09342.709


## 5.2. Profile 2: Finding the Proper Value for ParameterK

In our proposed method, we need to find out a target user’sK most similar users. To this end, we conduct experiment with various values of K, where parameters L and r are fixed to 16 and 8, respectively. Therefore, we can find out the proper value of K in our method. Figure 3 shows that, after repeating the experiment on different test datasets 50 times, our method achieves the highest average accuracy (both MAE and RMSE) when top = 8.Figure 3
MAE and RMSE of IoTSerRect-LSH w.r.t. top.


## 5.3. Profile 3: Accuracy Comparison of Three Recommendation Algorithms

To demonstrate the feasibility of our method, we compare IoTSerRect-LSH with two state-of-the-art algorithms UPCC [18] and SerRecdistr-LSH [4] within different dataset sparsity. Based on the findings in Profile 1 and Profile 2, parameters in IoTSerRect-LSH are defined as follows: L = 16, r = 8, and K = 8. The following observations are made based on the results presented in Figure 4:(1)
The MAE and RMSE values of all three approaches decrease as the dataset sparsity increases. When the sparsity is high, less useful QoS values are fetched, which leads to a less precise prediction.(2)
SerRecdistr-LSH performs much worse than our approach since it does not consider the historical temporal information.(3)
When the dataset sparsity is lower than 50%, the MAE value of our approach is a little lower than UPCC. In spite of this, our algorithm still outperforms other algorithms in most cases. The reason is that the quality values at current time slot are sufficient to find the most similar users for UPCC when the dataset sparsity is low. However, temporal information is necessary within sparser dataset.Figure 4
Recommendation accuracy comparison.


## 5.4. Profile 4: Efficiency Comparison of Three Recommendation Algorithms

In this profile, we make a comparison among the three recommendation algorithms in terms of the efficiency. All of the experiments are performed on a computer with Intel i5 processor and 16.0 GB RAM, which runs Windows 10 and Python 3.6. The experimental results (in Figure5) show that the time consumption of UPCC is much higher than the other approaches since the UPCC method calculates correlation coefficients online. Furthermore, the time cost of our method is close to that of SerRecdistr-LSH since they both adopt the offline recommendation strategy.Figure 5
Recommendation efficiency comparison.


## 6. Conclusion

The number of IoT services is rapidly growing. Recommendation technology can significantly relieve the target users’ selection burden. However, because of user privacy concerns, it is impractical for different platforms to directly share their data with each other. In this paper, we proposed a novel cross-platform LSH-based IoT service recommendation method with privacy preservation. Through LSH technique, high dimensionality historical quality data is hashed into less-sensitive indices. Moreover, historical data at different time slots are employed to make more accurate recommendation. Finally, a number of experiments are conducted on real-world dataset WS-DREAM. The experimental results demonstrated the advantage of our approach in terms of accuracy, efficiency, and the capability of privacy preservation.However, some limitations should be addressed. As we did not consider the periodicity of the quality value of IoT service, the number of time slots is fixed in the current method. Furthermore, spatial information of both users and service providers is not employed in our approach. Therefore, we will further enhance our algorithm by taking more context factors such as periodicity [38, 39] and location [40, 41] into account.



---

*Source: 5648168-2021-12-06.xml*