1 Introduction

Since the early years of the twentieth century, the birth of the first e-commerce websites has given a decisive impetus to the development of Recommender Systems. They represent tools able to analyze and filter a large amount of information, aiming to suggest suitable objects or services to a user.

Over the years, the concept of Context-Aware Recommender Systems has been introduced to obtain increasingly reliable rating forecasts. The term “context” does not have a single definition, as it is applied in many areas of study. For example (Adomavicius and Tuzhilin 2015, 2011):

  • Data Mining, in which the context indicates the events that characterize the states of a user and can determine the variations in the preferences of the latter;

  • E-commerce Personalization, in which the context is exploited to determine classes of user behavior according to purchasing intentions;

  • Mobile Context-Aware Systems, where the context represents information that can be accessed via mobile devices (location, people or places of interest nearby);

  • Marketing and Management, where context information makes the system aware of the specific user’s preferences to apply the appropriate sales strategy.

The difficulty of finding a specific purpose is expressed by the words of Bazire and Brezillon (Bazire and Brézillon 2005; Adomavicius and Tuzhilin 2015, 2011):

“... it is difficult to find a relevant definition satisfying in any discipline. Is context a frame for a given object? Is it the set of elements that have any influence on the object? Is it possible to define context a priori or state the effects of a posteriori? Is it something static or dynamic?”

To make the concept of “context” more comprehensible, some of the main definitions used in the field of Recommender Systems are set out below:

  • K. Prahaland: “the ability to reach out and touch customers anywhere at anytime means that companies must deliver not just competitive products but also unique, real-time customer experiences shaped by customer context” (Adomavicius and Tuzhilin 2011);

  • Abowd et al: “any information useful to characterize the situation of an entity that can affect the way users interact with systems”(Abowd et al. 1999);

  • Schilit et al: location, nearby people and things, and change which happens to them” (Shin et al. 2009);

  • Dey: “emotion, focus of concentration, location, adaption, date and time, nearby things, nearby people” (Shin et al. 2009; Dey 2001).

The ability to analyze a contextual environment allows for improving recommendations provided to the user.

This capacity is functional in Cultural Heritage, where Context-Aware Recommender Systems are fundamental means to make more addictive the experience of visiting a museum or an archaeological park. This occurs because it will be possible to suggest the path more suitable based on a single user’s preferences (Colace et al. 2020a). The analysis of the context will allow a more significant interaction of the user with the chosen point of interest.

For this purpose, some techniques and some systems, capable of integrating contextual information with recommendations, will be presented. Subsequently, some applications of interest in the specific field of Cultural Heritage will be presented.

This work is divided as follows:

  • Section 2 provides a general introduction to Recommender Systems;

  • Section 3 presents an overview of techniques for introducing contextual information into Recommender Systems;

  • Section 4 analyzes the datasets available for Context-Aware Recommender Systems;

  • Section 5 presents several system architectures related to Recommender Systems in the field of Cultural Heritage;

  • Section 6 reports the final comments and conclusions.

2 Background

2.1 Recommender systems

Recommender systems (RSs) are a powerful means of information analysis and filtering intended to provide appropriate recommendations about an item to a user of the system.

The entities with which a RS operates are users, items (services or objects that the system wants to recommend), and transaction that represents an interaction between the system and the user. The most common form of transaction is represented by the rating, a user’s judgment about a specific item. The rating can be expressed in the ordinary form (very agree, agree, neutral, disagree, very disagree), numerically (five-point scale, from 1 to 5, ten-point scale, from 1 to 10, ...) and through a binary approach (I like/do not like) or unary (presence or lack of information).

Formally, the rating is defined as follows:

Definition 1

Let U be the set of users and I the set of items. The rating function or the utility function is defined as the function r which to each pair of the domain \( U \times I \) associates the rating \( r_{ui} \in {\mathbb {R}} \).

$$\begin{aligned} r\text {: } \left( u, i \right) \in U \times I \longmapsto r\left( u,i \right) = r_{ui} \in {\mathbb {R}} \end{aligned}$$

Since r is not defined for all pairs of the domain, one of the main purposes of the Recommender System is to deal with this problem in order to provide rating forecasts \( \hat{r}_{ui}\) for each element of the domain \( \forall \left( u, i \right) \not \in r^{-1}\left( {\mathbb {R}} \right) \) that does not belong to the preimage of the codomain.

2.1.1 Classification of recommender systems

The ability to generate reliable rating forecasts distinguishes efficient Recommender Systems from inefficient ones, making this feature central in evaluating the techniques used.

RSs can be classified according to how the forecasts are generated. The following are the three most common strategies:

  • Content-Based RS: this technique exploits the feature vector \( \mathbf {y} = \left( y_1, \dots , y_d \right) \in {\mathbb {R}}^d \) for item i (Content Analyzer De Gemmis et al. 2015) and create the feature vector \( \mathbf {x} = \left( x_1, \dots , x_d \right) \in {\mathbb {R}}^d \) for user preferences u (Profile LearnerDe Gemmis et al. 2015). To determine whether item i is suitable for user u, similarity metrics are exploited (De Gemmis et al. 2015) (Filtering Component De Gemmis et al. 2015) such as, for example, calculating the cosine of the angle between the vectors \( \mathbf {y}\) and \(\mathbf {x}\) representing item and user:

    $$\begin{aligned} cos\left( \mathbf {x}, \mathbf {y} \right) = \frac{\sum _{t = 1}^d x_t y_t}{ \sqrt{ \sum _{t = 1}^d x_t^2 } \sqrt{ \sum _{t = 1}^d y_t^2 }} \end{aligned}$$
  • Collaborative Filtering RS: this strategy aims to provide rating forecasts through the most appropriate opinions for a given user by exploiting the selection of information available (Colace et al. 2015). Collaborative systems are divided into two groups:

    • Memory-Based Collaborative Filtering: users or items are divided into Neighborhoods in order to generate rating predictions through similarity coefficients and known ratings (Koren et al. 2009);

    • Model-Based Collaborative Filtering: a system model is obtained through matrix factorization (Koren et al. 2009) using known ratings. The most used decomposition techniques are:

      • Principal Component Analysis (Bokde et al. 2015);

      • Probabilistic Matrix Factorization (Bokde et al. 2015; Salakhutdinov and Mnih 2008);

      • Non-Negative Matrix Factorization (Bokde et al. 2015);

      • Singular Value Decomposition (Symeonidis and Zioupos 2016; Golub and Van Loan 2013; Comincioli 2010; Quarteroni et al. 2010);

  • Hybrid RS: it combines two or more techniques to improve the ability of the system to make predictions. The techniques can be used separately and then combined or, finally, a single model is created to integrate the properties of the chosen strategy (Ricci et al. 2015).

2.1.2 The limits of recommender systems

The main problems facing Recommender Systems are:

  • Scalability: the system capacity to manage the increase in the number of available data;

  • Sparsity (small number of known ratings) which should not affect the quality of the forecasts carried out;

  • Cold Start: the difficulty of the Recommender Systems to carry out forecasts about new users or items.

