Patent ID: 9654834
Date: 2017-05-16
CPC Classifications: G06F,H04N

Claim:
1. A method for recommending media programs, the method comprising: determining, using a hardware processor, that a requested media program has been received on a media device; in response to determining that the requested media program has been received on the media device, obtaining metadata corresponding to the requested media program; obtaining metadata corresponding to a plurality of media programs, wherein the metadata corresponding to each media program and the metadata corresponding to the requested media program comprises a plurality of metadata fields corresponding to a plurality of field types, and wherein the plurality of metadata fields each comprise a plurality of terms; applying a probabilistic topic model to determine, for each of the plurality of metadata fields, at least one token by comparing the plurality of terms to a list of known terms and a probabilistic relationship between the known terms contained in the probabilistic topic model, wherein the at least one token comprises at least one of the plurality of terms; generating a first group of components based on a first metadata field for each of the plurality of media programs and a second group of components based on a second metadata field for the requested media program, wherein the components in the first group of components represent at least a portion of the tokens determined from the first metadata field for the media program and the components in the second group of components represent at least a portion of the tokens determined from the second metadata field, and wherein the first metadata field corresponds to a first field type from the plurality of field types and the second metadata field corresponds to a second field type from the plurality of field types; determining a plurality of weights that includes a weight for each field type from the plurality of field types in combination with another field type from the plurality of field types, including a weight for a combination of the first field type with the second field type; comparing the first group of components for each of the plurality of media programs to the second group of components for the requested media program to identify a subset of the plurality of media programs for which the first metadata field includes at least one common token with the first second metadata field of the requested media program; determining a similarity score between the requested media program and each of the identified subset of the plurality of media programs based at least in part on the comparison and the determined weight for the combination of the first field type and the second field type; selecting a portion of the plurality of media programs based on the similarity score; and responsive to the request for the media program, causing a recommendation interface to be presented on the media device that recommends one or more of the selected portion of the plurality of media programs for consumption.