Physics
Computer Science-2021.gz:143235
Computer Science
82505deac8c690de8015d66d2165cde7b95f9eab
A Comprehensive Study of Recommender Systems for the Internet of Things

Internet of Things (IoT) is an advancing technology that is a network of many smart devices connected together to provide services to various application domains such as smart offices, health monitoring, agriculture, etc. IoT-based recommendation technologies are becoming one of the key requirements that will recommend future IoT solutions. A review of existing recommendation technologies in the vibrant field of IoT is discussed in this paper. The main aim of this paper is to present a comprehensive analysis of existing literature on recommendation approaches. Several issues of applying recommendation systems to IoT are also discussed. Nearly 1000 research papers have been considered for analyses which are published by ACM, Springer, IEEE and Science Direct from 2011 to 2017. Finally, the recent research trends are spotted for future researchers intended to work in the recommendation-based IoT domain. Moreover, this paper also envisages the future of the Recommender System (RS) that opens up the newest research directions for young researchers.


Introduction
The original concept of the IoT was coined by Kevin Ashton and is now becoming a new technological mainstream. IoT is a system of interrelated computing devices that creates a network where physical objects are connected to the internet. The purpose of this concept is to enable the exchange of information from the sensor node through existing network connectivity and computing capability with a minimal level of human intervention. These devices connected to the network provide the information gathered from the environment through a sprawling set of technologies. Thus, IoT is a mixture of technology and connectivity with everything and anything occurring in the immediate environment [1].
Internet of Things is used in almost all the domains like transportation, healthcare, smart homes/offices, etc. Many innovative IoT applications are competing with each other and are likely to grow exponentially in the upcoming future. As a variety of IoT applications are available in the market, so, it becomes a tedious task for users to choose the best suitable out of them. It requires a proper survey to choose appropriately based on product specifications, applications and context and Recommender System (RS) proves to be the best assistant while selecting the most relevant IoT application [2]. RS saves money as well as time required to implement the desired IoT solution by gathering information as per the user's preference. It becomes easy to locate a suitable solution. While filtering the data from large databases, RS does efficient data management based on factors like users, devices, services, etc. Hence, recommendation technologies can take the future of IoT to new heights [3].
For an effective service recommendation, accuracy, productivity and diversity are three major requirements. Accuracy is achieved if an RS recommends relevant services only. Productivity recommendations are those that can produce without the user's explicit request. In an IoT environment, diversity means heterogeneous data which becomes difficult to handle while fetching accurate recommendations. RS acts as additional functionality for IoT gateways as it helps in selecting useful apps on the basis of gateways settings. User context and demographic information are useful for suggesting IoT applications [4]. The importance of RS in IoT can be illustrated by the above example (shown in Fig. 1) where an employee in the office is preparing a cup of coffee. Motion sensors are used to monitor each and every move and track each activity. If he waits for too long, a recommender app will remind him of what to do next. Later that day, any other employee can access the secure application and scans a checklist from the phone in his office. He finds that all employees continued to manage their daily activities on their own. The main objective of this paper is to present a comprehensive analysis of existing literature on recommendation approaches.

Related Work
In the present work, a comprehensive literature study has been carried out for the role of recommendation systems in IoT devices. IoT is a network where objects are uniquely identified and can be easily accessible to the network by fusing the physical and digital world [5]. These objects are interconnected with other devices to facilitate the interaction between the digital and the physical world. In the past, a majority of devices linked with the internet were used directly by humans like computers or smartphones. Today, the number of things connected to the internet is growing day by day and everything is exchanging information. According to a prediction, the world will have more than 50 billion devices connected to the internet by 2020 through the expansion of the IoT network [6,7].
Paramshetti et al. [8] surveyed different existing ML techniques like Artificial neural networks, Decision trees, Support vector machine, Clustering, etc for the prediction of software defects. They observed that software defect is a major issue and fault prediction using various ML techniques improves the quality and reduces the expense and time. In addition to the previous, Rathore et al. [9] presented a decision tree logic-based recommendation system that helps in selecting an appropriate technique to build a fault prediction model. Some case studies were presented that assure the functionality and performance of the proposed recommendation system and a prototype system was also implemented.
Onal et al. [10] presented a framework named Modular Intelligent Server Based Internet of Things Framework with Big Data and ML (MIS-IoT) based upon the modular server with IoT. This modular server is open for new extensions. This system applies ML and Deep Learning (DL) techniques on big data using IoT systems. In this paper, the authors explained the design architecture of MIS-IoT. The author tested the framework to detect an anomaly over real-time weather data using the modular intelligent server in IoT. The authors used real-time weather forecasting data and apply K-means clustering and LSTM models for anomaly detection. The author observed that the proposed method was used for the environment using different IoT sensors for real-time weather forecasting. In addition to this, Felfernig et al. [11] provided an overview of recommendation technologies' applications in the IoT and presented some new recommendation approaches based on IoT scenarios in the real-world.
[12] proposed an AI system for physically challenged people which lead to their normal and independent life. AI allows the user to converse freely with an assistant and understand the message of the user. It has features of bed rotation and door security. Also, energy can be saved with minimal maintenance by the person who is monitoring the elderly person who monitors and controls the devices used in the house. In the same year, Altulyan et al. [13] discussed the drawbacks of using recommendation systems in IoT and proposed a framework that compares existing literature to guide upcoming research.

