Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Recommender Systems

Recommender Systems (RSs) are software tools and techniques providing suggestions for items to be of use to a user [9]. The main aim of RSs is to help users in satisfying their information needs when dealing with huge information spaces. To achieve this, RSs try to select the subset of items which best match the users’ preferences and tastes. Among the several definitions given in the literature, we report the one proposed by [2] which says: the recommender system term indicates any system that produces individualized recommendations as output or has the effect of guiding the user in a personalized way to interesting or useful objects in a large space of possible options. A formal formulation of the recommendation problem has been given in [1] and it is defined as follows. Let U represent the set of users and I the set of items in the system. Potentially, both sets can be very large. Let \(f:U \times I \rightarrow R\), where R is a totally ordered set, be a utility function measuring the usefulness of item \(i \in I\) for user \(u \in U\). Then, the recommendation problem consists in finding for each user u such item \(i^{max,u} \in I\) maximizing the utility function f. More formally, this corresponds to

$$\begin{aligned} \forall u \in U,\text { } i^{max,u}=\text {arg max}_{i \in I} \text { } f(u,i) \end{aligned}$$

Typically, the utility of an item is represented by a rating, which indicates how a particular user liked a particular item. The central problem of recommender systems is that the utility is not defined on the whole \(U \times I\) space, but only a subset of it is actually available. For each user only a portion of her ratings is known. Hence, the main task of the system concerns the estimation of the utility function from the available data. Once the utility function is obtained it can be used to predict unknown values and recommendations are eventually generated by selecting for each user the best N items with highest utility (recommendation list).

Recommendation Techniques. In the literature, there are different types of recommendation techniques. The main two are: collaborative filtering and content-based. Besides these two, an important class of recommender systems which are often used in real systems are the hybrid recommenders [2] which combine different strategies to improve their separate performance and obtain higher recommendation quality. Collaborative Filtering is the process of filtering or evaluating items using the opinions of other people. In this approach personalized recommendations for a target user are generated using opinions of users having similar tastes to those of the target user [8]. Content-based RSs recommend an item to a user based upon a description of the item and a profile of the user’s interests [7]. Differently from collaborative filtering, such recommendation approach relies on the availability of content features describing the items. The main idea behind hybrid recommender systems is to combine two or more classes of algorithms in order to mitigate the weaknesses of the individual approaches and obtain better recommendation quality. In [2] a taxonomy of several hybridization schemes is given. One of the main limitation of traditional content-based approaches is that they completely ignore the semantics associated to the item attributes because they rely on keyword-based representations. Such textual approaches are incapable of capturing more complex relationships among objects at a deeper semantic level based on the inherent properties associated with these objects [3]. For example let us consider two generic movies m1 and m2, which have a1 and a2 as directors, respectively. Let make the case that even if the two movies have different directors a1 and a2, those directors have however many things in common such as they both were born in the same country and they both won a particular award. It is reasonable to assume that if a user likes m1 because of a1 then she might like with a certain degree m2 because a2 is similar to a1. In this case, an approach based on keyword matching would fail because the two values for the attribute director are different. The system needs a better representation of the items content. As described in [6] semantic analysis and its integration in personalization models is one of the most innovative and interesting approaches proposed in literature to solve those problems. The key idea is the adoption of knowledge bases for annotating items and representing profiles in order to obtain a “semantic” interpretation of the user information needs. The availability of additional semantic knowledge can allow the system to go beyond the simple keyword matching. Common-sense and domain-specific knowledge may be useful to give some meaning to the content of items, thus helping to generate more informative features than “plain” attributes [10].

2 What Linked Open Data Can Do for Recommender Systems

Several works on ontological or semantics-aware recommender systems have been proposed in the past before the Linked Open Data initiative was officially launched [5]. Most of them exploit ontological knowledge of items to boost collaborative filtering systems or to build better content-based ones. However, we argue that those approaches are not particularly suited for working with LOD datasets and new techniques are required for properly incorporating Linked Open Data into RSs and effectively exploiting their semantics. We recognize two main reasons why new approaches are needed. The first reason is that those ontological recommendation algorithms developed before the LOD initiative referred principally to the usage of specific domain ontologies and taxonomies. Linked Open Data datasets have the peculiarity of being published according to the Semantic Web technologies and of using a graph-based data model. Such aspects require specific models and paradigms for their effective usage and incorporation into recommender systems. Past works on ontology-based RSs base on the usage of taxonomies, controlled vocabulary and limited domain ontologies. With the advent of LOD new interesting possibilities appear for realizing better recommendation applications. The main advantages of using Linked Open Data for content-based and hybrid recommender systems can be summarized as: (i) availability of a great amount of multi-domain and ontological knowledge freely available for feeding the system; (ii) Semantic Web standards and technologies to retrieve the required data and hence no need for content analysis tasks for obtaining a structured representation of the items content; (iii) the ontological and relational nature of the data allows the system to analyze item descriptions at a semantic level.

Semantic Analysis. The main advantage of using LOD is the availability of well structured graph-based item descriptions. In fact, items are connected to entities by means of semantic relations. Such entities are classified in more or less complex classes. The semantics of those classes and relations is described by means of ontologies. For example if we consider the resource dbpedia:Bruce_Willis in DBpedia, it is instance of the class dbpedia-owl:Person which in turn is sub-class of dbpedia-owl:Agent. In such ontology it is also defined the semantics of properties. For example the property dbpedia-owl:starring which connects dbpedia:Pulp_Fiction to dbpedia:Bruce_Willis has domain dbpedia-owl:Work and range dbpedia-owl:Actor which is sub-class of dbpedia-owl:Person. Thanks to the semantic relations among entities [4] the system can perform a deeper semantic analysis of the item content. In a keyword-based representation the system is limited to compute the syntactic match between keywords. Instead, thanks to the availability of semantic entities the system can potentially detect complex associations between the user profile and the items.

3 Tutorial Description

The main goals of this tutorial are: (i) Provide an introduction to recommender systems by describing the main approaches available to design and feed a recommendation engine; (ii) Show how to exploit the information available in the Linked Open Data cloud to develop a new generation of recommender systems. The tutorial starts with a brief introduction to the problem of information overload with examples taken from everyday life. Then we move to the definition of the recommendation problem and introduce all the elements needed to define, design and evaluate a recommender system. Starting from the user-item matrix, some collaborative approaches are described showing their strong and weak points. The same is done with content-based approaches. The second part of the tutorial is devoted to the presentation of how to exploit the knowledge encoded in LD datasets while computing a recommendation list. We see how to leverage both the structure and the semantics of a knowledge graph for feature selection by using a single attribute or a chaining (paths) of attributes and resources. Hybrid approaches together with their evaluation close the tutorial.