1. A method implemented by a computer comprising at least one processor for recommending media content, the method comprising: accessing a set of salience values for a plurality of characters appearing in a media content, the set of salience values associated with the media content; accessing a character preference function of a user, the character preference function comprising information identifying a plurality of preference coefficients, each preference coefficient of the plurality of preference coefficients associated with at least one attribute of interest of a plurality of attributes; accessing a first character model, the first character model comprising information identifying a first set of attribute values for the plurality of attributes of a first character of the plurality of characters; calculating a first salience value of the set of salience values based on the on-screen time of the first character in the media content, wherein the first character is associated with the first salience value of the set of salience values; accessing a second character model, the second character model comprising information identifying a second set of attribute values for the plurality of attributes of a second character of the plurality of characters; calculating a second salience value of the set of salience values based on the on-screen time of the second character in the media content, wherein the second character is associated with the second salience value of the set of salience values; calculating a first character rating of the first character by performing a summation of the products of the plurality of preference coefficients with the first set of attribute values; calculating a second character rating of the second character by performing a summation of the products of the plurality of preference coefficients with the second set of attribute values; calculating a media content rating, the media content rating calculated based on the first salience value, the second salience value, the first character rating, and the second character rating; and recommending the media content to the user based on the media content rating.