Building a Lifestyle Recommender System

Supiya Ujjin and Peter J. Bentley
University College London
Department of Computer Science
Gower Street, London WC1E 6BT


Recommender systems are new types of internet-based software tools, designed to help users find their way through today’s complex on-line shops and entertainment websites. Here we provide an overview of current recommender systems, and then outline a new Lifestyle Recommender System, which employs techniques such as evolutionary search and a 3D avatar to provide tailored and friendly suggestions for users.


Recommender system, avatar, collaborative filtering


The rapid expansion of the Internet has brought about a new market for trading. Electronic commerce or e-commerce has enabled businesses to open up their products and services to a massive client base that was once available only to the largest multinational companies. As the competition between businesses becomes increasingly fierce, consumers are faced with a myriad of choices. Although this might seem to be nothing but beneficial to the consumer, the sheer wealth of information relating to the various choices can be overwhelming. One would normally rely on the opinions and advice of friends or family members but unfortunately even they have limited knowledge.

Recommender systems provide one way of circumventing this problem. As the name suggests, their task is to recommend or suggest items or products to the customer based on his/her preferences. These systems are often used by E-commerce websites as marketing tools to increase revenue by presenting products that the customer is likely to buy. An internet site using a recommender system can exploit knowledge of customers' likes and dislikes to build an understanding of their individual needs and thereby increase customer loyalty [1, 2].

From the literature, it seems that the definition of the term "recommender system" varies depending on the author. Some researchers use the concepts, "recommender system", "collaborative filtering" and "social filtering" interchangeably [3,4]. Conversely, others regard "recommender system" as a generic descriptor that represents various recommendation/prediction techniques including collaborative, social, and content based filtering, Bayesian networks and association rules [5]. In this paper, we adopt the latter definition when referring to recommender systems.


There are a number of websites that incorporate recommender system technologies. Here we will describe three systems that exemplify the main approaches in this area.

MovieLens, a well-known research movie recommendation website, makes use of collaborative filtering technology to make its suggestions. This technology captures user preferences to build a profile by asking the user to rate movies. It searches for similar profiles (i.e. users that share the same or similar taste) and uses them to generate new suggestions. One shortcoming that most websites using collaborative filtering suffer from is that they do not have any facility to provide explanations of how recommendations are derived. This is addressed in [6] which proposes explanation facilities for recommender systems in order to increase users' faith in the suggestions.

By contrast, LIBRA combines a content-based approach with machine learning to make book recommendations. The content-based approach differs from collaborative filtering in that it carries out analysis on the contents of the items being recommended. Furthermore, each user is treated individually - there is no sense of "community" which forms the basis of collaborative filtering. It also uses Bayesian text-categorisation machine learning techniques to build a model of each user's preferences relative to the content of the items. The key advantage is explanations can be very easily produced. However a content-based approach is inappropriate when the items being considered are in a non-textual form such as images, and video or music clips.

Dooyoo operates in a slightly different way. It too is a useful resource that provides recommendations to those seeking advice, but it focuses mainly on gathering qualitative opinions from its users, and then making them available to others. Visitors will often submit reviews on items or services ranging from health spas to mobile phones. These items are categorised in a similar fashion to the layout on a structured search engine, such as Yahoo! While Dooyoo is not a recommender system in the normal sense, it tries to encourage the concept of community by allowing users to rate things, evaluate the "usefulness" of other people's reviews, and establish "circles of friends" - people who share similar opinions on various issues. In focussing on opinions in the form of short reviews, Dooyoo can already provide "explanations" that are not present in most other recommender systems.


1. System Overview

This work focuses on the development of a Lifestyle Recommender System. It will gather preferences from users on a broad range of topics allowing recommendations to be made for general lifestyle activities such as shopping for clothes, eating out and going to the cinema.

The system is based around a collaborative filtering approach, building up profiles of users and then using an algorithm to find profiles similar to the current user. Selected data from those profiles are then used to build recommendations. Because profiles contain many attributes, many of which have sparse or incomplete data [6], the task of finding appropriate similarities is often difficult. To overcome these problems, current systems (such as MovieLens) use stochastic and heuristic-based models to speed up and improve the quality of profile matching. This research takes such ideas one step further, by applying a random-based search algorithm known as an evolutionary algorithm to the problem of profile matching. Most current systems use standard nearest neighbour algorithms that consider only "voting information" as the feature on which the comparison between two profiles is made [3]. This system differs in that it takes into account multiple features such as user's age, gender and movie genres and employs evolution to select and weight features to be used in the comparison. This feature selection approach adapts to each user's preferences and generates personalised recommendations. A more detailed description of the system can be found in [8].

