Context-Aware Recommender System: A Review of Recent Developmental Process and Future Research Direction

: Intelligent data handling techniques are beneﬁcial for users; to store, process, analyze and access the vast amount of information produced by electronic and automated devices. The leading approach is to use recommender systems (RS) to extract relevant information from the vast amount of knowledge. However, early recommender systems emerged without the cognizance to contextualize information regarding users’ recommendations. Considering the historical methodological limitations, Context-Aware Recommender Systems (CARS) are now deployed, which leverage contextual information in addition to the classical two-dimensional search processes, providing better-personalized user recommendations. This paper presents a review of recent developmental processes as a fountainhead for the research of a context-aware recommender system. This work contributes by taking an integrated approach to the complete CARS developmental process, unlike other review papers, which only address a speciﬁc aspect of the CARS process. First, an in-depth review is presented pertaining to the state-of-the-art and classiﬁed literature, considering the domain of the application models, ﬁlters, extraction and evaluation approaches. Second, viewpoints are presented relating to the extraction of literature with analysis on the merit and demerit of each, and the evolving processes between them. Finally, the outstanding challenges and opportunities for future research directions are highlighted.


Introduction
The exponential increase in the amount of data produced by electronic and automated devices is far beyond imagination [1,2].Big data refers to five the V's: A big volume of data; a variety of data types; the high velocity of data generated and updated; the veracity of acquired data; and big data values [3,4].The era of big data is also described as the era of data exploration and utilization [5], and the essential benefit from big data is not from the raw data itself but the insights and outputs that emerge from processing and analyzing it [6,7].Therefore, the boundless changes in big data from a management and technical approach need to be accompanied by intelligent techniques and applications that can properly and intelligently store, process, access and analyze information for maximum user benefit [8][9][10][11].
Recommender systems (RS) are at leading edge of systems available for users to leverage relevant information from the vast amount of information [12] and are emerging as appropriate tools to aid and speed up the process of information seeking, considering the dramatic increase in big data.In its broadest definition, an RS is a software tool and technique that provides the best suggestions for items and services to users, typically from a large information space.Suggestions are based on the user's interests and preferences among different alternatives and then those items and services are presented to the user in a suitable manner.
RS systems are concerned with data collection, pre-processing, transmission, data storage and extracting information using statistical and analytical methods.They emerged in the 1990s and 2-dimensional approaches (users X items) were predominantly used to predict users' interests [34].These approaches utilized user-defined items as a set of entities to project the ratings that are either implicitly inferred by the system [35] or are explicitly provided by the users [36].However, in the early 2000s, RS researchers extended the research in RS to leverage contextual information in addition to the classical two-dimensional process in order to provide better-personalized recommendations to users [37].
Several works exist on context-aware recommendation system (CARS) and researchers are becoming more interested in this field since its emergence [38], but few papers can be traced that have undertaken a rigorous systematic literature review to analyze the complete CARS developmental process.To be specific, the authors of [39], proposed the architectural principles for generic context-aware recommendation systems and derived a layered framework to ease the development of CARS applications.The authors of [40] have also conducted a review of the generic context-aware recommendation systems to suggest a new classification framework.Their proposed classification was based on a five-layered architecture of context-aware systems to help researchers in extracting important lessons for the implementation of CARS systems.
A number of existing context-aware systems have been surveyed in [41].The survey outlined and explained the general processes and the design considerations in context-aware systems.While the authors of [42], examined and classified 210 RS papers into their various domain of applications and their different data mining techniques.A survey on Technology Enhanced Learning (TEL) has also been conducted in [43].The survey identified and analyzed the contextual dimensions for the development of CARS for TEL.A general overview on RS together with collaborative filtering methods and algorithms has been detailed out in [44].The overview provides original classifications for RS systems and identifies areas for future implementations.In addition, a review has been conducted in [45], to determine the contexts and the methods used for making recommendations in digital libraries.
The authors of [46] presented a systematic literature review on CARS to identify the contextual information considered relevant by the researchers in generating context-based recommendations from 2012 to 2015.The authors of [47] have also presented a comprehensive overview of context-aware systems in a mobile environment to identify the contextual information that has been used in CARS in Appl.Sci.2017, 7, 1211 3 of 25 order to sketch the possible future directions.The review has categorized the contextual information into six main categories and asserted that accumulating too many contextual factors can negatively affect the recommendation quality and leading to scalability problems.
As can be observed, each of the above research has addressed a specific aspect of the CARS process.Unlike the aforementioned works, this paper performs an integral approach to the complete CARS developmental process.By so doing, it aims to fill the gap and provide both the novice and new researchers the required background knowledge behind each process step.An in-depth review is presented on the state-of-the-art of CARS and the literature are classified based on the domain of their application, model, filter, extraction, and evaluation approaches.Then microscopic views are presented on the extracted literature by analyzing the merit and demerit of each and the evolving processes between them.In this way, the outstanding challenges are highlighted including the opportunities for future research directions.In summary, the contributions of this paper are: a.
The previous CARS researches are categorized according to their domain of application, modeling, filtering, extraction, and evaluation approaches.b.
The review explores the different contextual information incorporated in recommender systems and our rigorous analysis has demonstrated that they could be categorized into spatial, temporal and static.c.
The review has analyzed the merit and demerit of previous CARS researches and their evolvement processes.d.
The paper also presents outstanding challenges and suggests possible opportunities for future research directions.
The remaining sections of the paper are organized as follows.Section 2 presents the adopted method for extracting the literature.In Section 3, a coherent classification is presented and microscopic analysis of the reviewed literature.Recommendations and future research directions in Section 4. We then conclude the paper in Section 5.

