Towards a Model of Context-Aware Recommender System Lauma Jokste Information Technology Institute, Riga Technical University, Kalku 1, Riga, Latvia lauma.jokste@rtu.lv Abstract. Users often have difficulties to use large-scale information systems efficiently because of their complexity. Additionally, these systems might be context dependent. If these context dependencies are taken into account during the system’s run-time phase, the most appropriate functionality might be provided to users in the form of recommendations for each context situation. The paper proposes to account for the context dependencies by using context aware recommendations and outlines an approach for modeling such recommendations. This approach is based on methodological foundations of Capability Driven Development. The paper discusses a motivational case for developing context aware recommendations and presents the initial method for recommendation modelling. Keywords: Recommender Systems, Recommendation Modeling, Context- Aware recommendations, Capability Metamodel. 1 Introduction and Related Work Large-scale information systems (IS) are subject to dynamically changing circumstances in the IS delivery phase. The current situation can be described by different context data defined as “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 the user and the application, including the user and the applications themselves” [1]. The context data can be taken into account in IS delivery thus increasing the usability and user satisfaction. Complex and extensive IS might reduce the user satisfaction and, if possible, users might choose alternative ways of completing their tasks. For example, citizens are avoiding using public e-services and are favoring physical services. Recommender systems are widely used in order to improve the usage of software and tools. They provide suggestions by recommending the items that users might likely be interested in [2]. Recommender systems are increasingly popular. Many recommender systems focus on improving and evaluating the collaborative-filtering technique [3]. They use internal information about historical user activity, user profile information and other to match users with recommended items [4]. Gradually, the recommender systems start to use more varied data and data sources, for example, social network data [5][6][7]. In some cases the context information might be relevant to calculate the most appropriate recommendations for users by using context-aware recommendation systems [8]. Recent investigations present location-based [9] and weather-dependent [10] recommendation algorithms and methods. Discovering suitable context data is still a challenge in recommender systems evaluation [11]. The proposed approach in this paper includes the usage of different context data that can be retrieved from both internal and external data sources. Context processing includes not only reading the context data, but also context data analysis which helps to predict the context data and user behavior. The recommender systems are usually item oriented and suggest the items in which users would be potentially interested in [12]. For instance, e-commerce sites such as Amazon.com recommend items users would be likely to buy [13], while content based systems recommend things based on textual analysis, e.g. in research area, citations can be recommended for the research by analyzing words in research papers [14]. In order to improve the recommender algorithms, hybrid recommender systems are developed by combining different recommendation algorithms and methods into one information system [15]. The approach proposed in this paper assumes that recommendations could be any kind of software entity and examples of recommendations include suggestions to execute a function, procedure, workflow or to perform data processing operations. This paper presents the recommendation system proposal which starts with recommendation modeling. Different kind of context information can be used as an input to the recommendation module. The modeling phase is considered as significant since models can help to deal with complexity and are easy perceptible for stakeholders without any specific IT skills [16]. Recommendation modeling includes specifying a set of business rules that help to define the software entities context dependencies and appoints which recommendations should be run in each contextual situation. Nowadays variability in IS delivery becomes more and more important. When business processes change, the software supporting these processes should be adjusted accordingly in order to fulfill the organizations goals [17]. Competitive software should be able to deal with the variability with minimal efforts. Changes in business processes can be affected by internal and/or external context. Adjusting software to changes in form of user recommendations by integrating Recommendation module in existing software allows to deal with variability without an important effort because recommendations can be easily changed in recommendation module without changing underlying software. This paper analyses the potential of using context-aware recommendations and proposes an approach for modeling context aware recommender systems. The modeling approach is based on the Capability Driven Development (CDD) method used in development of adaptive systems [18]. The potential of using context-aware recommender systems is analyzed by exploring a use case from the e-government domain described in section 2. Section 3 provides an overview of the recommendation modeling method including a small representative example of recommendation modeling. Section 4 presents the conclusions and future work. 2 Motivational case In order to justify development of context aware recommender systems, context dependencies in large scale IS are analyzed by using the case of the public electronic finishing service E-Loms, part of the municipal e-service platform www.epakalpojumi.lv developed by the Latvian company ZZ Dats Ltd. Currently, E- Loms provides several functions: to check information about lakes and rivers; to buy fishing licences online; to register the catch etc. E-service users’ statistics (see the following figures) show that the number of licences sold varies in a wide range meaning that the usage of this service is affected by different circumstances. Several context elements affecting the e-service usage have been retrieved during the e- service usage analysis. Assumption 1: E-service usage depends on the current and predicted air precipitation level. Fig. 1 shows the number of licences sold in September 2014 and the level of air precipitation in September 2014. There have been two pronounced rain periods and during these periods the number of fishing licences sold has rapidly decreased, thus the service usage dependents upon current and predicted air precipitation level. Fig. 1. E-service usage and air precipitation level dependencies Assumption 2: E-service usage depends on the current and predicted air temperature. Fig. 2 shows the number of fishing licences sold and the average air temperature in February 2014. The same periods are highlighted in both charts. Periods with the lowest air temperature and the sharpest drops in temperature match with periods in which the largest numbers of fishing licences have been sold. In winter, ice fishing is very popular but it requires low air temperatures. This means e- service usage is highly dependent on the air temperature. Assumption 3: E-service usage depends on calendar events. Analysis of e-service usage statistics in 2014 brings forward the following regularities:  The beginning of January – many fishermen buy their yearly fishing licence;  1st of May – fishing season opening – in the end of April and the beginning of May the number of licences sold has rapidly increased;  In the beginning of June the number of fishing licences sold has rapidly increased marking the beginning of the summer and vacations periods.  The number of licenses sold is rapidly increasing on Fridays and Saturdays. Fig. 2. Number of sold fishing licenses and average air temperatures in February 2014 The examples suggest that the usage of the E-Loms e-service is highly affected by different dynamical context data. When monitoring, predicting and taking into account the run-time context data, the e-service delivery might be improved by generating context aware recommendations for the service users. There are many other context data that can be obtained, stored and exploited in order to apply recommendations that help users to navigate in large service catalogs or recommend users potentially the most important functions in each context situation. This could take the recommendations to a new level where context dependencies could be defined for software entities and the execution of other software entities can be provided to users in the form of recommendations. 3 Context-aware Recommendation Modeling Usually recommendations are item-oriented where items are suggested based on user profile and historical user activity information which is mined from usage logs [19]. The use case example demonstrated in Section 2 proves that not only items can be recommended, but also different software entities can be used as recommendations. The conceptual basis of context-aware recommendation algorithm design and development is based on the Capability metamodel [18] which is developed within the FP7 project “CaaS: Capability as a Service” and is a part of the Capability Driven Development approach. Capability term is important in recommendations modeling because context processing and recommendations application relates to IS ability to deliver a certain value to a user in changing context circumstances. This section presents the Capability metamodel which is expanded in order to fulfill the needs for modeling context-aware recommendations. The specific aspects relevant for context-aware recommendation modeling which are added to the Capability metamodel are marked in a darker color in Fig. 3. From the recommendation’s perspective, the Software Entity is the detailed (i.e., executable) level of Capability and each Software Entity has a Context Set which defines the context information that affects the Software Entity delivery. The term Software Entity describes different executable artefacts and can be either software as a whole or a single workflow, procedure, function, job etc. Recommendations conform to the definition of patterns which are “reusable solutions for reaching business Goals under specific situational contexts.” [18] They are reusable solutions that can be applied to the Software Entity in a certain run-time context situation with the purpose of improving the usage of the Software Entity. The recommendations are user-oriented and improve the user satisfaction with a software, service or software entity. class Recommendations Metamodel Measurable set for Context Property 1..* 0..1 adjustment rule 0..* 0..* measured by conforms 0..1 0..* Context Context contains design for Context Set Software Entity contains Capability Type 1 Element 1 1..* 1 0..* * 0..* 1 1 has 0..* 1..* supports Context Capability Element Value Adjustment Rule Recommendation 1..* 1..* 0..* 1 Text obtained from applies 0..* consists of initiates 1..* 1 1..* 1 1 1 Context Source Context fits for Recommendation has Recommendation Situation 1..* Pattern Pattern Type 1..* 1 1 1 0..* consists of Fig. 3. Capability metamodel for modeling context-aware recommendations A Recommendation Pattern can be applied automatically (e.g. automatic Software Entity highlighting) or recommended to a user with an informative notification which provides a choice to the user to run the recommended Recommendation Pattern. In the second case, the Recommendation Text should be defined as a separate class in the metamodel that marks separately modifiable text without changing the Recommendation Pattern itself. Each Recommendation Pattern can have multiple notification text values and the appropriate value for each context situation is defined in a Capability Adjustment Rule. In the example model (Fig. 6), the Recommendation Pattern is for instance a classificatory value ‘yearly license’ and the Recommendation Text recommends users to choose a licence type ‘yearly license’ instead of ‘one day license’. Capability Adjustment Rules repository Context Capability Adjustment Adjustment Rules Rules repository repository Execulte Internal/ Apply External data Capability Rule found Recommendation base Adjustment Pattern Compliance = True rule Search Capability Adjustment Check Context rule compliance to Rule not found data Context monitoring Adjustment Rules Compliance = False Fig. 4. General recommendation algorithm execution business process model Context Adjustment Rules define the context ranges which affect the Software Entity while Capability Adjustment Rules initiate the recommendation which is appropriate for the certain run-time Context Situation. The form of Capability Adjustment Rules should be decided, for instance rules can be written as IF/THEN or Event-Condition-Action rules. The Recommendation Pattern Type specifies the type of recommendation, e.g. a function, procedure, textual notification, etc. The Context Source serves as a reference to the source from which the context data is obtained. Based on a Recommendation model which is modelled according to proposed metamodel, a Recommendation module can be built. In Fig. 4 a general recommendation module execution process is given. The process includes concepts from the Capability metamodel. Context data monitoring is represented as a subprocess which will be specified in further research by taking into account different context sources that can be used to obtain context information relevant to IS delivery. In Fig. 5 and 6 an example of a recommendation model is given. class E-Loms Recommendations Model Measurable Property: Impact of Calendar event Capability: E-Loms Service Promotion Measurable Property: Context Element: Date of Calendar event Calendar event Context Adjustment Rule: Context Set: Licence Software Entity: Licence purchase Measurable Property: purchase procedure Licence purchase Context Element: procedure is dependant of Degrees, C procedure Air temperature value(Air temperature) =<0 or >=20 Measurable Property: Context Adjustment Rule: Number of purchased Licence purchase procedure licences in particular is dependant of lake/river value(Number of purchased Context Element: licences in particular Purchase history lake/river)=<1 Measurable Property: Type of purchased licences in particular lake/river Fig. 5. Context modeling part of the E-Loms recommendation model example class E-Loms Recommendations Model Recommendation Text: 'Want to buy a yearly licence?' Recommendation Recommendation R1: Type: Value from licence classification classificatior value 'Yearly licence' Software Entity: Licence purchase procedure Recommendation Recommendation R2: Type: Textual Inform about air notification temperature Recommendation Text: 'Warning: air temperature will be below zero!' Fig. 6. Recommendation modeling part of the E-Loms recommendation model example The Context Situation is a run-time element and cannot be modeled during the design phase. For instance, if a user is buying a one-day license in a lake where he already has bought one-day licenses, then another value from the classificatory can be recommended – ‘a yearly license’. Recommendations can be run by a Capability Adjustment Rule, e.g. If number of bought licenses in lake X >=1, THEN run recommendation R1. 4 Conclusion and Future work In this paper we discuss the usage of the Capability metamodel in the design of context-aware recommendations for software entities in order to increase user satisfaction. The example demonstrated in the paper proves the potential of generating recommendations based on run-time context data. Current recommendation algorithms and methods are mostly item-oriented and based on a limited amount of data (user profile data, user activity, similarities between users and items etc.). The delivery of many software and software entities is affected by different context information. The achievement of business goals can be improved by applying context aware recommendations in software delivery. The recommendation modeling method would allow designing modifiable recommendations more efficiently. In the Recommendation module, recommendations can be modified by defining or changing Capability Adjustment and Context Adjustment Rules, recommendation values, or modifying recommendations in the recommendation repository. Once the module is built, stakeholders without specific IT skills should be able to manage and maintain the recommendations. This paper presents the initial proposal for context-aware recommendations modeling. The context-aware recommendation modeling and designing method should be improved and developed in detail in following aspects:  The form for defining the Context Adjustment Rules and the Capability Adjustment Rules should be specified;  The context processing subprocess should be specified;  The technical solution for developing and implementing the recommendation module should be developed;  The recommendation modeling method and recommendation module should be validated. References 1. Dey, A.K. Understanding and Using Context. In: Personal Ubiquitous Computing, vol 5(1), pp. 4–7 (2001) 2. Rubens, N., Kaplan, D. and Sugiyama, M. Recommender Systems Handbook: Active Learning in Recommender Systems (eds. P.B. Kantor, F. Ricci, L. Rokach, B. Shapira). Springer (2011) 3. Hang, S., Hui, P., Kulkarni, S. R. And Cuff, P.W. Wisdom of the Crowd: Incorporating Social Influence in Recommendation Models. Proc. ICPADS ’11, IEEE, pp. 835-840 (2012) 4. Burke, R. Hybrid Recommender Systems: Survey and Experiments. In: User Modeling and User-Adapter Interaction, Vol 12, Issue 4, pp 331-370 (2002) 5. Aranda J., Givoni I., Handcock, and Tarlow, D. An Online Social Network-based Recommendation System, Technical report (2010) 6. He J. and Chu, W.W. A Social Network Based Recommender System, Annals of Information Systems: Special Issue on Data Mining for Social Network Data (AIS- DMSND) (2010) 7. Shang, S., Hui, P., Kulkarni, S.R. and Cuff, P.W. Wisdom of the crowd: Incorporating Social Influence in Recommendation Models. In: Proceedings of the IEEE 17th International Conference on Parallel and Distributed Systems (ICPADS '11), pp. 835-840 (2011) 8. Adomavicius, G. and Tuzhilin, A.Context-Aware Recommender Systems. In: Recommender Systems Handbook, pp. 217-253 (2011) 9. Savage, N.S., Baranski, M., Chavez, N.E. and Höllerer, T. I’m feeling LoCo: A Location Based Context Aware Recommendation System. Proceedings of the 8th International Symposium on Location‐Based Services (2011) 10. Braunhofer, M., Elahi, M., Ge, M., Ricci, F. and Schievenin, T. STS: Design of Weather-Aware Mobile Recommender Systems in Tourism. In: Carolis B.N., Carolis E. (eds.) Artificial Intelligence meets Human Computer Interaction, CEUR Workshop proceedings, vol 1125 (2013) 11. Yujie Z. and Licai W. Some challenges for context-aware recommender systems. In: Proceedings of the 5th International Conference on Computer Science and Education (ICCSE), pp. 362 – 365 (2010) 12. Linden, G., Smith, B. and York, J. Amazon.com Recommendations. Industry report. Published by the IEE Computer Society (2003) URL: http://www.cs.umd.edu/~samir/498/Amazon-Recommendations.pdf Last accessed: March 26, 2015. 13. Duma, D. and Klein, E. Citation Resolution: A method for evaluating context-based citation recommendation systems. In: Proceedings of the 52 nd Annual Meeting in the Association for Computational Linguistics, Volume 2, pp. 358-363 (2014) 14. Hussein, T., Linder, T., Gaulke, W. and Ziegler, J. Hybreed: A software framework for developing context-aware hybrid recommender systems. In: User Modeling and User-Adapted Interaction, Vol 24. Issue 1-2, pp. 121-174 (2014) 15. Ricci, F., et al. (eds.). Recommender Systems Handbook, Springer Science + Business Media (2011) 16. Carvalho, J. A. Strategies to Deal with Complexity in Information Systems Development. URL: http://www3.dsi.uminho.pt/jac/SI/zdocumentos/complexity.pdf Last accessed: March 26, 2015 17. Soffer, P. Analyzing the Scope of a Change in a Business Process Model, Proceedings of Int’l Conference on Advanced Information Systems Engineering Workshops (2004) 18. Stirna, J., Grabis, J., Henkel, M. and Zdarvkovic, J. Capability Driven Development – and Approach to Support Evolving Organizations. In: The Practice of Enterprise Modeling: PoEM, Germany, Rostok, 7-8 November, 2012. Berlin: Springer Berlin Heidelberg, pp.117-131 (2012) 19. Koenigstein, N. and Koren, Y. Towars scalable and accurate item-oriented recommendations. In: Proceedings of the 7th ACM conference on Recommender systems (2013)