In Brief

The Recommender System (RS) is a component integrated within the SOA4All Consumption Platform. The Recommender System aims to improve the user experience by providing users with suggestions about relevant services that may be of their interest. In order to provide recommendations, the Recommender System analyzes different kinds of data: service descriptions, user profiles and user behaviour in interacting with the platform.

What is the Recommender System

Interacting with services in a service world, as envisaged by the SOA4All project, requires implementing several mechanisms in order to enhance the user experience within the vast number of services expected. In particular, enabling ways to help end-users to interact with the most suitable services for them is a challenge. While it is obviously an advantage to have many services to choose from, there is a need to enable methods to find the most appropriate ones.

Recommendations are the powerful mechanism adopted in SOA4All that allows users to become aware of services that can be helpful for them. The Recommender System is the key component responsible for providing such recommendations.

How it works

The RS receives as inputs a number of information about services (their semantic description from iServe, the availability/response time statistics from the Analysis Platform) and about users (some profile data from the Consumption Platform itself, the logs of users' interactions with SOA4All from the Semantic Spaces and some additional data from the "Linking Open Data dataset cloud" or simply "LOD Cloud"). Based on those inputs, the RS is able to compute recommendations, which are stored in some internal dedicated data structures; whenever some more information is added (e.g. additional user logs), the RS processes the new input and updates the recommendations.

The approach we followed in the SOA4All project consists in building a Hybrid Recommender System, composed by a number of different recommenders, which explored the various possibilities enabled by the distinct algorithms and techniques. Specifically, the SOA4All Recommender System combines three different recommenders:

How to invoke the Recommender System REST service

The SOA4All Recommender System is available on the Web as a REST service. To better understand its functioning and to learn about the available operations, please have a look at the MicroWSMO-annotated description of the REST service.

You can also try the service using a HTML interface available here

Learn more

SOA4All deliverables about the Recommender System

Publications about the Recommender System

[1] Andrea Turati, Dario Cerizza, Irene Celino and Emanuele Della Valle: "A Collaborative Filtering System for Recommending Web Services through the Analysis of User Actions within a Web 2.0 Portal", In Proceedings of the 3rd Workshop on Web Personalization, Reputation and Recommender Systems (WPRRS 2009) at the 2009 IEEE/WIC/ACM International Conference on Web Intelligence, Milano, Italy, September 2009.

[2] Daniele Dell'Aglio, Irene Celino, Dario Cerizza: "Anatomy of a Semantic Web-enabled Recommender System", In Proceedings of the 4th international workshop Semantic Matchmaking and Resource Retrieval in the Semantic Web, at the 9th International Semantic Web Conference 2010, Shangai, China, November 2010.

[3] Liwei Liu, Freddy Lecue, Nikolay Mehandjiev and Ling Xu: "Using Context Similarity for Service Recommendation", in Proceedings of the Fourth IEEE International Conference on Semantic Computing (ICSC 2010), September 2010.