Bridging Recommendation and Adaptation: Generic Adaptation Framework - Twittomender compliance case-study. John Hannon2 , Evgeny Knutov1 , Paul De Bra1 , Mykola Pechenizkiy1 , Kevin McCarthy2 , and Barry Smyth2 1 Department of Computer Science, Eindhoven University of Technology, P.O. Box 513, 5600 MB, Eindhoven, the Netherlands e.knutov@tue.nl, debra@win.tue.nl, m.pechenizkiy@tue.nl 2 Clarity: Centre for Sensor Web Technologies, School of Computer Science and Informatics, University College Dublin, Dublin 4, Ireland john.hannon@ucd.ie, kevin.mccarthy@ucd.ie, barry.smyth@ucd.ie Abstract. In this paper we consider Recommender System (RS) modeling in terms of Adaptive Hypermedia Systems (AHS) and investigate AHS and RS func- tionality compliance in terms of common features, functionality, building blocks and composition of the system. We bring up complementary aspects of adapta- tion, personalization and recommendation in a context of a generic framework which provides properties of information fusion and heterogeneity and could serve as a reference model. We show major recommendation functionality in terms of the reference structure and recommendation process by presenting a conceptual generic ‘adaptation-recommendation’ sequence chart which overlays and combines properties of adaptation and recommendations taking advantages of both. In fact we show that RS if implemented on the web can be considered as AHS, in this wise a generic framework should be capable of describing virtu- ally any RS. In the case study we scrutinize the Twittomender3 RS. We decom- pose the system in building blocks, outline and highlight its properties along with the advantages and possible enhancements. We conclude by summarizing frame- work advantages and AH recommendation compliant features as well as lessons learned from this study. 1 Introduction In recent years a lot of progress has been made in the field of recommender systems (RS). New efficient models and algorithms have been developed [8]; heterogeneous and hybrid systems are gaining wide use. Amongst those RS personalized search and twitter are getting into place [4, 9]. Since its first emergence on the scene in early 2006, Twitter has grown from an early microblogging engine into a real time web behemoth. In the early days some 300,000 tweets were produced by early adopters of the system per month, contrast this with some 140 million tweets estimated to be produced per day in march 20114 . With this 3 http://twittomender.ucd.ie/ 4 C. Penner, #numbers, mar, 2011, http://blog.twitter.com/2011/03/numbers.html obvious information increase, creating ways to use this information appropriately and intelligently has become a hot topic for many researchers [7, 3]. In Twitter the main producers of this content are the users themselves who have subscribed to the system. Obviously, not all the information produced by each user is to everyone’s preference, so finding the producers, the so-called “diamonds in the rough”, is an interesting re- search challenge. And, with the Twittomender system we have chosen to frame this as a recommender systems. In the very closely related field of Adaptive Hypermedia (AH) many things have changed since one of the first reference models models AHAM as well: new terms, def- initions and models have been introduced and, new adjacent areas (such as the afore- mentioned RS, personalized web search) have been investigated, new prototypes de- veloped. Most of these AH models, including the emerging and discussed in the paper GAF model focus on a layered architecture and discuss the adaptation of the content and navigation to the user properties as well as recommending the links to follow based on the user preferences and knowledge, thus bringing the fields of AH and Recommen- dation closer together. In fact we show that a web-based RS can be treated as AHS and therefore expressed in terms of a generic AH framework, which we backup by the conducted case-study of the Twittomender system. In the paper we focus on describing RS functionality and Twittomender [4] in par- ticular in terms of AH systems, in order to show complimentary features of RS and layers of a generic AH framework (GAF) which aims to develop a new reference model for the adaptive hypermedia research field by considering new developments, techniques and methodologies in the area of AH and adjacent fields (including but not limited to RS) [5]. We show framework compliance (conformity in structure and par- tial functionality overlay) with the Twittomender, a Twitter based recommender system. Besides Twittomender is a very interesting example, covering topics such as personal- ization, recommendation, search and collaborative web experience which means that we can bring and fit all these features together in the framework. As a result we also achieve an evaluation of how generic the GAF framework could be on the one hand and whether the description of one particular RS fits in the framework, and helps to evaluate the real system on the other. 2 Overview of RS compliance with a generic AHS: system building blocks The main goal of the GAF framework is to provide a reference architecture of AHS, to describe essential and optional elements of an adaptive system, define the criteria to distinguish between these elements, describe their functionality and interaction. Here we define a modular structure (framework) that can be used to describe and develop ap- plications that satisfy different adaptation and recommendation needs. This framework has a layered structure where layers match the original classification of AH methods and techniques and provide the per layer functionality separation 1. Using this classi- fication we describe recommendation functionality within the same adaptation system layers depending on the requirements of the application and thus contribute to the sys- tem extensibility and heterogeneity. We show the correspondence of AHS modeling (in particular GAF layers) and recommender approaches. We will first summarize the applicability of GAF with respect to different types of RS and then walk through the framework layers and functionality to show the compliance. Classification of AH Methods and Techniques; adaptation process Goal Model Why? Domain Model What? Resource Model User Model Group Model To What? User Context Context Model Usage Context When? Application Model Where? Adaptation Model Higher Order Adaptation Presentation Model How? Fig. 1. GAF building blocks Considering RS we would like to mention the major types of RS and give a brief insight on the GAF structure and functionality related to recommendations: – Collaborative Filtering (CF) is usually based on a User Model (UM) and a Group model (GM) as known also in AHS (we assume here both user-to-user and item-to- item aspects of CF). The recommendations are generated based on a comparison of user profiles from the GM and UM. In this case a Recommender UM is represented by a vector of items and corresponding ratings, which essentially can be turned into a set of interesting items or concepts (for this user) and associated attributes with corresponding rating values [6]. Those values are updated as the user interacts with the systems, browses through items, rates them, and receives recommendations. In general Collaborative Filtering allows to deal with different types of objects where essentially only ratings matter which is made possible by separating ratings and item set within the GAF Domain, User and Resource models. – Content-based RS recommend an item to a user based upon a description of the item - feature database (e. g. using words in a text as the textual feature or book genres as library properties) and a user profile (UM). Having learned features of these items (which can be expressed in the Resource Model (RM)) rated by the user, the RS infers new recommendation suggestions. As well as collaborative filtering content-based recommenders can also handle different types of objects as long as there is a common feature space. – In Knowledge-based Recommendation systems a domain expert knows which types of recommended items should be assigned to which types of users. In fact this is in line with current state of the art in AHS (i. e. there is a domain expert who needs to author UM, DM and Adaptation Rules mapping these two). It combines content- based filtering performed on the features of the concerned dataset with the explicit user query which is used to make inferences about needs and preferences of the the user. Thus it is possible to relate how a particular item meets user needs and thus to do the reasoning about further possible recommendations. – Hybrid type Recommender systems are the most commonly used type. They em- ploy different approaches (simultaneously) to achieve better results, both combin- ing techniques from collaborative, content-based and knowledge-based methods and providing different type of hybridization: mixed, weighted, cascade, etc. Our AHS framework allows us to combine both advantages of content and collabora- tive filtering, having all necessary building blocks available (e. g. user and group models, rankings mechanisms, reasoning engine) and will also help to handle het- erogeneous data sources. 3 Twittomender recommender overview The Twittomender system’s main function involves syncing a users account and pro- ducing followee recommendations through a range of collaborative and content-based strategies. However for this to work efficiently, users must be active on Twitter, i.e. they must follow a number of other users, must have some followers themselves and must have produced some content (through tweets). Although this functionality is great for Twitter users who wish to increase the number of appropriate user streams they follow, it does not perform satisfactorily for new Twitter users. These users have not produced much content through tweets, nor are they following or being followed by enough users for collaborative or content-based followee recommendation techniques to perform as expected. For this reason we also provide a search capability to Twittomender, which allows users to explicitly type search queries. For our collaborative and content-based strategies we evaluate 9 different profiling and recommendation strategies based on the different sources of profile information, in isolation and in combination. To begin with we implemented 4 content-based strategies that rely on the content of tweets as follows: 1. (S1) users are represented by their own tweets (tweets(UT )); 2. (S2) users are represented by the tweets of their followees ( f olloweestweets(UT )); 3. (S3) users are represented by the tweets of their followers ( f ollowerstweets(UT )); 4. (S4) a hybrid strategy in which users are represented by the combination of tweets from tweets(UT ), f olloweestweets(UT ), and f ollowerstweet(UT ); In addition we implemented 3 collaborative style strategies, in the sense that we view a user profile as a simple set of user ids. 5. (S5) users are represented by the IDs of their followees ( f ollowee(UT )); 6. (S6) users are represented by the IDs of their followers ( f ollower(UT )); 7. (S7) a hybrid strategy in which users are represented by the combination f ollowee(UT ) and f ollower(UT ); Additional 2 strategies are: 8. (S8) the scoring function is based on a combination of content and collaborative strategies S1 and S6; 9. (S9) the scoring function for this strategy is based on the position of the user in each of the recommendation lists so that users that are frequently present in high positions are preferred; Fig. 2. Twittomender architecture 4 Recommender System and AHS: Twittomender Study Considering diverse aspects of the system and its functionality we decompose it in a a way that forms an overlay of a generic model of an adaptive system, explains the functionality of the system using terms and definitions from adjacent recommender systems research area, and foremost brings a custom system to a common denominator by means of the GAF reference model. Fig. 3 presents a picture of Twittomender and the Generic Adaptation Process (GAP) se- quence chart compliance. Here the GAP process chart is constructed by coupling the layers of a general purpose AHS as described in [5]. Recommendation steps are as- signed to a single layer or a transition in the system. Though we have faced certain is- sues distinguishing parts of the Recommendation Engine functionality, in particular the filtering and ranking mechanisms (in this respect Application Model (AM) and Adap- tation Model/Engine (AE) can be treated accordingly) we could align Twittomender functionality with GAF terms and identify gaps and possible extensions. On the one hand the mapping proves the genericity of the GAF framework, and on the other hand it opens new horizons to facilitate and generalize recommendation aspects, bringing adaptive techniques into place, extend information fusion and heterogeneity possibili- ties [2] of such a systems encapsulating features of both Recommender and Adaptive Systems. Further we summarize compliant and complementary Twittomender features and the reference structure of GAF and explain the building blocks and interactions pre- sented in Fig. 3. Of particular interest here are the remarks regarding AHS functionality (shown in GAF terms) that can be used to extend Twittomender, but also a few instances where Twittomender functionality suggests further extensions to the GAF model. – Users start system interaction by choosing whether to get recommendations directly by logging in with their Twitter profile or by entering a search query they are inter- ested in. This refers to a Goal Model of GAF. Internally goal is represented by the immediate query input by the user or constructed from the indexed content of the users tweets when he or she log-ins into the system. – Twittomender Profiler serves both as a UM (User Model), by associating each user with the corresponding group of followers and followees, and at the same time as user information mediator which requests tweet content information from Twitter services and provides this information to Lucene indexer which forms the index of user tweets and such forms the domain model to be used in recommendations. – The Group Model refers to maintaining a collaborative user profile is already pro- vided by Twitter services. It clusters results by location or user age group and gen- der, and uses it to rank and recommend results for a particular user or mediate user models associated with different groups. To some extent Twitter services provide this possibility by maintaining the groups of followers, followees of any given user. – Domain Model (DM) of the Twittomender is represented by the index which is stored by the Lucene (backend). – Context models (both user and usage models) are not considered. – Application Model is represented by the Twittomender framework. Mainly it serves to query terms from the Lucene and retrieve corresponding ranked lists of users and related tweets. Twittomender framework also provides interfaces to the Presentation Model (PM). – Adaptation Model as described in a generic Recommender system use-case is rep- resented by indexing and actual querying solution, Lucene. Its Information Re- trieval module provides querying interfaces to Twittomender and return recommen- dation lists upon querying (both User Terms and search Terms as indicated in the Goal Model. The actual index is stored in DM providing flexibility of the system and at the same time decoupling Lucene as a stand-alone Query/Retrieval mecha- nism. – Presentation Model generates ranked list of users recommended to follow and cor- responding cloud of indexed terms that are relevant to the user activity in Twitter. 5 Advantages of GAF in Recommendations Based on our Twittomender case-study we were able to define the following GAF ad- vantages which can be used to improve and extend the system functionality: !"#$D"+#%&$+)8$ !"#$4)0"#5+%"6 !"#$%&''!()*$ ./(00',")8"#$ I"%',,")8+0(')! 7#"!")0()*$#"%',,")8+0(')!9$ G;%")" ./(00',")8"#$ #+):()*$()5'-9 ;!"#$+%0(<(0= !"+#%&$'#$#"%',- 1#+,"/'#: G;%")0$J+%:")8 7#'5(2"# >!)(??"0!9$"0%-@ BCD$ <=*00'.$"44!3+0 E<"#2+= F'8"2 F'".4:$>3'.C <=*00!)'+&'. A34'+0$ *+'."40*!+ B3'.C$<'.)-D 7#"!")0+0(')6 ,-'.$0'.)- I"%',,")8"8$ !"#! >+)8$ %'22+A'#+0(<"$5(20"#()* %'##"!?')8()*$ >;!"#$0/""0!@ 0/""0!@ !"#$%!&'# I"0#("<()*$()5'$5'#$ 0/""0!$%')0")0$ I"%',,")8+0(')!$>I@ 5(20"#()* ,-'.$%!&'# (!)"*+$%!&'# 0+(2'#()*$ I"%-$D0#+0"*("! /!+0'10$%!&'# G;%")"$()8"H"# %"*+0"*+*+9$"+&$ 54>3*.*+9 5&"60"0*!+$%!&'# 566#*4"0*!+$%!&'# 5&"60*?'$.3#'-$!@$ ,-'.$/!+0'10 7.'-'+0"0*!+$%!&'# !"#$ :*9:'.$!.&'. 4)5'#,+0(')3 I"0#("<()*$ D"#<(%"$ *#';?$()5'$ 5#',$./(00"# %"*+0"*+*+9$"+&$ 4)8"H I"L;"!0 36&"0*+9$8;5$ =*0:$-C-0')$ 3-"9'$&"0" D$ ./(00"#$B74 ./(00"#$B74 .!36$%!&'# "+"#CE*+9$3-'.$ "40*?*0C$#!9- ,-"9'$/!+0'10 8*9:'.$;.&'.$5&"60"0*!+ 2'-!3.4'$%!&'# 1'22'/"#!3 1'2'/""! ./(00"# 7#"!")0()*$ Fig. 3. Twittomender compliance with Generic Adaptation Framework I"%',,")8+0(')!$+)8$ D"+#%&$#"!;20K2(!0 – Recommendation of resources of a different nature and type employs a separation of domain and resource models. Considering conceptual representation irrespec- tively of the resource type facilitates the usage of different information sources and resource types, mostly dealing with their conceptual representation. Thus not only different types of information resources (e. g. text, images, tweets, audio, video, etc.) but also heterogeneous resources (e. g. news, archives, e-learning repositories, online-shops, etc.) can be recommended within a single framework based on the conceptual representation of a specific domain. On the other hand considering re- source and domain (conceptual structure) models separately takes a step towards solving the problem of the universal recommendations bridging the semantic gap. In this respect we have concept space and feature space with rankings that serves as a basis for transparent personalization irrespectively of the content type. This is perfectly shown in Twittomender where we consider tweets as a content base (resources) to provide user recommendations. – User modeling — the GAF UM consists of entities (or essentially concepts if we consider an overlay model) for which we store a number of attribute-value pairs. For each of these entities there may be different attributes, representing various aspects of user profile. It implies using both short- and long-term user preferences and implements a great variety of user preferences such as users’ tastes, interests, needs. In order to provide independence and flexibility of goals selection we distinguish goal model, which essentially can be used to recommend certain goals to follow based on the user preferences. – Contextualization — as in AHS context awareness will help to decouple and make AH and RS and applications less integrated with the environment. On the other hand, considering a context model will allow the system to be sensitive and adapt in many other ways, rather than following a certain number of fixed adaptation rules or recommendation patterns [1]. Thus we devise a separate Context Model which might be an overlay of DM (and UM correspondingly) and represent both usage context (additional properties defining how a particular item/concept from a domain model should be used, under which conditions) or user context (e. g. certain items can be shown or recommended only in a particular context or each item is augmented with the additional contextual explanation with helps to make recommendation list more trustworthy). 6 Conclusions, Lessons Learned and Future Work The coming years will bring more use-cases of how AHS can provide adaptation and recommendation, what techniques will be introduced, and what research areas will in- troduce new technologies in its evolution. So far a study of existing approaches in rec- ommender systems was done to comply with the layered structure of adaptive informa- tion systems, which has resulted in an overlay presented in Fig. 3 providing an overview of a Twitter-based recommender systems and a corresponding overlay of AHS layers and adaptation process. In this paper we investigated a general-purpose AHS architecture , which brings us new challenges to investigate the applicability of different recommendation approaches, as well as new developments in adaptive information systems. However, as a result of investigation now we can foresee some further developments and research strategies of bringing recommendations to the field of AHS and thus try to come up with up-to- date requirements for a modular composition of a GAF reference model which would be able to serve as well as a start-up for the Recommender system development us- ing heterogeneous information sources. At the same time case-study helped to identify possible Twittomender improvements and extensions. As part of future work we plan to make some further developments to Twittomender, one avenue which we are exploring is a mechanism to focus on users individual per- sonal traits. What topics do user’s talk about? What types of people do they follow? We plan to extend the Twittomender platform to cluster similar users based on these traits. This will allow Twitter users to quickly navigate to the types of people they would normally tend to gravitate towards or conversely show them the topics they would be clustered into e.g Sports, Technology, etc. As part of continued qualitative tests of Twit- tomender, we plan to extend our user trials. One test that will be carried out against Twitter’s own recommendation system, this trial will check users satisfaction with the recommendation of both systems. 7 Acknowledgements This work has been supported by the NWO GAF: Generic Adaptation Framework project, by Science Foundation Ireland under grant 07/CE/I1147 and by Amdocs Inc.. References 1. G. Adomavicius and A. Tuzhilin. Context-aware recommender systems. In Recommender Systems Handbook, pages 217–253. Springer, 2011. 2. P. Brusilovsky, I. Cantador, Y. Koren, T. Kuflik, and M. Weimer. Workshop on information heterogeneity and fusion in recommender systems (hetrec 2010). In X. Amatriain, M. Torrens, P. Resnick, and M. Zanker, editors, RecSys, pages 375–376. ACM, 2010. 3. S. Garcia Esparza, M. P. O’Mahony, and B. Smyth. On the real-time web as a source of recommendation knowledge. In Proceedings of the fourth ACM conference on Recommender systems, RecSys ’10, pages 305–308, New York, NY, USA, 2010. ACM. 4. J. Hannon, M. Bennett, and B. Smyth. Recommending twitter users to follow using con- tent and collaborative filtering approaches. In Proceedings of the fourth ACM conference on Recommender systems, RecSys ’10, pages 199–206, New York, NY, USA, 2010. ACM. 5. E. Knutov, P. D. Bra, and M. Pechenizkiy. Generic adaptation framework: a process-oriented perspective. J. Digit. Inf., 12(1), 2011. 6. Y. Koren and R. M. Bell. Advances in collaborative filtering. In Recommender Systems Handbook, pages 145–186. Springer, 2011. 7. O. Phelan, K. McCarthy, and B. Smyth. Using twitter to recommend real-time topical news. In Proceedings of the third ACM conference on Recommender systems, RecSys ’09, pages 385–388, New York, NY, USA, 2009. ACM. 8. F. Ricci, L. Rokach, B. Shapira, and P. B. Kantor, editors. Recommender Systems Handbook. Springer, 2011. 9. J. Teevan, D. Ramage, and M. R. Morris. #twittersearch: a comparison of microblog search and web search. In I. King, W. Nejdl, and H. Li, editors, WSDM, pages 35–44. ACM, 2011.