Ontology Based Suggestions System for Cross CPP Data Customers
We all have experience of online shopping on Amazon, and probably (binge) watching videos on YouTube or Netflix. However, we hardly think about the suggestions that these kind of online platforms create for us which are completely or partially tailor-made for us.
In Data Science and AI, we can usually distinguish between two types of recommendation systems: collaborative and content based. Collaborative systems predict what individual users might like based on data gathered over other users on what they have liked, and content based systems predict what individual user liked in the past. Both of those approaches have their pros and cons, thus we come up with context related recommendation system. For example it would be great to have music recommendation systems consider the places of interest based on location and time, activity the user is performing and even on extreme side consider the mood of the listener. Here comes the value of knowledge modelling or context modelling. In Cross-CPP we have developed an ontology based algorithm where we make suggestions about data that can be relevant for our data customers when they are out looking for CPP data.
How does this work?
The first step was to develop an ontology detailing the relationships among CPP sensors and signals which models the environment of entire CPP system. We took the simple concept of binding sensor signals with relationships, dependencies and made an informative context model which has all the relationships information about the sensor signals that are hosted by Cross CPP Big data Marketplace. The second step involved using the ontology to develop an algorithm that receives the data customer’s selection of signals and uses the ontology to suggest what kind of further signals could be also selected.
The figure below shows the part of vehicle-specific ontology model which contains sensor measurement values and static information or as we call it basic CPP information gathered from vehicles. The relations we introduced primarily indicate the relationships between different sensor measurement values, which is of high importance for generating the recommendation for the data customer. As you might see two very frequently used relationships are standing out: the “affectedBy”-relationship, which indicates that a specific sensor value may be influenced by another sensor value – e.g. the indoor temperature may be influenced by the air conditioning mode. On the other side, we use the “relatedWith” – relationship to indicate that there is a correlation between two sensor values – e.g. there is a direct correlation between engine RPM and engine coolant temperature.
Figure 1 Vehicle specific context model
Based on the user’s current interest we then query this model, i.e. what kind of sensor signals should be recommended to him/her and which can additionally be chosen from and added to the shopping basket. A similar model creation process is under-construction for sensor signals collected by smart buildings.
In the next context related blog, we will give a more detailed look on the context monitoring and extraction aspects of our Context Analysis journey, so stay tuned!