Patent ID: 7051352

Claim:
A data processing device comprising: at least one input for receiving data including viewer profile data; and data regarding a television program; a medium readable by the data processing device coupled to the input, said medium storing said viewer profile data; and a processor, the processor being adapted to perform the following: calculating a probability that the television program is a desired one; and supplying a recommendation regarding the television program based on the probability, wherein the processor maintains the viewer profile in accordance with a data structure comprising: a list of feature values; and for each element of the list, a respective number of times programs having that feature value were watched, and a respective number of times programs having that feature value were not watched, and wherein the processor is further arranged to perform the following, each time a user watches a new program, first adding, to the list, feature values or counts of such feature values, associated with that new program; selecting at least one companion program to the new program, the companion program being selected at random from a program schedule, which companion program has not been watched; and second adding, to the list, feature values of the companion program, or counts of such feature values.