• No results found

Presentation Layer

4.3 Implementation

4.3.5 Presentation Layer

Allied can easily be integrated to any application that requires recommendations based on Linked Data. The current implementation includes three main interfaces that provide mechanisms to present results to the final user: a web interface, a standalone interface, and a RESTful interface. Figure4.5shows the main view of Allied web interface that allows the user to choose a recommendation algorithm. Note that this version is limited to predefined configurations of generation and ranking algorithms, representing state-of-the-art approaches, although more combination are possible in Allied. This has been done because we aimed to provide a prototype which do not require a complex set-up.

Fig. 4.5 The home view of the Allied web interface.

Figure 4.6 depicts an example of some results presented in the Allied web interface for the initial resource The Dark Knight, which is a movie. For space reasons, only the first five results are shown in the example. Figure4.7illustrates the setup view for the desktop version of the Framework. This view allows the user to choose the implemented algorithms for generation and ranking, and to select configuration parameters for the execution, e.g. the hierarchical distance, which is the maximum distance for the hierarchical generator and ranking. Additionally, this view allows the user to choose how he/she wants to see the results: as a graph or a tree. Figure4.8shows an example of a tree of results for the resource Mole Antonelliana: in this case, candidate resources are arranged in folders that represent clusters. An example of a graph of results is depicted in Figure4.4.

Fig. 4.6 An example of results shown in the Allied web interface.

Fig. 4.8 An example of results as tree view for the desktop version of the Allied framework.

The RESTful interface is publicly available on the Web. It is based on two parameters: uri and scope. The former indicates the URI of the initial resource, while the latter is optional and enables to limit the recommendations to resources belonging to the specified cluster. If it is missing, a list of clusters of the initial resource is returned by the service. An example of an HTTP request to retrieve the clusters of Mole Antonelliana is presented in Listing4.9, while the request to retrieve the resources related to Mole Antonelliana which are located in Turin is shown in Listing4.10

GET / r e c o m m e n d a t i o n s

? uri = http :// d b p e d i a . org / r e s o u r c e / M o l e _ A n t o n e l l i a n a Listing 4.9 An HTTP request to retrieve the clusters of Mole Antonelliana. GET / r e c o m m e n d a t i o n s

? uri = http :// d b p e d i a . org / r e s o u r c e / M o l e _ A n t o n e l l i a n a & s c o p e = http :// d b p e d i a . org / r e s o u r c e / C a t e g o r y : T u r i n

Listing 4.10 An HTTP request to retrieve the resources related to Mole Antonelliana which are located in Turin.

4.4

Conclusions

This chapter presented Allied, a framework for deploying and executing recommen- dation algorithms that use Linked Data as their knowledge base.

The current version of Allied implements a set of three state-of-the-art transversal and hierarchical algorithms and ReDyAl, an hybrid algorithm that dynamically integrates both the transversal and hierarchical approaches for discovering resources that is presented in Chapter5. The framework enables to choose the best algorithm implemented for recommending resources from the Web of Data when focusing on a specific application. It also enables to select the algorithm which best suits for a particular domain because it provides cross domain recommendations, since it relies on DBpedia. In addition, since the approach exploited is general, it is possible to adapt Allied to other datasets and select the algorithm which best fits the characteristic of the dataset.

The algorithms currently implemented with Allied were evaluated and compared by conducting a user study which is presented in Section5.4and relying on Allied. This framework facilitated the study, since the algorithms were deployed in the same environment and the generated recommendations were aligned. Thus, it enabled to measure and compare the accuracy of the algorithms. For this reason, conducting studies through our framework may also increase their reproducibility. At the moment it is possible to test the framework through its web interface.9

A Dynamic Recommendation

Algorithm Based on Linked Data

5.1

Introduction

The work presented in this chapter holds on the results obtained from the study presented in Chapter3and is its continuation. The study stated that the problem of finding existing relationships between resources could be addressed by analyzing the categories they belong to, their explicit references to other resources and/or by combining both these approaches. The study also showed that many works aimed at resolving this problem by focusing on a specific application domain and dataset. In this chapter, we address this issue, and we focus on the following research questions:

• How can we design a recommendation algorithm that exploits existing relation- ships between resources on the Linked Data, is independent of the application domain and may be used on different datasets on the Web of Data?

• How can we design a recommendation algorithm that provides novel recom- mendations, i.e., recommendations of resources not previously known to the user, without affecting prediction accuracy?

We propose a new algorithm based on Linked Data which exploits existing relationships between resources to recommend related resources. It dynamically analyzes the categories they belong to and their explicit references to other resources,

then combines the results. The algorithm has been applied to DBpedia,1but it could as well be applied to other datasets on the Web of Data, and it is not bound to any particular application domain.

We conducted a user study to comparatively evaluate its accuracy and novelty against three state-of-the-art algorithms, which showed that our algorithm provides a higher number of novel recommendations while keeping a satisfying prediction accuracy. An implementation of our recommendation algorithm has been integrated into two mobile applications, which were developed in collaboration with Telecom Italia, the major network operator in Italy. The first suggests movies, while the second assists tourists. Both are based on DBpedia.

The chapter is organized as follows: Section 5.2 reviews related works; Sec- tion 5.3presents our algorithm; Section5.4describes the evaluation method and provides the results; Section5.5shows the application of our algorithm for recom- mending movies and tourist attractions; Section5.6provides the conclusions.