WO2015153125A1 - System and method for interactive discovery for cold-start recommendation - Google Patents

System and method for interactive discovery for cold-start recommendation Download PDF

Info

Publication number
WO2015153125A1
WO2015153125A1 PCT/US2015/021293 US2015021293W WO2015153125A1 WO 2015153125 A1 WO2015153125 A1 WO 2015153125A1 US 2015021293 W US2015021293 W US 2015021293W WO 2015153125 A1 WO2015153125 A1 WO 2015153125A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
vector
items
genres
item
Prior art date
Application number
PCT/US2015/021293
Other languages
French (fr)
Inventor
Brian Charles ERIKSSON
Sandilya Bhamidipati
Mohit Sharma
Original Assignee
Thomson Licensing
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 Thomson Licensing filed Critical Thomson Licensing
Publication of WO2015153125A1 publication Critical patent/WO2015153125A1/en

Links

Classifications

    • 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

Definitions

  • the present disclosure generally relates to digital content systems and methods for recommending content to a user, and more particularly, to a system and method for presenting content recommendations to a user given very few interactions and no prior information from the user.
  • Home entertainment systems including television, media centers and mobile devices, are converging with the Internet and providing access to a large number of available sources of content, such as video, movies, TV programs, music, etc. This expansion in the number of available sources and associated content necessitates a new strategy for presenting content recommendations to a user, known as recommender systems.
  • the conventional recommender system or collaborative filtering, problem of suggesting to a user options given prior preferences is a well studied area of both research and development.
  • Most famous is the NetflixTM Prize where, given a collection of movie ratings (e.g., on a Likert scale of "1 " to "5"), the goal is to estimate the rating of a unrated film given the preferences of other users.
  • a fundamental problem in recommender systems is the "cold-start" problem, where little-to-no information is given by the user to begin, and the system must quickly determine what to recommend.
  • Prior research has attempted to address this cold-start problem. For example, prior research uses a N alive Bayes approach to mitigate the effects of cold-start by creating a simple probabilistic graphical model. This research is focused on recommendations from Likert scale (i.e., 1 -5) ratings and the validation in the research uses over 80 movie ratings for each user.
  • a system and method for presenting content recommendations to a user given very few interactions with the user and no prior information from the is provided.
  • the user is presented with a series of recognizable items (i.e., a representation of a film such as an image of a movie poster or the like) and is prompted to select any subset of items that are acceptable to them.
  • the system and method of the present disclosure updates an underlying estimated probability of each possible genre being desirable to the user, and using this information, repeats by presenting a new subset of items to the user. After a specified number of iterations, the system and method return an ordered list of recommended items to the user given their estimated probabilities of preferring each genre.
  • a method for providing video recommendations including, inter alia, providing a collection of items to a user, wherein each item in the collection is associated with one or more genres, receiving feedback from the user, wherein the feedback identifies items in the collection that are acceptable and unacceptable to the user, creating a vector of genre preference probabilities based on the feedback, repeating the providing and receiving steps for a pre-defined number of iterations, updating the vector of genre preference probabilities based on the repeating, and providing a set of item recommendations based on the updated vector of genre preference probabilities.
  • a system for recommending content includes a presentation module configured to provide a collection of items to a user, wherein each item in the collection is associated with one or more genres, a user interface for receiving feedback from the user, wherein the feedback identifies items in the collection that are acceptable and unacceptable to the user, a user preference probability module configured to create a vector of genre preference probabilities based on the feedback, to select at least one subsequent collections of items to be provided based on the vector of genre preference probabilities, and to update the vector of genre preference probabilities based on feedback from the provided at least one subsequent collection of items, and the presentation module further configured to provide a set of item recommendations based on the updated vector of genre preference probabilities.
  • FIG. 1 is a block diagram of an exemplary system for delivering video content in accordance with the present disclosure
  • FIG. 2 is a block diagram of an exemplary receiving device in accordance with the present disclosure
  • FIG. 3A is a perspective view of a touch panel or interface in accordance with the present disclosure
  • FIG. 3B is a perspective view of an exemplary remote controller in accordance with an embodiment of the present disclosure.
  • FIG. 4 illustrates an exemplary embodiment of a system for recommending content in accordance with the present disclosure
  • FIG. 5 is a flowchart of an exemplary method for recommending content to a user in accordance with an embodiment of the present disclosure
  • FIG. 6 is a flowchart of an exemplary method for determining recommended items based on an estimated probability of a user preferring certain items in accordance with an embodiment of the present disclosure.
  • FIG. 7 illustrates an exemplary embodiment of a collection of items being presented to a user.
  • FIG. 8 illustrates an exemplary embodiment of a set of item recommendations to a user.
  • the elements shown in the figures may be implemented in various forms of hardware, software or combinations thereof. Preferably, these elements are implemented in a combination of hardware and software on one or more appropriately programmed general-purpose devices, which may include a processor, memory and input/output interfaces.
  • general-purpose devices which may include a processor, memory and input/output interfaces.
  • the phrase "coupled" is defined to mean directly connected to or indirectly connected with through one or more intermediate components. Such intermediate components may include both hardware and software based components.
  • processor any device capable of executing software, and may implicitly include, without limitation, digital signal processor (“DSP”) hardware, read only memory (“ROM”) for storing software, random access memory (“RAM”), and nonvolatile storage.
  • DSP digital signal processor
  • ROM read only memory
  • RAM random access memory
  • any switches shown in the figures are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.
  • any element expressed as a means for performing a specified function is intended to encompass any way of performing that function including, for example, a) a combination of circuit elements that performs that function or b) software in any form, including, therefore, firmware, microcode or the like, combined with appropriate circuitry for executing that software to perform the function.
  • the disclosure as defined by such claims resides in the fact that the functionalities provided by the various recited means are combined and brought together in the manner which the claims call for. It is thus regarded that any means that can provide those functionalities are equivalent to those shown herein.
  • a fundamental problem in recommender systems is the "cold-start" problem, i.e., where to begin when no information is known about the user. While most recommender systems focus on item-specific characteristics to provide recommendations, for example, a "1 " to "5" ratings for a single item, these systems require the user to rate many items before accurate recommendations are provided. In contrast, the system and method of the present disclosure focuses on recommendation based on the known, underlying genres associated with each item. Therefore, any explicit (e.g., film being chosen by the user) or implicit (e.g., a film not being chosen by the user) information provided by the user can be used to affect not just the single item, but the many genres each item is associated with.
  • the system and method of the present disclosure can determine that the four genres of ⁇ action, action comedy, buddy comedy, martial-arts action ⁇ are in-line with the user's interests, while the two genres of ⁇ children's fantasy, children 10-14 ⁇ are not of interest to the user. This allows the system and method of the present disclosure to allow for significantly fewer interactions with a user when compared with single-item rating based recommendation systems. Additionally, the system and method of the present disclosure does not require a pre-entered user profile, account or history.
  • FIG. 1 a block diagram of an embodiment of a system 100 for delivering content to a home, device, end user, etc. is shown.
  • the content originates from a content source 102, such as a movie studio or production house.
  • the content may be supplied in at least one of two forms.
  • One form may be a broadcast form of content.
  • the broadcast content is provided to the broadcast affiliate manager 104, which is typically a national broadcast service, such as the American Broadcasting Company (ABC), NBC, CBS, etc.
  • the broadcast affiliate manager may collect and store the content, and may schedule delivery of the content over a deliver network, shown as delivery network 1 (106).
  • Delivery network 1 (1 06) may include satellite link transmission from a national center to one or more regional or local centers.
  • Delivery network 1 (1 06) may also include local content delivery using local delivery systems such as over the air broadcast, satellite broadcast, or cable broadcast.
  • the locally delivered content is provided to a receiving device 108, e.g., a user's set top box/digital video recorder (DVR) in a user's home, a tablet/laptop/desktop computing device, etc., where the content will subsequently be presented to the user.
  • DVR digital video recorder
  • a second form of content is referred to as special content.
  • Special content may include content delivered as premium viewing, pay-per-view, or other content otherwise not provided to the broadcast affiliate manager. In many cases, the special content may be content requested by the user.
  • the special content may be delivered to a content manager 1 10.
  • the content manager 1 10 may be a service provider, such as an Internet website, affiliated, for instance, with a content provider, broadcast service, or delivery network service.
  • the content manager 1 10 may also incorporate Internet content into the delivery system, or explicitly into a search such that content may be searched that has not yet been delivered to the receiving device 108.
  • the content manager 1 10 may deliver the content to the user's receiving device 108 over a separate delivery network, delivery network 2 (1 1 2).
  • Delivery network 2 (1 12) may include high-speed broadband Internet type communications systems. It is important to note that the content from the broadcast affiliate manager 1 04 may also be delivered using all or parts of delivery network 2 (1 12) and content from the content manager 1 1 0 may be delivered using all or parts of Delivery network 1 (106).
  • the user may also obtain content directly from the Internet via delivery network 2 (1 12) without necessarily having the content managed by the content manager 1 10.
  • the receiving device 108 may receive different types of content from one or both of delivery network 1 and delivery network 2.
  • the receiving device 108 processes the content, and provides a separation of the content based on user preferences and commands.
  • the receiving device 1 08 may also include a storage device, such as a hard drive or optical disk drive, for recording and playing back audio and video content. Further details of the operation of the receiving device 108 and features associated with playing back stored content will be described below in relation to FIG. 2.
  • the processed content is provided to a display device 1 14.
  • the display device 1 14 may be a conventional 2-D type display or may alternatively be an advanced 3-D display.
  • the receiving device 108 and display device 1 14 are configured in a single device, for example, an integrated television, a tablet computing device, a laptop, etc. It should be appreciated that other devices having display capabilities such as wireless phones, PDAs, computers, gaming platforms, remote controls, multi-media players, or the like, may employ the teachings of the present disclosure and are considered within the scope of the present disclosure.
  • FIG.2 a block diagram of an embodiment of the core of a receiving device 200 is shown.
  • the device 200 shown may also be incorporated into other systems including the display device 1 14 itself. In either case, several components necessary for complete operation of the system are not shown in the interest of conciseness, as they are well known to those skilled in the art.
  • the input signal receiver 202 may be one of several known receiver circuits used for receiving, demodulation, and decoding signals provided over one of the several possible networks including over the air, cable, satellite, Ethernet, wireless Ethernet, WiFi, fiber and phone line networks.
  • the desired input signal may be selected and retrieved in the input signal receiver 202 based on user input provided through a control interface (not shown).
  • the input signal receiver 202 may in certain embodiments be a transceiver for two way communication to and from the receiving device 108.
  • the transceiver will output information, e.g., a search request to delivery network 2 (1 12) to search for Internet content, feedback from a user in response to displaying of items such as video, etc.
  • the decoded output signal from the input signal receiver 202 is provided to an input stream processor 204.
  • the input stream processor 204 performs the final signal selection and processing, and includes separation of video content from audio content for the content stream.
  • the audio content is provided to an audio processor 206 for conversion from the received format, such as compressed digital signal, to an analog waveform signal.
  • the analog waveform signal is provided to an audio interface 208 and further to the display device 1 14 or an audio amplifier (not shown).
  • the audio interface 208 may provide a digital signal to an audio output device or display device using an HDMI (High-Definition Multimedia Interface) cable or alternate audio interface such as via a SPDIF (Sony/Philips Digital Interconnect Format).
  • the audio processor 206 also performs any necessary conversion for the storage of the audio signals.
  • the video output from the input stream processor 204 is provided to a video processor 210.
  • the video signal may be one of several formats.
  • the video processor 210 provides, as necessary, a conversion of the video content based on the input signal format.
  • the video processor 210 also performs any necessary conversion for the storage of the video signals.
  • a storage device 212 stores audio and video content received at the input.
  • the storage device 212 allows later retrieval and playback of the content under the control of a controller 214 and also based on commands, e.g., navigation instructions such as fast-forward (FF) and rewind (Rew), received from a user interface 216.
  • the storage device 21 2 may be a hard disk drive, one or more large capacity integrated electronic memories, such as static random access memory, or dynamic random access memory, or may be an interchangeable optical disk storage system such as a compact disk drive or digital video disk drive.
  • the converted video signal from the video processor 210, either originating from the input or from the storage device 212, is provided to the display interface 218.
  • the display interface 218 further provides the display signal to a display device of the type described above.
  • the display interface 218 may be an analog signal interface such as red-green-blue (RGB) or may be a digital interface such as high definition multimedia interface (HDMI). It is to be appreciated that the display interface 218 will generate the various screens for presenting recommendations as will be described in more detail below.
  • the controller 214 is interconnected via a bus to several of the components of the device 200, including the input stream processor 202, audio processor 206, video processor 21 0, storage device 212, and a user interface 216.
  • the controller 214 manages the conversion process for converting the input stream signal into a signal for storage on the storage device or for display.
  • the controller 214 also manages the retrieval and playback of stored content.
  • the controller 214 is further coupled to control memory 220 (e.g., volatile or non-volatile memory, including random access memory, static RAM, dynamic RAM, read only memory, programmable ROM, flash memory, EPROM, EEPROM, etc.) for storing information and instruction code for controller 214.
  • control memory 220 e.g., volatile or non-volatile memory, including random access memory, static RAM, dynamic RAM, read only memory, programmable ROM, flash memory, EPROM, EEPROM, etc.
  • the implementation of the memory may include several possible embodiments, such as a single memory device or, alternatively, more than one memory circuit connected together to form a shared or common memory. Still further, the memory may be included with other circuitry, such as portions of bus communications circuitry, in a larger circuit.
  • the user interface 21 6 of the present disclosure employs an input device that moves a cursor around the display.
  • a touch panel device 300 may be interfaced to the receiving device 108, 200 as shown in FIG. 3A.
  • the touch panel device 300 allows operation of the receiving device 108, 200 based on hand movements, or gestures, and actions translated through the panel into commands for the receiving device.
  • the touch panel 300 may simply serve as a navigational tool to navigate a collection of items such as movie posters.
  • the touch panel 300 will additionally serve as the display device allowing the user to more directly interact with the navigation through the display of content.
  • a mouse device a remote control with navigation features, or gesture based remote control may also be used, as will be described below.
  • the user interface control may be included as part of the receiving device 108, and incorporates features useful for display and navigation through a grid representing content in a database as well for video display of content.
  • the user interface, and more specifically the grid user interface element is incorporated into a video media player interface that includes scripting or programming capability for manipulation of graphics.
  • the video media player and interface may be implemented in the receiving device 108, 200 using any combination of hardware, software, or firmware. Alternatively, some portion of the control and video display operation may be included in the touch panel device 300 and also may be part of the information transmitted across the network.
  • the input device is a remote controller, with a form of motion detection, such as a gyroscope or accelerometer, which allows the user to move a cursor freely about a screen or display.
  • a form of motion detection such as a gyroscope or accelerometer
  • FIG. 3B An exemplary hand-held angle- sensing remote controller 310 is illustrated in FIG. 3B.
  • Remote controller 310 includes a thumb button 312, positioned on the top side of controller 310 so as to be selectively activated by a user's thumb. Activation of thumb button 312 will also be referred to as a "click," a command often associated with activation or launch of a selected function.
  • Controller 310 further includes a trigger button 314, positioned on the bottom side of controller 310 so as to be selectively activated by a user's index (or "trigger") finger.
  • trigger button 314 Activation of trigger button 314 will also be referred to as a "trigger," and angular movement (i.e. pitch, yaw and/or roll) of the controller 310 while the trigger is depressed will be referred to as a "trigger-drag.”
  • a trigger-drag command is often associated with movement of a cursor, virtual cursor or other indication of the user's interactive position on the display, such as a change of state (i.e., a highlighted or outlined cell), and is commonly used to navigate in and select entries from the interactive display.
  • a plurality of buttons 306 are provided for entering numbers and/or letters. In one embodiment, the plurality of buttons 31 6 are configured similar to a telephone-type keypad.
  • a hand-held angle-sensing remote controller provides for a number of types of user interaction.
  • changes in yaw map to left-and-right motions changes in pitch map to up-and-down motions and changes in roll map to rotational motions along a longitudinal axis of the controller.
  • These inputs are used to define gestures and the gestures, in turn, define specific contextual commands.
  • a combination of yaw and pitch can be used to define any 2-dimensional motion, such as a diagonal
  • a combination of yaw, pitch and roll can be used to define any 3-dimensional motion, such as a swing. It is to be appreciated that at least some of the components described above in relation to FIGS.
  • the recommendation capability of the present disclosure will be provided through a number of mechanisms and may be employed by different computing devices and/or platforms, for example, the recommendation system 400 as illustrated in FIG. 4.
  • the recommendation system and method may reside on, but not limited to, the user's receiving device 108 or on a server of the broadcast affiliate manager 104, content manager 1 10 or content source 102.
  • the receiving device 108 interacts with the server based on user input.
  • the recommendation system 400 includes an operating system and/or a micro instruction code.
  • the various processes and functions described herein may either be part of the micro instruction code or part of a software application program (or a combination thereof) which is executed via the operating system.
  • the software application program is tangibly embodied on a program storage device, which may be uploaded to and executed by any recommendation system 400.
  • a software program includes a recommender module 404 stored in memory
  • memory 402 for recommending content to a user. It is to be appreciated that in one embodiment memory 402 is control memory 220 of FIG. 2 where the instructions stored thereon are executed by controller 214. In another embodiment, memory 402 and a corresponding processor or controller to perform the recommending method may be a separate, stand-alone integrated circuit such as a digital processing processor (DSP) or an application specific integrated circuit (ASIC).
  • DSP digital processing processor
  • ASIC application specific integrated circuit
  • the recommender module 404 includes a database of items 406, e.g., images of movie posters, which will be presented to a user.
  • a tagging module 408 is provided for tagging each item representing a video with at least one genre. It is to be appreciated that each image may be associated with more than one genre.
  • a presentation module 410 presents a collection of items to the user, e.g., a collection of images of the movie posters.
  • the presentation module 41 0 prompts a user to select or vote on at least one image during a cold-start. Alternatively, the presentation module 410 prompts a user to indicate that the movie associated with the image is either acceptable or unacceptable.
  • a voting vector module 41 2 creates a vector of positive votes associated with each underlying genre associated to a user selected item and a vector of negative votes associated with each underlying genre associated to an item not selected by a user or determined to be unacceptable to the user.
  • a sampling module 414 is provided to sample the voting vectors and to update a user preference probability vector generated in a user preference probability module 416.
  • the user preference probability module 416 determines the most probable preferred items or videos with respect to the average probability across all assigned genres of that film.
  • FIG. 5 is a flowchart of an exemplary method for recommending content to a user and FIG. 6 illustrates method for determining recommended items based on an estimated probability of a user preferring certain items.
  • a collection of items e.g., movie posters
  • the items are images representative of a particular type of content, e.g., movie posters for a film, book jacket for a book, icon for a software application, etc.
  • the items are stored in and retrieved from the database of items 406.
  • the collections of items are provided on a display device 1 14 associated to the user's receiving device 108. The number of items displayed depends on the a screen size of the display device 1 18.
  • a smartphone having a screen size in the range of about 1 inch to about 6 inches
  • two items may be displayed
  • a tablet or laptop having a screen size in the range of 8 inches to about 17 inches
  • eight items may be displayed
  • a television having a screen size in the range of 17 inches to 70 inches
  • eight to twenty items may be displayed, although the upper limit can change based on a size of the displayed item, additional informational frames displayed, etc.
  • the user is prompted to select at least one item that is acceptable to the user via the display device 1 14.
  • the system 400 receives feedback from the user, via the user interface 216, indicating which items are acceptable or unacceptable to the user, step 504.
  • each item includes a "positive” or “negative” indication, or selectable control, displayed in association with each item for selection by the user, where items not selected at all or not given a "positive” or “negative” indication are consider neutral.
  • a vector of genre preference probabilities is created, in step 506.
  • a subsequent collection of items are provided to the user via the display device 1 14 based on the received feedback.
  • the subsequent collection of items does not include any previously presented items.
  • the subsequent collection of items may include a previously shown item to reinforce the user's selection.
  • the user is prompted to select at least one item that is acceptable to the user and the system 400 receives feedback from the user indicating which items are acceptable or unacceptable to the user, in step 51 0.
  • the vector of genre preference probabilities is updated.
  • the system 400 determines if a predetermined number of iterations, i.e., displaying of items and receiving feedback, has been reached. If the predetermined number has not been reached, the method returns to step 508. If the predetermined number has been reached, the user is presented with a set of recommendations, e.g., movie recommendations, in step 514. It is to be appreciated that the predetermined number of iterations may be set before the user interacts with the system, e.g., 5 iterations. In another embodiment, a user's interaction with the system may be continuous and can be terminated on request of the user.
  • a predetermined number of iterations i.e., displaying of items and receiving feedback
  • the user may continuously select items and, after a certain number of iterations as decided by the user, the user may select to get recommendations via a control on the user interface, such as a bottom or the like.
  • a method for determining the recommended items is illustrated. The method assumes that each user can be associated with a vector of user genre preference probabilities:
  • X [ Xi X ⁇ 2 ... XK ] ( 1 )
  • element Xk is the user's probability of preferring content from genre k.
  • each item e.g., film or movie
  • the interfaces will display multiple items at each query to the user.
  • the association of a particular genre to an item is achieved via the tagging module 408.
  • each item in the database of items 406 is tagged or associated with a particular genre, e.g., comedy, drama, horror, etc.
  • each item will have at least one genre associated to the item and, in certain embodiments, each item will have at least two genres associated to the item.
  • all user genre probabilities are set, via the user preference probability module 416, to a predetermined number, e.g., 0.5. Based on each genre probability ranging from a value of 0 to 1 in a beta distribution, by initially setting the user genre probabilities to 0.5, each genre has a 50-50 chance of being selected.
  • a collection of items e.g., recognizable films, are sampled from the user genre probabilities, at step 604, to be displayed to the user via the presentation module 410 on an appropriate interface.
  • the user is asked to vote on the collection of films (e.g., 6), i.e., select which films are acceptable or unacceptable to the user, at step 606.
  • a k is the number of times the user has indicated that the user prefers genre k
  • b k is the number of times the user has indicated that the user does not prefer genre k. It is to be appreciated that the user indicates that the user prefers a particular genre by selecting an item, or film, that has that particular genre associated to the item.
  • the user response is used to update the selected elements of these two vectors via the voting vector module 412, at step 608.
  • any user information received is weighted much more highly than a frequently occurring genre, i.e., genres occurring less than a predetermined frequency are given a higher weight than the genres occurring greater than the predetermined frequency.
  • the occurrence frequency of a particular genre is incorporated with each vote update:
  • n is the number of films genre / ' is found in the collection of films
  • n max is the number of films of the most frequent genre.
  • a Thompson sampling approach is used to update the estimated preference probability vector for the user via the sampling module 414.
  • the sampling module 414 uses a beta posteriori distribution, such that each element can be considered drawn from the following distribution:
  • step 610 the system 400 determines if a predetermined number of iterations, i.e., providing of items and receiving feedback, has been reached. If the predetermined number has not been reached, the method returns to step 606. If the predetermined number has been reached, the method proceeds to step 612.
  • the preference probability vector is sampled to determine the most probable preferred films (with respect to the average probability across all assigned genres of that film) given the previous queries. That is, films associated or tagged with a genre having a higher user preference probability will more likely be selected for the next collection of films to be provided to the user than a film associated to a genre having a lower estimated user preference probability.
  • step 61 2 to return the complete list of recommended films, the distribution is sampled to find the most probably preferred films given the genre preferences.
  • the estimated most probably preferred films are then provided to the user for viewing, retrieving and storing, etc.
  • the estimated most probably preferred films are presented in an ordered list ranking from the film associated to the genre having the highest estimated user preference probability to the film having the lowest estimated user preference probability within the recommended list.
  • Fig. 7 FIG., an exemplary embodiment of a collection of items being presented to a user is illustrated. As shown, a first collection 710 of items, item A to item E, are provided. A user can then provide feedback by making a selection 720 of acceptable items. As illustrated, the user has selected item A, item D, and item E as acceptable items.
  • the user may further be provided a second collection of items for a further selection of acceptable items.
  • the system may provide, as illustrated in FIG. 8, a set of item recommendations to the user based on a vector of genre preference probabilities ascertained from the various selections made by the user.
  • the recommending system and method of the present disclosure could apply to content in all forms such as applications, games, music, video, books, or any other content that may be represented in a graphic form.
  • Each of these types of content could be presented with their own separate screens or all integrated into the one screen consolidating all forms of content.
  • an additional element may be overlaid over some or all content elements indicating the type of content it represents (i.e. book, application, video, music, etc).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A system and method for presenting content recommendations to a user given very few interactions with the user and no prior information from the user (e.g., the "cold-start" problem) is provided. Using a touch or web-based interface, the user is presented with a series of recognizable items (e.g., a representation of a film such as an image of a movie/television poster) and is prompted to select any subset of items that are acceptable to them. Given their choices (both positive and negative) and the underlying genres of each of the presented items, an underlying estimated probability of each possible genre being desirable to the user is created, and using this information, a new subset of items is presented to the user. After a specified number of iterations, the system and method return an ordered list of recommended items to the user given their estimated probabilities of preferring each genre.