In the Table 1 (Bokde et al. 2015; Thorat et al. 2015) a detailed description of the advantages and disadvantages of the recommendation techniques described above is provided.

Table 1 Limits of recommendation techniques

2.2 Context-aware recommender systems (CARS)

The purpose of Recommender Systems, as seen above, is to generate forecasts through the chosen strategy and information about users and items.

Over the years, new approaches to the development of RSs have also considered information related to the contingent situation that the system can use to predict rating values. This information is defined contextual information.

Contextual information can therefore be considered information that modifies the transaction mode of a Recommender System through the data obtained from the situation involving the system (user and item). Consequently, it changes the numerical value of the rating as contextual situations change.

In this way, the Context can be defined as the specific situation defined by the Recommender System’s contextual information.

The introduction of the Context within what are called Context-Aware Recommender Systems (CARS) changes the definition of the utility function (rating).

Definition 2

Let U be the set of users, I the set of items and C the set of contextual variables. The rating function or utility function for CARS is defined as the function f which to each \( \left( u,i,c \right) \) of the domain \( U \times I \times C \) associates the evaluation \( f_{uic} \in {\mathbb {R}} \).

$$\begin{aligned} f \text {: } \left( u,i,c \right) \in U \times I \times C \longmapsto f \left( u,i,c \right) = f_{uic} \in {\mathbb {R}} \end{aligned}$$

The introduction of CARS shows the importance of the acquisition of contextual information. These can be obtained in various ways, such as:

  • explicitly: by questions to the user or by other means (Ricci et al. 2015);

  • implicitly: via mobile devices (location, temporal data, climatic data) or by changing the user’s environmental conditions (Ricci et al. 2015).

  • through statistical or data mining techniques.

2.2.1 Classification of contextual information

The acquisition of contextual information naturally leads to the need for their schematization for easier management. In addition, it is essential to identify the relevant contextual information. This information significantly modifies the ratings since it is precisely in these cases that the identification of the context allows the improvement of the performance of a Recommender System (Adomavicius et al. 2005).

A comprehensive classification is provided by Villegas et al. (2018). Preliminarily it is specified that the term “entity” indicates the main elements of the CARS: users and items. The classification of contextual information is as follows:

  • Individual Context: contextual information associated with independent system entities that have common characteristics. This information can be further broken down into:

    • Natural: information associated with characteristics of an entity which are required without human intervention (for example, atmospheric conditions);

    • Human: information associated with the behavior or preferences of a specific user;

    • Artificial: information derived from human actions or technical processes describing the system entities;

    • Groups of Entities: information which brings together elements of the system through common features;

  • Location context: information associated with the location of the entity, which is divided into:

    • Physical: information linked to geographical coordinates;

    • Virtual: information containing digital coordinates such as the IP address;

  • Time Context: notions acquired on the physical time associated with the activity of an entity, which can be classified into:

    • Defined: when it is known time interval through a specified start and endpoint;

    • Indefinite: when information on the occurrence of the event is linked to the occurrence of others or is not specified the duration of the event;

  • Activity Context: information related to activities performed by system entities. These concepts form the basis for predicting the entity’s future preferences or activities itself;

  • Relational Context: information related to relationships developed between entities‘ according to contingent circumstances. They are further subdivided into:

    • Social: information on interpersonal relationships between users, affiliations, associations, ...;

    • Functional: information on the use that some entities make of others.

2.2.2 Classification of context-aware recommender systems: integration of the context in RS

Once the methods of acquiring the contextual information and their classification are defined, it is necessary to use the same ones inside the recommendation process.

The possibilities of insertion of contextual information within the Recommender System are divided in three approaches:

  • Contextual Pre-Filtering: information is applied to data prior to the development of recommendations. In this case, it can be assumed that the context is an application

    $$\begin{aligned} c \text {: } \left( u,i \right) \in U \times I \longmapsto c \left( u,i \right) = \left( \bar{u}, \bar{i} \right) \in U \times I \end{aligned}$$

    such that the utility function r of the Recommender System is calculated on the image obtained by c

    $$\begin{aligned} r \text {: } \left( \bar{u}, \bar{i} \right) \in U \times I \longmapsto r_{ui} \in {\mathbb {R}} \end{aligned}$$

    Therefore, the context-related information is exploited before proceeding with the recommendation method; this will allow only data related to the specific context to be considered for recommendation.

  • Contextual Post-Filtering: the contextual information acquired is initially ignored by proceeding with a classic recommendation approach; it will be used for a final filtering of the recommendations obtained. The context can be imagined as a function that modifies the value of the utility function r

    $$\begin{aligned} c \text {: } r_{ui} \in {\mathbb {R}} \longmapsto \bar{r}_{ui} \in \end{aligned}$$

    where the rating function is filtered through the information acquired;

  • Contextual Modelling: contextual information is integrated into the recommendation process by creating an integrated model in the RS. In particular, contextual information is integrated into the utility function for the calculation of recommendations (Fig. 1).

Fig. 1
figure 1

Context-aware recommender systems approaches (Adomavicius and Tuzhilin 2011)

The structure for the integration of contextual information in the framework of the two most common recommendation strategies is presented below:

  • Content-Based CARS

    • Pre-Filtering: the context is integrated into the generation of user and item profiles. Contextual data is usually focused on user profiles. This approach involves the creation of a profile referring to the same entity of the System and referring to every possible assumption from the context;;

    • Post-Filtering: the context data are used to filter the recommendations generated by the Recommender System. This approach provides for an additional number of calculations proportional to the dimensions of the elements of the sets U e I;

    • Modelling: contextual information is integrated into the computation of the cosine similarity between specific user and item. This process generally involves heuristic formulas.

  • Collaborative Filtering CARS

    • Pre-Filtering: the rating matrix may have columns or rows of dictionaries compared to the classical one. Additional columns or rows are associated with different preferences in different contexts. This approach reduces computational complexity but requires further effort from the system for data acquisition;

    • Post-Filtering: as in the case of Content-Based CARS, contextual information is used to filter generated rating forecasts. This intuitively involves several additional calculations that will not be useful for the contingent purposes of the system;

    • Modelling: this approach involves the integration of contextual data at the heart of the recommendation process, which is divided into:

      • Heuristic-Based: contextual information is integrated into the calculation of Neighborhoods (analogous to the case of Content-Based CARS with the cosine similarity);

      • Model-Based: tensor factorization is exploited by integrating contextual data into additional dimensions. This procedure aims to find a numerical structure of the problem, which includes the context.

      In addition to these classification groups, there are techniques, such as Context Aware Matrix Factorization (CAMF), classified as Modelling that integrate contextual information within the calculation of forecast obtained throught the matrix factorization. The CAMF technique will be presented in deep below.

3 Related works