Identification of Bibliographical Databases
Eight (8) major computer science bibliographical databases were identified and selected; these databases are ScienceDirect, ACM Digital Library, SpringerLink, Web of Science, IEEE Xplore, Scopus, DBLP computer science bibliography, and Google Scholar portal.
As stated in [48], the dates for starting and closing a review have to be set; therefore, January 2010 to October 2017 is chosen as the date range for this review.The study covers all of the papers published within the stated period and which satisfies the inclusion criteria.

Searching and Selection of Primary Studies
A Boolean search criterion is used to search the bibliographical databases."(Title ((Context) AND (Recommendation OR Recommender)) OR Abstract ((Context) AND (Recommendation OR Recommender)))."Table 1 presents the number of papers retrieved from each database.
From Table 1, an independent review of each of the selected papers is undertaken, which includes those papers that satisfied the following criteria: a.
Journal articles in which the words context or recommender appear in either their title or abstract.b.
Conference papers in which the words context or recommender appear in either their title or abstract which had at least 10 citations for 2010 to 2013 papers, and at least 5 citations for 2014 to 2016 papers, and any citation(s) to 2017 papers.Also excluded are: a.
Papers not written in the English language.b.
Conference Papers with fewer citations.

Data Extraction and Validity Control
The complete summary of the data extraction strategy is presented by a flowchart shown in Figure 1.The 1136 papers are retrieved from the various online academic databases.The reviews presented are from independent reviewers, which are later compared and the results indicate no discrepancies between the comparative data.Out of the 1136 papers, 342 are rejected based on the title and abstract criteria.9 papers are also rejected for being either a survey or a review and 667 proceedings are rejected due to few citations.Finally, 118 papers qualify for the final review.To retrieve the maximum number of publications, a further review of the references of the 118 qualified papers is undertaken, these are compared with local databases in order to find any missing papers that may satisfy the inclusion requirements, which previously are not included.Fortunately, none are missing.From Table 1, an independent review of each of the selected papers is undertaken, which includes those papers that satisfied the following criteria: a. Journal articles in which the words context or recommender appear in either their title or abstract.b.Conference papers in which the words context or recommender appear in either their title or abstract which had at least 10 citations for 2010 to 2013 papers, and at least 5 citations for 2014 to 2016 papers, and any citation(s) to 2017 papers.
Also excluded are: a. Papers not written in the English language.b.Conference Papers with fewer citations.

