The present invention relates to usage analysis in general and more particularly, the analysis of a plurality of activities performed by a user. Still more particularly, the present invention is related to a system and method for the analysis of activities related to a particular domain such as TV viewing.
Users perform a variety of activities routinely on day-to-day basis. The performing of an activity by a user results in whether the user liked or disliked the outcome of the activity. Consider TV viewing scenario. The user, for example, may browse the channels before settling on a particular channel to watch the same for a particular period of time. In this scenario, a way to define the liking would be based on the amount viewing time. In other words, in the case of TV viewing, the user tunes into a particular channel and watching the program currently on air for a particular period of time. This viewing for a period of time indicates the extent of the user's liking towards the program in that particular channel. Observe that this notion of liking brings out implicit liking rather the liking explicitly expressed by the user, and the user liking model based on this notion is quite valuable for many practical applications. One of the important applications of user likes modeling, in the case of TV scenario, is ad targeting. In this application, the user likes model is used to predict the likely channel/program that would be viewed by the user. Even if there is a difference between the prediction and reality (that is, the actual channel/program being viewed by the user), it may be more appropriate to target ads based on the model rather than the current content being viewed. Specifically, the model indicates what is being liked and current view information indicates what is being watched. In such a situation, ad targeting can happen at three levels: level1—targeting based on both model and current view information; level2—targeting based on model (ignoring the current view information); and level3—targeting based on current view information (ignoring the model based information). The ad targeting system can select an ad based on an appropriately selected level. For example, if the current view information is related to a very specific special event such as Olympic games, then it may be more appropriate to target ads at level3. The present invention addresses the issues of building a user likes model based on a plurality of activities performed by a user over a period of time.
U.S. Pat. No. 7,146,627 to Ismail; Labeeb K. (Fremont, Calif.), Gogoi; Amar N. (Fremont, Calif.), Mehta; Manu (Fremont, Calif.) for “Method and apparatus for delivery of targeted video programming” (issued on Dec. 5, 2006 and assigned to Metabyte Networks, Inc. (Fremont, Calif.)) describes a system, residing preferably in a television set-top box, that monitors the television watching habits of one or more viewers, creates one or more profiles for each viewers descriptive of various characteristics of each viewers, including television watching preferences and demographics, and creates a customized and/or targeted video programs for delivery to the viewer or viewers as a linear program.
U.S. Pat. No. 6,934,964 to Schaffer; J. David (Wappingers Falls, N.Y.), Lee; Kwok Pun (Yorktown Heights, N.Y.) for “Electronic program guide viewing history generator method and system” (issued on Aug. 23, 2005 and assigned to Koninklijke Philips Electronics N.V. (Eindhoven, NL) describes an electronic programming guide system that employs a preference engine and processing system and that learns viewers' television watching preferences by monitoring their viewing patterns.
U.S. Pat. No. 6,005,597 to Barrett; David S. (Needham, Mass.), Lee; Gillian M. (Cambridge, Mass.), Miller; Scott N. (Winchester, Mass.), Simpson; M. O. S. C. Jasba (Cambridge, Mass.), Rosenthal; Eric D. (Freehold, N.J.) for “Method and apparatus for program selection” (issued on Dec. 21, 1999 and assigned to Disney Enterprises, Inc. (Burbank, Calif.)) describes a method and apparatus for television program selection that monitors the viewing preferences of a viewer to create a dynamic viewer profile that is used to rate available programs
U.S. Pat. No. 5,801,747 to Bedard; Karen (San Jose, Calif.) for “Method and apparatus for creating a television viewer profile” (issued on Sep. 1, 1998 and assigned to Hyundai Electronics America (San Jose, Calif.)) describes a method and apparatus for monitoring television viewing activity to determine preferred categories of programming and preferred channels of a viewer.
“System and Method for Remote Usage Modeling” by Sridhar Varadarajan, Amit Thawani, and Kamakhya Prasad Gupta, (pending USPTO patent application and assigned to Satyam Computer Services Ltd.) describes a system and method for the modeling of a remote usage that involves the use of both pre-defined models and discovered models. Specifically, a pattern of usage of a remote control unit is abstracted to be one of either a pre-defined model or a discovered model. The model discovery involves the process of generalization based on a set of particular remote control unit usage patterns.
“A Target Advertisement System based on TV Viewer's Profile Reasoning” by Lim, J., Kim, M., Lee, B., Kim; Munchurl, Lee, H., Lee; Han-Kyu (appeared in Multimedia Tools and Applications, Vol. 36, Issue 1-2 (January 2008), Pages: 11-35) describes a user profile reasoning method for TV viewers, wherein the user profile reasoning is made in terms of genre preference and TV viewing times for TV viewer's groups in different genders and ages. For user profiling reasoning, the TV viewing history data is used to train the proposed user profiling reasoning algorithm which allows for target advertisement for different age/gender groups
“A Statistical Model for User Preference” by Jung, S., Hong, J., and Kim, T. (appeared in IEEE Transactions on Knowledge and Data Engineering, Vol. 17, No. 6, June 2005) presents a preference model using mutual information in a statistical framework and a method that combines information of joint features that alleviates problems arising from sparse data.
“Personalized Recommendation of TV Programs” by Ardissono, L. Gena, C., Torasso, P., Bellifemine, F., Chiarotto, A., Difino, A., and Negro, B. (appeared in Proceedings of 8th Congress of the Italian Association for Artificial Intelligence, Pisa, Italy, Sep. 23-26, 2003, Lecture Notes for Artificial Intelligence (AI*IA 2003: Advances in Artificial Intelligence), Springer Verlag) describes recommendation techniques based on integration of heterogeneous user modeling approaches. The personalized recommendation of programs is based on the integration of user modeling techniques relying on explicit user preferences, stereotypical information about TV viewer preferences, and the unobtrusive observation of the user's viewing habits.
“A Fuzzy Linguistic Summarization Technique for TV Recommender Systems” by Pigeau, A., Raschia, G., Gelgon, M., Mouaddib, N., and Saint-Paul, R. (appeared in Proceedings of the 12th IEEE International Conference on Fuzzy Systems, 2003. FUZZ apos'03, Vol. 1, 25-28 May 2003) presents a TV recommender system using fuzzy linguistic summarization technique which enables automatic learning of the user profile.
The known systems do not address the various issues related to the user likes modeling based on a plurality of activities specific to a user related to a particular domain from multiple perspectives in order to be able to predict the expected user behavior. The present invention provides a system and method to effectively analyze a plurality of activities of the user to build the user likes model.
The primary objective of the invention is to analyze a plurality of activities of a user from a plurality of perspectives in order to arrive at a user's likes model.
One aspect of the system is to perform the analysis of a user data from a perspective of the channels tuned.
Yet another aspect of the system is to perform the analysis of a user data from a perspective of the programs viewed.
Another aspect of the invention is to perform combined analysis based on channel tune analysis and program view analysis to arrive a user likes model.
Yet another aspect of the invention is to adapt a user likes model based on the actual channels tuned and the actual programs viewed.
Another aspect of the invention is to define the channel tune data as a matrix based on a plurality of slots and a plurality of channels.
Yet another aspect of the invention is to define an abstract channel tune data matrix based on a plurality of meta-slots and a plurality of meta-channels, wherein a meta-slot is a subset of a plurality of slots and a meta-channel is a subset of a plurality of channels.
Another aspect of the invention is to define a transformation on a channel tune data matrix so as to arrive at a better characterization of the channel tune data matrix.
Another aspect of the invention is to define the program view data as a matrix based on a plurality of slots and a plurality of programs.
Yet another aspect of the invention is to define an abstract program view data matrix based on a plurality of meta-slots and a plurality of meta-programs, wherein a meta-slot is a subset of a plurality of slots and a meta-program is a subset of a plurality of programs.
Another aspect of the invention is to define a transformation on a program view data matrix so as to arrive at a better characterization of the program view data matrix.
a provides an approach for channel tune global analysis.
a provides an approach for program view global analysis.
a depicts additional illustrative results.
Consider the scenario of TV viewing: a common scenario involves a user switching on a TV, browsing and tuning onto a channel, viewing the program that is being shown in the tuned channel, tuning to a new channel, watching the program in that channel, and so on, until the TV is switched off. Specifically, there are two distinct kinds of activities performed by the user: tuning of a channel and viewing of a program. Monitoring and analyzing of these kinds of user activities help in building a user likes model that depicts the channels liked by the user and the programs liked by the user. Such a model of the user is useful in applications such as content targeting in general and ad targeting in particular.
The modeling based on user activities' data involves analyzing of data related to channels tuned and programs viewed. The channel tuned data analysis involves depicting the data as a matrix containing the channels tuned at various time intervals. In order to bring in homogeneity in the analysis across the activities performed over a period of time, the time intervals are divided into slots of fixed time duration, say, each slot of thirty minutes duration. Similarly, the programs viewed is analyzed with respect to these fixed duration slots. Both channel data analysis and program data analysis involves processing of a stack of matrices in two parts: local analysis of a single matrix (that is data related to the activities during a particular day), and global analysis of the locally analyzed matrices. The next step in the building of a user likes model is to combine the results of the analysis of channel data matrices and program data matrices. This combining provides a further insight into a program liked by the user in a particular channel. Finally, in order to do effective targeting, it is useful to adapt the determined user likes model based on the variance in the predicted channels and programs, and the actual channels tuned and programs viewed.
Energy of a matrix M, E(M), is defined as follows:
Note that AM is a matrix based on meta-slots and meta-channels/meta-programs. The indices I and MI are related based on slot and meta-slot relationship, and similarly is the relationship between J and MJ;
Note that a sub-matrix is defined based on the notion of meta-slot and meta-channel/meta-program. That is, MI is an index into a meta-slot, and the meta-slot defines a set of slots; I in MI indicates the index into M such that the corresponding slot is a part of the meta-slot related to the index MI. Similarly is the notion of J in MJ.
An example of g-neighbor strength is the computation of neighbor strengths based on 8 neighbors.
The main objective of the algorithm Channel Tune Analysis is to analyze session data from channel perspective to generate channel specific liking model
Note that the local optimization involves applying of a sequence of transformations, wherein each transformation involves combining of neighbors so as to arrive at a characterization of the channel tune matrix. Note that typically, a channel tune matrix is a sparse matrix defying any direct abstraction and the sequence of transformations help manage the abstraction without much logically disturbing the original channel tune data.
In order to minimize the disturbing of the original channel tune data, typically, the transformations are performed on an abstract matrix. Hence, after the local optimization that applies a sequence of transformations, it is necessary to remap the abstract matrix back to the original channel tune matrix. This redistribution is based on the quantum of change in the abstract matrix ACHM′ as compared with ACHM, and apportioning this change (positively or negatively) among the elements of the corresponding CHM (based on slot/meta-slot, and channel/meta-channel relationships).
Observe that the local analysis is performed on a channel tune matrix in such a way that the resulting CHM″ is both locally optimal and logically plausible (based on slot/meta-slot and channel/meta-channel relationships).
a provides an approach for channel tune global analysis.
Performing local analysis and global analysis in two distinct steps is based on a well-known approach of divide and conquer. A sequence of Channel Tune matrices are first locally analyzed independent of each other, and subsequently combined to arrive at a representative Channel Tune Matrix that is a generalization of the given sequence of Channel Tune matrices. A final local analysis of the representative Channel Tune Matrix results in the near-optimal Channel Likes Model.
The main objective of the algorithm Program View Analysis is to analyze session data from program perspective to generate program specific liking model. Note that the program view local analysis is similar to the channel tune local analysis.
a provides an approach for program view global analysis. Note that the program view global analysis is similar to the channel tune global analysis.
Input: OCHM—a channel likes model;
For each slot T,
Note that the selected channel-programs are consistent given the characteristics of a channel and a program. The selected <CH, PR> pairs depicts the most likely tuned channels and the most likely viewed programs for a given slot.
For a <CH1, PR1> in PCP and <CH2, PR2> in ACP
For each <CHi,PRi> in PCP,
Compute Ei′ as Ex/|PCP| wherein Ei′ denotes the average of the errors associated with <CH,PR> pairs part of PCP and |PCP| is the number of <CH,PR> pairs in PCP;
Form an error sequence ES={E1′, . . . , Ek′} wherein error Ei′ is associated with PCP of the previous Ith slot;
Compute the error in prediction, Ep, in current slot based on the error sequences ES;
For each <CH′,PR′> pair in CCP
a depicts additional illustrative results. 1030 depicts an illustrative OCHM based on Channel Tune analysis and 1040 depicts an illustrative OPRM based on Program View analysis. 1050 depicts the results of combined analysis based on OCHM and OPRM. For example, in slot S1, the most likely tuned channel is CH2 with the most likely viewed program being PR2.
Thus, a system and method for user likes modeling is disclosed. Although the present invention has been described particularly with reference to the figures, it will be apparent to one of the ordinary skill in the art that the present invention may appear in any number of systems that identifies an interaction behavior of a user while watching a television. It is further contemplated that many changes and modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the present invention.