Over the years, the study of Recommender System and Context-Aware Recommender Systems gave rise to numerous operational strategies, which eventually led to classifications seen before. In order to classify the recommendation strategies, it is possible to find, in the scientific literature, several surveys that focus on various aspects of the strategies treated. In particular, Adomavicius and Tuzhilin (2005) provides an overview of the Recommender Systems presented in Sect. 2.1 and gives interesting hints for the future developments of RS, including the evaluation of contextual information. Adomavicius et al. (2011) provides a comprehensive overview of the definition of context and its role within Recommendation Systems. This work provides a clear and in-depth overview of the concept of “context” and its possible application by elaborating on the concepts presented in Sect. 2.2 of this paper. It also describes CARS applied in various fields such as, for example, travel guides, music, mobile information search. Champiri et al. (2015) conduct extensive and structured research about Context-Aware Recommender Systems in the context of digital libraries. Particularly in the paper described in detail the phase of research, study, and construction of the paper according to the methodology introduced by Kitchenham and Charters (2007). The main purpose is to determine the contextual information used the most, the most exploited recommendation approaches, and the researchers’ awareness of applying context to recommendations in academic settings. Haruna et al. (2017) present an extensive survey of Context-Aware Recommender Systems presenting the various domains in which they have been applied and metrics to evaluate them. The contextual information considered in each application domain is also studied. Finally, Pavlidis (2019) also provides an overview of Recommender Systems with a focus on applications in the field of Cultural Heritage, with a particular focus on museums. The approaches covered include both classical RSs and Context-Aware. In addition, the author provides some considerations about the works analyzed and the future potential of Recommender Systems in the domain of Cultural Heritage. Unlike the surveys just mentioned, the purpose of this paper is to provide an overview of the state of the art of CARS in the domain of Cultural Heritage only. Moreover, it is specified that Group Recommender Systems will not be treated because these techniques need an appropriate and in-depth study that will not be treated in this paper. Obviously such techniques are widely used, as proven, for example, in Nguyen and Ricci (2017), Baltrunas et al. (2010), Cao et al. (2018), Huang et al. (2020). Some challenging strategies will be shown below (Table 2).

3.1 Content-based

The strategies within the Content-based CARS are presented below. For greater clarity, a paragraph will be devoted to each strategy to outline further the methodologies analyzed.

Table 2 Content-based approach: summary table of techniques and contextual information

An interesting proposal of a Content-Based technique is proposed by LOOKER Missaoui et al. (2019). This work proposes a pre-filtering strategy for introducing contextual information: a mobile Recommender System aimed to provide tourism and travel-related services.

This technique consists of two modules:

  • Spatio-Temporal Filtering Module, which aims to select only the relevant items based on contextual information related to time and physical location;

  • Content-Based Filtering Module, which provides rating forecasts. In turn it is divided into three main components:

    • Multi-layer User Profile: through Statistical language modeling (Ponte and Croft 1998) the comments of each user, within the categories Tourism-services set, are analyzed. In particular, for each category c, \( R_c = \{ r_i, i=1,\dots ,\text {tot}_c \} \) is the set of positive user reviews about the category under consideration, the component \( \theta _c \) of the user profile \( \theta \) is calculated as follows:

      $$\begin{aligned} \theta _c = \frac{1}{|R_c|} \sum _{r_i \in R_c} P \left( w | r_i \right) \end{aligned}$$

      where w is a word present in a subset of \( R_c \) and \( P \left( w | r_i \right) \) is estimated by the Dirichlet prior smoothing (Zhai and Lafferty 2004);

    • TR-Services Profile: the service profiles are generated in a similar way as for users. Defined the set \( R_s \) of positive reviews of users about the item s, the component \( \omega _s \), associated with the corresponding category, of the \( \omega \) profile is obtained as follows:

      $$\begin{aligned} \omega _s = \frac{1}{\left| R_s\right| } \sum _{r_j \in R_s} P \left( w | r_j \right) \end{aligned}$$
    • Content-Based Filtering Algorithm: rating forecasts for each user u, service s and category c are calculated using the following formula:

      $$\begin{aligned} \bar{r}_{u,s,c} = \frac{1}{D_{KL} \left( \theta _c || \omega _s \right) } \end{aligned}$$

      where \( D_{KL} \left( \theta _c || \omega _s \right) \) is the Kullback-Leibler divergence (Missaoui et al. 2019).

As part of the Content-Based Recommender techniques, Hong et al. (2009) provide a different integration of contextual information proposing a framework based on a decision tree algorithm to insert the context through modeling strategy. The method is developed in 4 stages:

  1. 1.

    Data Gathering Layer: the user profile is generated, and the services are selected. The raw context information are collected through context wrappers;

  2. 2.

    Context Management Layer: context aggregator collects contextual information in a vector then transformed into a high-level context by context inference agent. The user profile and the selected services of the first phase united to the high-level context form the context history further elaborated through filtering agent;

  3. 3.

    Preference Management Layer: the decision tree algorithm is used to extract user preferences for each service. The association agent deduces the association rules for the selected services;

  4. 4.

    Application Layer: personalized services are provided.

Another example of Content-Based Recommender System is provided by Shin et al. (2009), which presents a Context-Modelling integration. This approach develops as follows:

  1. 1.

    Calculation of vectors integrated with the context:

    • \( u_i = < uc_{i1}, \dots , uc_{ij}, \dots , uc_{iq} > \in {\mathbb {R}}^q \) correlation vector between the user i and the contextual information q considered;

    • \( s_k = < sc_{k1}, \dots , sc_{kj}, \dots , sc_{kq} > \in {\mathbb {R}}^q \) correlation vector between the item k and the contextual information q considered;

    • \( h_i = \left(< hccc_{i1}, \dots , hcc_{iq}>, < hcd_{i1}, \dots , hcd_{iq} > \right) \in {\mathbb {R}}^{2q} \) vector that stores the contextual information.

  2. 2.

    Are computed:

    • \( f_{UH} \left( i,j\right) = \frac{\sum _{x=1}^q |uc_{ix}| \times |hcc_{jx}| }{ \sqrt{\sum _{x=1}^q |uc_{ix}|^2} \sqrt{\sum _{x=1}^q |hcc_{jx}|^2} } \) matching between user i and context history j

    • \( f_{HI} \left( j,k\right) = \frac{\sum _{x=1}^q |hcd_{jx}| \times |sc_{kx}| }{ \sqrt{\sum _{x=1}^q |hcd_{jx}|^2} \sqrt{\sum _{x=1}^q |sc_{kx}|^2} } \) matching between context history j and item k;

  3. 3.

    Calculation of the rating forecast with the integrated time context:

    $$\begin{aligned} f_{UI} \left( i, k \right) = \sum _{j=1}^l f_{UH} \left( i,j \right) f_{HI} \left( j,k \right) \end{aligned}$$

A Content-Based recommendation model with hybrid integration Pre-filtering and Post-filtering of contextual information (location, crowd, time) is proposed by Colombo-Mendoza et al. (2015). The context element “Location” represents the distance between the user and the target considered, the context element “Crowd” considers the preferences of the active user and rating forecasts made on other users, the context element “Time” divided as time available to the user and associated with the user profile is the time needed to access the service (evaluated on three modes of transport). The Recommender System proposed by Colombo-M et al can be summarized as follow:

  1. 1.

    Update of the user profile;

  2. 2.

    Pre-filtering associated with Time (step 1): the items that are not accessible are discarded;

  3. 3.

    Pre-filtering associated with the Location: items too far away are discarded through a specific Distance-Decay function;

  4. 4.

    Pre-filtering associated with Time (step 2): items are discarded according to information obtained from the previous point;

  5. 5.

    Calculation of Similarity;

  6. 6.

    Collection of the Information associated with the user in consideration;

  7. 7.

    Calculation of the rating forecast;

  8. 8.

    Post-filtering associated with Location and Crowd: calculated ratings are changed based on contextual information related to the context obtained by considering Crowd and Location.