Description

SYSTEM AND METHOD FOR INTERACTIVE DISCOVERY FOR
COLD-START RECOMMENDATION
TECHNICAL FIELD
The present disclosure generally relates to digital content systems and methods for recommending content to a user, and more particularly, to a system and method for presenting content recommendations to a user given very few interactions and no prior information from the user. BACKGROUND
Home entertainment systems, including television, media centers and mobile devices, are converging with the Internet and providing access to a large number of available sources of content, such as video, movies, TV programs, music, etc. This expansion in the number of available sources and associated content necessitates a new strategy for presenting content recommendations to a user, known as recommender systems.
The conventional recommender system, or collaborative filtering, problem of suggesting to a user options given prior preferences is a well studied area of both research and development. Most famous is the Netflix™ Prize where, given a collection of movie ratings (e.g., on a Likert scale of "1 " to "5"), the goal is to estimate the rating of a unrated film given the preferences of other users.
A fundamental problem in recommender systems is the "cold-start" problem, where little-to-no information is given by the user to begin, and the system must quickly determine what to recommend. Prior research has attempted to address this cold-start problem. For example, prior research uses a N alive Bayes approach to mitigate the effects of cold-start by creating a simple probabilistic graphical model. This research is focused on recommendations from Likert scale (i.e., 1 -5) ratings and the validation in the research uses over 80 movie ratings for each user.
In addition, other research proposes using demographic information to help recommend when users have very few existing ratings. However, using demographics has drawbacks such as (1 ) the need to query the user for this information and (2) the potential for privacy leakage from personally identifiable information.
Finally, further research asks the user a series of "interview questions" querying their opinion on a single film, then purposing the next film given their previous answer. However, this decision tree-based approach requires classification tree optimization over the interview questions, complicating the approach.
Therefore, a need exists for techniques for presenting content recommendations to a user given very few interactions with the user and no prior information from the user.
SUMMARY A system and method for presenting content recommendations to a user given very few interactions with the user and no prior information from the is provided. Using a touch or web-based interface, the user is presented with a series of recognizable items (i.e., a representation of a film such as an image of a movie poster or the like) and is prompted to select any subset of items that are acceptable to them. Given their choices (both positive and negative) and the underlying genres of each of these items, the system and method of the present disclosure updates an underlying estimated probability of each possible genre being desirable to the user, and using this information, repeats by presenting a new subset of items to the user. After a specified number of iterations, the system and method return an ordered list of recommended items to the user given their estimated probabilities of preferring each genre.
According to one aspect of the present disclosure, a method for providing video recommendations is provided including, inter alia, providing a collection of items to a user, wherein each item in the collection is associated with one or more genres, receiving feedback from the user, wherein the feedback identifies items in the collection that are acceptable and unacceptable to the user, creating a vector of genre preference probabilities based on the feedback, repeating the providing and receiving steps for a pre-defined number of iterations, updating the vector of genre preference probabilities based on the repeating, and providing a set of item recommendations based on the updated vector of genre preference probabilities. According to another aspect of the present disclosure, a system for recommending content includes a presentation module configured to provide a collection of items to a user, wherein each item in the collection is associated with one or more genres, a user interface for receiving feedback from the user, wherein the feedback identifies items in the collection that are acceptable and unacceptable to the user, a user preference probability module configured to create a vector of genre preference probabilities based on the feedback, to select at least one subsequent collections of items to be provided based on the vector of genre preference probabilities, and to update the vector of genre preference probabilities based on feedback from the provided at least one subsequent collection of items, and the presentation module further configured to provide a set of item recommendations based on the updated vector of genre preference probabilities.
BRIEF DESCRIPTION OF THE DRAWINGS
These, and other aspects, features and advantages of the present disclosure will be described or become apparent from the following description of the embodiments, which is to be read in connection with the accompanying drawings. In the drawings, wherein like reference numerals denote similar elements throughout the views:
FIG. 1 is a block diagram of an exemplary system for delivering video content in accordance with the present disclosure;
FIG. 2 is a block diagram of an exemplary receiving device in accordance with the present disclosure; FIG. 3A is a perspective view of a touch panel or interface in accordance with the present disclosure;
FIG. 3B is a perspective view of an exemplary remote controller in accordance with an embodiment of the present disclosure;
FIG. 4 illustrates an exemplary embodiment of a system for recommending content in accordance with the present disclosure; FIG. 5 is a flowchart of an exemplary method for recommending content to a user in accordance with an embodiment of the present disclosure; and
FIG. 6 is a flowchart of an exemplary method for determining recommended items based on an estimated probability of a user preferring certain items in accordance with an embodiment of the present disclosure.
FIG. 7 illustrates an exemplary embodiment of a collection of items being presented to a user. FIG. 8 illustrates an exemplary embodiment of a set of item recommendations to a user.
It should be understood that the diagrams are for purposes of illustrating the concepts of the disclosure and are not necessarily the only possible configuration for illustrating the disclosure.
DESCRIPTION OF EMBODIMENTS
It should be understood that the elements shown in the figures may be implemented in various forms of hardware, software or combinations thereof. Preferably, these elements are implemented in a combination of hardware and software on one or more appropriately programmed general-purpose devices, which may include a processor, memory and input/output interfaces. Herein, the phrase "coupled" is defined to mean directly connected to or indirectly connected with through one or more intermediate components. Such intermediate components may include both hardware and software based components.
The present description illustrates the principles of the present disclosure. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the disclosure.
All examples and conditional language recited herein are intended for education or instruction purposes to aid the reader in understanding the principles of the disclosure and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the disclosure, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.
Thus, for example, it will be appreciated by those skilled in the art that the block diagrams presented herein represent conceptual views of illustrative system components and/or circuitry embodying the principles of the disclosure. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudocode, and the like represent various processes which may be substantially represented in computer readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown. The functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term "processor", "module" or "controller" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor ("DSP") hardware, read only memory ("ROM") for storing software, random access memory ("RAM"), and nonvolatile storage.
Other hardware, conventional and/or custom, may also be included. Similarly, any switches shown in the figures are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.
In the claims hereof, any element expressed as a means for performing a specified function is intended to encompass any way of performing that function including, for example, a) a combination of circuit elements that performs that function or b) software in any form, including, therefore, firmware, microcode or the like, combined with appropriate circuitry for executing that software to perform the function. The disclosure as defined by such claims resides in the fact that the functionalities provided by the various recited means are combined and brought together in the manner which the claims call for. It is thus regarded that any means that can provide those functionalities are equivalent to those shown herein.
A fundamental problem in recommender systems is the "cold-start" problem, i.e., where to begin when no information is known about the user. While most recommender systems focus on item-specific characteristics to provide recommendations, for example, a "1 " to "5" ratings for a single item, these systems require the user to rate many items before accurate recommendations are provided. In contrast, the system and method of the present disclosure focuses on recommendation based on the known, underlying genres associated with each item. Therefore, any explicit (e.g., film being chosen by the user) or implicit (e.g., a film not being chosen by the user) information provided by the user can be used to affect not just the single item, but the many genres each item is associated with. For example, considering showing the user three films, querying the user and the user indicating that movie A, in the genres of {action, action comedy, buddy comedy} and movie B in the genres of {action, martial-arts action} are desirable, while movie C in the genres of {children's fantasy, children 10-14} is not desirable. From this one interaction with the user, the system and method of the present disclosure can determine that the four genres of {action, action comedy, buddy comedy, martial-arts action} are in-line with the user's interests, while the two genres of {children's fantasy, children 10-14} are not of interest to the user. This allows the system and method of the present disclosure to allow for significantly fewer interactions with a user when compared with single-item rating based recommendation systems. Additionally, the system and method of the present disclosure does not require a pre-entered user profile, account or history.
Initially, systems for recommending content to a user will be described. Subsequently, a method for recommending content in accordance with embodiments of the present disclosure will then be detailed.
Turning now to FIG. 1 , a block diagram of an embodiment of a system 100 for delivering content to a home, device, end user, etc. is shown. The content originates from a content source 102, such as a movie studio or production house. The content may be supplied in at least one of two forms. One form may be a broadcast form of content. The broadcast content is provided to the broadcast affiliate manager 104, which is typically a national broadcast service, such as the American Broadcasting Company (ABC), NBC, CBS, etc. The broadcast affiliate manager may collect and store the content, and may schedule delivery of the content over a deliver network, shown as delivery network 1 (106). Delivery network 1 (1 06) may include satellite link transmission from a national center to one or more regional or local centers. Delivery network 1 (1 06) may also include local content delivery using local delivery systems such as over the air broadcast, satellite broadcast, or cable broadcast. The locally delivered content is provided to a receiving device 108, e.g., a user's set top box/digital video recorder (DVR) in a user's home, a tablet/laptop/desktop computing device, etc., where the content will subsequently be presented to the user. A second form of content is referred to as special content. Special content may include content delivered as premium viewing, pay-per-view, or other content otherwise not provided to the broadcast affiliate manager. In many cases, the special content may be content requested by the user. The special content may be delivered to a content manager 1 10. The content manager 1 10 may be a service provider, such as an Internet website, affiliated, for instance, with a content provider, broadcast service, or delivery network service. The content manager 1 10 may also incorporate Internet content into the delivery system, or explicitly into a search such that content may be searched that has not yet been delivered to the receiving device 108. The content manager 1 10 may deliver the content to the user's receiving device 108 over a separate delivery network, delivery network 2 (1 1 2). Delivery network 2 (1 12) may include high-speed broadband Internet type communications systems. It is important to note that the content from the broadcast affiliate manager 1 04 may also be delivered using all or parts of delivery network 2 (1 12) and content from the content manager 1 1 0 may be delivered using all or parts of Delivery network 1 (106). In addition, the user may also obtain content directly from the Internet via delivery network 2 (1 12) without necessarily having the content managed by the content manager 1 10.
The receiving device 108, e.g., a set top box/digital video recorder, may receive different types of content from one or both of delivery network 1 and delivery network 2. The receiving device 108 processes the content, and provides a separation of the content based on user preferences and commands. The receiving device 1 08 may also include a storage device, such as a hard drive or optical disk drive, for recording and playing back audio and video content. Further details of the operation of the receiving device 108 and features associated with playing back stored content will be described below in relation to FIG. 2. The processed content is provided to a display device 1 14. The display device 1 14 may be a conventional 2-D type display or may alternatively be an advanced 3-D display. In certain embodiments, the receiving device 108 and display device 1 14 are configured in a single device, for example, an integrated television, a tablet computing device, a laptop, etc. It should be appreciated that other devices having display capabilities such as wireless phones, PDAs, computers, gaming platforms, remote controls, multi-media players, or the like, may employ the teachings of the present disclosure and are considered within the scope of the present disclosure.
Turning now to FIG.2, a block diagram of an embodiment of the core of a receiving device 200 is shown. The device 200 shown may also be incorporated into other systems including the display device 1 14 itself. In either case, several components necessary for complete operation of the system are not shown in the interest of conciseness, as they are well known to those skilled in the art.
In the device 200 shown in FIG. 2, the content is received in an input signal receiver 202. The input signal receiver 202 may be one of several known receiver circuits used for receiving, demodulation, and decoding signals provided over one of the several possible networks including over the air, cable, satellite, Ethernet, wireless Ethernet, WiFi, fiber and phone line networks. The desired input signal may be selected and retrieved in the input signal receiver 202 based on user input provided through a control interface (not shown). It is to be appreciated that the input signal receiver 202 may in certain embodiments be a transceiver for two way communication to and from the receiving device 108. In certain embodiments, the transceiver will output information, e.g., a search request to delivery network 2 (1 12) to search for Internet content, feedback from a user in response to displaying of items such as video, etc.
The decoded output signal from the input signal receiver 202 is provided to an input stream processor 204. The input stream processor 204 performs the final signal selection and processing, and includes separation of video content from audio content for the content stream. The audio content is provided to an audio processor 206 for conversion from the received format, such as compressed digital signal, to an analog waveform signal. The analog waveform signal is provided to an audio interface 208 and further to the display device 1 14 or an audio amplifier (not shown). Alternatively, the audio interface 208 may provide a digital signal to an audio output device or display device using an HDMI (High-Definition Multimedia Interface) cable or alternate audio interface such as via a SPDIF (Sony/Philips Digital Interconnect Format). The audio processor 206 also performs any necessary conversion for the storage of the audio signals.
The video output from the input stream processor 204 is provided to a video processor 210. The video signal may be one of several formats. The video processor 210 provides, as necessary, a conversion of the video content based on the input signal format. The video processor 210 also performs any necessary conversion for the storage of the video signals.
A storage device 212 stores audio and video content received at the input. The storage device 212 allows later retrieval and playback of the content under the control of a controller 214 and also based on commands, e.g., navigation instructions such as fast-forward (FF) and rewind (Rew), received from a user interface 216. The storage device 21 2 may be a hard disk drive, one or more large capacity integrated electronic memories, such as static random access memory, or dynamic random access memory, or may be an interchangeable optical disk storage system such as a compact disk drive or digital video disk drive.
The converted video signal, from the video processor 210, either originating from the input or from the storage device 212, is provided to the display interface 218. The display interface 218 further provides the display signal to a display device of the type described above. The display interface 218 may be an analog signal interface such as red-green-blue (RGB) or may be a digital interface such as high definition multimedia interface (HDMI). It is to be appreciated that the display interface 218 will generate the various screens for presenting recommendations as will be described in more detail below.
The controller 214 is interconnected via a bus to several of the components of the device 200, including the input stream processor 202, audio processor 206, video processor 21 0, storage device 212, and a user interface 216. The controller 214 manages the conversion process for converting the input stream signal into a signal for storage on the storage device or for display. The controller 214 also manages the retrieval and playback of stored content. The controller 214 is further coupled to control memory 220 (e.g., volatile or non-volatile memory, including random access memory, static RAM, dynamic RAM, read only memory, programmable ROM, flash memory, EPROM, EEPROM, etc.) for storing information and instruction code for controller 214. Further, the implementation of the memory may include several possible embodiments, such as a single memory device or, alternatively, more than one memory circuit connected together to form a shared or common memory. Still further, the memory may be included with other circuitry, such as portions of bus communications circuitry, in a larger circuit.
To operate effectively, the user interface 21 6 of the present disclosure employs an input device that moves a cursor around the display. To further enhance the user experience and to facilitate the display of, and navigation around, a database such as a movie library, a touch panel device 300 may be interfaced to the receiving device 108, 200 as shown in FIG. 3A. The touch panel device 300 allows operation of the receiving device 108, 200 based on hand movements, or gestures, and actions translated through the panel into commands for the receiving device. In one embodiment, the touch panel 300 may simply serve as a navigational tool to navigate a collection of items such as movie posters. In other embodiments, the touch panel 300 will additionally serve as the display device allowing the user to more directly interact with the navigation through the display of content.
Alternatively, a mouse device, a remote control with navigation features, or gesture based remote control may also be used, as will be described below.
The user interface control may be included as part of the receiving device 108, and incorporates features useful for display and navigation through a grid representing content in a database as well for video display of content. The user interface, and more specifically the grid user interface element, is incorporated into a video media player interface that includes scripting or programming capability for manipulation of graphics. The video media player and interface may be implemented in the receiving device 108, 200 using any combination of hardware, software, or firmware. Alternatively, some portion of the control and video display operation may be included in the touch panel device 300 and also may be part of the information transmitted across the network. In another embodiment, the input device is a remote controller, with a form of motion detection, such as a gyroscope or accelerometer, which allows the user to move a cursor freely about a screen or display. An exemplary hand-held angle- sensing remote controller 310 is illustrated in FIG. 3B. Remote controller 310 includes a thumb button 312, positioned on the top side of controller 310 so as to be selectively activated by a user's thumb. Activation of thumb button 312 will also be referred to as a "click," a command often associated with activation or launch of a selected function. Controller 310 further includes a trigger button 314, positioned on the bottom side of controller 310 so as to be selectively activated by a user's index (or "trigger") finger. Activation of trigger button 314 will also be referred to as a "trigger," and angular movement (i.e. pitch, yaw and/or roll) of the controller 310 while the trigger is depressed will be referred to as a "trigger-drag." A trigger-drag command is often associated with movement of a cursor, virtual cursor or other indication of the user's interactive position on the display, such as a change of state (i.e., a highlighted or outlined cell), and is commonly used to navigate in and select entries from the interactive display. Additionally, a plurality of buttons 306 are provided for entering numbers and/or letters. In one embodiment, the plurality of buttons 31 6 are configured similar to a telephone-type keypad.
The use of a hand-held angle-sensing remote controller provides for a number of types of user interaction. When using an angle-sensing controller, changes in yaw map to left-and-right motions, changes in pitch map to up-and-down motions and changes in roll map to rotational motions along a longitudinal axis of the controller. These inputs are used to define gestures and the gestures, in turn, define specific contextual commands. As such, a combination of yaw and pitch can be used to define any 2-dimensional motion, such as a diagonal, and a combination of yaw, pitch and roll can be used to define any 3-dimensional motion, such as a swing. It is to be appreciated that at least some of the components described above in relation to FIGS. 1 -3 will form an apparatus and/or system for recommending content to a user. The recommendation capability of the present disclosure will be provided through a number of mechanisms and may be employed by different computing devices and/or platforms, for example, the recommendation system 400 as illustrated in FIG. 4. The recommendation system and method may reside on, but not limited to, the user's receiving device 108 or on a server of the broadcast affiliate manager 104, content manager 1 10 or content source 102. In server-based embodiment, the receiving device 108 interacts with the server based on user input. It is to be appreciated that the recommendation system 400 includes an operating system and/or a micro instruction code. The various processes and functions described herein may either be part of the micro instruction code or part of a software application program (or a combination thereof) which is executed via the operating system. In one embodiment, the software application program is tangibly embodied on a program storage device, which may be uploaded to and executed by any recommendation system 400. A software program includes a recommender module 404 stored in memory
402 for recommending content to a user. It is to be appreciated that in one embodiment memory 402 is control memory 220 of FIG. 2 where the instructions stored thereon are executed by controller 214. In another embodiment, memory 402 and a corresponding processor or controller to perform the recommending method may be a separate, stand-alone integrated circuit such as a digital processing processor (DSP) or an application specific integrated circuit (ASIC).
The recommender module 404 includes a database of items 406, e.g., images of movie posters, which will be presented to a user. A tagging module 408 is provided for tagging each item representing a video with at least one genre. It is to be appreciated that each image may be associated with more than one genre. A presentation module 410 presents a collection of items to the user, e.g., a collection of images of the movie posters. The presentation module 41 0 prompts a user to select or vote on at least one image during a cold-start. Alternatively, the presentation module 410 prompts a user to indicate that the movie associated with the image is either acceptable or unacceptable.
A voting vector module 41 2 creates a vector of positive votes associated with each underlying genre associated to a user selected item and a vector of negative votes associated with each underlying genre associated to an item not selected by a user or determined to be unacceptable to the user. A sampling module 414 is provided to sample the voting vectors and to update a user preference probability vector generated in a user preference probability module 416. The user preference probability module 416 determines the most probable preferred items or videos with respect to the average probability across all assigned genres of that film.
A method for recommending content in accordance with the present disclosure will now be described in relation to FIGS. 5 and 6, where FIG. 5 is a flowchart of an exemplary method for recommending content to a user and FIG. 6 illustrates method for determining recommended items based on an estimated probability of a user preferring certain items.
Initially, in step 502, a collection of items, e.g., movie posters, are provided to a user. It is to be appreciated that the items are images representative of a particular type of content, e.g., movie posters for a film, book jacket for a book, icon for a software application, etc. The items are stored in and retrieved from the database of items 406. The collections of items are provided on a display device 1 14 associated to the user's receiving device 108. The number of items displayed depends on the a screen size of the display device 1 18. For example, on a smartphone having a screen size in the range of about 1 inch to about 6 inches, two items may be displayed, on a tablet or laptop having a screen size in the range of 8 inches to about 17 inches, eight items may be displayed, and a television having a screen size in the range of 17 inches to 70 inches, eight to twenty items may be displayed, although the upper limit can change based on a size of the displayed item, additional informational frames displayed, etc. These examples are for illustrative purposes and are not meant to limit the possible number of items displayed. The user is prompted to select at least one item that is acceptable to the user via the display device 1 14. The system 400 receives feedback from the user, via the user interface 216, indicating which items are acceptable or unacceptable to the user, step 504. In one embodiment, items selected by the user are considered as acceptable while items not selected are considered unacceptable. In another embodiment, each item includes a "positive" or "negative" indication, or selectable control, displayed in association with each item for selection by the user, where items not selected at all or not given a "positive" or "negative" indication are consider neutral.
Based on the items the user indicates as acceptable or unacceptable, a vector of genre preference probabilities is created, in step 506. Next, in step 508, a subsequent collection of items are provided to the user via the display device 1 14 based on the received feedback. In one embodiment, the subsequent collection of items does not include any previously presented items. In other embodiments, the subsequent collection of items may include a previously shown item to reinforce the user's selection. Again, the user is prompted to select at least one item that is acceptable to the user and the system 400 receives feedback from the user indicating which items are acceptable or unacceptable to the user, in step 51 0. Based on the received feedback, the vector of genre preference probabilities is updated.
At step 512, the system 400 determines if a predetermined number of iterations, i.e., displaying of items and receiving feedback, has been reached. If the predetermined number has not been reached, the method returns to step 508. If the predetermined number has been reached, the user is presented with a set of recommendations, e.g., movie recommendations, in step 514. It is to be appreciated that the predetermined number of iterations may be set before the user interacts with the system, e.g., 5 iterations. In another embodiment, a user's interaction with the system may be continuous and can be terminated on request of the user. For example, the user may continuously select items and, after a certain number of iterations as decided by the user, the user may select to get recommendations via a control on the user interface, such as a bottom or the like. Referring to FIG. 6, a method for determining the recommended items is illustrated. The method assumes that each user can be associated with a vector of user genre preference probabilities:
X = [ Xi X<2 ... XK ] ( 1 ) Where element Xk is the user's probability of preferring content from genre k.
It is assumed that this preference vector is unknown initially and it is the goal to obtain an accurate estimation of the entire vector using as few interactions with the user as possible. In order to estimate the user genre preference probability vector, two main components are exploited: first, each item (e.g., film or movie) will have multiple genres associated with it, second, the interfaces will display multiple items at each query to the user. The association of a particular genre to an item is achieved via the tagging module 408. Before a user genre preference probability vector is determined for a user, each item in the database of items 406 is tagged or associated with a particular genre, e.g., comedy, drama, horror, etc. It is to be appreciated that each item will have at least one genre associated to the item and, in certain embodiments, each item will have at least two genres associated to the item. Initially, at step 602, all user genre probabilities are set, via the user preference probability module 416, to a predetermined number, e.g., 0.5. Based on each genre probability ranging from a value of 0 to 1 in a beta distribution, by initially setting the user genre probabilities to 0.5, each genre has a 50-50 chance of being selected. Then, a collection of items, e.g., recognizable films, are sampled from the user genre probabilities, at step 604, to be displayed to the user via the presentation module 410 on an appropriate interface. At each query, the user is asked to vote on the collection of films (e.g., 6), i.e., select which films are acceptable or unacceptable to the user, at step 606.
Based on the subset of acceptable films and subset of unacceptable films selected by the user, two vectors of positive and negative votes associated with each underlying genre are created via the voting vector module 412: αι a2 (2)
Figure imgf000019_0001
Where ak is the number of times the user has indicated that the user prefers genre k, and bk is the number of times the user has indicated that the user does not prefer genre k. It is to be appreciated that the user indicates that the user prefers a particular genre by selecting an item, or film, that has that particular genre associated to the item. To begin, the voting vector module 412 sets ak=1 and bk=1 for all k, to indicate that initially there is no information about any of the genres. With each query to the user, the user response is used to update the selected elements of these two vectors via the voting vector module 412, at step 608. For example, consider that the user has responded that they find movies {x,y,z} acceptable, and movies {u,w,v} unacceptable. Using genre knowledge that is associated or tagged to each film, these two subsets are translated into the list of acceptable genres (GaCceptabie) and the list of unacceptable genres (Gunacceptabie) - For example, the acceptable films {x,y,z} relate to genres {g2, gs, ggs} and the unacceptable films {u,w,v} relate to genres{g6, gn , gioi}- It is to be appreciated that these two subsets of genres will likely not contain all the genres, as the limited number of films will only cover a subset of all the possible genres.
Then, the positive and negative votes associated with these two subsets of genres are updated. It is to be appreciated that these genres do not occur uniformly, i.e., some are very popular (e.g., drama or comedy) and some are very rare (e.g., nature documentary or Latin fitness). Therefore, for the rare genres, any user information received is weighted much more highly than a frequently occurring genre, i.e., genres occurring less than a predetermined frequency are given a higher weight than the genres occurring greater than the predetermined frequency. To account for this, the occurrence frequency of a particular genre is incorporated with each vote update:
i e Gt acceptable (4) ί e G • '"max
unacce ptable ^ ¾ ®i rii (5)
Where n, is the number of films genre /' is found in the collection of films, and nmax is the number of films of the most frequent genre.
Using the updated vote vectors, a Thompson sampling approach is used to update the estimated preference probability vector for the user via the sampling module 414. The sampling module 414 uses a beta posteriori distribution, such that each element can be considered drawn from the following distribution:
Xk ~ beta (afe, 6fe) (6)
At step 610, the system 400 determines if a predetermined number of iterations, i.e., providing of items and receiving feedback, has been reached. If the predetermined number has not been reached, the method returns to step 606. If the predetermined number has been reached, the method proceeds to step 612.
To determine the next collection of films to provide to the user when the method reverts to step 606, the preference probability vector is sampled to determine the most probable preferred films (with respect to the average probability across all assigned genres of that film) given the previous queries. That is, films associated or tagged with a genre having a higher user preference probability will more likely be selected for the next collection of films to be provided to the user than a film associated to a genre having a lower estimated user preference probability.
Finally, in step 61 2, to return the complete list of recommended films, the distribution is sampled to find the most probably preferred films given the genre preferences. The estimated most probably preferred films are then provided to the user for viewing, retrieving and storing, etc. In one embodiment, the estimated most probably preferred films are presented in an ordered list ranking from the film associated to the genre having the highest estimated user preference probability to the film having the lowest estimated user preference probability within the recommended list. Turning now to Fig. 7 FIG., an exemplary embodiment of a collection of items being presented to a user is illustrated. As shown, a first collection 710 of items, item A to item E, are provided. A user can then provide feedback by making a selection 720 of acceptable items. As illustrated, the user has selected item A, item D, and item E as acceptable items. After this selection, the user may further be provided a second collection of items for a further selection of acceptable items. Once a pre-determined number of iterations of acceptable item selections has been completed, the system may provide, as illustrated in FIG. 8, a set of item recommendations to the user based on a vector of genre preference probabilities ascertained from the various selections made by the user.
The recommending system and method of the present disclosure could apply to content in all forms such as applications, games, music, video, books, or any other content that may be represented in a graphic form. Each of these types of content could be presented with their own separate screens or all integrated into the one screen consolidating all forms of content. In this instance, where the user interface is presenting multiple types of content on the one screen, an additional element may be overlaid over some or all content elements indicating the type of content it represents (i.e. book, application, video, music, etc).
It is to be appreciated that the various features shown and described are interchangeable, that is a feature shown in one embodiment may be incorporated into another embodiment. Although embodiments which incorporate the teachings of the present disclosure have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that still incorporate these teachings. Having described preferred embodiments of a system and method for recommending content to a user (which are intended to be illustrative and not limiting), it is noted that modifications and variations can be made by persons skilled in the art in light of the above teachings. It is therefore to be understood that changes may be made in the particular embodiments of the disclosure disclosed which are within the scope of the disclosure as outlined by the appended claims.

Claims

WHAT IS CLAIMED IS:
1 . A method for providing content recommendations comprising:
providing a collection of items to a user, wherein each item in the collection is associated with one or more genres;
receiving feedback from the user, wherein the feedback identifies items in the collection that are acceptable and unacceptable to the user;
creating a vector of genre preference probabilities based on the feedback; repeating the providing and receiving steps for a pre-defined number of iterations;
updating the vector of genre preference probabilities based on the repeating; and
providing a set of item recommendations based on the updated vector of genre preference probabilities.
2. The method as in claim 1 , wherein the repeating the displaying step includes displaying a subset of items different from the identified acceptable items.
3. The method as in claim 1 , wherein the creating the vector step includes creating a vector of positive votes associated with each of the one or more genres and a vector of negative votes associated with each of the one or more genres.
4. The method as in claim 3, wherein the positive votes vector and the negative votes vector are weighted based on occurrence frequency of the identified genres.
5. The method as in claim 4, wherein genres occurring less than a predetermined frequency are given a higher weight than the genres occurring greater than the predetermined frequency.
6. The method as in claim 3, wherein the updating the vector of genre preference probabilities includes sampling the positive votes vector and the negative votes vector using a beta posteriori distribution.
7. The method as in claim 2, further comprising sampling the vector of genre preference probabilities with respect to the average probability across all associated genres of each item to determine the subset of items.
8. The method as in claim 7, further comprising sampling, after the pre-defined number of iterations, the vector of genre preference probabilities with respect to the average probability across all associated genres of each item to determine the set of items recommendations.
9. The method as in claim 8, wherein the pre-defined number of iterations is selected by the user.
10. The method as in claim 8, wherein the set of item recommendations is displayed in an ordered list, the ordered list being arranged based on the genre preference probabilities.
1 1 . A system for recommending content comprising:
a presentation module configured to provide a collection of items to a user, wherein each item in the collection is associated with one or more genres;
a user interface configured to receive feedback from the user, wherein the feedback identifies items in the collection that are acceptable and unacceptable to the user;
a user preference probability module configured to create a vector of genre preference probabilities based on the feedback, to select at least one subsequent collections of items to be provided based on the vector of genre preference probabilities, and to update the vector of genre preference probabilities based on feedback from the provided at least one subsequent collection of items; and
the presentation module further configured to provide a set of item
recommendations based on the updated vector of genre preference probabilities.
12. The system as in claim 1 1 , further comprising a tagging module configured to associate each item in the collection with at least one genre.
13. The system as in claim 1 1 , wherein the at least one subsequent collections of items is different from the identified acceptable items.
14. The system as in claim 1 1 , further comprising a voting vector module configured to create a vector of positive votes associated with each of the one or more genres and a vector of negative votes associated with each of the one or more genres.
15. The system as in claim 14, wherein the positive votes vector and the negative votes vector are weighted based on occurrence frequency of the identified genres.
16. The system as in claim 15, wherein genres occurring less than a
predetermined frequency are given a higher weight than the genres occurring greater than the predetermined frequency.
17. The system as in claim 14, further comprising a sampling module configured to update the vector of genre preference probabilities by sampling the positive votes vector and the negative votes vector using a beta posteriori distribution.
18. The system as in claim 1 1 , further comprising a sampling module configured to sample the vector of genre preference probabilities with respect to the average probability across all associated genres of each item to determine the at least one subsequent collections of items.
19. The system as in claim 1 1 , wherein a number of the at least one subsequent collections of items is selected by the user.
20. The system as in claim 1 1 , wherein presentation module provides the set of item recommendations in an ordered list, the ordered list being arranged based on the genre preference probabilities.
21 . A system for providing content recommendations comprising: means for providing a collection of items, wherein each item in the collection is associated with one or more genres;
means for receiving feedback from the user, wherein the feedback identifies items in the collection that are acceptable and unacceptable to the user;
means for creating a vector of genre preference probabilities based on the feedback;
means for repeating the providing and receiving steps for a pre-defined number of iterations;
means for updating the vector of genre preference probabilities based on the repeating; and
means for providing a set of item recommendations based on the updated vector of genre preference probabilities.
PCT/US2015/021293 2014-03-31 2015-03-18 System and method for interactive discovery for cold-start recommendation WO2015153125A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461973095P 2014-03-31 2014-03-31
US61/973,095 2014-03-31

Publications (1)

Publication Number Publication Date
WO2015153125A1 true WO2015153125A1 (en) 2015-10-08

Family

ID=52829331

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/021293 WO2015153125A1 (en) 2014-03-31 2015-03-18 System and method for interactive discovery for cold-start recommendation

Country Status (1)

Country Link
WO (1) WO2015153125A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10922737B2 (en) 2017-12-22 2021-02-16 Industrial Technology Research Institute Interactive product recommendation method and non-transitory computer-readable medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130080371A1 (en) * 2011-09-22 2013-03-28 Toyota Infotechnology Center Co., Ltd. Content recommendation system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130080371A1 (en) * 2011-09-22 2013-03-28 Toyota Infotechnology Center Co., Ltd. Content recommendation system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10922737B2 (en) 2017-12-22 2021-02-16 Industrial Technology Research Institute Interactive product recommendation method and non-transitory computer-readable medium

Similar Documents

Publication Publication Date Title
US9576033B2 (en) System, method and user interface for content search
US8869211B2 (en) Zoomable content recommendation system
US8234583B2 (en) Media asset pivot navigation
JP5662569B2 (en) System and method for excluding content from multiple domain searches
US20140223481A1 (en) Systems and methods for updating a search request
JP2022046762A (en) System and method for determining context switching in conversation
US20150100885A1 (en) Video streaming on a mobile device
US10275532B2 (en) Method and system for content discovery
EP2661670A1 (en) Contextual user interface
WO2011017316A1 (en) System and method for searching in internet on a video device
US9990394B2 (en) Visual search and recommendation user interface and apparatus
US20140298215A1 (en) Method for generating media collections
JP2016502691A (en) Content recommendation based on context
US10884602B2 (en) Direction based content navigation
JP2020519067A (en) System and method for presenting search results from multiple sources
CN106687957B (en) Method and apparatus for search query construction
EP3119094A1 (en) Methods and systems for clustering-based recommendations
US20130326555A1 (en) User preferences for content
WO2015153125A1 (en) System and method for interactive discovery for cold-start recommendation
US20240147009A1 (en) Methods, systems, and media for presenting recommended media content items based on complementary media content item pairs

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15716219

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15716219

Country of ref document: EP

Kind code of ref document: A1