Research Title: Collaborative-Filtering-Based Service Recommendations with Multi-Dimensional Contexts in IoT Environments

Research Area: Recommender Systems, Collaborative Filtering, Service Recommendation

Led by: Joo-Sik Son



Collaborative filtering (CF) involves the use of feedback information provided by users for items consumed or purchased by them to predict their preferences and to recommend new items to the users with based on their predicted preferences. The most popular examples of the use of CF-based recommendation include Netflix, which recommends movie content, and, which recommends books, CDs, and other products to its users. However, unlike traditional recommender systems, it is essential to consider the user context and situations when recommending services in a highly dynamic Internet of Things (IoT) environment. Specifically, rather than considering user ratings and/or purchase histories, taking into account multi-dimensional context information such as the temporal, social, and spatial context is crucial to deal with the dynamic characteristics of IoT environments. In this research, we propose a user-service matrix model to represent the contextual dependency between users and services and to analyze the feasibility of using multi-dimensional context information with regard to the accuracy of service recommendations. We are conducting experiments to test our approach using datasets collected from practical IoT testbed environments with various smart devices are installed in it. The results are showing that the proposed collaborative filtering approach extended for multi-dimensional context-aware service recommendations is effective for IoT-based service environments.


Core Approaches:

To discover and recommend possible tasks for a user in a given place, we need to understand what functionalities that the place can provide. A smart space can have several meanings perceived by people over time based on their social interactions made in the space. We call these different meanings assigned to a space as placeness, which is a diachronic representation of social and cultural activities. To discover and recommend services in a spontaneous manner without prior experiences in a given smart space, we exploit the experiences of people who have been at the place. Therefore, we need to determine what people have done by mining their experiences in the place. To do this, we identify ‘what types and how many of users’ have been at the place and identify ‘what social activities’ have been performed by the users in the place.


[Figure 1. Ontology model for capturing user context in a smart space]

As shown in Figure 1, we have designed the placeness-based ontology model that represents relationships among users (a group of users), an activity, a smart object, a service, and a location in the social, spatial and temporal aspects. With this ontology model, we capture users’ task information in a smart space as a combination of contextual information in the social, spatial and temporal aspects.

From the contextual information collected in the testbeds, it is necessary to discover and recommend tasks that the target user can conduct in the given place. There is a high possibility that a user will follow the social interaction experiences of other users similar to the given user. Therefore, the key to a successful recommendation is to model user-item preferences. In many recommender systems, user-item preferences are represented by a |u|x|i| user-item matrix M. In IoT environments it is difficult to ask users to provide explicit ratings of services. Services are provided spontaneously and dynamically according to users’ needs and situations. Users usually do not want to incur the burden of giving feedback about services. QoS values are also difficult to use in IoT environments because the types of services to be provided are not static. Moreover, it is difficult to predefine the detailed QoS factors to consider and the quality metrics to use. In this research, we analyze users’ service invocation histories to identify the contextual factors that are essential to recommend services to users. For the user-item matrix M, we consider the services as the items, as this is the objective of the recommendation. We define different types of user-service matrices such as a binary matrix, a scalar matrix, and a log-scaled scalar matrix.


[Figure 2. An example of the user-item matrix made for the testbeds]


Intermediate Results:

Figure 3. shows the overall result of our experiment. This table summarizes the result when considering each contextual factor independently as well as the results of considering the aggregated contextual factors in each aspect, considering only the representative factors, and considering the aggregated contextual factors in all aspects. For the seminar room data, the case of considering the ‘duration’ contextual factor shows the best recommendation performance. This is because activities in the seminar room are usually pre-planned and changes on the activities are occasional. Contrary to the seminar room data, consideration of the ‘noise’ contextual factor results in the best recommendation accuracy in the lounge data. Compare to the seminar room, the lounge is a more dynamic place, where people come in and out frequently, and the activities performed by the people are much more flexible. This is the reason why the ‘duration’ contextual factor shows relatively low impact on the recommendations. However, the dynamic characteristic of the lounge tends to generate more noise and consideration of the ‘noise’ contextual factor contributes to improve the recommendation performance.


[Figure 3. Summary of the result of considering the contextual factors in multiple aspects]

Figure 4. shows every possible aggregation case of the given contextual factors. For example, there are eight contextual factors in the data from seminar room, so the number of cases of the aggregation is 256, and for the data from lounge, 32 cases for five contextual factors. In this experiment, we measured RMSE values when every possible case of aggregated contextual factors is considered, and the Figure 4. shows the result ordered by RMSE values. In case of the seminar room data in Figure 4. (a) when only ‘duration’ contextual factor is considered, the result ranks second. However, the first ranked case is the aggregation of ‘start time’, ‘duration’, ‘frequency of opening and closing a door’, ‘the number of people’, and ‘noise’ contextual factors, which implies that there is a curtain set of contextual factors resulting the best accuracy level. This is the same for the lounge data in Figure 4. (b), there are several aggregation set of contextual factors. The best set for the lounge data is including ‘day’, ‘start time’, ‘duration’, and ‘noise’ contextual factors. Although the results of analyzing the datasets from the seminar room and the lounge have some differences, there is a common characteristic that we can find. Both of the results show that it is essential to consider the aggregated contextual factors from different aspects. The accuracy of service recommendation increases as we consider more types of contextual factors in multiple aspects. This result strongly implies that consideration of various contextual factors during the CF-based service recommendation process is effective for the IoT-based service environments, which produce a rich set of contextual information.


[Figure 4. Every aggregation case of contextual factors sorted by RMSE values]

In this research, we are working on evaluating the effectiveness of considering multi-dimensional contexts for service recommendations based on CF methods in IoT environments. First, we design a placeness-based context model to capture users’ situation in multiple aspects. We then collect data about the contextual factors in the temporal, spatial and social aspects from the testbeds that are equipped with smart objects. The experimental results showed that most of the contextual factors have positive impacts on service recommendations, and when multiple contextual factors are aggregated together, the performance improvement gets higher. Especially, it shows that consideration of aggregated contextual factors from different aspects results in the best recommendation performance. These findings highly support that consideration of various contextual information in multiple aspects enables successful and accurate service recommendations in dynamic IoT environments.