3.2 Collaborative-filtering

In this section, the techniques for the introduction of the context to the Collaborative Filtering Recommender System are analyzed.

Also in this case the methodologies analyzed will be shown through a division into paragraphs (Tables 3, 4, 5).

Table 3 Collaborative filtering: summary table of techniques and contextual information

The work of Baltrunas and Ricci (2009), Baltrunas and Ricci (2014) fits into the Pre-filtering integration modes. This strategy in a system of m users and n items apply to the columns of the \( R \in {\mathbb {R}}^{m \times n} \) rating matrix and changes it according to the changes in preferences in the different contexts. In particular, the rating column is split into two columns: the set of values assumed by the context C is given, the column of the rating matrix is split over the value \( c_j \in C \), which mostly alters the known ratings. This results in a matrix of contextualized ratings \( \hat{R} \in {\mathbb {R}}^{m \times \left( n + l \right) } \) with l number of columns that have suffered the split. At this point, it is possible to proceed by using a classic Recommender System. The ability to split an item is limited to only two columns in order to preserve linear complexity to the method described. In fact, splitting the column of an item, as described, can generate two more columns and not a greater number.

Similarly to the procedure described above, it is possible to perform splitting either on the rating matrix’s row using the User-Splitting technique (Said et al. 2011; Zheng et al. 2013) or it is possible to operate both on the columns and the rows of the matrix according to the User-Item Splitting technique (Zheng et al. 2013).

In particular, the User Splitting technique is used to break down user ratings based on the user’s contextual information acquired through known ratings. This technique treats the individual user as a set of different users labeled based on online ratings’ contextual scope.

User Splitting and User-Item Splitting also introduce contextual information with a Pre-filtering strategy.

Karatzoglou et al. (2010) expand Model-Based strategies based on machine learning (Anastasiu et al. 2016; Zhao et al. 2019; Wang et al. 2019) to the tensor case. In this way, it is obtained a strategy of the introduction of contextual information Modelling.

The decomposition used is HOSVD (De Lathauwer et al. 2000), which exploits the singular value factorization technique to multidimensional matrices. Given n users, m items and c contexts, defined the function \(l: \left( f, y \right) \in {\mathbb {R}} \times \mathbb {Y} \mapsto l \left( f, y \right) \in {\mathbb {R}} \) estimating the error between the known \( \mathbb {Y} \) data and the forecast data, algorithm 1, present in the reference (Karatzoglou et al. 2010), is used to generate the contextual rating forecasts.

figure a

The constants \( \lambda _U, \lambda _M, \lambda _C, \lambda _S \) have been fixed by numerical experiments and \( U_{i^\star }\), \(M_{j^\star }\), \(C_{k^\star }\) represent the columns of the homonymous matrices evaluated for the iteration indices current.

Another Context Modelling approach for Model–Based Collaborative Filtering is provided by Liu et al. (2013). This procedure extends the Model-Based techniques based on Probabilistic Matrix Factorization (Bokde et al. 2015; Salakhutdinov and Mnih 2008) through the context integration on latent factors associated to users and items. In this way, two strategies are born:

  • Bayesian Probabilistic Matrix Factorization with Social Relations (BPMFSR): the calculation of latent factors associated with users are integrated with personalized hyperparameters (unlike the matrix case) and the parameters associated with social context information are inserted;

  • Bayesian Probabilistic Matrix Factorization with Social Relations and Item Contents (BPMFSRIC): such strategy has the BPMFSR’s measures on users and the further integration on the calculation of the latent factors associated to the personalized hyperparameter items and the association of the latter on the basis of the social context information (tags) and the specific properties.

The last example of Model-Based Collaborative Filtering with Integration Context Modelling is presented by Koren (2009). To integrate the temporal context into the Recommender System, Koren develops various analysis models.

Let \( b_{ui} \) be defined as the forecast about the user u and the item i, the models developed are the following:

  • Static: \( b_{ui} \left( t \right) = \mu + b_u + b_i \)

    where \( \mu \) is the ratings average of known items, \( b_u \) is the bias of user and \( b_i \) is the bias of item;

  • Mov: \( b_{ui} \left( t \right) = \mu + b_u + b_i + b_{i,Bin \left( t \right) } \)

    where \( b_{i,Bin \left( t \right) } \) is the bias of item on time interval \( Bin \left( t \right) \);

  • Linear: \( b_{ui} \left( t \right) = \mu + b_u + \alpha _u \text {dev}_u \left( t \right) + b_i + b_{i,Bin \left( t \right) } \)

    the undefined elements of the sum are:

    • \( \text {dev}_u = \text {sign}\left( t - t_0 \right) | t - t_0 |^\beta \)

      where \( \beta \) is a constant empirically determined;

    • \( \alpha _u \) is the coefficient associated with the user u;

  • Spline: \( b_{ui} \left( t \right) = \mu + b_u + \frac{\sum _{l = 1}^{k_n} \exp \{- \gamma | t - t_l^n | \} b_{t_l}^n}{\sum _{l = 1}^{k_n} \exp \{- \gamma | t - t_l^n | \} } + b_i + b_{i,Bin \left( t \right) } \)

    where \( k_n \) is the number of control time points and \( \gamma \) is a constant empirically evaluated;

  • Linear with daily effect on user bias:

    $$\begin{aligned} b_{ui} \left( t \right) = \mu + b_u + \alpha _u \text {dev}_u \left( t \right) + b_{u,t} + b_i + b_{i,Bin \left( t \right) } \end{aligned}$$

    where \( b_{u,t} \) is the user u bias and has daily variability;

  • Spline with daily effect on user bias:

    $$\begin{aligned} b_{ui} \left( t \right) = \mu + b_u + \frac{\sum _{l = 1}^{k_n} \exp \{- \gamma | t - t_l^n | \} b_{t_l}^n}{\sum _{l = 1}^{k_n} \exp \{- \gamma | t - t_l^n | \} } + b_{u,t} + b_i + b_{i,Bin \left( t \right) } \end{aligned}$$

Defined the set K of triads \( \left( u,i,t \right) \) for which the rating \( r_{ui} \left( t \right) \) is known and, chosen the model, Context-Aware strategy proceeds minimizing the error function:

$$\begin{aligned} \min \sum _{\left( u,i,t \right) \in K} \left( r_{ui} \left( t \right) - b_{ui} \left( t \right) \right) ^2 + \lambda \left( \left\Vert b_{ui}^{\left( t \right) } \right\Vert _E \right) ^2 \end{aligned}$$

The case of Memory-Based Collaborative Filtering with Post-filtering integration of contextual information is presented in Xu et al. (2015). This work aims to build a Context-Aware Recommender System for tourist purposes through geolocation of user photos.

