ARTICLE IN PRESS
Computers & Graphics 28 (2004) 149–156
FIT-recommend ing TV programs to family members Dina Goren-Bara,*, Oded Glinanskyb b
a Department of Information Systems Engineering, Ben-Gurion University of the Negev, P.O. Box 653, Beer-Sheva 84105, Israel Department of Industrial Engineering and Management, Ben-Gurion University of the Negev, P.O. Box 653, Beer-Sheva 84105, Israel
Abstract The proliferation of cable and satellite TV channels exposes the viewer to a huge variety of contents requiring the investment of substantial efforts in search of interesting programs. Recommendation systems may alleviate the problem by proposing the preferred programs according to prior user choices. However, in most homes, watching TV is a ‘‘family’’ event requiring the recommendation system to represent the individual preferences of the family members, identifying them for recommending the preferred programs of all the current viewers. This work deals with the representation and adaptation of family member preferences. We introduce FIT, a Family Interactive TV system that aims to filter TV programs according to the different viewer’s preferences. We assume that the choice of a viewer may change in the presence of other family members. For creating initial family members preferences’ profiles, FIT uses a predefined stereotype user representation along with the user preferred watching times. Implicit relevance feedback is assessed by monitoring the actual viewers watching choices. FIT checks its prediction, updating the member/s preferences and their correlated vector accordingly. In case of error detection, FIT will verify the mistake with the user. We evaluated FIT predictions by comparing it with two other algorithms (one that request user identification, and another that chooses randomly the program genre). Simulation results indicate that FITs performance resembles the system that asks for user identification (without requiring that), and considerably outperforms the random system. r 2003 Elsevier Ltd. All rights reserved. Keywords: Interactive TV; Personalization; Novel Applications; Recommender System; Adaptation
1. Introduction TV suppliers offer a huge variety of programs simultaneously. The privatization of TV stations encourages competition over viewer preferences. Ratings become a crucial issue. Therefore, stations invest considerable efforts to fulfill viewer demands. The average viewer wastes precious time in search of a proper channel to watch. Often, interesting programs are missed due to the ‘‘zapping’’ behavior, characteristic of the TV watcher. A possible solution to this problem is a TV recommender system. Most recommending systems refer to an individual watcher [1–4]. However, TV *Corresponding author. Tel.: +972-86472789; fax: +97286477527. E-mail addresses:
[email protected] (D. Goren-Bar),
[email protected] (O. Glinansky).
watching is usually a social event which very often brings together a few of the family members. The main target of this paper is to present the Family Interactive TV (FIT) system which displays an electronic personalized family programming guide according to the viewer or viewer’s preferences. During the past few years, several recommender systems have been built in order to help viewers deal with large amounts of programs broadcasted from many channels. Some systems enabled viewers to select on-line programs from a timetable. TV-Advisor makes use of explicit techniques to generate recommendations for a TV viewer [3]. PTV uses a combined content-based and collaborative filtering approach to generate TV show recommendations [1]. Both techniques require the users to take the initiative and explicitly specify their interests, in order to get high-quality recommendations. Most of the explicit profile-based techniques do not adapt to
0097-8493/$ - see front matter r 2003 Elsevier Ltd. All rights reserved. doi:10.1016/j.cag.2003.12.003
ARTICLE IN PRESS 150
D. Goren-Bar, O. Glinansky / Computers & Graphics 28 (2004) 149–156
changing user preferences. Implicit techniques, on the other hand, lessen the burden on the user by inferring the user’s preferences from the viewer’s TV viewing history. The multi-agent TV recommender system combines explicit and implicit methods by encapsulating three user information streams—implicit view history, explicit preferences, and feedback information on specific shows to generate program recommendations for a TV viewer [5,6]. They include a ‘dynamic’, learning algorithm that tracks a person’s changing TV preferences over time. This adaptive system aims to record the user’s preferred TV programs for later viewing. It tracks the user’s preferences assisting him/her in choosing programs from the prerecorded ones. Adaptability is achieved through the analysis of actual user behavior and feedback information. However, this system faces several limitations: Firstly, when the user has a new special interest, the multi-agent system will probably fail in recommending an appropriate program to watch. Secondly, the system needs to gather lots of explicit and implicit information on every user, which may annoy him/her. Lastly, and yet crucial, the system does not perform on a real-time basis. It recommends programs based on prerecorded items. It does not take into account the fact that many programs are broadcasted simultaneously at a certain time. By recording the program for later viewing they avoid this problem. However this system cannot be easily converted into a real-time one. Gena [7] and Ardissono et al. [8] developed a recommendation system that filters the broadcasted programs according to predefined stereotypes in order to generate an adaptive electronic programming guide (EPG). Their stereotype consists of two main components: a profile that contains the classified data for individuals who belong to the represented stereotype and a prediction component, which contains the typical preferences of those individuals. Their algorithm (as all the others mentioned above) requires the identification of the current user in order to classify him/her into stereotype groups. We can resume that an ITV recommender system comprises of the several following components: (1) A representation of the classified data: Recommendation ITV programs usually rely on an EPG. The main program attributes include the genre (such as: drama, comedies, music, etc.), the name of the program, the broadcasting channel and time frame (starting and ending time). Additional attributes may include the actors, the director, the producer, a summary of the program, etc. (2) A user profile (a representation of the user preferences): User profiles can be collective or individual. Collective user profiles are usually constructed by using
secondary sources, such as data collected from national or private agencies Life-Styles surveys or specialized media magazines. The viewer’s preferences are classified into stereotype categories. The stereotype approach has been used for many years in user modeling [9]. It is very useful for application areas in which, quick but not necessarily completely accurate, assessments of the user’s background knowledge are required. This approach is based on grouping certain features that tend to appear together in specific groups of people. Therefore, stereotypes may be regarded as preprogrammed models that fit a specific group of users. TV watchers preferences may be classified according to their age, occupation, financial status, country of residence, sex, etc. A stereotype system should also include a classification mechanism to determine which stereotypes are applicable to the current user [9–11]. Stereotypes are used frequently to rapidly construct a first representation of a user profile. Individual user profiles collect their data from primary sources by explicitly questioning the viewer about his/her preferences when they use the system for the first time. The representation of the individual user interests is called content-based user profile. There is a known tradeoff between user data collection from primary or secondary sources: First source data is considered to annoy the viewers, while secondary source data may be less accurate but the construction phase will be faster. In the present study we have preferred secondary data (from specialized media magazines) to represent the viewer’s preferences due to the following reasons: (a) Domain experts have collected the data and classified it into homogenous groups; therefore, it is expected that the standard deviation of user’s preferences within each stereotype will be relatively small. (b) FITs aim is to ease the viewer interaction at all times even during the first time s/he uses the system. Therefore, we preferred to avoid any process which can be done by other means. (3) A matching/filtering algorithm: In order to filter the appropriate recommended programs according to the user profile we must follow several steps: (a) Identify the user—Most recommender systems use explicit user identification each time the user watches TV. This is usually achieved by asking the viewer to identify him/her self either with a user name or by pushing a button in a dedicated remote control device (such as the case of TIVO or PeopleMeter) [12,13]. Many viewers are reluctant to enter their user identification. (b) In case of a stereotype profile representation after identifying the viewer, s/he should be assigned to a
ARTICLE IN PRESS D. Goren-Bar, O. Glinansky / Computers & Graphics 28 (2004) 149–156
relevant stereotype. The retracting attributes may be age, gender, occupation and the like. The assigned stereotype enables the selection of the content that will be recommended to the viewer by filtering out programs that match the categories represented in that specific stereotype. Content based user profile enables the system to retrieve the relevant programs that match the contents represented in the individual user profile. In similarity to the stereotype application, ITV recommenders usually use predefined categories (such as comedies or drama) to represent content based user profiles, filtering out all the programs that match a specific category. ITV matching algorithms encounter three specific problems: (1) users may prefer different programs at different times. Moreover, eventually a viewer may prefer a program s/he very rarely chooses to watch, (2) several viewers usually watch TV at the same time having only a few preferred programs in common, which requires taking all the current viewer’s preferences under consideration and (3) when several viewers are watching TV together their selection can reflect consideration to other viewer’s preferences instead of their own. FIT copes with these challenges. (4) An adaptive algorithm: That tracks the viewer actual behavior to learn the changing user interests. Adaptivity is achieved by implementing a learning algorithm which gets as input the actual viewer/s choices and the viewer’s behavior history of prior preferences updating the categories’ weights. This mechanism enables two important actions (a) Tracking the changing viewer interests; and (b) Retrieving programs that are probably relevant, while also taking into consideration the latest viewer choices. In order not to annoy the viewer the system may get implicit user feedback based on tracking the user’s real behavior. Explicit feedback is much more accurate however; it disrupts TV watching by requiring the viewer to perform a ranking action such as grading, voting or assigning ‘‘stars’’. It is expected that recommender systems comprising and adaptive mechanism will improve its prediction ability over time. FIT implements a learning algorithm enabling adaptation to changes in the viewer/s watching preferences. The FIT system intends to solve most of the abovementioned problems. The present work was developed on a preliminary version which implemented stereotype profiles [14]. The enhanced FIT version system also uses a set of predefined stereotypes in order to build the viewer genres preferences profile, however, the preferred
151
watching hours are provided by the user or inherited from the stereotype. FIT guesses the identification of the current user/s and suggests several programs from genres that reflect the combined user/s preferences for the current time slot. A fast adaptation algorithm tracks viewer’s actual behavior reflecting changes in users preferences.
2. The fit model Fit will meet the following requirements: 1. A recommendation system that refers to the programs being broadcasted at the relevant time of recommendation. 2. FIT would aggravate the user minimally by (a) Getting the first representation of user preferences from the matching age and occupation stereotype preferences; (b) Getting from the user just a vector of watching times; (c) Guessing the user/s identification; and (d) Gathering implicit relevant feedback. 3. FIT should adapt its recommendation according to the viewer/s changing behavior by using an adaptive algorithm based on implicit relevance feedback. 4. FIT should recommend programs that fit the guessed combination of one or more individuals watching TV programs together at the same time. 5. FIT should meet all those requirements without loosing prediction power. FIT performance should be close to the explicit user identification system while outperforming other systems (one that filters TV programs for multiple anonymous viewers and another that chooses randomly the program category). FIT consists of the following three main components (Fig. 1). 1. User profile construction; 2. Prediction; and 3. Adaptation. 2.1. User profile construction FIT uses two types of data in order to construct the viewer user profile: genre preferences and watching times. A secondary source, a specialized media magazine was used in order to build genre viewer stereotypes. This magazine states the TV program genre and the class of users specially suitable for watching it. Typical viewer classes are: young kids, school pupils, teenagers, young women, businessmen, middle-aged people, students and
ARTICLE IN PRESS 152
D. Goren-Bar, O. Glinansky / Computers & Graphics 28 (2004) 149–156
Fig. 1. FIT architecture.
the like. The stereotypes are classified according to age and occupation attributes. TV cable/satellite providers are secondary sources for the stereotypes watching time distribution. According to this data they build their EPGs in order to get higher rating scores. The viewer may be another (primary) source to get the watching times preferences. While FIT can get watching time preferences from both sources (either primary or secondary), in the present study the preferred watching hours were provided by the user. The profile construction is performed just once for each family member, at the first time a viewer uses FIT. The Client Side gathers in the set-up box all the viewers relevant information such as the family members preferences and watching times. The server side is active when retrieving the relevant stereotypes just at the first time the user access FIT. Therefore, most of the work will be done rapidly and efficiently (by using this architecture the system will respond ‘‘on the fly’’). Changing viewer’s interests identified by the system does not demand any change in the server DB, but in the local DB stored in the set-up box. The construction comprises of two stages 1. Assigning a viewer to a stereotype: In order to guess the user preferences without annoying the user by many questions. FIT asks the user’s age, occupation and gender. FIT will retrieve a list of related occupations and request the user to choose the relevant one. This information helps to assign a user to a certain stereotype only as an initial prediction. The user profile will then implement the retracted stereotype preferences (Stereotype Preferences Vector, SPV).
Table 1 Normalized watching times probabilities for a single user Probability
Grades
Time Slot
0.1739 0.0869 0.131 0.1087 0.1087 0.1739 0.131 0.0217 0 0 0.0652 0
8 4 6 5 5 8 6 1 0 0 3 0
10:00:12:00 12:00–14:00 14:00–16:00 16:00–18:00 18:00–20:00 20:00–22:00 22:00–00:00 00:00–02:00 02:00–04:00 04:00–06:00 06:00–08:00 08:00–10:00
Total probability 1
Total grades 46
24 h
2. Constructing the Time Member Vector (TMV): The next construction stage builds the viewer preference hours vector. We request the user to tell us what is the probability to be in front of the TV at any given 2-h slot. Grades range from 0 (there is no chance of watching TV at that specified time) to 10 (absolute certainty that the viewer will watch TV during that time slot). The grades will be normalized into probabilities in order to have a uniform preferred hour weighted scale for each viewer. We can see in Table 1 an example of the grades given by a specific viewer. The column on the left is the related probability.
ARTICLE IN PRESS
GðF1 ; F2 ; y; Fn Þ ¼
Pi SPVi ;
i¼1
where n represents the number of family members, who are most likely to watch TV (in our example A, C, and E) at that time Pi is the probability of that member for watching TV at that time and SPVi is his/her preferences’ vector.
0 0 10 0 0 0 0 10 0 0 0 40 5 50 0 0 40 5 50 0 0 0 0 0 5 0 0 5 0 5 20 10 30 0 30 40 10 35 0 30 15 0 0 0 30 15 0 0 20 0 10 0 0 0 0
n X
0 0 10 0 0
However, when the gap is smaller than 10% FIT assumes that we are dealing with a multi-viewer case. The viewers which will now be selected are those with probabilities which are lower than the Max probability in less than 10%. According to this selection, G vector is calculated by the sum of the products of all the viewer’s preferences vectors which are less than 10% from the Max multiplied by their probability. Table 2 shows an example of the family members watching time probabilities vectors. For example, between 12:00 and 14:00 FIT infers that users A, C and E are probably watching TV together. In Table 3 we can view the relevant preferences vectors for a certain time slot by multiplying the probabilities vectors of the users which are assumed watching TV by their relevant preferences. The result is the weighted preferences vector G 0 : Fig. 2 illustrates an example of G0 calculation for a specific time slot. As shown in Table 2 between 12:00 and 14:00 user’s A, B, C, D, E probability for watching T.V is 40%, 10%, 35%, 0%, 30%, respectively. FIT will calculate G0 by the following way:
Table 2 Database display of the family members watching times probabilities vectors
GðF1 ; F2 ; y ; Fn Þ:
A (%) B (%) C (%) D (%) E (%)
When a user clicks on the TV set or the remote control the system looks first at the probability of each family member to watch TV in that time slot. In order to identify the current viewers FIT chooses the Max probability among all these values and compares it to the next higher probability (the second competitor). This action intends to identify whether we are dealing with a single viewer or multi-viewer case. If it is most likely that there is a single user (the difference between the highest probability and the nearest one is more than 10%) we will fetch this user’s preferences vector for this slot of the day. Then according to the viewer’s preference vector a G vector will be constructed which consists of the probability for each genre (Fi ) on that slot of time:
04:00–06:00 06:00–08:00 8:00–10:00
2.2. Prediction
Hours
Instead of asking the viewer we can optionally adopt the Stereotype Preferences Hours Probability Vector (PHPV) as the initial user TMV although it will be less accurate than asking the user himself.
10:00–12:00 12:00–14:00 14:00–16:00 16:00–18:00 18:00–20:00 20:00–22:00 22:00–24:00 00:00–02:00 02:00–04:00
D. Goren-Bar, O. Glinansky / Computers & Graphics 28 (2004) 149–156
153
ARTICLE IN PRESS D. Goren-Bar, O. Glinansky / Computers & Graphics 28 (2004) 149–156
154
Table 3 DB display of family members preferences vectors for a certain time slot Category
A
B
C
D
E
Drama Action Sport Music News Films Soap opera National geography
8 4 3 6 8 3 0 4
6 4 7 8 2 0 0 0
1 9 6 8 2 4 5 1
1 9 8 7 5 3 3 2
3 5 8 7 3 2 1 6
8
1
3
4
9
5
3
6
8
8
7
8
6 G' = 0.4
+ 0.35
2
+ 0.3
3
3
4
2
0
5
1
4
1
6
Fig. 2. The G0 vector calculation.
This vector will be multiplied by the schedule vector, a vector that contains the current number of channels which display programs of the preferred genres. For example, if there were 2 Drama movies, 3 Action movies and 5 Comedy movies on that time slot: ð2F1 ; 3F2 ; 5F3 ; yÞ: In order to select the preferred programs to recommend, FIT chooses the Max value from this vector by subtracting the Fi value from that Fi n value. FIT repeats the same procedures 2 more times. At the end of this process FIT has 3 preferred programs and the rest of programs. 2.3. The adaptation stage FIT suggests the viewers the three most preferable programs according to the maximum Fi n value arranged in descending order. The rest of the programs which are not recommended by the system are presented in the lower part of the screen. When the user selects a channel, FIT evaluates its ‘‘guess’’ of the current user identification by comparing the user’s actual program selection with the system suggestion. If they match, then no action will be taken. Otherwise, when the viewer selection is not from the recommended list then it is clear
that a mistake has been made in the prediction stage. Thus, FIT infers that its suggestion is not the most suitable one, probably due to erroneous viewer identification. Therefore, in order to find the real reason for the mistake FIT will verify with the viewer the following two possibilities: 1. Wrong identification in which case FIT will ask the users for their identification. In case of wrong identification FIT updates the TMV vector of the viewers by adding 3% for each viewer on that time slot and multiplies all the other probabilities of the wrongly identified users by 0.97. (The specific weights were selected as a result of experimental trials.) 2. The user may have changed his/her preferences. When FIT discovers that the mistake was done due to a change in user’s preferences it will fix the users preferences probability vector. FIT updates the probability components by adding Si ¼ 5% (the probability that this user watches TV at this time slot) to the actual selection of each viewer and multiplies all the rest by 12Si : By decreasing all the preferences by the same factor FIT keeps the preferences order on the one hand and increasing the new selection weight on the other hand.
3. The Simulation (A) Simulation description: We collected data from 9 family groups. We used 9 groups in order to reduce potential random error due to radical cases. First, we asked the family members for their preferable watching times.The second stage was to choose 3 different groups that were similar in their internal structure. On the first group, we ran a random algorithm that does not consider any preferences of the group that person belongs to (therefore it does not attempt to predict the identification of that person). The second group used our FIT application, and the third group used an application that asks the user for its identification selects his exact group and suggests accordingly his preferred programs. (B) The simulation clock: FIT algorithm is based on the clock function as well as the stereotype preferences of that time slot. However, in order to check the simulation properly we have defined a simulation clock that enables the user to change the clock to a preferred time.
4. Simulation results We gave a grade of 100 to FITs accurate guess of the user preferences (the first choice), a grade of 50 for having suggested this program as the second option, 25
ARTICLE IN PRESS D. Goren-Bar, O. Glinansky / Computers & Graphics 28 (2004) 149–156
as the third and 0 to all the rest. The simulation was repeated 20 times. The score is the average correct guess of FIT. The user identification algorithm, which asks the user for his I.D, got a B95 score. Although in this case the system knows precisely the viewer preferred programs it can sometimes fail due to the ‘‘Change Mood’’ symptom. The FIT algorithm received a score of 81 score, and the completely random algorithm result was 19.5(100+50+25)3/27). In other words, FIT algorithm prediction is B14% lower than the optimal result (with full user identification) while it outperformed significantly the random algorithm (Fig. 3).
5. Discussion and further research The study aimed to achieve several targets: 1. To reflect the current user’s preferences without annoying him/her because of the need to identify the viewer every time he/she wishes to watch TV. 2. To find an algorithm that can deal with multiple TV viewers at once, as in the case of family gathering. 3. To adapt its recommendations to the viewer’s changing interests. 4. To perform closely to the full user identification algorithm while outperforming random recommendations.
All targets were achieved. Avoiding asking the viewer for its identification requires bearing in mind a trade-off matrix with twoaxes: partial information vs. full information, and high vs. low prediction results. We knew we would not be able to overcome the performance of a system that uses explicit viewer identification. Our target was to achieve prediction results that were not far beyond the optimal
Series1 100
95
Score
80
79
60 40 20
19.5
0 1
2 Method
3
Fig. 3. Comparison of FIT results with user identification and random algorithms.
155
system that has full knowledge of the user I.D. The upper bound of the FIT performance is the fully randomized system. If the FIT results were below or close to the fully randomized algorithm, then there would be no justification for its existence. Results indicate that FIT achieved considerable success in reflecting the user’s preferences without annoying them. The second target relates to the ability to reflect several family members’ preferences without requiring any of them to identify themselves while giving a proper proportional representation. Many systems handle the individual recommending problem while ignoring the fact that the user profiles have to be gathered into a family profile due to the fact that in most of the times there is more than one viewer watching TV. FIT was requested to fulfill the demands of several users simultaneously. The results were better than the fully random algorithm and close to the algorithm that asks the users to identify themselves. Although the application usually renders good results, if a user starts working with the system before it reaches minimal performance (usually several runs), the viewer may distrust the system after the first few imperfect trials. FIT has also succeeded in adapting the recommendations while identifying wrong predictions. The adaptive strategy relates to all the family members that watch TV at a specific time slot. In spite of its success, the small weight changes in the watching times or the preferences vector are a result of trial and error. A controlled study on the weight changes should render reliable empirical values. Further research will involve developing a prototype system with real components. Embedding FIT in a real environment will provide two main advantages: a real EPG (Interactive Programming Guide), updating continuously the programs to recommend, and the possibility of testing FIT with real users in a normal environment (homes) to test empirically the FIT algorithm. This development will enable us to test FIT for a period of time (a few weeks) to get empirical results on the usability of the system and its adaptive behavior. Another interesting study is to test the gain in prediction power while constructing the viewer’s profiles by explicitly questioning the user genre preferences (instead of retrieving them from the stereotype profiles). This study will compare the number of viewer’s selections required from each type of constructor (stereotype and user input) to get a predefined level of correct predictions. A usability test will help to assess the user’s attitudes towards the two profile construction approaches. Embedding FIT in a real system will also enable to test several behavioral assumptions that require further study and empirical support. The multi-user scenario is built upon the assumption that group preferences reflect
ARTICLE IN PRESS 156
D. Goren-Bar, O. Glinansky / Computers & Graphics 28 (2004) 149–156
a linear combination of individual member preferences. However, other scenarios may become apparent in a real system such as a dominant family member which selects the programs any time s/he watches TV. FIT, as a probabilistic model, deals with single or multiple viewers, however, when a single or dominant user is watching TV, verifying the user identification will be probably more effective, thus improving the accuracy of the recommendation. Another behavioral assumption that should be tested refers to the interaction model. Does the viewer prefer to see a list of the three most recommended programs and the possibility to browse all the rest or does s/he prefer to view at once the most recommended program and a list of all other currently broadcasted programs? Different interaction models will enable an extended evaluation of the results and provide useful insights for further revisions of the FIT model.
[5]
[6]
[7]
[8]
[9]
References [10] [1] Cotter P, Smyth B. A personalized television listing service. Communications of the ACM 2000;43:8. [2] Dai W, Cohen R. Dynamic Personalized TV Recommendation System. Third Workshop on Personalization in Future TV in conjunction with User Modeling 2003, Johnstown, USA; June 23rd, 2003. [3] Das D, Ter Horst H. Recommender Systems for TV. In Papers from the 1998 Workshop on Recommender Systems, in conjunction with the 15th National Conference in Artificial Intelligence AAAI-1998 Madison, WI, Menlo Park; 1998. p. 35–6. [4] Tran T, Cohen R. Hybrid Recommender Systems for Electronic Commerce; Workshop on Knowledge-Based Electronic Markets. In: Proceedings of the Seventeenth
[11]
[12] [13] [14]
National Conference on Artificial Intelligence 2000 (AAAI-00). Gutta S, Kurapati K, Lee KP, Martino J, Schaffer D, Zimmerman J. TV Content Recommender System. In: Proceedings of Seventeenth National Conference on Artificial Intelligence. AAAI, Austin, July 2000, p. 1121–2. Kurapati K, Gutta S, Schaffer D, Martino J, Zimmerman J. A Multi-Agent TV Recommender. The First Workshop on Personalization in Future TV in conjunction with User Modeling 2001, Sonthofen, Germany, July 13–14, 2001. Gena C, Ardissono L. On the construction of TV viewer stereotypes starting from lifestyles surveys. First Workshop on Personalization in Future TV in conjunction with User Modeling 2001, Sonthofen, July 13th and 14th, 2001. Ardissono L, Portis F, Torasso P, Bellifemine F, Chiarotto A, Difino A. Architecture of a system for the generation of personalized Electronic Program Guides. The First Workshop on Personalization in Future TV in conjunction with User Modeling 2001, Sonthofen, Germany, 2001; July 13–14, 2001. Rich E. Stereotypes and User models. In: Wahlster W, Kobsa A, editors. User Models in Dialog Systems. Berlin, New York: Springer; 1989. p. 35–51. Chin DN. Knome: Modeling what the user knows in UC. In: Wahlster W, Kobsa A, editors. User Models in Dialog Systems. Berlin, New York: Springer; 1989. p. 74–107. Allen RB. User Models: theory, method, and practice. International Journal of Man-Machine Studies 1990;32:511–43. http://www.arbitron.com/portable people meters/ home.htm. http://www.press.ce.philips.com/press/20030109 350.html. Goren-Bar D, Glinansky O. Family stereotyping—A model to filter TV programs for multiple viewers. TV’02: the 2nd Workshop on Personalization in Future TV May 28, 2002, in conjunction with 2nd International Conference on Adaptive Hypermedia and Adaptive Web Based Systems, Malaga, Spain, 2002; 29/5/2002–31/5/2002.