Data Extraction and Validity Control
The complete summary of the data extraction strategy is presented by a flowchart shown in Figure 1.The 1136 papers are retrieved from the various online academic databases.The reviews presented are from independent reviewers, which are later compared and the results indicate no discrepancies between the comparative data.Out of the 1136 papers, 342 are rejected based on the title and abstract criteria.9 papers are also rejected for being either a survey or a review and 667 proceedings are rejected due to few citations.Finally, 118 papers qualify for the final review.To retrieve the maximum number of publications, a further review of the references of the 118 qualified papers is undertaken, these are compared with local databases in order to find any missing papers that may satisfy the inclusion requirements, which previously are not included.Fortunately, none are missing.Each of the 118 qualified papers is searched for in Google scholar (https://scholar.google.com/)these present a brief overview of the title and an abstract of the papers with citations, related articles, and versions.Four (4) papers are then found to satisfy the inclusion criteria making a total of 122 qualified papers.Each of the 122 papers is then prudently reviewed and classified into various application domains, exploiting their incorporated contexts, identifying the approach used to model user profiles, the data extraction strategies, the filtering techniques, and the methods of evaluation.

Publication Trends
The CARS has been researched extensively in various application domains such as in movies [49], music [50], e-commerce [37], news [51], research papers [52,53], and etcetera.This might be as a result of the challenge raised by some researchers in the field of RS that the recommendation process should put into cognizance the current situation of the users seeking recommendations for better predictions [34].With current technology, researchers are able to discover the current states of users by analyzing various information retrieved from several technological tools, like GPS, Sensors etc. to provide lists of personalized suggestions based on the users' current activities and contexts.
Figure 2 depicts the CARS publication trends, and as can be seen, publications related to CARS are increasing in an arithmetical progression.This shows that the field is active and is attracting the interest of many researchers and practitioners.It can be asserted that more papers may be published by the end of this year.Each of the 118 qualified papers is searched for in Google scholar (https://scholar.google.com/)these present a brief overview of the title and an abstract of the papers with citations, related articles, and versions.Four (4) papers are then found to satisfy the inclusion criteria making a total of 122 qualified papers.Each of the 122 papers is then prudently reviewed and classified into various application domains, exploiting their incorporated contexts, identifying the approach used to model user profiles, the data extraction strategies, the filtering techniques, and the methods of evaluation.

Publication Trends
The CARS has been researched extensively in various application domains such as in movies [49], music [50], e-commerce [37], news [51], research papers [52,53], and etcetera.This might be as a result of the challenge raised by some researchers in the field of RS that the recommendation process should put into cognizance the current situation of the users seeking recommendations for better predictions [34].With current technology, researchers are able to discover the current states of users by analyzing various information retrieved from several technological tools, like GPS, Sensors etc. to provide lists of personalized suggestions based on the users' current activities and contexts.
Figure 2 depicts the CARS publication trends, and as can be seen, publications related to CARS are increasing in an arithmetical progression.This shows that the field is active and is attracting the interest of many researchers and practitioners.It can be asserted that more papers may be published by the end of this year.

Application Domain and Their Incorporated Contexts
In this section, the various application domains and the different contexts used for making recommendations are addressed.
Deciding on the domain of application is the initial stage of any context-aware recommendation systems.This is important because the remaining stages heavily depend on it and different domain of application may contain different contextual information.The authors of [42,44] asserted that the main focus of current RS researchers is the development of RS applications due to the rapid increase in big data.Although several types of academic research exist on RS, there is a lack of comprehensive literature review and classification of those researches.A total of 210 papers are reviewed in [42], from 46 journal articles published within 2001 and 2010.The authors classified and examined the 210 RS papers into their various domains of applications using different data mining techniques.The review gives an insight on the information of RS research trends and provides future directions to both practitioners and researchers.RS is also examined with respect to real-world application domains in [13].In contrast, this paper identifies the various application domains in the current RS researches and also identifies their incorporated contextual information.

Application Domain and Their Incorporated Contexts
In this section, the various application domains and the different contexts used for making recommendations are addressed.
Deciding on the domain of application is the initial stage of any context-aware recommendation systems.This is important because the remaining stages heavily depend on it and different domain of application may contain different contextual information.The authors of [42,44] asserted that the main focus of current RS researchers is the development of RS applications due to the rapid increase in big data.Although several types of academic research exist on RS, there is a lack of comprehensive literature review and classification of those researches.A total of 210 papers are reviewed in [42], from 46 journal articles published within 2001 and 2010.The authors classified and examined the 210 RS papers into their various domains of applications using different data mining techniques.The review gives an insight on the information of RS research trends and provides future directions to both practitioners and researchers.RS is also examined with respect to real-world application domains in [13].In contrast, this paper identifies the various application domains in the current RS researches and also identifies their incorporated contextual information.
Based on closeness and relatedness, and based on the classification scheme presented in [22,42], the findings of our review demonstrated that the current application domains in CARS could be classified into travel and tourism, places, e-documents, multimedia, e-commerce, and others (see Figure 3).The fields of multimedia (22%) and e-commerce (19%) had taken the majority of the publications.This may result in the availability of the datasets Movielens (http://www.grouplens.org/) and LastFm (http://www.last.fm/)that are used for movies and music respectively to provide rich information needed for performance evaluation and which are freely accessible.Therefore, it is easier to test multimedia applications with real datasets than any other field.Based on closeness and relatedness, and based on the classification scheme presented in [22,42], the findings of our review demonstrated that the current application domains in CARS could be classified into travel and tourism, places, e-documents, multimedia, e-commerce, and others (see Figure 3).The fields of multimedia (22%) and e-commerce (19%) had taken the majority of the publications.This may result in the availability of the datasets Movielens (http://www.grouplens.org/) and LastFm (http://www.last.fm/)that are used for movies and music respectively to provide rich information needed for performance evaluation and which are freely accessible.Therefore, it is easier to test multimedia applications with real datasets than any other field.In these sub-sections, each classification is studied and a microscopic view is presented in order to analyze the merit and demerit of the previous research works and the evolving processes between them.In this way, the challenges and future research directions are highlighted to provide better advice to other researchers (especially the novice and the new researchers). (

1) E-commerce Domain
It is a fact that the WWW brings more competition to the market environment, which leads to the evolution of many paradigms targeting effective marketing strategies.One of the most common and obviously the most successful is the C2C (Consumer-to-Consumer) paradigm.C2C is an ecommerce paradigm that allows a single consumer to play both the roles of a buyer and a seller for different transactions.However, the approach manages objects arrangement and product catalogue using lexicographical descriptions, which are prone to returning irrelevant results because of polysemy of words, and its inability to use current technology for automatic comparisons across product recommendations, while the approach is suitable for C2C, its inappropriate for a direct shopping paradigm such as B2C (Business-to-Consumer) e-commerce.In bridging the gap, the authors of [54] proposed a B2C paradigm that hierarchically arranges products according to their features and use a product selection system to search and return another list of relevant products to be presented to the users as the set of recommendations.Whereas the authors of [54] consider a generic B2C scenario, the authors of [55] consider a scenario where the consumers can be physically present at the shopping mall popularly known as In-Store-Shopping (ISS).
On another development, the idea of segmenting customers into possibly non-overlapping segments has been proposed in [56] to adapt the quick changes of customer's preferences.The authors identified three different approaches to include contexts in a segmentation model for building an effective predictive model of customer behavior for e-commerce recommendations.A detailed comparison is conducted across these approaches in [37].In addition to considering predictive accuracy, the comparison also considers the diversity of recommendations.The result of that marginal and regional analysis reveals that no single approach is better than the other in all cases.However, some approaches are better in certain circumstances.In these sub-sections, each classification is studied and a microscopic view is presented in order to analyze the merit and demerit of the previous research works and the evolving processes between them.In this way, the challenges and future research directions are highlighted to provide better advice to other researchers (especially the novice and the new researchers). (

1) E-commerce Domain
It is a fact that the WWW brings more competition to the market environment, which leads to the evolution of many paradigms targeting effective marketing strategies.One of the most common and obviously the most successful is the C2C (Consumer-to-Consumer) paradigm.C2C is an e-commerce paradigm that allows a single consumer to play both the roles of a buyer and a seller for different transactions.However, the approach manages objects arrangement and product catalogue using lexicographical descriptions, which are prone to returning irrelevant results because of polysemy of words, and its inability to use current technology for automatic comparisons across product recommendations, while the approach is suitable for C2C, its inappropriate for a direct shopping paradigm such as B2C (Business-to-Consumer) e-commerce.In bridging the gap, the authors of [54] proposed a B2C paradigm that hierarchically arranges products according to their features and use a product selection system to search and return another list of relevant products to be presented to the users as the set of recommendations.Whereas the authors of [54] consider a generic B2C scenario, the authors of [55] consider a scenario where the consumers can be physically present at the shopping mall popularly known as In-Store-Shopping (ISS).
On another development, the idea of segmenting customers into possibly non-overlapping segments has been proposed in [56] to adapt the quick changes of customer's preferences.The authors identified three different approaches to include contexts in a segmentation model for building an effective predictive model of customer behavior for e-commerce recommendations.A detailed comparison is conducted across these approaches in [37].In addition to considering predictive accuracy, the comparison also considers the diversity of recommendations.The result of that marginal and regional analysis reveals that no single approach is better than the other in all cases.However, some approaches are better in certain circumstances.
Further important advancement from the extracted literature is the attempt to solve the well-known problem of sparsity and cold start in e-commerce.As a matter of fact, e-commerce recommenders utilize ratings from several users to provide personalized and qualitative recommendations.This approach hinders the effectiveness of RS as it contributes to sparsity and cold start problems.The latter problem is the situation where the total ratings of a user are not sufficient for qualitative recommendations.Whereas, the former problem is the difficulty to find a sufficient and reliable number of users so that system can make reliable and qualitative recommendations.Authors of [57] presented a conceptual model called prior ratings to source ratings information from e-commerce users.The approach was built upon a virtual experience to motivate users to provide ratings, even users that do not purchase an item are eligible to rate it.Users' opinions about products are captured from their interactions with virtual products represented in a mediated environment.
While previous researches use personalized recommendations based on users' historical behavior [58], two concerns are raised in [59].Firstly, those approaches do not consider users' intentions, which is crucial because despite having the same searching and browsing behavior, users might have different considerations and secondly, the user's budget is an important constraint for shopping.With this in mind, the authors of [59] proposed a novel context-aware e-commerce that tracks user's real-time shopping context to provide an autonomous mechanism for enhancing RS performance.Recommendations adapted to these considerations might be more interesting for users and RS performance might have improved if recommendations consider users' budget.Those results reveal contextual factors, which can be used as marketing tools and in different contexts, require RS's to play different roles.Furthermore, a single algorithm may not meet all the users' needs at the same time, therefore, a hybrid RS, which takes into account different kinds of Web browsing patterns might be better.
Another milestone to e-commerce domain is the migration to group commerce.Instead of the classical individual transactions such as C2C and B2C, users now utilize the advantages of social influence and price discount of group commerce to get the lowest price possible as the larger the volume of product bought the lower the unit price.The authors of [60] proposed a group-coupon recommendation mechanism that identifies and analyses three factors to target customers who are interested in a similar product and are geographically close to the retailer to assure successful group transactions.These factors are the individual preferences with respect to the product characteristics, the geographical convenience of the store and the social influence of the product.Their experimental results reveal that presenting a list of group members could significantly increase customer's willingness to purchase due to the effect of social influence.Furthermore, the recommendation mechanism helped customers to discover products of interest to them by reducing the search cost of finding coupon products.
(2) e-Documents Domain One generic concentration of the reviewed literature is the migration of learning recommenders towards mobile platforms.Recommender systems play important roles in the educational domain, where information relating to researchers are proactively recommended.Due to the high acceptability of mobile phones and their ease of use, researchers are migrating educational RS into mobile platforms.However, the mechanism must be able to sense both the learner-centric and system-centric contextual information and adapts accordingly the accessed services at run-time.The authors of [61] proposed a light-weight mobile RS with semantic-rich awareness information, which is able to provide content recommendations that are tailored to learners' background, contexts and the task at hand.In [62], an assessment of the usefulness of contextual information with respect to classical RS was performed to determine users' utilization of mobile news services and how contextual information influences their consumption behavior.While [61] and [62] suggest new mechanisms in mobile RS, [63] report a framework designed for library staff to provide location-based access to information via mobile computing platform, which eases access and utilization of the library collection.
Another critical observation is the use of a collaborative approach instead of the well-known content-based approach in an educational domain.A context-based collaborative framework that uses only easily obtained citations relations as source data was proposed in [64].The framework employs an association-mining technique to obtain a paper representation of the paper citation context.A pairwise comparison was then performed to compute the extent of similarities between papers.The authors of [65], hypothesized the author's previous publications to contained a clean signal of the researcher's latent interests.The key aspect of their model was to enrich the user profile with the information coming directly from the references of the researcher's previous publications as well as the papers that cited them.Whereas the authors of [65], recommend papers relevant to the researcher's interest, they also addressed the serendipitous scholarly paper recommendation in [66].Conversely, the authors of [67] proposed a collaborative approach for research paper recommender system to identify the latent associations that exist between research papers based on the perspective of paper-citation relations.
Some of the reviewed literature have also proposed some solutions to the sparsity and cold start problems in the educational domain.To be precise, the authors of [68] claimed to proposed a scalable large-scale context-aware recommender system that does not suffer from cold start problems.The approach uses an adaptive item clustering algorithm to address the cold start problem and improve the learning speed.On the other hand, authors of [69] proposed a context-aware recommendation model that integrates convolutional neural network (CNN) into probabilistic matrix factorization (PMF) to capture the contextual information of a document to enhance the rating accuracy.The authors of [70] have also introduced a flexible architecture using neural citation network (NCN) capable of incorporating author metadata for context-aware citation recommendation.
Another important aspect of the literature is the issue of institution-industry collaborations, which play an important role in the success of research and development (R&D) projects.The authors of [71] proposed a context-aware researcher recommendation system to encourage university-industry collaboration on industrial R&D projects.The benefits of supporting learners with effective educational recommendations have been presented in [72], and the requirements for the realization of e-learning full potentials has also been outlined in [73].
(3) Multimedia Domain One important consideration of this literature review in the multimedia domain is the utilization of social media to personalize multimedia packages.Users are now overwhelmed with the huge quantity of social media resources and services.Authors of [74] proposed an RS model that utilizes these resources, which also incorporate rating information and social tags to personalize content search given a particular context.Their experimental results revealed the feasibility of personalized recommendations according to users' contexts and improving the cold start situations.The potential of exploiting and utilizing social contents has been presented in [75].The model uses a tensor to leverage the latent preferences associated with multiple dimensions of a user, item, and context for multimedia recommendations.The utilization of functionalities from various technologies in a heterogeneous environment such as sensors has also been presented in [76], to propose a multimedia recommender system that determines the best service and simultaneously accommodate the context of the devices in the heterogeneous environment.
Another important consideration is the group recommendation and the utilization of Ambient Intelligence (AmI) environment for personalized recommendations.AmI is an electronic environment capable of sensing and responding the presence of people with the help of some set of promising technological approaches.An interactive and intelligent framework has been proposed in [77], which combines sensors with Ambient Intelligent to implicitly provide inputs to the RS systems to enhance users' satisfaction.The framework also has the ability to personalize recommendations for the group of users instead of individual users.Using offline experiment, the technique has shown significant improvement in given out personalized recommendations according to users' contexts.The authors of [78], extract and integrate contextual information out of music playlist names to propose a collaborative approach that clusters them to generate music recommendation.
Additionally, tags are part of contextual information characterizing multimedia content, tagging becomes of utmost importance.However, the number of users that provide raw tags are so limited and therefore insufficient to characterize the whole information of web videos.In trying to provide more tags to multimedia contents, researchers proposed tag recommenders.Specifically, the authors of [79] proposed a context-oriented tag RS approach to recommend important tags to web videos.While [80] suggest a personalized tag recommendation system that model contextual information using a method called Pairwise Interaction Tensor Factorization (PITF).Experimental results of both approaches proved increased performance.
Finally, as [81] suggests the view of context into representational and interactional.It is important to realize the fact that, different from all other authors of our reviewed literature, the authors of [82] proposed a software framework capable of handling the activity-oriented and dynamic nature of contexts.With the proposed framework, developers can develop CARS applications capable of generating recommendations for both group users and individuals.

(4) Places, Travel and Tourism Domains
The most important consideration in these categories is the proactive recommendations.Proactive recommenders are the systems that push a list of recommendations to users when their situations seem appropriate without the users' explicit requests.The systems are always in keeping track with the users to know the condition that will warrant recommendations.They determine when and how the recommendations should be displayed to the users.The authors of [83] have proposed a domain-dependent proactive model for mobile recommender systems and the authors of [84] evaluate the acceptance of proactive recommendations among users and demonstrate how the presence of recommended items can be properly notified, those results show, that compared to a notification-based solution, a widget-based solution is preferred by users.
Recommender systems play significant roles in the domain of tourism.A lot of current researches focus on providing helpful information of a tourism site to visitors at the right time about the site itself and the various services nearby [25].This is crucial because the world wide web (WWW) has transformed the tourism domain to the extent that most travelers now rely very little on travel agents [85].In fact, recent studies indicate that travelers when onsite, search for free available information about the site rather than renting a visitor guide [25].
Considering these six major groups of application fields that recognized the importance of CARS, it can be asserted that in the near future almost all application fields may adopt CARS.
Once the domain of application is been decided, next is to identify the required contexts of both the users and the items.While the term "context" has been studied across various disciplines, each discipline tends to provide its idiosyncratic view.In the field of computer science, "context" is commonly defined as [86]: "Any information that can be used to characterize the situation of an entity.An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and application themselves".
Another study [81], Suggest that "context" should be viewed as interactional and representational.Representational in the sense that the predefined sets of "context" are observable and do not significantly change over period.In contrast, an interactional view assumes that "contexts" are not necessarily observable and are subject to certain factors induced by user behavior.In the early work of [87,88], "context" was classified into computing, user, and physical contexts.Based on a review conducted by [45], the contexts that are incorporated into recommendation processes in a digital library were classified into users', documents, and environmental contexts.
In Table 2, we present the various application domains and their incorporated contexts.Based on the review, the incorporated contextual information in the RS can be viewed as either formalizing or identifying a place for the users and/or the items (spatial context) or characterizing a possessed attribute of the users and/or the items.The possessed attribute can either be for a period of time (temporal context) or permanent (static context).
Spatial contexts are those contexts that formalize the geographical situation or environment of users and/or items such as their location.
Static contexts are those contexts that do not change over time, and which affect the recommendation process such as gender, age, and identity etc.
Temporal Contexts contrary to static context, are those contexts that change over time and which are dynamic in nature like user's mood, user's current goal and social relations etc.

Extraction Approaches
Extracting contexts is a crucial stage in the CARS developmental process; this is because the context is the major determining factor in any CAR system.The different extraction approaches adopted by researchers are explored in this section, in order to deduce the most advantageous approaches, which will help guide the choice of novices and new researchers.When the required information is identified an extracting method is applied to that information to construct user profiles, which is used to model the interests and preferences of users.This task is very difficult, as most users might not be sure of their interest [147], and even if they are, they're often reticent to make any efforts in its creation [148].
Depending on the nature of the context, contextual information can be extracted explicitly [149,150], implicitly [151,152], or using a machine learning approach [153].In an explicit approach, users are required to provide the required information that describes their interests usually through ratings or asking direct questions.The system must be familiar with the vocabularies used.Information can also be acquired dynamically by building a user profile that captures the preferences of users automatically from the environment.An initial set of keywords is usually provided by the user to initiate the process [148].The system then subsequently uses this information to identify the documents and services potentially fitting the user's interests, and appropriately presents them.
Machine learning is also used to design an automatic recommender system [154].The idea is to use a statistical or data mining approach to infer the user's contextual information by monitoring his/her activities with the system rather than asking him/her to provide a predefined set of keywords describing his/her preferences.Figure 4 presents the distribution of our reviewed papers by their extraction approaches.It can clearly be seen from the figure, that researchers usually combine both the explicit and implicit approaches when extracting users' information.This is because combining the two methods help in utilizing the advantages and getting rid of the drawbacks of each approach.In addition, combining the two approaches increases the flexibility of the RS.On the other hand, researchers preferred using implicit data than the explicit, this is because even though the explicit data provide the most reliable source of information, explicit data extraction is difficult to perform as many users do not want to give out their information and besides they might not be sure of their interest [147].source of information, explicit data extraction is difficult to perform as many users do not want to give out their information and besides they might not be sure of their interest [147].Therefore, over dependency on explicit data may cause the system not to function properly as its performance depends on the users' input hence, the lesser the explicit data is required by the system from the user the more independent and the better the recommendation system.

Modeling Techniques
Profile modeling concerns the designing of a structure to store all the users' contexts to improve the interaction between humans and computers by predicting their interests [155].The authors of [156] identify six major requirements for any context modeling approach and argue that ubiquitous computing systems are a highly demanding approach.
Figure 5 presents the distribution of our reviewed papers by their modeling approaches.Meanwhile, Table 3 presents each of the modeling approaches with their corresponding extraction methods.From the figure, it can be seen that vector space and ontology are the most used modeling approaches.In vector space, an m-dimensional vector represents the user's profile, where m is the number of distinct terms that exist in the profile.In this approach, researchers also used probabilistic algorithms to deduce the items score with respect to a user for a given context.One merit of this method is its ability to use several vectors for representing different user's interests and their evolutionary time.While in ontological approach, the concepts in the user's profile are represented in classes of hierarchy, and each hierarchy denotes a knowledge area of the user's interests.The ontological approach produces a well-defined relationship between contextual concepts, which are used to trace the most fitting preferences and interests of a user in order to personalize the recommendations.Therefore, over dependency on explicit data may cause the system not to function properly as its performance depends on the users' input hence, the lesser the explicit data is required by the system from the user the more independent and the better the recommendation system.

Modeling Techniques
Profile modeling concerns the designing of a structure to store all the users' contexts to improve the interaction between humans and computers by predicting their interests [155].The authors of [156] identify six major requirements for any context modeling approach and argue that ubiquitous computing systems are a highly demanding approach.
Figure 5 presents the distribution of our reviewed papers by their modeling approaches.Meanwhile, Table 3 presents each of the modeling approaches with their corresponding extraction methods.From the figure, it can be seen that vector space and ontology are the most used modeling approaches.In vector space, an m-dimensional vector represents the user's profile, where m is the number of distinct terms that exist in the profile.In this approach, researchers also used probabilistic algorithms to deduce the items score with respect to a user for a given context.One merit of this method is its ability to use several vectors for representing different user's interests and their evolutionary time.While in ontological approach, the concepts in the user's profile are represented in classes of hierarchy, and each hierarchy denotes a knowledge area of the user's interests.The ontological approach produces a well-defined relationship between contextual concepts, which are used to trace the most fitting preferences and interests of a user in order to personalize the recommendations.
method is its ability to use several vectors for representing different user's interests and their evolutionary time.While in ontological approach, the concepts in the user's profile are represented in classes of hierarchy, and each hierarchy denotes a knowledge area of the user's interests.The ontological approach produces a well-defined relationship between contextual concepts, which are used to trace the most fitting preferences and interests of a user in order to personalize the recommendations.Vector Information is gathered implicitly, which helps to reshape the relationship between users and contexts. [ Graph A random walk is usually performed to the graphs that were generated by the contextual information to infer the most suitable choices. [ Information is gathered explicitly and ontology is used to model and build this information to provide personalized services. [ Vector Information is gathered explicitly, which helps to reshape the relationship between users and contexts.[36,137] Machine learning Vector Through data mining approach, they tracked users and infer static and dynamic contexts that were used to personalized recommendations. [138]

Explicit and implicit
Graph A random walk is usually performed to the graphs that were generated by the contextual information.[79,90,121,135] Ontology Information is gathered both implicitly and explicitly, ontology is then used to model and build this information to provide personalized services. [61,82, Vector Information is gathered both implicitly and explicitly, which helps to reshape the relationship between users and contexts. [75,77,

Markup
Contextual information is represented in form of markup tags with attributes and contents that are used to infer their probability distribution for making recommendations. [50]

Logic
Contexts are represented as a set of conditions in which concluding expressions or facts may be derived from. [89]

Information Filtering Approaches
Determining when and how to incorporate contexts remains a challenge in the field of CARS [168].This section explores the current trends to incorporate contexts into the recommendation process.When all the required information is in place, the next stage is to decide on which of the filtering approaches is to be applied.As indicated earlier, most papers in the field of CARS are focused on the representational view of context [81], whereby they assume it to be based on observable factors that have an effect in the recommendation process, which may not change significantly over a period.The authors of [169], go further to categorize this representational view into pre-filtering, post-filtering, and contextual modeling.This paper classifies the reviewed literature based on this categorization with a description of each in Table 4.The advantage of both pre and post-filtering approaches is their ability to allow deployment of numerous 2D-RS techniques as the data-filtering query is constructed.The former uses the exact context and the latter adjusts the recommendation, while the contextual modeling approach incorporates contextual information with the classical 2D predictive models.Each of these filtering algorithms, are classified as [170][171][172]

Post-filtering
In post-filtering, the irrelevant scores to the current context are filtered out after computing the final contextual recommendation. [37,50,

Contextual
In contextual approach, the identified contexts are used in the classical recommendation-generating algorithm.[37,82,89,95,110,130,141,166] As observed from Figure 6, most of the previous research adopts a pre-filtered approach to incorporate the contexts into the RS process.Even though contextual pre-filtering is the most adopted filtering approach, article [37] compares these different information filtering approaches in terms of accuracy and diversity and concludes that none of the three approaches uniformly prevail the others across all factors.

Post-filtering
In post-filtering, the irrelevant scores to the current context are filtered out after computing the final contextual recommendation. [37,50,

Contextual
In contextual approach, the identified contexts are used in the classical recommendationgenerating algorithm.[37,82,89,95,110,130,141,166] As observed from Figure 6, most of the previous research adopts a pre-filtered approach to incorporate the contexts into the RS process.Even though contextual pre-filtering is the most adopted filtering approach, article [37] compares these different information filtering approaches in terms of accuracy and diversity and concludes that none of the three approaches uniformly prevail the others across all factors.

Evaluation Techniques
The final stage in the development of CARS is to prove the effectiveness of a proposed system.Three evaluation strategies are used in practice for the performance evaluation of recommender systems.These are online, offline and by user studies.In a user study, subjects are asked to assess their overall satisfaction with the system, usually through ratings.It could be lab-based, in which the subjects are aware that they are part of the study or a real-world study where the subjects are not aware of the study.Even though researchers consider user studies to be the optimal evaluation method [175], the results often depend on the questions asked [176].
Online evaluation is considered the best method for evaluating recommender systems [177], it measures the recommendation's acceptance in the real world usually through click-through rates (CTR).Online evaluations are very expensive to conduct and are mostly used in the field of online advertising that has access to the real-world systems.Although online evaluation is the most trustworthy experiment, it is significantly more time-consuming than any other evaluation method [177].
Offline evaluation, on the other hand, is the easiest and the most convenient method of

Evaluation Techniques
The final stage in the development of CARS is to prove the effectiveness of a proposed system.Three evaluation strategies are used in practice for the performance evaluation of recommender systems.These are online, offline and by user studies.In a user study, subjects are asked to assess their overall satisfaction with the system, usually through ratings.It could be lab-based, in which the subjects are aware that they are part of the study or a real-world study where the subjects are not aware of the study.Even though researchers consider user studies to be the optimal evaluation method [175], the results often depend on the questions asked [176].
Online evaluation is considered the best method for evaluating recommender systems [177], it measures the recommendation's acceptance in the real world usually through click-through rates (CTR).Online evaluations are very expensive to conduct and are mostly used in the field of online advertising that has access to the real-world systems.Although online evaluation is the most trustworthy experiment, it is significantly more time-consuming than any other evaluation method [177].
Offline evaluation, on the other hand, is the easiest and the most convenient method of evaluation, as it requires no interaction with real users [177].It measures the recommendation's accuracy based on a ground truth.Offline evaluation is aimed to identify some promising recommendation approaches, which is later evaluated in detail with respect to online or user studies.
Figure 7 shows the classification of the reviewed papers into their evaluation approaches.From the figure, user studies are the most used evaluation approach.Depending on the evaluation approach used, certain predefined metrics are used for assessing the system's performance and to capture the user's satisfaction with the list of the recommendations.Table 5 summarized the common metrics used and the condition and merits for each.capture the user's satisfaction with the list of the recommendations.Table 5 summarized the common metrics used and the condition and merits for each.Figure 8 summarizes the major stages in the context-aware developmental process.Each stage must be fully represented for a framework to be effective and flexible enough for recommending tailored services to users.

Recommendations and Future Research Directions
Even though a lot of attention has been attracted towards CARS, several challenges exist that need more attention by the current researchers.The state-of-the-art frameworks in CARS are not generic and flexible enough to be implemented across different domains of applications.It is imperative that a framework is flexible enough to accommodate as many domains of applications as possible.This will tremendously ease the recommendation task and set a focal point of discussion on how to improve the existing framework, rather than propose several different frameworks that are hard to integrate.
Moreover, the incorporated contexts are not enough for tailoring personalized services to users.It is observed that only one or two contexts are incorporated by the researchers in the RS process such as in [62], and considering the dynamicity of users, incorporating a single context may not necessarily represent a user's interests and preferences.
Additionally, most CARS systems are limited to current context in learning the users' profiles.Some researches ignore the context of past interactions, which in many instances are the pre-requisite to the current context, and neglecting such information may result in a poor performance of CARS.Furthermore, it is observed in this review, that most of the previous research does not handle heterogeneity of data and group recommendations despite their high significance, due to the complexity of users.Researchers only consider one set of context type such as "Time of the Year" and "Intent of Purchase", which in the case of e-commerce are all temporal contexts."URL", "ISBN", "Title" in the case of e-document, which are all static contexts."Distance to the Point of Interest" and "Location" in the case of Places are all spatial contexts.
Another concern is the evaluation strategy used to evaluate CARS systems since almost all the reviewed research evaluated their systems either using offline evaluation or by user studies.

Recommendations and Future Research Directions
Even though a lot of attention has been attracted towards CARS, several challenges exist that need more attention by the current researchers.The state-of-the-art frameworks in CARS are not generic and flexible enough to be implemented across different domains of applications.It is imperative that a framework is flexible enough to accommodate as many domains of applications as possible.This will tremendously ease the recommendation task and set a focal point of discussion on how to improve the existing framework, rather than propose several different frameworks that are hard to integrate.
Moreover, the incorporated contexts are not enough for tailoring personalized services to users.It is observed that only one or two contexts are incorporated by the researchers in the RS process such as in [62], and considering the dynamicity of users, incorporating a single context may not necessarily represent a user's interests and preferences.
Additionally, most CARS systems are limited to current context in learning the users' profiles.Some researches ignore the context of past interactions, which in many instances are the pre-requisite to the current context, and neglecting such information may result in a poor performance of CARS.Furthermore, it is observed in this review, that most of the previous research does not handle heterogeneity of data and group recommendations despite their high significance, due to the complexity of users.Researchers only consider one set of context type such as "Time of the Year" and "Intent of Purchase", which in the case of e-commerce are all temporal contexts."URL", "ISBN", "Title" in the case of e-document, which are all static contexts."Distance to the Point of Interest" and "Location" in the case of Places are all spatial contexts.
Another concern is the evaluation strategy used to evaluate CARS systems since almost all the reviewed research evaluated their systems either using offline evaluation or by user studies.Although such approaches are effective and necessary, the results mostly contradict when applied in real life applications using online evaluation [177].
Another important aspect that is almost always neglected in most of the previous studies is the issue of privacy and security.Current research into CARS does not enable privacy and security in the recommendation process, which is an important aspect of real-life recommenders.As CARS systems are expected to know a user better than one knows oneself, because of the vast accumulated knowledge coupled with the ability to predict what a user may need in the near future, systems with these abilities need to guarantee security, privacy, and safety.
Furthermore, some CARS systems are vulnerable to shilling attacks [178], especially in the domain of e-commerce to generate positive ratings for their products and negative ratings for competitors' products.Researchers should be able to detect these attacks in order to instill confidence and trust in the use of CARS.
Although the concept of incorporating contexts into RS process is new, the current research is mainly concentrated on a representational view of context.Taking an interactional view into cognizance is also important considering the dynamicity of users.The authors of [37], pointed out that none of the different information filtering approaches uniformly dominates the others across all factors.Therefore, there is a need for extensive research to compare performance by considering different performance measures other than accuracy, like novelty, diversity, and serendipity etc. Hybridizing the three filtering approaches may also be a good area for future work.Another good line of future research is to determine the proper combination of existing recommendation approaches in order to explore their full potentials.

Conclusions
The dramatic increase in the amount of data being produced by electronic and automated devices necessitates the need for intelligent techniques and applications that can properly and intelligently store, process, access and analyze information for maximum benefits to users.Context-Aware Recommender Systems (CARS) are of such leading solutions to these big data challenges, which are appropriate tools to quickly aid the process of information seeking.
This paper presents a review of recent developmental processes as a fountainhead for the research of context-aware recommender system.It contributes by taking an integrated approach to the complete CARS developmental process, unlike other review papers, which only address a specific aspect of the CARS process.Firstly, an in-depth review is presented pertaining to the state-of-the-art and classified literature, considering their domain of the application, modeling, filtering, extraction and evaluation approaches.Secondly, viewpoints are presented relating to the extraction of literature with analysis on the merit and demerit of each, and the evolving processes between them.Finally, the outstanding challenges and opportunities for future research directions are highlighted.This review will especially assist novice and new researchers to understand the complete CARS developmental processes and ascertain the needs of each step.Based on the review, the incorporated contextual information in recommender systems (RS) can be viewed as either formalizing or identifying a place (spatial context) for the users and/or the items by characterizing a possessed attribute in terms of time (temporal context) or in a permanent sense (static context).The review also categorized the previous publications into six different domain of applications of e-commerce, e-document, multimedia, places, travel and tourism and others.
The review shows that free accessibility of datasets from both multimedia and e-commerce domains contribute immensely to inspire the majority of the research in RS, and using a tensor as a means to model user preferences supersedes all other modeling approaches.This review also reveals that researchers usually combine both the implicit and explicit extraction approaches and this makes the system more flexible.
Furthermore, the dominant approach is to use pre-filtering to incorporate and model the user's contextual information, however, extensive research to compare the performance of the different filtering approaches needs to be done.In fact, based on an initial comparison done by Panniello and his colleagues, pre-filtering does not dominate other filtering approaches since it degrades performance, as the data become finer and granular because of the increase in sparsity.This review also shows that most of the research adopts user studies to evaluate their systems and the most common metrics are precision and recall.
It is hoped that this review will assist novice and new researchers to understand the prerequisites for the development of CARS.Moreover, expert researchers can use this review as a to develop CARS and as a reference to the limitations of CARS.

Figure 2 .
Figure 2. Distribution based on publication year.

Figure 2 .
Figure 2. Distribution based on publication year.

Figure 3 .
Figure 3. Classification by domain of application.

Figure 3 .
Figure 3. Classification by domain of application.

Figure 8
Figure 8 summarizes the major stages in the context-aware developmental process.Each stage must be fully represented for a framework to be effective and flexible enough for recommending tailored services to users.

Table 1 .
Papers retrieved from academic databases.

Table 2 .
Domains of application with their incorporated contexts.

Table 3 .
Modeling and extraction approaches.