Generalist Recommender System Kernel


The Generalist Recommender System Kernel (GRSK) is a RS aimed to provide recommendation for both individual users and groups. The two main tasks of the GRSK are the analysis of the users profile to come up with a preference model, and the generation of the list of items to be recommended.

The GRSK relies on the use of a taxonomy to represent the user’s likes and the items to recommend. It has been designed to be generalist, i.e. independent of the current catalog of items to recommend. Therefore, the GRSK can work with any application domain provided that the data of the new domain are defined through a taxonomy representation.

The user profile consists in: (1) personal and demographic information, (2) the general-likes model, which is a list of features of the taxonomy along with the user rating for those features and (3) information about the historical interaction of the user with the RS. From all this information, the GRSK can apply four different recommendation techniques: demographic, content-based, collaborative and general likes-based techniques. The result is a list of preferences for each technique that describe the user preference model.

In case of an individual recommendation, these preferences are used to select the items to recommend.

In case of a group recommendation, the preference models of all the group members are combined to obtain the group preference model. Three different techniques have been implemented (only one can be used at a time): aggregation, intersection and incremental intersection. The GRSK architecture is shown in the figure below.

  • The Engine module is the core of the GRSK. It is in charge of managing the recommendation query and of generating and updating the users profiles.
  • The Single User/Group Manager controls the recommendation process. This module receives the profiles created by the users and sends them one by one to the module that applies the Basic Recommendation Techniques. As a result from this application, the manager receives a set of preferences for each user. In our context, a preference is a feature in the taxonomy of likely interest to the user which is calculated by any of the basic recommendation techniques. If the user is a group, the manager invokes the Group Preferences Manager to elicit the group preferences out of the individual preferences. Finally, it will call the Items Selector and the Hybrid RS in order to retrieve the list of items that best match the user/group preferences.
  • The Basic Recommendation Techniques (BRTs) module applies recommending techniques like demographic RS, content-based RS and general likes-based filtering to elicit the preferences that embody the individual likes of each user. For a given user, each of the three techniques technique creates a different list of preferences according to the parameters and data handled by the technique. Therefore, the three lists of user preferences are independent of each other.
  • The Group Preferences Manager (GPM). This module is only invoked when the user is a group, and it offers three mechanisms such as aggregation, intersection and incremental intersection to elicit the group preferences out of the individual preferences. Actually, the GPM generates three lists: the group demographic preferences, the group content-based preferences and the group filtering preferences.
  • The Items Selector receives the three lists of preferences and, for each list, it returns the set of items that better match the elements in the list.
  • The Hybrid Technique module gathers together the three lists of items returned by the Items Selector and creates a single list that embodies the final user/group recommended items. Since each BRT exhibits some advantages and disadvantages, a common solution adopted by many RS is to combine various techniques into a hybrid RS, thus alleviating the limitations of one technique with the advantages of the others. The GRSK applies a mixed hybrid recommendation technique.