Both the geographical coordinates of a given location l, \( v = \left( l,u,t \right) \) the visit associated with location l, user u, time t and the topic based context-aware query \( Q = \left( u_p, s, w, d \right) \) associated with the target user \( u_p \), the season s, the weather w and the target city d relative to \(u_p\) which returns in output a list of places associated with the city d are given. Assuming a set of geo-referenced photos are provided as input.

$$\begin{aligned} \{ P_u \text { : } P_u \text { list of user } u \text { geotagged photos} \}, \end{aligned}$$

the technique is developed as follows:

  1. 1.

    Construction of tourist locations profiles containing contextual information;

  2. 2.

    Construction of the location database \( LDB = \{l_1, \dots , l_n \} \) with

    $$\begin{aligned} l_i = \{ v_{l_i}, pop \left( s \right) , pop \left( w \right) \} \text { } \forall i = 1, \dots , n \end{aligned}$$

    The elements that make \( l_i \) are the visits \(v_{l_i}\) associated with the locations \(l_i\), the contextual information \( pop \left( s \right) \) about the most popular season for location \(l_i\), the contextual information \( pop \left( w \right) \) about the most popular weather conditions of the location \( l_i \);

  3. 3.

    Construction of the user-location matrix \(M = \left( M_{ul} \right) \) such that \( M_{ul} \) indicates the number of times that the user u visited the location l;

  4. 4.

    Through the information of the user-location matrix M is built the travel history of each user;

  5. 5.

    Calculation of the similarity between users;

  6. 6.

    Calculation of rating forecasts through

    1. (a)

      Recovery of N users closest to the specific user;

    2. (b)

      Calculation of the rating forecast for each location;

    3. (c)

      Filtering information obtained through contextual information;

    4. (d)

      Construction of list of m locations with best rating forecasts.

Context-Aware Matrix Factorization (Baltrunas et al. 2011b) This technique aims to extend matrix factorization models through the analysis of deviations (defined baselines for contextual conditions) determined by contextual parameters.

The calculation of the contextual rating forecast takes place after having derived through a rating matrix factorization technique the \( p_i, q_j \in {\mathbb {R}}^d \) vectors associated with the i-th user and j-th item where d is the number of latent factors considered.

It is possible to calculate the forecast \( \hat{r}_{ijc_1 \dots c_k} \) of the k dimensional nodes associated to evaluated contexts as follows:

$$\begin{aligned} \hat{r}_{ijc_1 \dots c_k} = \bar{r_j} + p_i \cdot q_j + b_i + \sum _{z=1}^k B_{jz c_z} \end{aligned}$$

where \( \bar{r_j} \) is the average of ratings of item j, \(b_i\) is the baseline parameter for user i, \( B_{jz c_z} \) is the parameter that represents the interaction between item j and contextual condition \(c_z\).

Three techniques based on the same idea are presented in this reference:

  • CAMF-C: a single parameter is analyzed for each contextual condition which generates deviations on ratings. In this method you have \( k=1 \), then you have an only \( B_{j c_1} \);

  • CAMF-CI: in the analysis of deviations are also considered items so to determine that, and have on the latter. Such an approach provides the increase in the number of parameters to be analysed. This approach provides for the \( B_{j z c_z} \) rating for each item and contextual condition;

  • CAMF-CC: items are placed in categories in order to reduce the number of parameters of the CAMF-CI approach losing only part of the specialization obtained on the calculated deviation. Items of the same category have the same \( B_{j z c_z} \) parameter in common.

The calculation of the training values is made through the use of the Stochastic Gradient Descent on the learning procedure.

$$\begin{aligned}&\min _{p_*, q_*, b_*, B_*} \sum _{r \in R} \left[ \left( r_{ijc_1 \dots c_k} - \hat{r}_{ijc_1 \dots c_k} \right) ^2 \right. \\&\quad \left. + \lambda \left( b_i^2 + \left\Vert p_i\right\Vert ^2 \left\Vert q_j\right\Vert ^2 + \sum _{z=1}^k \sum _{c_z=1}^{v_z} B_{j z c_z}^2 \right) \right] \end{aligned}$$

where \( c_z = 1,\dots , v_z \) or \( c_z = 0 \) if it is unkonwn, \( z=1,\dots ,k \).

4 CARS evaluation: dataset and evaluation metrics

The ability to analyze the effectiveness of the recommendations given in various contexts is a central issue. Based on the chosen method of recommendation and the intended purposes, it will be necessary to initially study the system’s behavior developed through a dataset of data collected. In this first case, a study will be carried out on the accuracy of the recommendations provided. However, when switching to tests with real users, it will need to study additional properties of the suggestions provided.

For this purpose, datasets are presented below that allow testing on CARS and, subsequently, usable valuation metrics.

4.1 Datasets

The possibility to use contextual data to analyze the performance of the various methods is crucial.

In this regard, a useful tool is CARSKit (Zheng et al. 2015). This software is freeware and developed through the Java programming language. It is also convenient to use thanks to the presence of a guide associated (Zheng 2015), although a limited number of datasets may be used (Raza and Ding 2019).

Some of the datasets available for CARS analysis are the following:

  • LDOS-CoMoDa (Košir et al. 2013; Ilarri et al. 2018): movie dataset including 2296 ratings divided on 12 contextual dimensions. The contextual information considered are time, day type, season, location, weather, social, emotion (and emotion, dominant emotion), mood, physical, decision, interaction;

  • Frappe Dataset (Baltrunas et al. 2015; Ilarri et al. 2018): dataset developed under the develop of a context-aware mobile app. Contains 96203 ratings of 957 users about 4082 items. The contextual information analyzed are 6: daytime, weekday, homework, weather, country, city;

  • DePaul Movie (Zheng et al. 2015; Ilarri et al. 2018): database consisting of ratings released by students in different moments. It contains 5043 evaluations, the users are 97, the items considered are 79. The contextual information considered are 3: time (weekend, weekday), location (home, cinema), companion (alone, partner, family);

  • InCarMusic (Baltrunas et al. 2011a; Ilarri et al. 2018): database developed to recommend music to the passengers of a vehicle. It contains 4012 ratings of 42 users about 139 items. The contextual information considered are 8: driving style (relaxed, sport), landscape (coastline, country side, mountains/hills, urban), mood (active, happy, lazy, sad), natural phenomena (afternoon, day time, morning, night), road type (city, highway, serpentine), sleepiness (awake, sleepy), traffic conditions (free road, lots of cars, traffic jam), weather (cloudy, rainy, snowing, sunny);

  • TripAdvisor (Ilarri et al. 2018): dataset related to the problem of hotel recommendations to users with the assessment of a single contextual dimension. This provides information on the type of user travel (family, couples, business, travel only, friends). There are also the user and item features associated with geographical positions. The dataset presents the following two versions:

    • TripAdvisor v1 (Zheng et al. 2012): contains 4669 ratings of about 1202 users and 1890 items;

    • TripAdvisor v2 (Zheng et al. 2014): contains 14175 ratings of about 2731 users and 2269 items.

    There is also an additional version containing 28350 ratings of about 2371 users and 2269 items;

  • STS (Braunhofer et al. 2014; Ilarri et al. 2018): dataset containing the data collected through the South Tyrol Suggest app that aims to recommend points of interest to users. 2534 ratings are available from 325 users on 249 items. The main peculiarity is the number of contextual dimensions; in fact, the context is obtained by combining 14 different types of contextual information. The dimensions are: distance, time available, temperature, crowdedness, knowledge of surroundings, season, budget, daytime, weather, companion, mood, weekday, travel goal, means of transport;

  • TijuanaRestaurant (Ramirez-Garcia and García-Valdez 2014): this dataset is composed by 1422 ratings of 50 users on 40 items. The users involved had to answer eight questions aimed at both the user’s characterization and the evaluation of the items available. These ratings are provided both in contextless and contextual environments. The contextual dimensions evaluated are 2: time (weekday, weekend) and location (school, home, work);

  • JapanRestaurant (Oku et al. 2006): dataset in which 938 restaurants are classified. The classification is based on 4 categories: “is equipped with”, “has services of”, “recommended for”, ‘environment includes”. There are 14 contextual dimensions that are divided into 4 groups:

    • Time: month, hour, weekday;

    • Schedule: Area type, budget, holiday;

    • Partner: number of male, number of female, lowest age, highest age, relation, status;

    • External Factor: weather, temperature;