Evolutionary algorithms are inspired by natural evolution. Populations of solutions are maintained, these are evaluated to find out how well each solution solves the problem. Fitness scores are given to each solution (where lower fitness values mean the solution is better). "Parents" are then selected from the population based on fitness – the fitter the solution, the more likely it is to become a parent. Child solutions are generated from the parents, employing crossover and mutation operators to ensure children resemble their parents with minor variations. The children replace the current population, the solutions are evaluated, parents are picked, and so on, for a number of generations. Evolution causes the solutions to improve until they satisfy the current problem [7].

This system uses an evolutionary algorithm in a slightly unusual way. Firstly, evaluation involves feedback from the users – as they judge the quality of recommendations, their input is used to help derive fitness scores for corresponding solutions in the population. Secondly, initial solutions are not random as is typical in such algorithms (a random matching function would be of little use in a recommender system). Thirdly, open-ended evolution is used – the system never stops trying to evolve newer and better ways of matching profiles. Figure 1 shows how the evolutionary profile matcher is used within the system.

Figure 1 Block diagram of the Lifestyle Recommender System.

2. Consumer Interaction

As we have seen, recommender systems can bring added value to e-commerce websites by being able to understand the users' preferences and needs. One possible way to take this further is to introduce a "character" to enhance the way in which both items can be recommended to, and feedback received from the customer. This character or avatar would be a visual representative of the website with which customers can interact. The rationale behind this is that a user would find it easier to relate to another person or character than a standard web interface. There is then the possibility of a relationship being established between user and avatar. From the point of view of the website owner, such a relationship would encourage increased use of the website and allow more preference data to be captured which would consequently lead to more accurate recommendations.

The lifestyle recommender system will employ the use of a 3D avatar to interact with the user. Experiments will be conducted to validate the assumption that users would participate more with the avatar. Figure 2 shows an early version of the avatar to be used for the lifestyle recommender system.

Figure 2: Lifestyle Recommender System Avatar interface


As electronic commerce and on-line entertainment internet sites multiply, and as the number of novice users of the internet increases, there is a greater need for tailored and friendly software advisors. As described in this paper, recommender systems provide such a solution for users. By employing techniques such as evolutionary search and a 3D avatar, the Lifestyle Recommender System outlined here increases the capabilities of such systems further.


Thanks to Philip Treleaven for his guidance and Akira Sato for implementing the Avatar web interface. This work is funded by a scholarship provided by the Thai Government.


  1. Schafer, J.B., Konstan, J. A. and Riedl, J. January 2001. E-Commerce Recommendation Applications. Journal of Data Mining and Knowledge Discovery.
  2. Schafer, J.B., Konstan, J. and Riedl, J. 1999. Recommender Systems in E-Commerce. Proceedings of the ACM 1999 Conference on Electronic Commerce.
  3. [1] Breese, J.S., Heckerman, D. and Kadie, C. 1998. Empirical analysis of predictive algorithms for collaborative filtering. In Proceedings of the 14th Conference on Uncertainty in Artificial Intelligence, pp. 43-52.
  4. Goldberg, K., Roeder, T., Gupta, D. and Perkins, C. August 2000. Eigentaste: A Constant Time Collaborative Filtering Algorithm. UCB ERL Technical Report M00/41
  5. Terveen, L. and Hill, W. 2001. Beyond Recommender Systems: Helping People Help Each Other. In HCI In The New Millenium, Carroll, J. ed. Addison-Wesley.
  6. Herlocker, J.L., Konstan, J. A. and Riedl, J. 2000. Explaining Collaborative Filtering Recommendations. Proceedings of the ACM 2000 Conference on Computer Supported Cooperative Work.
  7. Bentley, P. J. 2001. Creative Evolutionary Systems. Morgan Kaufman Pub.
  8. Ujjin, S. 2001. An Adaptive Lifestyle Recommender System Using a Genetic Algorithm. Submitted to the Graduate Student Workshop, Genetic and Evolutionary Computation Conference 2001 (GECCO 2001).