EP2537272A1 - Method for providing a recommendation to a user - Google Patents

Method for providing a recommendation to a user

Info

Publication number
EP2537272A1
EP2537272A1 EP10846018A EP10846018A EP2537272A1 EP 2537272 A1 EP2537272 A1 EP 2537272A1 EP 10846018 A EP10846018 A EP 10846018A EP 10846018 A EP10846018 A EP 10846018A EP 2537272 A1 EP2537272 A1 EP 2537272A1
Authority
EP
European Patent Office
Prior art keywords
user
data content
definitions
preference information
describing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP10846018A
Other languages
German (de)
French (fr)
Other versions
EP2537272A4 (en
Inventor
Jukka-Pekka Salmenkaita
Heikki VÄÄNÄNEN
Risto HELKIÖ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Osumus Recommendations Oy
Original Assignee
Osumus Recommendations Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Osumus Recommendations Oy filed Critical Osumus Recommendations Oy
Publication of EP2537272A1 publication Critical patent/EP2537272A1/en
Publication of EP2537272A4 publication Critical patent/EP2537272A4/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/68Systems specially adapted for using specific information, e.g. geographical or meteorological information
    • H04H60/73Systems specially adapted for using specific information, e.g. geographical or meteorological information using meta-information
    • H04H60/74Systems specially adapted for using specific information, e.g. geographical or meteorological information using meta-information using programme related information, e.g. title, composer or interpreter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/435Filtering based on additional data, e.g. user or group profiles
    • G06F16/437Administration of user profiles, e.g. generation, initialisation, adaptation, distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/46Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for recognising users' preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/61Arrangements for services using the result of monitoring, identification or recognition covered by groups H04H60/29-H04H60/54
    • H04H60/65Arrangements for services using the result of monitoring, identification or recognition covered by groups H04H60/29-H04H60/54 for using the result on users' side

Definitions

  • the invention relates to a method for providing a recommendation relating to a data content to a user.
  • the invention also relates to an apparatus, which is config- ured to perform the method for providing the recommendation relating to the data content to the user.
  • the invention relates to a computer program, which performs the method for providing the recommendation relating to the data content to the user by the apparatus, and carrier medium comprising the computer program.
  • collaborative filtering refers to a set of methods that are relatively commonly used for a purpose of filtering relevant digital content for users. It is based on a data matrix of all content items and all users. This data matrix is populated on the grounds of e.g. which content items different users have added to their digital shopping carts, which tracks of music different users have listened to, or which movies different users have watched. Based on that data matrix it is possible to create recommendations for users, e.g. by highlighting for a user such new content items that other users with similar prior actions have also used.
  • the collaborative filtering methods have limitations. Since the recommendations provided by the collaborative filtering methods are fundamentally based on analyses of users' past behavior, there is no basis for making meaningful recommendations for new content for which there is no track of past user behavior. Furthermore, if part of the available content is often used, i.e. so-called "mass market hits”, and part of the available content is of niche appeal, i.e. so-called "long-tail", it can be difficult to gather enough user behavior data by the collabora- tive filtering methods to make reliable recommendations to any of the long-tail content.
  • one object of the invention is to withdraw the above-mentioned drawbacks and provide a method, which uses versatility massive data amount relating to data contents in order to recommend intresting data contents to a user having unique concerns.
  • the object of the invention is fulfilled by providing a method of claim 1 , an apparatus of claim 13, a computer program of claim 14, and a carrier medium of claim 15.
  • An embodiment of the invention relates to a method of claim 1 .
  • an embodiment of the invention relates to an apparatus of claim 13.
  • an embodiment of the invention relates to a computer program of claim 14. Furthermore, an embodiment of the invention relates to a carrier medium of claim 15.
  • a method for providing a recommendation relating to a data content to a first user, who has certain concerns, in a communication network comprises steps of obtaining definitions describing the data content, associating the definitions describing the data content with the data content, and providing the recommendation relating to the data content to the first user by the associated definitions describing the data content and preference information of the first user.
  • the term "recommendation" refers to information that presents to a user something what the user can utilize and what the user has not exactly ordered or indicated.
  • the recommendation can be in accordance with user's preferences and it can be. e.g.
  • the indication which can enable an access to the data content, can be provided e.g. by means of at least one of the followings: text, figure, Internet link, purchase button, and icon.
  • data content refers to information comprising e.g. at least one of the followings: text document, figure information, piece of music or movie, music album, television program, computer game, Internet page, Internet bookmark, computer application program, or some service that a user can utilize.
  • the data content can comprise several items, such as a music album having several music pieces, or a movie or TV series, e.g. the Star Wars movie series, having several episodes.
  • the term "communication network” refers to a network that comprises e.g at least one of the followings: Internet, an intranet of a company, and mobile network.
  • definitions refers to several definitions that describe a single data content and those can comprise e.g. discrete attributes and/or free form sentences or comments relating to the data content.
  • the definitions are metadata elements describing the substance of data content, e.g. metadata tags used by IMDB.com to describe movies, metadata tags used by IDv3 standard and MusicBrainz.org to describe music, and IPTC tags used to describe images.
  • the definitions would typically comprise metadata on aspects such as genre, plot, scene, time of event, performer(s) of the performance, background of a story, director, composer, and so on.
  • Some of definitions may follow a XML or RDF schema, or they may follow domain-specific metadata conventions.
  • preference information refers to information that reveals concerns of a user.
  • Main types of “preference information” comprise e.g. at least one of the followings: user's explicit indication of like or dislike of a specific content item, user's explicit rating of a content item, user's explicit indication of like or dislike of a spe- cific content item due to a content item having a specific definition characterizing the content item, user's implicit indication of like or dislike of a content item group due to content items sharing at least one specific definition characterizing the group of content items, user's explicit subjective statement relating to at least one content item, user's explicit subjective statement relating to at least one definition characterizing at least one content item, user's explicit confirmation or disconfirma- tion of a subjective statement describing at least one content item, and user's explicit confirmation or disconfirmation of a subjective statement describing at least one definition related to at least one content item.
  • an apparatus operable in a communication network for providing a recommendation relating to a data content to a first user which apparatus can be a single apparatus or a group of apparatuses, and which apparatus comprises an obtaining processor configured to obtain definitions describing the data content, an associating processor configured to associate the definitions describing the data content with the data content, and a providing processor configured to provide the recommendation relating to the data content to the first user by the associated definitions describing the data content and preference information of the first user.
  • the apparatus can be e.g. a server computer or a group of computers capable of executing the aforesaid tasks.
  • the obtaining processor, associating processor, and providing processor that belong to the apparatus can be a same one processor or those can form the group of processors, which comprises two or more processors.
  • a computer program that comprises code means configured to perform a method for providing a recommendation relat- ing to a data content to a first user in a communication network, which method comprises steps of obtaining definitions describing the data content, associating the definitions describing the data content with the data content, and providing the recommendation relating to the data content to the first user by the associated definitions describing the data content and preference information of the first user when the computer program is run in a computer.
  • a carrier medium comprising a computer program that comprises code means configured to perform a method for providing a recommendation relating to a data content to a first user in a communication network, which method comprises steps of obtaining definitions describing the data content, associating the definitions describing the data content with the data content, and providing the recommendation relating to the data content to the first user by the associated definitions describing the data content and preference information of the first user when the computer program is run in a computer.
  • the method according to embodiments of the invention provides convenient tools for efficiently searching for desired content, organizing content in intuitive means, and filtering most relevant content for easy access.
  • the method according to embodiments of the invention enables to provide user interfaces that allow users to conveniently discover and filter massive amounts of digital content, and it is especially suited for use in context of media and information rich Internet services. Furthermore, the method according to embodiments of the invention seeks to retain the strengths of collaborative filtering methods, yet improve in systems capability to learn users' individual preferences, as well as capability to distinguish which of other users' actions are most relevant when making recommendations for a specific user.
  • the verb "to comprise” is used in this document as an open limitation that neither excludes nor requires the existence of also unrecited features.
  • the verbs "to include” and “to have/has” are defined as to comprise.
  • figure 1 illustrates an exemplary flowchart of a method according to an embodiment of the invention that relates to a TV program application
  • FIGS. 2a-2b illustrate exemplary views of screenshots according to an em- bodiment of the invention that relates to a TV program application
  • figure 3 illustrates an exemplary view of an apparatus according to an embodiment of the invention.
  • FIG 1 that illustrates a flowchart describing a method 100 according to the embodiment of the invention
  • a computer which executes at least part of the method 100, i.e. an application, is turned on and necessary stages such as set up definitions for applications including the service application and connections, and different parameters' initialization relating to connections before the method im- plementation are provided during the method start-up in step 1 10.
  • this step can comprise displaying a main view of a user interface of the service application, e.g. a www site or an application window, that the computer provides on its display or a display of another device.
  • a method for providing a recommen- dation relating to a data content to a first user in a communication network comprises steps of obtaining definitions describing the data content, associating the definitions describing the data content with the data content, and providing the recommendation relating to the data content to the first user by the associated definitions describing the data content and preference information of the first user.
  • the service application is a TV program application, e.g. a TV program guide, that is adapted to discover from the Internet a TV program (data contents), which is in accordance with user's taste and recommend it to this user so that he/she can watch or record the recommended TV program when it is shown.
  • the application could be a game application that recommends computer games that comply with the user's preferences and provides links so that the user can play or order the recommended games through the Internet.
  • the TV program application has preference information relating to the old user in its memory, but when there is a new user in question, the application defines his/her preference information by asking.
  • step 120 the application provides a view of the displayed user interface where the 5 new user can specify his/her concerns through the user interface by simply indicating whether he/she likes or dislikes features, which are brough to under new user's review, whereupon the program application is able to define his/her preferences.
  • signs e.g. a thumb upwards (tip) and a thum downwards (skip), in context of each features and the user is able to click a thumb which indicates his/her opening o ion about a feature.
  • These signs can also be simple "yes" and "no" buttons.
  • Features can be attributes that determine a genre of data contents, e.g. "action”, “comedy”, “western”, or “love story”.
  • the attributes can comprise e.g. actors' names such as “Penelope Cruz”, “Gwyneth Paltrow”, and “Leonardo Di- Caprio", or names of places or events such as “Little big Horn”, “Helsinki”, “World 15 war II”, and “Olympic games”.
  • the features can be statements, e.g. "Clint Eastwood is cool”, “Tom Cruise sucks”, “first parts are usually better than subsequent parts”, “James Bond rules", and “I like Italian spagetti westerns”.
  • the attributes can have relations between them.
  • XML schemas define attributes so that they have a predefined hierarchical rela-
  • a "parent” attribute can inherit, e.g. by averaging, the values of its "child” attributes.
  • one content item such as a television show episode
  • can belong to another class of a content e.g. a television series
  • the attributes describing the "parent" class in the example, the television series
  • the recommendation system could present statements, such as "Antonio Banderas is so handsome" and "Angelina Jolie is gorgeous", as reasons to like this movie for Alice's reaction. Then, Alice could confirm e.g. the first one of the statements, if she likes Antonio Banderas, and ignore the second statement, if she has not a strong opinion one way or another about Angelina Jolie, and the recommendation system accordingly would update Alice's profile to indicate that movies in which Antonio Banderas is starring are favored by her.
  • the statistical analysis based on which the clarifying statements are selected among all possible ones can be based on an application of Bayesian inference. Other methods, such as neural networks or fuzzy logic, could also be applied.
  • the method which is disclosed in any of the previous embodiments, further comprises a step of providing the preference information of the first user, which preference information comprises information about preferences of the first user.
  • step 120 if the new user likes westerns, especially the ones where Clint Eastwood plays, and thinks that subsequent parts use to be worse than a first original movie, he/she indicates his/her opinion by clicking the thumb upwards of the "action”, “western”, “Clint Eastwood is cool”, “first parts are usually better than subsequent parts”, and "I like Italian spagetti westerns” features. Consequently, the TV program application can conclude due to the thumb upwards features that the new user at least likes westerns, particularly the Italian spaghetti westerns, Clint Eastwood, and first parts, and it sets this information as user's preference information.
  • the application can also set information relating to unpleasant features into the user's preference information when it concludes that the new user does not like love stories, Tom Cruise, and James Bond movies if he/she has clicked the thumb downwards buttons of the corresponding features.
  • the TV program application can also define new user's preferences so that the new user writes his/her concerns on a free text field of the user interface, whereupon the application picks up keywords from the user's response and determines by means of the keywords the user's preference information.
  • This free-form expression of preferences can also happen as an integrated part of a user recom- mendating a program to another program by using, e.g. sharing capability of a social networking service.
  • the free-form input that presents system analyzes would be a message that the user adds to a shared content intended for his/her social peers. It is also possible that the application utilizes both the unambiguous inquiry with the thumbs and the free text in order to explain the prefer- ences.
  • the method which is disclosed in any of the previous embodiments, further comprises a step of providing the preference information of the first user by at least one of following: receiving the preference information from the first user, determining the preference information of the first user by exposing data contents to estimations of the first user, and determining the preference information of the first user on the grounds of preference information of a second user.
  • preference information can be representing e.g. mere titles or short introductions of a group of programs, which have metadata compris- ing previously completed (and associated) definitions and the opinion thumbs, to the new user, whereupon the user can represent whether he/she likes or not a proposed program by the opinion thumbs and the application can form user's preference information on the grounds of the clicked thumbs.
  • the method which is disclosed in any of the previous embodiments, comprises a step of determining the preference in- formation of the first user by the data contents having obtained definitions describing the data contents.
  • the TV program application can also utilizes a social network of the new user for obtaining his/her preferences.
  • a social network of the new user for obtaining his/her preferences.
  • the new user introduces himself/herself so that the application is able to identify the user, it starts to untangle user's social network by means of the Internet, e.g. through Facebook or Twitter, e.g. through an association to user's Facebook or Twitter account, and social connections information contained there.
  • user's social network i.e. acquaintances in the social network
  • the application defines persons from the group of the acquaintances in the social network that have stored preference information and selects among these persons most suitable person, e.g. by means of gender, age, occupation, hobbies, and place of residence, whose preference information is copied as preference information for the new user.
  • the application is capable of recognizing if user's social network com- prises a person who actively utilizes the application and provides comments and analysis relating to the TV programs in the application and/or Internet.
  • This kind of active person is also a possible choice for a most suitable person even if at least one of his/her gender, age, occupation, hobbies, and place of residence differs from user's corresponding data.
  • the application recognizes if the user significantly gives his/her approval to programs having a certain feature when using the service, and it can put weighting to that certain feature in order to improve the ranking of said feature in a recommendation list.
  • the TV program application searches for forthcoming TV programs concerning a next fortnight from e.g. its own data base, data base of an- other computer, or the Internet overall.
  • the method further comprises a step of searching for the data content from the communications network.
  • step 140 when the TV program application has discovered relevant TV programs, it obtains definitions that describe contents of the forthcoming programs concerning the next fortnight. It can generate the definitions by oneself on the grounds of relevant data found from the Internet that can be. e.g. introductions or viewer's comments relating to the programs.
  • the program application identifies the introductions and viewer's comments and selects from the relevant data at least two suitable keywords as definitions that describe a content of a program.
  • the forthcoming movies comprise westerns called "The good, the bad, and the ugly” and “A fistful of dollars", whereupon the program application examines movie introductions from a movie data base and generates keywords "western”, “Italian spaghetti western”, and “Clint Eastwood” to "The good, the bad, and the ugly” as its definitions, and the aforesaid keywords and "first part” to "A fistful of dollars” as definitions describing said film on the basis of the movie introductions.
  • the program application generates definitions for other forth- coming programs and films at the same time.
  • the method which is disclosed in any of the previous embodiments, wherein the definitions describing the data content are generated from attributes and/or statements.
  • the TV program application can obtain the definitions by means of another software adapted to harvest and provide definitions or it can retrieve the definitions from a data base comprising harvested definitions relating to the programs.
  • the application can utilize completed definitions of a known TV program or other data content that seems to be similar when comparing the titles by copying the definitions of the known program or other data content as definitions of the unknown program. It is also possible that the application exposures the un- know program for a prereview of e.g. a certain predetermined user or user group that represents opinion about the program content by means of the thumbs. Consequently, the application gathers opinion information and generates the definitions on the basis of it.
  • the method comprises a step of obtaining the definitions describing the data content by at least one of following: using definitions of other data content as the definitions describing the data content and determining the defini- tions describing the data content by exposing the data content to an estimation of the first user or other user comprising the second user.
  • the TV program application can be capable of weighting definitions when it notices that the user favours a certain feature in programs. Consequently, it puts weight to a certain definition, which might cause changes when programs are ranked in order to provide a recommendation list to the user. It is also possible that the definitions are weighted according to active person, who is interested in and active concerning certain type of programs, e.g. westerns or historical documents. Then, the application puts more weight to active person's opinions (thumbs) relating this particular program type.
  • the method comprises a step of weighting the definitions describing the data content, which the other user has provided, in order to improve a correspondence between the definitions describing the data content and the preference information of the first user. If the searched programs have already metadata comprising one or more existing definition, these definitions are perceived when the application generates a set of definitions for a TV program.
  • the method which is disclosed in any of the previous embodiments, comprises a step of taking into account the defini- tions, which describe the data content and which are associated with the data content.
  • the obtained definitions are associated with the forthcoming programs in step 150.
  • Preceding steps 130-150 can also be executed before or during step 120, or throughout during the method. If there is the application or user based need for updating the user's preference information in step 160, the method returns to step 120. In addition, the method resumes to step 130, if the application or user finds out in step 165 that more TV programs should be harvested. In step 170, the TV program application determines how the user's preference information that specifies particularly the user's concerns matches the definitions of the searched contents.
  • the method which is disclosed in any of the previous embodiments, comprises a step of providing the recommendation relating to the data content to the first user when the associated definitions of the second user describing the data content are similar to preference information of the first user.
  • the program application can provide a recommendation list where recommended TV programs, which have metadata comprising the associated definitions, are in a random order or they are arranged in prioritized order depending how well a program matches the user's preferences.
  • recommended TV programs which have metadata comprising the associated definitions, are in a random order or they are arranged in prioritized order depending how well a program matches the user's preferences.
  • "A fistful of dollars” is put on the first place on the recommendation list and "The good, the bad, and the ugly" on the second place.
  • the method according to an embodiment of the invention can prioritize search results so that personally most relevant hits are presented first for the user. Thereby, e.g.
  • the method comprises a step of prioritizing recommendations comprising the recommendation relating to the data content depending how the associated definitions describing the data content match with the preference information of the first user.
  • the program application recommends mere "A fistful of dollars" or the (prioritized) recommendation list to the user and displays the recommendation in step 180.
  • the recommendation can comprise a link so that the user can click the link in order to view or record the recommended content.
  • the program application can cluster the recommendations in view of program categories in this step or in context of the previous step if it is adapted to provide recommendations in different program categories.
  • Such program categories can be e.g. movies, documents, and sport broadcasts.
  • the recommendation comprises the opinion thumbs upwards and downwards and possibly a free text box so that the user can represent his/her opinion about the recommended content after he/she has viewed it, whereupon the application receives more information about user's preferences by means of the thumbs and free text statements.
  • the method which is disclosed in any of the previous embodiments, further comprises a step of displaying the recommendation relating to the data content to the first user by a display of first user's device that can be e.g. a table computer, laptop, palmtop, mobile phone, or smart phone.
  • a display of first user's device can be e.g. a table computer, laptop, palmtop, mobile phone, or smart phone.
  • step 190 the recommendation method is ended.
  • Figures 2a and 2b shows screenshoots from a TV program application that has provided recommendation lists relating to different program categories for a user.
  • a view 210 shows how the program application has provided four horizontal recommendations lists 220a-220d for four different program categories, such as movies, TV series, documents, and programs for children, concerning next week's forthcoming programs.
  • Recommended programs 230 has been arranged so that a program, which suits best for user's interests inside the program categories, locates on the left in a column 240a, second best program in a column 240b, and next programs in a prioritized order in columns 240c-240e.
  • the program application vastly recommends in the movie category to the user a movie called "Bridget Jones: The edge of reason" (in English) 230a.
  • the recommendations lists (i.e. program categories) 220a-220d can also be arranged vertically in a prioritized order according to the user's interests so that a most suitable category locates on the top of the program categories. Consequently, a most recommendable program for the user locates on the upper cor- ner on the left.
  • a program layout regarding the recommendations lists can also be provided other way, e.g. by placing the recommendations lists vertically so that the prioritized order starts from above.
  • Short summaries of the recommended programs in the recommendation lists 220a-220d consist of e.g. a title of the program, information relating to a channel, e.g. logo or other identifiable sign, that shows a recommended program 220a- 220d, showtime, short synopsis or part of the synopsis, and thumbs upwards and downwards 250a, 250b in order to enable the user to indicate his/her opinion relating to the recommended programs 230.
  • the program application opens a pop-up window 260 comprising the aforesaid information in the short summary and, in addition, e.g. an enlarged synopsis 262, thumbs 264a-264d for indicating a user's opinion relating to statements generated by the program application that statements help the program application to determine user's interests more detailed way than a simple user's tip or skip verdict by the thumbs 250a, 250b in the recommendation list 220a as one can remember from the Original Sin" example.
  • the pop-up window 260 can comprise simple tip and skip thumbs 266a, 266b corresponding with the thumbs 250a, 250b, a Facebook link 266c for sharing information that the user likes at least this particular Bridget Jones movie on his/her Facebook profile, and a calendar link 266d for providing a calendar note concerning the movie into a user's calendar.
  • the pop-up window 260 can comprise a button (link) for giving a recording command to the program guide so that the user can store the movie to a suitable place, e.g. a hard disk of a computer, DVD player, or set-top box.
  • the program application can also be configured to work in conjunction with a content storage device or service.
  • the user can also store the content items corresponding to the provided recommendations for later consumption or other usage.
  • This functionality could be initiated manually, e.g. so that user would specifically indicate his/her wish for a specific recommended item to be stored, or semi-automatically, whereupon e.g. the content items, which recommendations exceed a certain recommendation score set by the user, are stored automatically, or a set number of the content items selected by having the highest recommendation scores are automatically stored.
  • This configuration is especially useful when the recording and storage service is performed by e.g. a so-called "network-PVR" (network personal video recorder) service, i.e.
  • a recording service provided as a network service, whereupon the user controls the used recording service through the TV program application.
  • a method according to the invention is described clearly from a viewpoint of a program application that can be in this case a music application, which is adapted to recommend a music piece or whole music album of an artist to users using the application through their devices.
  • the application simply defines a attribute list relating to music genres, such as pop, rock, hip hop, dance music, country etc., for profile vectors where each index corresponds to one music genre attribute.
  • the application receives user's registration and adds a new registered user into its user database and initializes user profile vectors for the new registered user (user_profile) with estimated values from 0 to 1 indicating how much the reg- istered user likes a corresponding music genre attribute, e.g. [0.9, 0.8, 0.1 , 0.4, 0.3].
  • the initial estimation can be based on asking the user of his/her preference to each of the music genre attributes. Other methods for the initial estimation comprises, but are not limited to, observing user behavior while providing recommendations based on a generic user profile or using initial profile based on profiles of socially connected other users.
  • a music database of the application do not comprise any music pieces, the application subsequently adds music pieces to its music database and initializes music piece profile vectors ⁇ piece_profile) with estimated values from 0 to 1 indicating how much the music piece corresponds to each attribute, e.g. [0.1 , 0.9, 0.0, 0.0, 0.0], for each of the added music pieces.
  • the estimation can be based on corresponding values in existing databases, e.g. data sources that provide a semantic classification of content items. Such used data sources can be e.g. Freebase.com, MusicBrainz, or dbpedia.org.
  • the application continuously searches for new music pieces that do not exist in the music database from the Internet for add- ing those into to its database, initializes music piece profile vectors for each new discovered music piece, and updates the already existing music piece profile vectors in the database.
  • piece_profile piece_profile/lpiece_profilel.
  • the similarity of the user profile and music piece profile can be evaluated using a distance metric, alternatives comprising e.g. first, second, or infinite order distance of the profile vectors, or the dot product of the profile vectors: user_profile * piece_profile.
  • the similarity of the user profile and music piece profile can then be multiplied with the sum of the similarities of the music piece and the users, who have indicated to be interested in the music piece for providing a recommendation estimate for the user u and music piece p that is weighted with the similarity of each recommending user with the piece p or the user u:
  • R**up user_profile u * piece_profile p * [1+SUM(i) ⁇ w(u ) * user_pro
  • w(u,i) is a weight value, which is defined as constant e.g. 0.5 for the friends and e.g. 0.1 for the other users.
  • the application After the application has obtained recommend values R up for each user-piece pair, it sorts all the music pieces and/or albums on the basis of f?-value and print the sorted list.
  • an embodiment of a method according to the invention can be further improved by adjusting all the weights of the user profile vectors and piece profile vectors based on a recommendation system's confidence on having a reliable esti- mate on those values.
  • profile vector values for which there is no user input would be adjusted by confidence weight 0.25
  • profile vector values, which the user has explicitly confirmed would be adjusted by confidence weight 1 .0.
  • this confidence weighting adjustment step would be done next after the profile vectors have been scaled back to unity.
  • FIG. 3 presents a computer 300 according to an embodiment of the invention, which provides recommendations to users in view of the their preferences.
  • the computer 300 which can be any computer capable of communicating with other computers in the Internet, comprises a processor 310 for performing instructions and handling data. It can also include several processors adapted to perform the aforesaid method steps. There is naturally a memory 320 for storing data such as instructions, user interface data 322 for providing a user interface of the computer, application data relating to an application configured to provide recommendations to users 324, and stored user information 326.
  • the computer 300 has a user interface 330 comprising at least a keyboard or touch screen for enabling a user of the computer to input data, a display 340, and data transfer means 350 for sending and receiving data through wireless and wired connections.
  • the apparatus providing a method according to an embodiment of the invention comprises a group of computers, whereupon each computer executes its own predetermined part so that the computer system gathers information and provides recommendations on the grounds of the gathered information.
  • Multiple computers offers increasing amount of computing efficiency and memory space.
  • an apparatus operable in a communication network for providing a recommendation relating to a data content to a first user comprises an obtaining processor configured to obtain definitions describing the data content, an associating processor configured to associate the definitions describing the data content with the data content, and a providing processor configured to provide the recommendation relating to the data content to the first user by the associated definitions describing the data content and preference information of the first user.
  • the apparatus which is disclosed in any of the previous embodiments, further comprises a preference processor that is configured to provide the preference information of the first user, which preference information comprises information about preferences of the first user.
  • the apparatus which is disclosed in any of the previous embodiments, further comprises the preference processor configured to provide the preference information of the first user by at least one of following: receiving the preference information from the first user, determining the preference information of the first user by exposing data contents to estimations of the first user, and determining the preference information of the first user on the grounds of preference information of a second user.
  • the apparatus which is disclosed in any of the previous embodiments, comprises a determining processor that is configured to determine the preference information of the first user by the data contents having obtained definitions describing the data contents.
  • the apparatus which is disclosed in any of the previous embodiments, further comprises a searching processor configured to search for the data content from the communications network.
  • the apparatus which is disclosed in any of the previous embodiments, wherein the definitions describing the data content are generated from attributes and/or statements.
  • the apparatus which is disclosed in any of the previous embodiments, comprises the obtaining processor configured to obtain the definitions describing the data content by at least one of following: using definitions of other data content as the definitions describing the data content and determining the definitions describing the data content by exposing the data content to an estimation of the first user or other user comprising the second user.
  • the apparatus which is disclosed in any of the previous embodiments, comprises a weighting processor configured to weight the definitions describing the data content, which the other user has provided, in order to improve a correspondence between the definitions describing the data content and the preference information of the first user.
  • the apparatus which is disclosed in any of the previous embodiments, comprises a accommodating processor configured to take into account the definitions, which describe the data content and which are associated with the data content.
  • the apparatus which is disclosed in any of the previous embodiments, comprises the providing processor configured to provide the recommendation relating to the data content to the first user when the associated definitions of the second user describing the data content are similar to preference information of the first user.
  • the apparatus which is disclosed in any of the previous embodiments, comprises a prioritizing processor configured to prioritize recommendations comprising the recommendation relating to the data content depending how the associated definitions describing the data content match with the preference information of the first user.
  • the apparatus which is disclosed in any of the previous embodiments, further comprises a displaying processor configured to display the recommendation relating to the data content to the first user by a display of first user's device.

Abstract

The invention relates to a method for providing a recommendation relating to a data content to a first user in a communication network, which method comprises obtaining definitions describing the data content, associating the definitions describing the data content with the data content, and providing the recommendation relating to the data content to the first user by the associated definitions describing the data content and preference information of the first user. The invention also relates to an apparatus, which performs the preceding method by a computer program embodied in a carrier medium.

Description

METHOD FOR PROVIDING A RECOMMENDATION TO A USER Technical field of the invention
The invention relates to a method for providing a recommendation relating to a data content to a user. The invention also relates to an apparatus, which is config- ured to perform the method for providing the recommendation relating to the data content to the user. Furthermore, the invention relates to a computer program, which performs the method for providing the recommendation relating to the data content to the user by the apparatus, and carrier medium comprising the computer program. Background of the invention
Increasing amount of content is available for users in digital form, e.g. in Internet services. Although the availability of great amounts of content is beneficial for users in principle, the number of information to be observed increases continuosly. Thus, the usability of such services requires special attention and there is e.g. a need for convenient tools for efficiently searching for a relevant content for different kind of users having unequal preferences.
In order to improve the usability of the services, the services have utilized collaborative filtering, wherein a taste of numerous users is exploited for making automatic predictions about interests of a single user. The "collaborative filtering" refers to a set of methods that are relatively commonly used for a purpose of filtering relevant digital content for users. It is based on a data matrix of all content items and all users. This data matrix is populated on the grounds of e.g. which content items different users have added to their digital shopping carts, which tracks of music different users have listened to, or which movies different users have watched. Based on that data matrix it is possible to create recommendations for users, e.g. by highlighting for a user such new content items that other users with similar prior actions have also used. This can be very useful in filtering relevant yet novel recommendations out of large content catalogs. However, the collaborative filtering methods have limitations. Since the recommendations provided by the collaborative filtering methods are fundamentally based on analyses of users' past behavior, there is no basis for making meaningful recommendations for new content for which there is no track of past user behavior. Furthermore, if part of the available content is often used, i.e. so-called "mass market hits", and part of the available content is of niche appeal, i.e. so-called "long-tail", it can be difficult to gather enough user behavior data by the collabora- tive filtering methods to make reliable recommendations to any of the long-tail content.
The collaborative filtering methods overall tend to work best for content catalogs that are relatively stable (in terms of available content) and in which most users' interest is concentrated around similar content items. The preceding drawbacks have limited significantly the possibilities to provide services that sufficiently accommodate the different kind of preferences of users since making recommendations for these kinds of mass-market purposes paradoxally seems to least utilize the possibilities of leveraging vast content catalogs for offering each user content uniquely matching their individual preferences. Summary
Therefore, one object of the invention is to withdraw the above-mentioned drawbacks and provide a method, which uses versatility massive data amount relating to data contents in order to recommend intresting data contents to a user having unique concerns. The object of the invention is fulfilled by providing a method of claim 1 , an apparatus of claim 13, a computer program of claim 14, and a carrier medium of claim 15.
An embodiment of the invention relates to a method of claim 1 .
In addition, an embodiment of the invention relates to an apparatus of claim 13.
Also, an embodiment of the invention relates to a computer program of claim 14. Furthermore, an embodiment of the invention relates to a carrier medium of claim 15.
Further embodiments of the invention are defined in dependent claims.
According to an embodiment of the invention a method for providing a recommendation relating to a data content to a first user, who has certain concerns, in a communication network, which method comprises steps of obtaining definitions describing the data content, associating the definitions describing the data content with the data content, and providing the recommendation relating to the data content to the first user by the associated definitions describing the data content and preference information of the first user. The term "recommendation" refers to information that presents to a user something what the user can utilize and what the user has not exactly ordered or indicated. The recommendation can be in accordance with user's preferences and it can be. e.g. a single indication about a data content, several indications about different data contents, a random or prioritized list of data contents, or a collection of data contents. The indication, which can enable an access to the data content, can be provided e.g. by means of at least one of the followings: text, figure, Internet link, purchase button, and icon.
The term "data content" refers to information comprising e.g. at least one of the followings: text document, figure information, piece of music or movie, music album, television program, computer game, Internet page, Internet bookmark, computer application program, or some service that a user can utilize. The data content can comprise several items, such as a music album having several music pieces, or a movie or TV series, e.g. the Star Wars movie series, having several episodes.
The term "communication network" refers to a network that comprises e.g at least one of the followings: Internet, an intranet of a company, and mobile network.
The term "definitions" refers to several definitions that describe a single data content and those can comprise e.g. discrete attributes and/or free form sentences or comments relating to the data content. The definitions are metadata elements describing the substance of data content, e.g. metadata tags used by IMDB.com to describe movies, metadata tags used by IDv3 standard and MusicBrainz.org to describe music, and IPTC tags used to describe images. In case of movies, the definitions would typically comprise metadata on aspects such as genre, plot, scene, time of event, performer(s) of the performance, background of a story, director, composer, and so on. Some of definitions may follow a XML or RDF schema, or they may follow domain-specific metadata conventions.
The term "preference information" refers to information that reveals concerns of a user. Main types of "preference information" comprise e.g. at least one of the followings: user's explicit indication of like or dislike of a specific content item, user's explicit rating of a content item, user's explicit indication of like or dislike of a spe- cific content item due to a content item having a specific definition characterizing the content item, user's implicit indication of like or dislike of a content item group due to content items sharing at least one specific definition characterizing the group of content items, user's explicit subjective statement relating to at least one content item, user's explicit subjective statement relating to at least one definition characterizing at least one content item, user's explicit confirmation or disconfirma- tion of a subjective statement describing at least one content item, and user's explicit confirmation or disconfirmation of a subjective statement describing at least one definition related to at least one content item. According to an embodiment of the invention an apparatus operable in a communication network for providing a recommendation relating to a data content to a first user, which apparatus can be a single apparatus or a group of apparatuses, and which apparatus comprises an obtaining processor configured to obtain definitions describing the data content, an associating processor configured to associate the definitions describing the data content with the data content, and a providing processor configured to provide the recommendation relating to the data content to the first user by the associated definitions describing the data content and preference information of the first user. The apparatus can be e.g. a server computer or a group of computers capable of executing the aforesaid tasks. The obtaining processor, associating processor, and providing processor that belong to the apparatus can be a same one processor or those can form the group of processors, which comprises two or more processors.
According to an embodiment of the invention a computer program that comprises code means configured to perform a method for providing a recommendation relat- ing to a data content to a first user in a communication network, which method comprises steps of obtaining definitions describing the data content, associating the definitions describing the data content with the data content, and providing the recommendation relating to the data content to the first user by the associated definitions describing the data content and preference information of the first user when the computer program is run in a computer.
According to an embodiment of the invention a carrier medium comprising a computer program that comprises code means configured to perform a method for providing a recommendation relating to a data content to a first user in a communication network, which method comprises steps of obtaining definitions describing the data content, associating the definitions describing the data content with the data content, and providing the recommendation relating to the data content to the first user by the associated definitions describing the data content and preference information of the first user when the computer program is run in a computer.
The method according to embodiments of the invention provides convenient tools for efficiently searching for desired content, organizing content in intuitive means, and filtering most relevant content for easy access.
In addition, the method according to embodiments of the invention enables to provide user interfaces that allow users to conveniently discover and filter massive amounts of digital content, and it is especially suited for use in context of media and information rich Internet services. Furthermore, the method according to embodiments of the invention seeks to retain the strengths of collaborative filtering methods, yet improve in systems capability to learn users' individual preferences, as well as capability to distinguish which of other users' actions are most relevant when making recommendations for a specific user. The verb "to comprise" is used in this document as an open limitation that neither excludes nor requires the existence of also unrecited features. The verbs "to include" and "to have/has" are defined as to comprise.
The terms "a", "an" and "at least one", as used herein, are defined as one or more than one and the term "plurality" is defined as two or more than two. The term "another", as used herein, is defined as at least a second or more.
The term "or" is generally employed in its sense comprising "and/or" unless the content clearly dictates otherwise.
For the above-mentioned defined verbs and terms, these definitions shall be applied, unless a different definition is given in the claims or elsewhere in this de- scription/specification.
Finally, the features recited in the depending claims are mutually freely combin- able unless otherwise explicitly stated.
Brief description of the drawings
Next, the preferred embodiments of the invention will be described with reference to the accompanying drawings, in which figure 1 illustrates an exemplary flowchart of a method according to an embodiment of the invention that relates to a TV program application,
figures 2a-2b illustrate exemplary views of screenshots according to an em- bodiment of the invention that relates to a TV program application, and
figure 3 illustrates an exemplary view of an apparatus according to an embodiment of the invention.
Detailed description In figure 1 that illustrates a flowchart describing a method 100 according to the embodiment of the invention a computer, which executes at least part of the method 100, i.e. an application, is turned on and necessary stages such as set up definitions for applications including the service application and connections, and different parameters' initialization relating to connections before the method im- plementation are provided during the method start-up in step 1 10. Furthermore, this step can comprise displaying a main view of a user interface of the service application, e.g. a www site or an application window, that the computer provides on its display or a display of another device.
According to an embodiment of the invention a method for providing a recommen- dation relating to a data content to a first user in a communication network, the method comprises steps of obtaining definitions describing the data content, associating the definitions describing the data content with the data content, and providing the recommendation relating to the data content to the first user by the associated definitions describing the data content and preference information of the first user.
Let's assume that the service application is a TV program application, e.g. a TV program guide, that is adapted to discover from the Internet a TV program (data contents), which is in accordance with user's taste and recommend it to this user so that he/she can watch or record the recommended TV program when it is shown. On the other hand, the application could be a game application that recommends computer games that comply with the user's preferences and provides links so that the user can play or order the recommended games through the Internet. When it is an old user in question, the TV program application has preference information relating to the old user in its memory, but when there is a new user in question, the application defines his/her preference information by asking. Thus, in step 120 the application provides a view of the displayed user interface where the 5 new user can specify his/her concerns through the user interface by simply indicating whether he/she likes or dislikes features, which are brough to under new user's review, whereupon the program application is able to define his/her preferences. There is signs, e.g. a thumb upwards (tip) and a thum downwards (skip), in context of each features and the user is able to click a thumb which indicates his/her opini o ion about a feature. These signs can also be simple "yes" and "no" buttons.
Features can be attributes that determine a genre of data contents, e.g. "action", "comedy", "western", or "love story". Furhermore, the attributes can comprise e.g. actors' names such as "Penelope Cruz", "Gwyneth Paltrow", and "Leonardo Di- Caprio", or names of places or events such as "Little big Horn", "Helsinki", "World 15 war II", and "Olympic games". On the other hand, the features can be statements, e.g. "Clint Eastwood is cool", "Tom Cruise sucks", "first parts are usually better than subsequent parts", "James Bond rules", and "I like Italian spagetti westerns".
In some cases the attributes can have relations between them. For example, many XML schemas define attributes so that they have a predefined hierarchical rela-
20 tionship. If this relationship is known, a "parent" attribute can inherit, e.g. by averaging, the values of its "child" attributes. In other cases, represented by e.g. RDF metadata, one content item, such as a television show episode, can belong to another class of a content, e.g. a television series, and due to that relationship the attributes describing the "parent" class (in the example, the television series) also re-
25 fleet the content item (in the example, the episode of the series).
It should be noted that the amount of potential attributes and attribute statements that could be presented for a user is very considerable. A part of the method according to an embodiment of the invention is a prioritization logic, where only selected ones of all these potential statements are selected for a presentation to the 30 user.
Lets take as an example movie called "Original Sin", a mystery romance thriller in which its plot is set in a historical Latin America, starring Antonio Banderas and Angelina Jolie. Furthermore, lets assume that an analysis of the previous likes of all users and all movies indicates that some users have strong tendency to like 35 movies, where Antonio Banderas is starring, and other users have strong ten- dency to like movies, where Angelina Jolie is starring. Yet another group of users likes mystery thrillers, and yet one more group likes movies in which a setting of a movie is historical.
Now, user Alice has indicated that she likes the above-mentioned Original Sin. That piece of information could perhaps be interpreted in generalized way to mean that Alice also likes other movies with Antonio Banderas starring, or with Angelina Jolie starring, or other mystery thrillers, or movies in historical setting. However, many of these preceding generalized interpretations are not quite true in the case of Alice and even some of these generalized interpretations are frankly misleading. Therefore, it is advantageous to notice in advance that there are multiple alternative causes that could explain why a specific person would like Original Sin, and then, depending on how well the recommendation system knows the preferences of that specific person, ask further clarifications on selected ones of these interpretations. Continuing the Original Sin" example, since the two most important reasons to like Original Sin are the main actor and actress, and since the recommendation system does not already know Alice's preference with regard to either of them, the recommendation system could present statements, such as "Antonio Banderas is so handsome" and "Angelina Jolie is gorgeous", as reasons to like this movie for Alice's reaction. Then, Alice could confirm e.g. the first one of the statements, if she likes Antonio Banderas, and ignore the second statement, if she has not a strong opinion one way or another about Angelina Jolie, and the recommendation system accordingly would update Alice's profile to indicate that movies in which Antonio Banderas is starring are favored by her. The statistical analysis based on which the clarifying statements are selected among all possible ones can be based on an application of Bayesian inference. Other methods, such as neural networks or fuzzy logic, could also be applied.
According to an embodiment of the invention the method, which is disclosed in any of the previous embodiments, further comprises a step of providing the preference information of the first user, which preference information comprises information about preferences of the first user.
So, in step 120, if the new user likes westerns, especially the ones where Clint Eastwood plays, and thinks that subsequent parts use to be worse than a first original movie, he/she indicates his/her opinion by clicking the thumb upwards of the "action", "western", "Clint Eastwood is cool", "first parts are usually better than subsequent parts", and "I like Italian spagetti westerns" features. Consequently, the TV program application can conclude due to the thumb upwards features that the new user at least likes westerns, particularly the Italian spaghetti westerns, Clint Eastwood, and first parts, and it sets this information as user's preference information. The application can also set information relating to unpleasant features into the user's preference information when it concludes that the new user does not like love stories, Tom Cruise, and James Bond movies if he/she has clicked the thumb downwards buttons of the corresponding features. The TV program application can also define new user's preferences so that the new user writes his/her concerns on a free text field of the user interface, whereupon the application picks up keywords from the user's response and determines by means of the keywords the user's preference information. This free-form expression of preferences can also happen as an integrated part of a user recom- mendating a program to another program by using, e.g. sharing capability of a social networking service. In this case, the free-form input that presents system analyzes would be a message that the user adds to a shared content intended for his/her social peers. It is also possible that the application utilizes both the unambiguous inquiry with the thumbs and the free text in order to explain the prefer- ences.
According to an embodiment of the invention the method, which is disclosed in any of the previous embodiments, further comprises a step of providing the preference information of the first user by at least one of following: receiving the preference information from the first user, determining the preference information of the first user by exposing data contents to estimations of the first user, and determining the preference information of the first user on the grounds of preference information of a second user.
One option to obtain the preference information can be representing e.g. mere titles or short introductions of a group of programs, which have metadata compris- ing previously completed (and associated) definitions and the opinion thumbs, to the new user, whereupon the user can represent whether he/she likes or not a proposed program by the opinion thumbs and the application can form user's preference information on the grounds of the clicked thumbs.
According to an embodiment of the invention the method, which is disclosed in any of the previous embodiments, comprises a step of determining the preference in- formation of the first user by the data contents having obtained definitions describing the data contents.
The TV program application can also utilizes a social network of the new user for obtaining his/her preferences. When the new user introduces himself/herself so that the application is able to identify the user, it starts to untangle user's social network by means of the Internet, e.g. through Facebook or Twitter, e.g. through an association to user's Facebook or Twitter account, and social connections information contained there. Since user's social network, i.e. acquaintances in the social network, is untangled, the application defines persons from the group of the acquaintances in the social network that have stored preference information and selects among these persons most suitable person, e.g. by means of gender, age, occupation, hobbies, and place of residence, whose preference information is copied as preference information for the new user.
Secondly, the application is capable of recognizing if user's social network com- prises a person who actively utilizes the application and provides comments and analysis relating to the TV programs in the application and/or Internet. This kind of active person is also a possible choice for a most suitable person even if at least one of his/her gender, age, occupation, hobbies, and place of residence differs from user's corresponding data. It is also possible that the application recognizes if the user significantly gives his/her approval to programs having a certain feature when using the service, and it can put weighting to that certain feature in order to improve the ranking of said feature in a recommendation list.
These above-mentioned manners how the application obtains a knowledge or forecast about the user's preferences can be utilized alone or together with other options in order to obtain new user's preference information or update the old user's profiles.
During step 130, the TV program application searches for forthcoming TV programs concerning a next fortnight from e.g. its own data base, data base of an- other computer, or the Internet overall.
According to an embodiment of the invention the method, which is disclosed in any of the previous embodiments, further comprises a step of searching for the data content from the communications network. Next, in step 140 when the TV program application has discovered relevant TV programs, it obtains definitions that describe contents of the forthcoming programs concerning the next fortnight. It can generate the definitions by oneself on the grounds of relevant data found from the Internet that can be. e.g. introductions or viewer's comments relating to the programs. The program application identifies the introductions and viewer's comments and selects from the relevant data at least two suitable keywords as definitions that describe a content of a program.
For example, the forthcoming movies comprise westerns called "The good, the bad, and the ugly" and "A fistful of dollars", whereupon the program application examines movie introductions from a movie data base and generates keywords "western", "Italian spaghetti western", and "Clint Eastwood" to "The good, the bad, and the ugly" as its definitions, and the aforesaid keywords and "first part" to "A fistful of dollars" as definitions describing said film on the basis of the movie introductions. Naturally, the program application generates definitions for other forth- coming programs and films at the same time.
According to an embodiment of the invention the method, which is disclosed in any of the previous embodiments, wherein the definitions describing the data content are generated from attributes and/or statements.
Alternatively, the TV program application can obtain the definitions by means of another software adapted to harvest and provide definitions or it can retrieve the definitions from a data base comprising harvested definitions relating to the programs.
There is also other manners to obtain the definitions, especially when a TV program is so new that the application is unable to discover any introductions or comments.
For example, the application can utilize completed definitions of a known TV program or other data content that seems to be similar when comparing the titles by copying the definitions of the known program or other data content as definitions of the unknown program. It is also possible that the application exposures the un- know program for a prereview of e.g. a certain predetermined user or user group that represents opinion about the program content by means of the thumbs. Consequently, the application gathers opinion information and generates the definitions on the basis of it. According to an embodiment of the invention the method, which is disclosed in any of the previous embodiments, comprises a step of obtaining the definitions describing the data content by at least one of following: using definitions of other data content as the definitions describing the data content and determining the defini- tions describing the data content by exposing the data content to an estimation of the first user or other user comprising the second user.
The TV program application can be capable of weighting definitions when it notices that the user favours a certain feature in programs. Consequently, it puts weight to a certain definition, which might cause changes when programs are ranked in order to provide a recommendation list to the user. It is also possible that the definitions are weighted according to active person, who is interested in and active concerning certain type of programs, e.g. westerns or historical documents. Then, the application puts more weight to active person's opinions (thumbs) relating this particular program type. According to an embodiment of the invention the method, which is disclosed in any of the previous embodiments, comprises a step of weighting the definitions describing the data content, which the other user has provided, in order to improve a correspondence between the definitions describing the data content and the preference information of the first user. If the searched programs have already metadata comprising one or more existing definition, these definitions are perceived when the application generates a set of definitions for a TV program.
According to an embodiment of the invention the method, which is disclosed in any of the previous embodiments, comprises a step of taking into account the defini- tions, which describe the data content and which are associated with the data content.
The obtained definitions are associated with the forthcoming programs in step 150.
Preceding steps 130-150 can also be executed before or during step 120, or throughout during the method. If there is the application or user based need for updating the user's preference information in step 160, the method returns to step 120. In addition, the method resumes to step 130, if the application or user finds out in step 165 that more TV programs should be harvested. In step 170, the TV program application determines how the user's preference information that specifies particularly the user's concerns matches the definitions of the searched contents. Both "A fistful of dollars" and "The good, the bad, and the ugly" squares with the user's requirements relating to keywords "western", "Italian spaghetti western", and "Clint Eastwood", but "A fistful of dollars" matches better to the user's preference since according to the user subsequent film parts used to be worse than a first movie and "A fistful of dollars" is the first film of the Sergio Leones "Dollars trilogy".
According to an embodiment of the invention the method, which is disclosed in any of the previous embodiments, comprises a step of providing the recommendation relating to the data content to the first user when the associated definitions of the second user describing the data content are similar to preference information of the first user.
Alternatively, the program application can provide a recommendation list where recommended TV programs, which have metadata comprising the associated definitions, are in a random order or they are arranged in prioritized order depending how well a program matches the user's preferences. In the above-mentioned embodiment "A fistful of dollars" is put on the first place on the recommendation list and "The good, the bad, and the ugly" on the second place. It is also worth noting that the method according to an embodiment of the invention can prioritize search results so that personally most relevant hits are presented first for the user. Thereby, e.g. when user A is searching for "action" (a search term that matches great many content items) he gets westerns, which are well matched to his/her preferences, but user B, for one, is getting different results for the same search term out of same content choices because user B's preferences with regard to content items that belong to "action" emphasize different other attributes, e.g. spy stories in which Tom Cruise is a star. Thus, users can use very simple and sparse search terms, which are quick and easy to give as input, and yet receive results that are personally meaningful. According to an embodiment of the invention the method, which is disclosed in any of the previous embodiments, comprises a step of prioritizing recommendations comprising the recommendation relating to the data content depending how the associated definitions describing the data content match with the preference information of the first user. Anyhow, the program application recommends mere "A fistful of dollars" or the (prioritized) recommendation list to the user and displays the recommendation in step 180. The recommendation can comprise a link so that the user can click the link in order to view or record the recommended content. The program application can cluster the recommendations in view of program categories in this step or in context of the previous step if it is adapted to provide recommendations in different program categories. Such program categories can be e.g. movies, documents, and sport broadcasts.
Also, the recommendation comprises the opinion thumbs upwards and downwards and possibly a free text box so that the user can represent his/her opinion about the recommended content after he/she has viewed it, whereupon the application receives more information about user's preferences by means of the thumbs and free text statements.
According to an embodiment of the invention the method, which is disclosed in any of the previous embodiments, further comprises a step of displaying the recommendation relating to the data content to the first user by a display of first user's device that can be e.g. a table computer, laptop, palmtop, mobile phone, or smart phone.
In step 190 the recommendation method is ended. Figures 2a and 2b shows screenshoots from a TV program application that has provided recommendation lists relating to different program categories for a user.
In figure 2a a view 210 shows how the program application has provided four horizontal recommendations lists 220a-220d for four different program categories, such as movies, TV series, documents, and programs for children, concerning next week's forthcoming programs. Recommended programs 230 has been arranged so that a program, which suits best for user's interests inside the program categories, locates on the left in a column 240a, second best program in a column 240b, and next programs in a prioritized order in columns 240c-240e. For example, the program application primarly recommends in the movie category to the user a movie called "Bridget Jones: The edge of reason" (in English) 230a.
Moreover, the recommendations lists (i.e. program categories) 220a-220d can also be arranged vertically in a prioritized order according to the user's interests so that a most suitable category locates on the top of the program categories. Consequently, a most recommendable program for the user locates on the upper cor- ner on the left. Naturally, a program layout regarding the recommendations lists can also be provided other way, e.g. by placing the recommendations lists vertically so that the prioritized order starts from above.
Short summaries of the recommended programs in the recommendation lists 220a-220d consist of e.g. a title of the program, information relating to a channel, e.g. logo or other identifiable sign, that shows a recommended program 220a- 220d, showtime, short synopsis or part of the synopsis, and thumbs upwards and downwards 250a, 250b in order to enable the user to indicate his/her opinion relating to the recommended programs 230. Since the user has clicked in figure 2b by means of a suitable key, place on a touch screen or touch pad, or mouse of his/her apparatus, which provides a user interface of the program application, a short summary 230a concerning the recommended Bridget Jones movie on the upper corner on the left, the program application opens a pop-up window 260 comprising the aforesaid information in the short summary and, in addition, e.g. an enlarged synopsis 262, thumbs 264a-264d for indicating a user's opinion relating to statements generated by the program application that statements help the program application to determine user's interests more detailed way than a simple user's tip or skip verdict by the thumbs 250a, 250b in the recommendation list 220a as one can remember from the Original Sin" example. Furthermore, the pop-up window 260 can comprise simple tip and skip thumbs 266a, 266b corresponding with the thumbs 250a, 250b, a Facebook link 266c for sharing information that the user likes at least this particular Bridget Jones movie on his/her Facebook profile, and a calendar link 266d for providing a calendar note concerning the movie into a user's calendar. Moreover, the pop-up window 260 can comprise a button (link) for giving a recording command to the program guide so that the user can store the movie to a suitable place, e.g. a hard disk of a computer, DVD player, or set-top box.
The program application can also be configured to work in conjunction with a content storage device or service. In these cases, the user can also store the content items corresponding to the provided recommendations for later consumption or other usage. This functionality could be initiated manually, e.g. so that user would specifically indicate his/her wish for a specific recommended item to be stored, or semi-automatically, whereupon e.g. the content items, which recommendations exceed a certain recommendation score set by the user, are stored automatically, or a set number of the content items selected by having the highest recommendation scores are automatically stored. This configuration is especially useful when the recording and storage service is performed by e.g. a so-called "network-PVR" (network personal video recorder) service, i.e. a recording service provided as a network service, whereupon the user controls the used recording service through the TV program application. Next, another embodiment of a method according to the invention is described clearly from a viewpoint of a program application that can be in this case a music application, which is adapted to recommend a music piece or whole music album of an artist to users using the application through their devices.
The application simply defines a attribute list relating to music genres, such as pop, rock, hip hop, dance music, country etc., for profile vectors where each index corresponds to one music genre attribute.
Then, the application receives user's registration and adds a new registered user into its user database and initializes user profile vectors for the new registered user (user_profile) with estimated values from 0 to 1 indicating how much the reg- istered user likes a corresponding music genre attribute, e.g. [0.9, 0.8, 0.1 , 0.4, 0.3]. The initial estimation can be based on asking the user of his/her preference to each of the music genre attributes. Other methods for the initial estimation comprises, but are not limited to, observing user behavior while providing recommendations based on a generic user profile or using initial profile based on profiles of socially connected other users.
If a music database of the application do not comprise any music pieces, the application subsequently adds music pieces to its music database and initializes music piece profile vectors {piece_profile) with estimated values from 0 to 1 indicating how much the music piece corresponds to each attribute, e.g. [0.1 , 0.9, 0.0, 0.0, 0.0], for each of the added music pieces. The estimation can be based on corresponding values in existing databases, e.g. data sources that provide a semantic classification of content items. Such used data sources can be e.g. Freebase.com, MusicBrainz, or dbpedia.org. In practice, the application continuously searches for new music pieces that do not exist in the music database from the Internet for add- ing those into to its database, initializes music piece profile vectors for each new discovered music piece, and updates the already existing music piece profile vectors in the database.
The application collects non-stop user's interest to different music pieces from user's actions and updates the user and music piece profiles as follows: user_profile+=a *(piece_profile-user_profile) and
piece_profile+=b*(user_profile-piece_profile), where a and b are scaling constants, e.g. a=0.1 and b=0A .
After updating the user and music piece profiles, the lengths of said profile vectors are scaled back to unity: user_profile=user_profile/luser_profilel and
piece_profile=piece_profile/lpiece_profilel.
The similarity of the user profile and music piece profile can be evaluated using a distance metric, alternatives comprising e.g. first, second, or infinite order distance of the profile vectors, or the dot product of the profile vectors: user_profile *piece_profile.
The similarity of the user profile and music piece profile can then be multiplied with the sum of the similarities of the music piece and the users, who have indicated to be interested in the music piece for providing a recommendation estimate for the user u and music piece p that is weighted with the similarity of each recommending user with the piece p or the user u:
R *Up=user_profileu *piece_profilep *[ 1 +SUM(i){user_profilej *user_profileu} ], where /' goes through all the users who have indicated interest to corresponding music piece p. Then, the application may utilize user's social network in order to provide the music piece or album recommendation by weighting user's friends and calculating recommend value f?**for each user-piece pair according to the below for user u and music piece p:
R**up=user_profileu *piece_profilep *[1+SUM(i){w(u )*user_pro where w(u,i) is a weight value, which is defined as constant e.g. 0.5 for the friends and e.g. 0.1 for the other users.
The knowledge or activity of each recommending user can then be regarded by weighting the recommendation {w(u,i)*user_profile *user_profileu) with the factor n, which relates to the total number of user /' recommendations/interests n(i)=sqrt(total number of user i recommendations) producing the version for recommendation value estimate of music piece p to user u
Rup=user_profileu *piece_profilep*[1+SUM(i){n(i) *w(u,i) *user_profile *user_profileu}]
After the application has obtained recommend values Rup for each user-piece pair, it sorts all the music pieces and/or albums on the basis of f?-value and print the sorted list.
Yet, an embodiment of a method according to the invention can be further improved by adjusting all the weights of the user profile vectors and piece profile vectors based on a recommendation system's confidence on having a reliable esti- mate on those values. As a simple implementation example, profile vector values for which there is no user input (confirmation or disconfirmation) would be adjusted by confidence weight 0.25, and profile vector values, which the user has explicitly confirmed would be adjusted by confidence weight 1 .0. With regard to previous implementation example, this confidence weighting adjustment step would be done next after the profile vectors have been scaled back to unity.
More complex weighting rules based on statistical confidence estimations can be applied as well. In some implementation cases confidence weight value of zero can be used to indicate profile aspects which should be ignored in determining suitable recommendations for specific users or specific pieces of a content. Figure 3 presents a computer 300 according to an embodiment of the invention, which provides recommendations to users in view of the their preferences.
The computer 300, which can be any computer capable of communicating with other computers in the Internet, comprises a processor 310 for performing instructions and handling data. It can also include several processors adapted to perform the aforesaid method steps. There is naturally a memory 320 for storing data such as instructions, user interface data 322 for providing a user interface of the computer, application data relating to an application configured to provide recommendations to users 324, and stored user information 326. In addition, the computer 300 has a user interface 330 comprising at least a keyboard or touch screen for enabling a user of the computer to input data, a display 340, and data transfer means 350 for sending and receiving data through wireless and wired connections. It is also possible that the apparatus providing a method according to an embodiment of the invention comprises a group of computers, whereupon each computer executes its own predetermined part so that the computer system gathers information and provides recommendations on the grounds of the gathered information. Multiple computers offers increasing amount of computing efficiency and memory space.
According to an embodiment of the invention an apparatus operable in a communication network for providing a recommendation relating to a data content to a first user, the apparatus comprises an obtaining processor configured to obtain definitions describing the data content, an associating processor configured to associate the definitions describing the data content with the data content, and a providing processor configured to provide the recommendation relating to the data content to the first user by the associated definitions describing the data content and preference information of the first user. According to an embodiment of the invention the apparatus, which is disclosed in any of the previous embodiments, further comprises a preference processor that is configured to provide the preference information of the first user, which preference information comprises information about preferences of the first user.
According to an embodiment of the invention the apparatus, which is disclosed in any of the previous embodiments, further comprises the preference processor configured to provide the preference information of the first user by at least one of following: receiving the preference information from the first user, determining the preference information of the first user by exposing data contents to estimations of the first user, and determining the preference information of the first user on the grounds of preference information of a second user.
According to an embodiment of the invention the apparatus, which is disclosed in any of the previous embodiments, comprises a determining processor that is configured to determine the preference information of the first user by the data contents having obtained definitions describing the data contents. According to an embodiment of the invention the apparatus, which is disclosed in any of the previous embodiments, further comprises a searching processor configured to search for the data content from the communications network. According to an embodiment of the invention the apparatus, which is disclosed in any of the previous embodiments, wherein the definitions describing the data content are generated from attributes and/or statements.
According to an embodiment of the invention the apparatus, which is disclosed in any of the previous embodiments, comprises the obtaining processor configured to obtain the definitions describing the data content by at least one of following: using definitions of other data content as the definitions describing the data content and determining the definitions describing the data content by exposing the data content to an estimation of the first user or other user comprising the second user. According to an embodiment of the invention the apparatus, which is disclosed in any of the previous embodiments, comprises a weighting processor configured to weight the definitions describing the data content, which the other user has provided, in order to improve a correspondence between the definitions describing the data content and the preference information of the first user. According to an embodiment of the invention the apparatus, which is disclosed in any of the previous embodiments, comprises a accommodating processor configured to take into account the definitions, which describe the data content and which are associated with the data content.
According to an embodiment of the invention the apparatus, which is disclosed in any of the previous embodiments, comprises the providing processor configured to provide the recommendation relating to the data content to the first user when the associated definitions of the second user describing the data content are similar to preference information of the first user.
According to an embodiment of the invention the apparatus, which is disclosed in any of the previous embodiments, comprises a prioritizing processor configured to prioritize recommendations comprising the recommendation relating to the data content depending how the associated definitions describing the data content match with the preference information of the first user.
According to an embodiment of the invention the apparatus, which is disclosed in any of the previous embodiments, further comprises a displaying processor configured to display the recommendation relating to the data content to the first user by a display of first user's device. The invention has been now explained above with reference to the aforesaid embodiments and the several advantages of the invention have been demonstrated. It is clear that the invention is not only restricted to these embodiments, but comprises all possible embodiments within the spirit and scope of the invention thought and the following patent claims.

Claims

Claims
1 . A method for providing a recommendation relating to a data content to a first user in a communication network, the method comprises obtaining definitions describing the data content, associating the definitions describing the data content with the data content, and providing the recommendation relating to the data content to the first user by the associated definitions describing the data content and preference information of the first user.
2. The method of claim 1 , which further comprises providing the preference information of the first user, which preference information comprises information about preferences of the first user.
3. The method of claim 1 or 2, which comprises providing the preference information of the first user by receiving the preference information from the first user, determining the preference information of the first user by exposing data contents to estimations of the first user, or determining the preference information of the first user on the grounds of preference information of a second user.
4. The method of claim 3, which comprises determining the preference information of the first user by the data contents having obtained definitions describing the data contents.
5. The method of any of preceding claims, which further comprises searching for the data content from the communications network.
6. The method of any of preceding claims, wherein the definitions describing the data content are generated from attributes or statements.
7. The method of any of preceding claims, which comprises obtaining the definitions describing the data content by using definitions of other data content as the definitions describing the data content or determining the definitions describing the data content by exposing the data content to an estimation of the first user or other user comprising the second user.
8. The method of claim 7, which comprises weighting the definitions describing the data content in order to improve a correspondence between the definitions de- scribing the data content and the preference information of the first user.
9. The method of any of preceding claims, which comprises taking into account the definitions, which describe the data content and which are associated with the data content.
10. The method of any of preceding claims, which comprises providing the rec- ommendation relating to the data content to the first user when the associated definitions of the second user describing the data content are similar to preference information of the first user.
1 1 . The method of any of preceding claims, which comprises prioritizing recommendations comprising the recommendation relating to the data content depend- ing how the associated definitions describing the data content match with the preference information of the first user.
12. The method of any of preceding claims, which further comprises displaying the recommendation relating to the data content to the first user by a display of first user's device.
13. An apparatus configured to perform the method of any of claims 1 -12.
14. A computer program configured to perform the method of any of claims 1 -12 when the computer program is run in a computer.
15. A carrier medium comprising the computer program of claim 14.
EP10846018.9A 2010-02-19 2010-02-19 Method for providing a recommendation to a user Withdrawn EP2537272A4 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FI2010/050115 WO2011101527A1 (en) 2010-02-19 2010-02-19 Method for providing a recommendation to a user

Publications (2)

Publication Number Publication Date
EP2537272A1 true EP2537272A1 (en) 2012-12-26
EP2537272A4 EP2537272A4 (en) 2013-07-03

Family

ID=44482475

Family Applications (1)

Application Number Title Priority Date Filing Date
EP10846018.9A Withdrawn EP2537272A4 (en) 2010-02-19 2010-02-19 Method for providing a recommendation to a user

Country Status (2)

Country Link
EP (1) EP2537272A4 (en)
WO (1) WO2011101527A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150046100A (en) 2012-08-10 2015-04-29 뉘앙스 커뮤니케이션즈, 인코포레이티드 Virtual agent communication for electronic devices
US9659298B2 (en) 2012-12-11 2017-05-23 Nuance Communications, Inc. Systems and methods for informing virtual agent recommendation
EP2912567A4 (en) * 2012-12-11 2016-05-18 Nuance Communications Inc System and methods for virtual agent recommendation for multiple persons
US9148394B2 (en) 2012-12-11 2015-09-29 Nuance Communications, Inc. Systems and methods for user interface presentation of virtual agent
US9679300B2 (en) 2012-12-11 2017-06-13 Nuance Communications, Inc. Systems and methods for virtual agent recommendation for multiple persons
US9262175B2 (en) 2012-12-11 2016-02-16 Nuance Communications, Inc. Systems and methods for storing record of virtual agent interaction
US9276802B2 (en) 2012-12-11 2016-03-01 Nuance Communications, Inc. Systems and methods for sharing information between virtual agents
US9560089B2 (en) 2012-12-11 2017-01-31 Nuance Communications, Inc. Systems and methods for providing input to virtual agent
US20170017501A1 (en) 2013-12-16 2017-01-19 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
CN106709076B (en) * 2017-02-27 2023-09-29 华南理工大学 Social network recommendation device and method based on collaborative filtering
CN107515896A (en) * 2017-07-17 2017-12-26 阿里巴巴集团控股有限公司 A kind of resource recommendation method, device and equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6029195A (en) * 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
EP1193976A2 (en) * 2000-09-29 2002-04-03 Gist Communications, Inc. Method and system for creating and presenting a recommendation-based guide to television viewing choices
US20020199186A1 (en) * 1999-12-21 2002-12-26 Kamal Ali Intelligent system and methods of recommending media content items based on user preferences
US20070061331A1 (en) * 2005-09-14 2007-03-15 Jorey Ramer Presenting sponsored content on a mobile communication facility
US20070078832A1 (en) * 2005-09-30 2007-04-05 Yahoo! Inc. Method and system for using smart tags and a recommendation engine using smart tags
WO2009114134A2 (en) * 2008-03-13 2009-09-17 United Video Properties, Inc. Systems and methods for synchronizing time-shifted media content and related communications

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020162101A1 (en) * 2001-04-27 2002-10-31 Koninklijke Philips Electronics N.V. Method of and apparatus for enabling recommendations to be made to users of entertainment receivers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6029195A (en) * 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
US20020199186A1 (en) * 1999-12-21 2002-12-26 Kamal Ali Intelligent system and methods of recommending media content items based on user preferences
EP1193976A2 (en) * 2000-09-29 2002-04-03 Gist Communications, Inc. Method and system for creating and presenting a recommendation-based guide to television viewing choices
US20070061331A1 (en) * 2005-09-14 2007-03-15 Jorey Ramer Presenting sponsored content on a mobile communication facility
US20070078832A1 (en) * 2005-09-30 2007-04-05 Yahoo! Inc. Method and system for using smart tags and a recommendation engine using smart tags
WO2009114134A2 (en) * 2008-03-13 2009-09-17 United Video Properties, Inc. Systems and methods for synchronizing time-shifted media content and related communications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO2011101527A1 *

Also Published As

Publication number Publication date
WO2011101527A1 (en) 2011-08-25
EP2537272A4 (en) 2013-07-03

Similar Documents

Publication Publication Date Title
US10853415B2 (en) Systems and methods of classifying content items
US11151145B2 (en) Tag selection and recommendation to a user of a content hosting service
EP2537272A1 (en) Method for providing a recommendation to a user
Choi et al. A movie recommendation algorithm based on genre correlations
CN104317835B (en) The new user of video terminal recommends method
US9654834B2 (en) Computing similarity between media programs
Zhang et al. Collaborative filtering recommendation algorithm based on user preference derived from item domain features
KR101588814B1 (en) Media-based recommendations
US10255353B2 (en) Individualized detailed program recommendations with active updating of viewer preferences
US9369514B2 (en) Systems and methods of selecting content items
JP4370850B2 (en) Information processing apparatus and method, program, and recording medium
US20140074828A1 (en) Systems and methods for cataloging consumer preferences in creative content
US20080260253A1 (en) Information Processing Apparatus, Feature Extraction Method, Recording Media, and Program
KR20110066168A (en) System and method for playlist generation based on similarity data
CA2788733A1 (en) Method and system for need fulfillment
CN102265276A (en) Context-based recommender system
Qumsiyeh et al. Predicting the ratings of multimedia items for making personalized recommendations
US20190007734A1 (en) Video channel categorization schema
JP2007058842A (en) Information processor, feature extraction method, recording medium, and program
Barragáns-Martínez et al. Developing a recommender system in a consumer electronic device
JP2005352754A (en) Information navigation device, method, program, and recording medium
Liu et al. QA document recommendations for communities of question–answering websites
Hölbling et al. Content-based tag generation to enable a tag-based collaborative tv-recommendation system.
Bellekens et al. User model elicitation and enrichment for context-sensitive personalization in a multiplatform TV environment
Wang et al. Exploiting content relevance and social relevance for personalized ad recommendation on internet TV

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20120917

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
A4 Supplementary search report drawn up and despatched

Effective date: 20130605

RIC1 Information provided on ipc code assigned before grant

Ipc: H04H 60/65 20080101ALI20130529BHEP

Ipc: H04H 60/46 20080101AFI20130529BHEP

Ipc: H04H 60/74 20080101ALI20130529BHEP

Ipc: G06F 17/30 20060101ALI20130529BHEP

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20140103