Table 4 Number and typology of contextual information in the dataset described

4.2 Evaluations metrics

Evaluation metrics are a key tool for the analysis of the goodness of a Recommender Systems. These are essential for selecting the appropriate recommendation model in a specific field and comparing the different recommendation techniques and their effectiveness (Shani and Gunawardana 2011).

Several aspects of the recommendation model can be assessed based on the evaluation metric used (Kane 2018).

In the following, what will be asserted in general for the Recommender System will also apply to Context-Aware Recommender Systems.

To test the effectiveness of an RS (or in the specific case of a CARS), you must first decide the type of experiment to be carried out.

The simplest and least expensive to implement is the offline experiment (Shani and Gunawardana 2011; Gunawardana and Shani 2009) that exploits a dataset to simulate user’s behavior interacting with the Recommender System. The behavior is simulated by storing the actions of the user over time labeled through the time-stamp.

The dataset used can be divided into training sets and test sets. For this purpose, one of the most widely used techniques is k-fold cross validation (Rodriguez et al. 2009), which allows randomly partitioning the data set available. The error will be assessed on each of the k partitions generated by using the remaining parts, in turn, as a training set (Kane 2018).

Other types of experiments are user studies (Shani and Gunawardana 2011) and online evaluation (Shani and Gunawardana 2011; Gunawardana and Shani 2009). The first consists of recruiting a group of users who must perform some tasks related to interaction with the Recommender System. The second point to make the RS interact with a greater number of real users to assess the impact and the effectiveness of the recommendations provided by developing an online testing system (Shani and Gunawardana 2011; Kohavi et al. 2007).

Once the experiment modalities have been determined, it is necessary to decide the RS properties to be evaluated.

Accuracy Measures It represents the most used measure in offline experiments and aims to assess the accuracy of the Recommender System in suggesting items to the user. \( T = \{ \left( u,i \right) \text { : } \exists r_{ui} \} \) is the set of user-item pairs on which the test phase is carried out and \( \hat{r}_{ui} \) is the prediction made by the System about the pair \( \left( u, i \right) \). The measurement of the accuracy of the Recommender System in the prediction of ratings can be evaluated through:

  • Mean Absolute Error (MAE) (Shani and Gunawardana 2011; Kane 2018; Gunawardana and Shani 2009; Herlocker et al. 2004): the name itself shows that the accuracy is estimated by the mean of the absolute value of the errors.

    $$\begin{aligned} \text {MAE} = \frac{1}{|T|} \sum _{\left( u,i \right) \in T} \left( \hat{r}_{ui} - r_{ui} \right) \end{aligned}$$
  • Root Mean Square Error (RMSE) (Shani and Gunawardana 2011; Kane 2018; Gunawardana and Shani 2009; Herlocker et al. 2004): allows to calculate the accuracy of the Recommender System provided by penalizing more than the MAE bigger errors.

    $$\begin{aligned} \text {RMSE} = \sqrt{\frac{1}{|T|} \sum _{\left( u,i \right) \in T} \left( \hat{r_{ui}} - r_{ui} \right) ^2} \end{aligned}$$

A different measure to be implemented to assess the accuracy of the Recommender System is the one that aims to understand if you can suggest items that the user could use (Shani and Gunawardana 2011; Gunawardana and Shani 2009). A valid method in this regard is the measurement of precision, recall and false positive rate. These, note the amounts of elements true positive (tp), false positive(fp), true negative(tn) e false negative(fn) shall be calculated as follows:

$$\begin{aligned} \text {Precision}= & {} \frac{tp}{tp + fp} \\ \text {Recall}= & {} \frac{tp}{tp + fn} \\ \text {False Positive Rate}= & {} \frac{fp}{fp + tn} \end{aligned}$$

Other possible measures are the F-measure (Shani and Gunawardana 2011; Van Rijsbergen 1979) and the Area Under the ROC Curve (Shani and Gunawardana 2011; Hand and Till 2001).

Within the Top-N recommendation list you can also evaluate how many correct items are identified in the list provided to the user. Defining hit each items identified in an exact manner, we present the following assessment methods:

  • Hit Rate (Kane 2018): let be \( h_u \) the number of hits associated with user \( u \in U \), the hit rate is calculated as follow:

    $$\begin{aligned} \text {HIT RATE} = \frac{1}{|U|} \sum _{u \in U} h_u \end{aligned}$$
  • Average Reciprocal Hit Rate (ARHR) (Kane 2018): let be n the total number of hits and \( r_{i}\) \( i=1,\dots ,n \) the rank of i-th hit, the average reciprocal hit rate is calculated as follow:

    $$\begin{aligned} \text {ARHR} = \frac{1}{n} \sum _{i = 1}^n \frac{1}{r_i} \end{aligned}$$

    In this way the hits far from fist positions of the Top-N list are penalized.

  • Cumulative Hit Rate (Kane 2018): the hits whose forecast is below a set threshold are excluded. In this way items that would not be appreciated by user are not considered by the evaluation.

Normalized Distance Based Performance (NDBP) (Shani and Gunawardana 2011; Yao 1995), and the R-score metric (CarlKadie 1998; Shani and Gunawardana 2011). In particular, the latter makes it possible to assess the usefulness of the recommendations made.

Other Possible Measurements There are many other possible properties of an analyzable Recommender System.

The coverage aims to measure the percentage of recommendable items. A good value may indicate the system’s ability to quickly suggest new items to appropriate users (Kane 2018).

The reliability of the recommendations provided (confidence), the trust the user has in the RS (trust), the ability to balance between the recommendations of known items and items not known to the user (novelty), the serendipity (Wang et al. 2018), the diversity of recommended items and the stability of the recommendations provided in the presence of false information (robustness) can also be measured.