Basic Recommendation Approaches
In an IoT environment, RS supports various situations like the recommendation of services, sensor equipment, apps and IoT workflows [11]. In this section, the basic recommendation algorithms will be introduced.
The recommendations in a Collaborative Filtering (CF) recommender are made on the basis of previous users' ratings. There are three stages of working: selecting users aiming for the same preferences requiring recommendations, analyzing similarities between users and recommending on the basis of group ratings. Broadly there are two collaborative filtering techniques: model-based and memory-based. In a memory-based system, ratings for future items are based on ratings deduced from user to user correlations or between items to items. A large training dataset is used each time to predict recommendations affecting performance speed. The solution is based on the pre-calculation and incremental update of the necessary information. In cases where the model is built on basis of the training set, Model-based CF is more scalable. As compared to the former, this model is less accurate due to the large fraction among item-user values in a dense data set [14]. Content-Based (CB) RS recommends items based on previous targets by the user. It uses existing interest history and matches the content of similar profiles with that of target content [15]. Hybrid RS involves a combination of  [16]:  Designing content-based and collaborative features separately and then mixing their predictions.  Building general collaborative and content model characteristics.  Combining collaborative features in the CB approach. Knowledge-Based (KB) RS recommends items to user on the basis of knowledge of items, user and their relationships. It uses functional KB and the performance is based on the identified relationship of users' needed and possible solutions [16]. KB does not rely on user rating or collecting information about specific users to give recommendations. The knowledge-based approach addresses various cold start problems. For the representation of the formal method, ontology is made to build RS-based IoT. Whereas, Content-Aware (CA) RS gives relevant recommendations by analyzing the contextual situation of the user. In [17], context is referred to as data that illustrates the state of objects which is based on the interaction between application and user.

Recommendation System for IoT using ML or DL
Machine Learning (ML) is a subset of Artificial Intelligence (AI) that simulates human learning and uses real-world knowledge to enhance performance. ML algorithms are divided into 3 types, i.e., supervised, unsupervised and semi-supervised on the basis of the nature of data [18].
ML algorithms optimize the ability of traditional recommender systems by providing accurate recommendations to the user. Sewak et al. [19] designed the Optimal State-based Recommender (OSR) System with the help of ML platforms. They shifted user-based preferences recommendation into real-time based accurate recommendations. To design RS, all conventional recommendation techniques can't be adapted directly, so, some authors worked on this. Guo et al. [20] proposed a framework of e-commerce RS for accurate recommendations on multi-source information that helps women while online shopping. It consists of 3 components, namely, data sources, fusion decision and recommendation evidence weight. The results showed a significant impact while exploiting multisource information as recommending shoe probability shoot up from 12% to 85%. Asthana et al. [21] build an RS for monitoring personalized wearable technologies after exploiting ML classifiers. It consists of 3 models, namely, classifier model, optimization model and monitoring framework.
Rasch et al. [22] used unsupervised learning to build a recommender system for smart homes that learns from user patterns. The system was divided into 2 stages, the first is the training stage and the second is the recommendations stage. It is evaluated via 2 datasets. Meanwhile, a decision tree [23] is also used to build an RS that provides life-care recommendations which contain two parts, namely, a peer-to-peer dataset and adaptive decision feedback. Valtolina et al. [24] used a decision tree algorithm as well as a social network to propose a multi-level recommender system. Also, [25] adapted the Analytic Hierarchy Process (AHP) to build a recommender system for recommendations of car parking. Ayata et al. [26] designed an RS using ML algorithms (random forest, kNN and decision tree) for music recommendations.
Deep Learning (DL) is basically an extension of ML. It consists of two additional steps, i.e., adding multiple layers to increase the depth of the model and transforming the data by using functions representations of multiple levels [27]. DL contains several components like activation function, convolutions and pooling. It has different architectural paradigms, i.e., Multilayer Perceptron (MLP), Recurrent Neural Network (RNN) and Convolutional Neural Network (CNN). DL has a property to learn features that make it able to solve complex problems quickly. But it requires more time while training and also requires larger datasets to understand the problem. Yong et al. [28] used CNN, a DL technique to build an RS for a fitness club that recommends suitable exercises to the user as per its fitness. KTH dataset is used for testing action recognition and its accuracy reached 0.8865. Inaccurate recommendations can harm the user, so, a deep neural MLP is used to do effective recommendations for a smart museum [29].

Research trends in Recommender Systems
The selected 1005 relevant publications are from 4 databases, i.e., Springer, Science Direct, ACM Digital Library and IEEE Explore because they are considered as authentic sources of information. Hence, papers published from 2011 to 2017 are categorized as shown in different figures. Fig. 2 represents the share of each category of RS based on their keywords and abstracts.   Fig. 3 proved that the maximum count of papers (n=473) is from IEEE. The citations of the research papers on recommender systems were analyzed to discover the research pattern on recommender systems. Fig. 4 shows different approaches of recommender systems and the countries with the maximum number of publications in these areas. It can be concluded that research on