With the increasing popularity of smartphones, personal assistants and applications, comes the need for better on-device recommendation engines.
Recommendation engines are used by many well-known companies such as Amazon, Netflix and Spotify. Currently they tend to be based on four technologies: Collaborative filtering; Content based filtering; Demographic filtering; and Knowledge-based filtering. Each of these models has specific performance weaknesses which often result in poor user rating for relevance.
Mobile phones contain contextual data which could improve recommendation quality; for example, user data in the form of calendars, SMS messages, emails, web search history and app usage logs. Using this data to improve recommendations raises several issues, including data privacy concerns, data storage costs and communication costs.
A new development has shown that RDFox can be used to build an on-device context-aware recommendation engine that enhances user satisfaction without impinging on data privacy. An academic paper published at the International Semantic Web Conference (November 2020) co-written by Samsung Research and Oxford University Professors Ian Horrocks and Boris Motik (co-founders of Oxford Semantic Technologies) demonstrates how. This article will summarise their approach.
An on-device knowledge graph is appropriate because it avoids data security concerns, as data is only visible to the device (i.e. it is never uploaded to a remote server where it could be hacked or monetised improperly). Additionally, local real-time data can be used to provide context-aware recommendations. It is more appropriate than machine learning techniques as it requires fewer computational resources and less data modelling.
RDFox is a high-performance knowledge graph and semantic reasoning engine. It was originally developed to run on servers; however, this study explored the possibility of a version which would run on Android devices. RDFox is appropriate because:
The researchers have populated an RDF knowledge graph with a variety of data and knowledge, including: contextual user data, extracted using a template-based technique; domain knowledge, extracted using demographic analysis; and background/common sense knowledge from Wikidata, ConceptNet and SenticNet. These data sources are integrated using rules, to provide a rich knowledge graph which can be accessed using SPARQL queries.
RDFox uses reasoning to provide appropriate recommendations based on the user’s needs and preferences, and contextual information. These recommendations change incrementally as the data changes; i.e. if a recommendation is no longer valid, RDFox will delete it without the need to recompute all recommendations.
To create a successful on-device context-aware recommendation engine, various challenges had to be overcome, including: storage; performance, including speed, accuracy, and scalability; communication costs; and technological challenges.
This research found that the on-device version of RDFox can handle large volumes of data, typically taking a few milliseconds to provide results, even for incremental reasoning tasks. The system can also provide users with explanations for the recommendations
The system proposed has confronted the technical challenge of producing an on-device system, and the ability to embed RDFox on an Android phone is a significant advance.
During a study to test the accuracy of the system’s context-aware recommendations, a sample group rated the recommendations as 73% more accurate than an alternative recommendation engine. This suggests that this method for recommendations is effective, and could improve the user experience.
It is clear that on-device reasoning systems hold a place in the future development of recommendation services. Samsung plan to use this research to improve their smartphone recommendation services for music, videos, articles, applications, contextual greetings, and more. This study shows that on-device reasoning with RDFox, can provide accurate and personalised recommendations, without impinging on the data rights of the user.
For more information, you can read the full paper here.