Finally, we can also evaluate:

  • Adaptivity: the ability of the Recommender System to adapt to changes in the user behaviour or changes in the value of items over time;

  • Scalability: the ability of the recommendation algorithm to adapt the increase in data to be managed with reasonable memory occupancy and slowdown.

These measures represent an alternative to accuracy as they aim to evaluate different aspects. In particular, serendipity, diversity, novelty, and coverage tend to guarantee the efficiency of a Recommendation System. Serendipity guarantees surprising recommendations (Kaminskas and Bridge 2016), diversity allows for the suggestion of various items, novelty ensures the possibility of recommending unfamiliar items and is closely related to serendipity (Kaminskas and Bridge 2016), coverage guarantees the possibility of guaranteeing suggestions on a wide choice of items available to the System. Therefore, it is clear that in general, and in the field of Cultural Heritage in particular, Recommendation Systems must not only guarantee the accuracy of the suggestions provided but must aspire to a good level of serendipity, diversity, coverage, and novelty. In the Cultural Heritage field, it is crucial to guarantee serendipity, which can increase the user’s satisfaction who takes advantage of the suggestions provided. On the other hand, it can provide diversified options to the user, avoiding thematic monotony, especially if the objective of the RS is to suggest paths. On the other hand, novelty is a separate issue, since in the world of Cultural Heritage, it is complex to give relevance to little-known sites, and ad hoc recommendation techniques are needed (Casillo et al. 2021a, b).

5 CARS in cultural heritage

Below will be shown applications in which the Context-Aware Recommender Systems are central to providing appropriate suggestions for experiences in cultural heritage.

Table 5 Summary table of techniques and contextual information applied in cultural heritage field

The Context Evolution System (CES), presented in Chianese and Piccialli (2016), provides an initial model for the application of CARS within the Cultural Heritage field. Specifically, an application introduced for an exhibition called “the Beauty or the Truth” in Naples is presented as a case study.

The main elements of this approach are:

  • Service Engine: it is the main component of architecture and consists of three modules.

    • Events Detector, which aims at event recognition and activation of the Context Switching Computation Module;

    • Context Switching Computation Module, which aims at identifying possible changes in context and selection of Contextual Data Views, containing relevant data for the specific situation, and Basket of Services, content of the services adapted to the contextual situation;

    • Visiting paths generation, which aims to determine a path to the user when visiting items;

  • Services Deliverer: component dedicated to the analysis of the status of user-items systems. After the analysis of the nearby items through the Events Detector and after having determined the contextual context through the Context Switching Computation Module, the Deliverer Services allows you to transmit information adapted to the user by means of the multimedia guide;

  • Knowledge base and user LOG: data management element for propose items appropriate to the user preferences and to the storage of the user behavior;

  • Context manager: component suitable for the analysis of information to determine the contextual state.

This architecture fits into an environment capable of assessing specific situations contextual. This is possible through a set of factors that are underlying the concept of Smart Cities Schaffers et al. (2011). In particular, the concept of Single is developed Smart Space \( S^3 \) Chianese and Piccialli (2016).

The fundamental phase of the analysis of the contextual situation on \( S^3 \) is the study of Context Evolution Graph \( CEG = \left( C; \varSigma ; l_c; l_s \right) \) consisting of the following components::

  • \( C = \{ c_1,\dots ,c_n \} \) set of contextual variables;

  • \( \varSigma \subseteq C \times C \) set of graph edges;

  • \( l_c: c \in C \mapsto \left( v, S \right) \) function that links each contextual variable with the associated contextual data \( v \in V \) and the Basket of Services set S;

  • \( l_s: t \in \varSigma \mapsto e \in E \) functions thath links each edge of the graph with the specific event e.

Another interesting approach built around visiting a museum is provided by SMARTMUSEUM Ruotsalo et al. (2013). The application described has features Content-Based with the introduction of contextual information of Pre-filtering type.

The architecture presented is composed of four main components:

  • Metadata Service, which stores the data obtained through the Web;

  • Context Service, aimed at conceptual mapping data through the use of Ontologies (Gaševic et al. 2006). The user can provide the collected data through the application or acquired through the sensors in the museum. In this way, the information about the user’s location and about the item sites in its vicinity is acquired.

  • User Profile Service, a component that generates the user profile through contextual information and ontologies. Besides, the known feedbacks that are relevant in the contextual context modeled through a probabilistic approach;

  • Filtering Service aims to index items through information acquired by the Web and subsequently carry out the recommendation process.

In Bartolini et al. (2016) is reported an alternative work involving a Content-Based recommendation technique with dual filtering phase of the context. This is introduced with a dual Pre-post Filtering strategy.

The CARS model is evaluated in two case studies: an outdoor case from Paestum’s archaeological site and another indoor area consisting of the Capodimonte National Museum.

The main components of the work are:

  • Multimedia Data Management Engine (MDME): the component that manages numerous functions and can be considered the heart of architecture. Specifically, this component:

    • accesses the Indexing and Access Manager Module containing the associated content to items;

    • through the Feature Extraction Module captures multimedia data. These are used for indexing items and for obtaining a Structural Description data. Finally, the data is stored in the Multimedia Storage and Staging;

  • Sensor Management Middleware: an element able to interact with sensors in the area under analysis to determine contextual information. These are stored in the Knowledge Base of the system;

  • Knowledge Base: the component that manages location information geographical user and stores contextual information provided by the Sensor Middleware management. Also contains information about preferences user descriptions of points of interest;

  • Multimedia Recommender Engine: the component that through various components constitutes the recommendation form and is composed of:

    • Candidate Set Building Module that selects suitable items to recommend to the user;

    • Object Ranking Module generating ratings for items selected from Candidate Set Building Module;

    • Visiting Paths Generation that dynamically selects a subset item based on contextual information and contingent actions of the user and possibly proposes a route to visit the site or the museum considered.

The Pre-filtering phase consists of the selection of candidates in the Candidate Set Building Module. These are chosen based on the user’s location and his preferences or needs. The Post-filtering phase is carried out based on contextual information not considered in the pre-filtering phase and finalized the construction of the tour route.

The Recommender System consisting of the Object Ranking Module is a reworking of the recommendation mode associated with the Pagerank (Page et al. 1999; Albanese et al. 2011).

Turist@ (Batet et al. 2012) presents an architecture based on a Multiagent structure that can be classified as follows:

  • User-Agent: this is the component that allows the user to interact with the application and its features. It also allows, through some preliminary questions, to build a preference vector for the specific user sent to the Recommender Agent. Finally, through the Agent in analysis, the user can filter the activities and request personalized suggestions;

  • Activity Agents: they are Agents associated with single activities. Moreover, they present a specific database for the activity to which they are dedicated;

  • Broken Agent: it aims to connect the User-Agent with the Activity Agents to end of making more performing communication and decrease the time to select the correct information;

  • Recommender System: from the name, it is guessed that the component is finalized to the calculation of recommendations. The profile provided initially by the User-Agent will subsequently be dynamically modified based on the information acquired from the interaction between user and system. It also contains a database of the main features of some items to provide quick initial suggestions.

The most interesting features of the proposed application are the ability to dynamically update the user profile and the double choice to make the recommendation (Content-Based/Collaborative Filtering). The suggestions take into account the user’s position, acquired through the GPS of the mobile device, and the activities to be considered whose location is stored in the dedicated database.

In del Carmen et al. (2017) is proposed a CARS where a Pre-Filtering strategy is exploited as part of a Collaborative Filtering recommendation technique. This approach is based on the connection between mobile devices via wireless communication so that no fixed infrastructure or central server is required for data storage. In fact, each mobile device will be exploited to acquire and store information related to rating, context, item, and user within a radius of 200–300 m. Moreover, an update of the stored data is foreseen due to the variability of the data. According to the specific context in which they are released, ratings are stored in mobile devices, and only those that correspond to the identified context are exploited to provide suggestions. In particular, in the experimental phase, obtained through a simulation of some works of the Museum of Modern Art (MoMA) in New York, are considered the contexts: location, user’s mood (happy, sad, neutral), Temperature of a room (warm, hot, cold), Number of people of a room (large, medium, small) and noise level in a room (high, medium, low). The operation of this approach can be summarized as follows:

  • Data storing on the mobile device

  • Computing users with similar preferences in the vicinity and, subsequently, rating predictions using the User-Based Collaborative Filtering technique (Ning et al. 2015) (which falls under Memory-Based techniques). If no similar user is found, the data will be updated;

  • Adding to the list of items obtained in the previous step additional items in the vicinity with ratings above a tolerance set by the authors;

  • The list of items to suggest is ordered based on the ratings associated with each item, and the user is provided with a suitable path to continue the visit.

Finally, Chat-Bot (Casillo et al. 2020) is an architecture that aims to interface with the user to guide him in an interactive experience immersed in the tourism and cultural heritage sector specifically. The application communicates with the user through text messages, which are simplified and analyzed with the Latent Dirichlet Allocation (LDA) (Blei et al. 2003). The LDA allows extracting the correlation between keywords of the text message and the topics. This step enables the system in order to create a user profile across his purposes and needs.

The application is based on the following modules:

  • Digital Storytelling Manager: module aimed to guide the user across the experience without limiting the possibility of freely living the experience itself. The Digital Storytelling (Lambert 2013; Casillo et al. 2019) technique, which gives the module its name, is adequate for this purpose;

  • Context-Aware Manager: the module aims to analyze all possible contexts. The Context Dimension Tree (CDT) is exploited for this purpose (Bolchini et al. 2009; Colace et al. 2020b);

  • Human/Computer Interaction Supervisor: module to supervise the messages underlying the interaction between user and application. The primary purpose of the module is to identify unclear and excessively long questions in order to provide unambiguous sensitive data to the Inference Engine;

  • Interaction Quality Tracker: module designed to supervise the messages underlying the interaction between user and application. In this way, ambiguous and excessively long questions will be identified;

  • Knowledge Base: the component that acquires the data made available by developers and the data about external services that can be recommended to users;

  • Inference Engine: it is the main module of the architecture and is composed of two components:

    • Mixed Graph of Terms (mGT) building module: module that builds the mGT graph. The mGT allows linking the text message and associated domain. This module can also be exploited for the construction of the CDT;

    • Context Mining Module: module that can extract the specific context through the use of mGT;

The domain obtained by the interaction between a user, system, and context obtained by the Inference Engine is exploited to recommend.

This approach can be classified as Post-Filtering CARS because the forecast results from the filtering based on the topic obtained by text message. The recommendation without context values is already implemented in the Knowledge Base and is subsequently adapted through CDT and mGt.

Table 6 Evaluation metrics exploited by papers analyzed in Sect. 5

Evaluation Metrics exploited In Table 6 are reported the evaluation metrics used to test the validity of the approaches just proposed in the field of Cultural Heritage. It can be seen that CES (Chianese and Piccialli 2016), and Bartolini et al. RS Bartolini et al. (2016) (concerning the experiment on the archaeological area of Paestum), Turist@ Batet et al. (2012), and Chat-botCasillo et al. (2020) exploit user satisfaction. This method consists of observing when the Recommender System is able to provide appropriate suggestions to the user. This measure is an excellent method to evaluate multiple metrics simultaneously through the use of means such as questionnaires created ad hoc. In fact, both the accuracy of the recommendations provided and the other metrics evaluated in Sect. 4.2, above all serendipity and diversity, contribute to user satisfaction. However, in the cases of SMARTMUSEUM (Ruotsalo et al. 2013), and Bartolini et al. RS Bartolini et al. (2016) (concerning the experiment on the Capodimonte Museum in Naples), accuracy measures are used.

5.1 Future research direction in cultural heritage domain

The study conducted in this paper has shown that there are many different approaches in the CARS sector. In dealing with context-aware recommender systems in the field of cultural heritage, it can be noted that many of the treated work present Content-Based approaches with the introduction of contextual information of Pre-Filtering, Post-Filtering, or both. The only Collaborative Filtering approaches are represented by del Carmen et al. (2017), and Turist@ Batet et al. (2012). In the first case, the ratings are provided by the mobile devices with which users are connected via wireless communication. In contrast, in the second case, the ratings of the Collaborative filtering approach, built in a Hybrid RS and supported by a Content-Based method, are not acquired from external sources. From the above consideration, one of the main limitations of CARS applied in Cultural Heritage is the lack of flexible APIs applicable in various fields. To overcome this lack, a possible solution could be to adopt a sharing standard. In this way, it would be possible to give an essential impact to the development of CARS in this paper’s specific field of study. Moreover, since one of the limitations of Content-Based approaches is represented by the lack of diversity, it would be possible to recommend different items. In addition, there is also a lack of work integrating contextual information with Contextual Modeling approaches. This lack implies that an appropriate selection is made through the specific context, and the recommendation is developed through 2D techniques. Instead, outside the world of Cultural Heritage, Contextual Modeling approaches are widely used. It would be interesting to see if this approach would be beneficial in this particular field of study. Despite these considerations, the approaches proposed in Section 5 are efficient and give a heterogeneous overview of CARS applied to Cultural Heritage. The evolution of Tourism in Tourism 2.0 (Casillo et al. 2019) allows exploiting the available technologies to acquire contextual information (De Santo et al. 2020), which is common to the presented works. Moreover, it is interesting how the presented works are diverse despite having a common goal: to give visibility to the artistic and cultural heritage. This evaluation arises from the need for each system to acquire specific contextual information, as shown in Table 5 where the only contextual information in common is defined as location.

6 Conclusions

Context-aware recommender systems have been described and classified, and several approaches for introducing contextual information within Recommender Systems have been shown. The variety and heterogeneity of these approaches testify to the significant number of studies about this field and the wide diffusion that CARS have had in recent years. This research work also discussed the context classification used in the literature and the main datasets used in different application domains.

In particular, Recommender Systems that exploit contextual information represent crucial tools for improving users’ experience in the Cultural Heritage field: through the CARS, visit archaeological sites and museums are made interactive and unique.

Future challenges concern new complex scenarios in which a change of context causes a transformation of the experience that is about to be lived.