+

WO2012038007A2 - Method for context-aware content recommendations using user contextual micro-profiles pre-filtering and collaborative filtering - Google Patents

Method for context-aware content recommendations using user contextual micro-profiles pre-filtering and collaborative filtering Download PDF

Info

Publication number
WO2012038007A2
WO2012038007A2 PCT/EP2011/004019 EP2011004019W WO2012038007A2 WO 2012038007 A2 WO2012038007 A2 WO 2012038007A2 EP 2011004019 W EP2011004019 W EP 2011004019W WO 2012038007 A2 WO2012038007 A2 WO 2012038007A2
Authority
WO
WIPO (PCT)
Prior art keywords
user
micro
profiles
context
contextual
Prior art date
Application number
PCT/EP2011/004019
Other languages
French (fr)
Inventor
Toni Cebrian
Marc PLANAGUMÁ
Raúl CUMPLIDO
Lola Carpio
Paulo Villegas
Xavier Amatriain
Original Assignee
Telefonica, S.A.
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 Telefonica, S.A. filed Critical Telefonica, S.A.
Publication of WO2012038007A2 publication Critical patent/WO2012038007A2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history

Definitions

  • the present invention generally relates to a method for context-aware content recommendations using user contextual micro-profiles pre-filtering and collaborative filtering, and more particularly to a method for generating a final content recommendations list from provisional lists generated using user contextual micro-files for several and different kind of contexts.
  • CF Collaborative filtering
  • Contextual pre-filtering uses data from the context to select the relevant data for each case. Once this is selected and filtered, regular recommending algorithms may be used.
  • contextual post-filtering techniques ignore contextual information and generate recommendations in a traditional way. Those recommendations are later filtered to match the current context.
  • context information is directly fed into the model and used to derive the predictions.
  • Collaborative Filtering is a well known and used method for providing recommendations mainly because its versatility. Its main advantage is that no domain knowledge is required in order to get the recommendations. This occurs both for the user and the item domain in a given recommender scenario.
  • Recommender systems are about preference discovery, the objective is to materialize the utility function that a given user uses when valuing a set of items.
  • the utility function for a given user is dependent on the context where the rating/evaluation of an item is occurring.
  • One of such domains is music. Music can not be easily evaluated in isolation, especially when listened for leisure. Music is used as a companion for other related activities or for inducing different moods, take for example, music for dancing, relaxation, mental energizing, etc. All these situations make a case against treating all the ratings that a given user can generate as a monolithic piece of information. Other approaches to discriminate and segment ratings based on the context should be created.
  • Said proposal discloses a contextual pre-filtering technique based on implicit user feedback.
  • user micro- profiling consists in splitting the user profile into several sub- profiles, each representing the user in a particular context. The predictions are done using these micro-profiles instead of a single user model.
  • the present invention concerns a method for context-aware content recommendations using user contextual micro-profiles pre-filtering and collaborative filtering, comprising:
  • step c) for said particular user, at least twice, according to corresponding sub-steps c1 ) and c2), each for one of at least two different specific contexts, thus generating at least two provisional lists of content recommendations, for said particular user, one per each of said at least two contexts, and
  • the method comprises carry out a plurality of sub-steps c1), c2)...cn), for a plurality of different specific contexts, and generating said final recommendations list from a corresponding plurality of provisional lists.
  • the method comprises carrying out said sub-steps c1) and c2) by parallel processing.
  • the method comprises using different recommendation engines for carrying out each of said sub-steps c1), c2) ... cn), for other embodiment.
  • An embodiment of the method comprises weighting the micro-profiles associated to said contents of said provisional lists in order to generate said final content recommendations list.
  • said specifics contexts they can be selected from at least two of the next contexts: time at which an item has been played, item consumption timestamp, user location at different granularity levels, activity associated to an item and/or user, physical (e.g. environmental) or personal (e.g. mood) user context and current social context for the user.
  • each of said user contextual micro-profiles is a time segmented micro-profile.
  • the method of the invention comprises creating for each user, at said step b), said user contextual micro-profiles corresponding to consecutive time periods, such that they span a global time interval for the complete playing history of the user.
  • the method comprises defining a global micro-profile for each user including a global time interval for the complete playing history of the user.
  • the method of the invention comprises acquiring foreseeable context information for a near- future time, using said acquired context information to generate said user contextual micro-profiles, and for generating said final content recommendations list for a time frame including said near-future time.
  • the proposed invention is capable of recommending item lists that take into account at least two different kind of contexts of the user.
  • the technology of the invention is a Collaborative Filtering with a micro-profiling pre-filtering input, in which variations in the user context can be used to generate a segmentation in context space and produce micro-profiles of the user, for each recurrent contextual situations.
  • the invention belongs to the family of pre-filtering contextual recommendations but as we will explain later, and as pointed out by [15], it represents a different approach that includes several benefits that will be summarized in section 3.2.
  • the method of the invention generates recommendations, based on user similarity generated from past play behaviour, and context-constrained user micro-profiles, and is able to generate the recommendations most appropriate for the considered context subspace.
  • the present invention produces a segmentation of the user profile into several contextual profiles that are easy to understand and interact with the user.
  • One particular instantiation of the concept uses the temporal context of the user to create time-dependent micro-profiles, which can be used for temporally focused recommendations. This version will be explained at length in the next section.
  • the system is able to produce content playlists with dynamic context adaptation for configurable time frames.
  • the proposal of this invention applies to any multimedia item whose user experience can be assigned to a particular (and limited) time frame. This includes e.g. listening to a concrete song at a certain time instant, or watching a video also at a given time.
  • the verb "play" will be used to refer generically at the act or reproducing the multimedia item, be it of any suitable kind.
  • Figure 1 is an architecture diagram representing the method of the invention for an embodiment
  • FIG. 2 is a diagram which shows an embodiment of the method of the invention related to a frequency analysis for the music domain.
  • the method of the invention implements a mechanism which, referring to the architecture of Figure 1 , can be summarized in the following points, particularized for the case in which the context segmentation is based on temporal patterns: 1.
  • the mechanism provides recommendations to end users to play multimedia content items, specially adapted to their tastes and preferences, and taking into account the adaptation of those tastes to the context in which the item is to be experienced by the user.
  • the information collected, and fed to the user profile includes not only the content items played by the user, but also the context in which they were played.
  • a timestamp of content play is added to each media element. If an element was played more than once, each instance contains its own timestamp.
  • temporal listening patterns are analyzed to extract statistically significant differences in playing habits, and map them to time frames that are periodically recurrent, such as "Monday mornings”, “Summer weekends”, or “weekday evenings between 20h and 23h”. We will call those time frames “periodic time intervals”.
  • the periodic time intervals that are statistically different from one another have been defined, they are used to define micro-profiles for each user. For each micro-profile, the playing history of the user in all past occurrences of the corresponding periodic time interval is collected, and the micro-profile is built from it.
  • a user in the system therefore, contains a number of distinct micro-profiles, one for each periodic time interval.
  • the complete set of micro-profiles form the overall user profile.
  • This overall user profile may be so that any possible time instant can be mapped to at least one micro-profile (thereby providing a complete set), but this is not compulsory.
  • the set of applicable micro-profiles may be zero (i.e. no micro-profile can be applied), one (exactly one is applicable) or more than one (if some periodic time intervals overlap in applicability, there would be cases in which more than one micro-profile is valid for a given instant).
  • a global micro-profile as one for which all time instants are valid (i.e.
  • the overall user profile includes a global micro-profile, then it is guaranteed that all possible time instants can be mapped to at least one micro- profile (another way of guaranteeing this is by defining the set of periodic time intervals so that they span the complete interval of possible time instants).
  • the system selects the set of micro-profiles that match the desired time instant. For each micro-profile, it then calls a recommendation engine that has been configured with the all micro-profiles of the same periodic time interval (for all collected users) and obtains in return a weighted recommendation list.
  • the data capture and analysis phase comprises the operations of collecting time- stamped information of item usage, analyzing it to detect candidates for periodic time intervals (PTI), extracting statistically significant differences from those candidates, using those differences to decide upon the final list of PTIs and, once set, use the PTIs to group the item usage data into appropriate datasets.
  • PTI periodic time intervals
  • Timestamped data from social media Internet sites, that is, web portals that aggregate information about item data usage and that are able to provide that data together with the required timestamps.
  • Third-party datasets obtained through possible agreements with content providers. Suitable anonymized data is used to ensure privacy.
  • Sources (b) and (c) are a necessary complement to the own internal data in the following circumstances:
  • a system could restrict itself to gather data from users with a minimal playing history (1 year), who have a minimal level of activity, both overall (total number of items played) as well as temporally distributed (a minimum average of daily items, and a minimum degree of uniformity across time) and who belong to the same geographical area as the intended users of the service.
  • Another possible selection is by age group, if the service is oriented towards a certain age segment (if not, but the amount of user profiles available is sufficiently rich, they can be segmented by age group to create still another dimension for micro-profiles, therefore increasing the granularity of recommendations).
  • Figure 2 shows an example of frequency analysis for the music domain. A random sample of around 2% of all active users of the same geographical area was taken, and all the songs listened during a whole year (2008) were fed into statistical analysis (around 3.6 million items). The overall listening patterns are shown in the figure, which forms the basis for extraction of candidate PTIs. Extraction can be:
  • ⁇ algorithmic by performing some kind of search in the space defined by possible segmentations in the different time axes, subject to certain restrictions (such as minimum size of segments, minimum number of items per segment, minimum homogeneity in partition sizes)
  • the overall set of candidate PTIs is therefore in this case the Cartesian product of (morning, afternoon, evening) x (weekday, weekend), giving a total of 6 different PTIs. In another case with different statistics it might yield fewer or greater number of candidate PTIs.
  • final PTI decisions are based on the existence of significant differences in listening patterns between those candidates. This is done at the item level if possible, but if the number of items is too large (hence precluding direct comparison) a greater semantic grouping is used. This is done by clustering items into some unifying semantic groups, this might be
  • ⁇ item origin information e.g. for music it can be the artist/performer
  • the objective is to be able to assign to each PTIs item classes that are large enough so as to produce significant recommendations in the final system.
  • the decision on final PTIs is done by computation of relevant statistics, that help to decide whether a candidate PTIs contains a distribution of items that is sufficiently different from others (and from the global distribution) as to be considered useful.
  • Standard statistical tests such as Kolmogorov-Smirnov tests or Kullback-Leibler divergences can be used for that purpose.
  • the micro-profile creation is a split technique of the user profile. This user profile is composed of the items played by the user and the time when they were played.
  • the split criterion in the micro-profile creation is the consumption timestamp, defining time as our context parameter. Users have different micro-profiles depending of time slots (PTIs) defined.
  • PTIs time slots
  • micro-profile creation introduces the idea of micro-profiling (or user splitting), which splits the user profile into several (possibly overlapping) subprofiles, each representing the given user in a particular context.
  • the predictions are done using these contextual micro-profiles instead of a single user model.
  • the collaborative filtering of an algorithm implemented according to an embodiment of the method of the invention uses the output of the user feedback splitting technique as the contextual pre-filtering input, where each user is split into several fictitious users based on the time context in which these items can be consumed.
  • One major advantage of this approach is that it allows the use of a traditional recommendation algorithm to obtain a contextualized recommendation.
  • Each micro-profile is a user on its own, it has its own set of ratings based on the contextual division of the original profile.
  • the rating matrix for collaborative filtering is an extended version of the original one, where columns representing items remain the same, but rows are multiplied by the new number of different contexts.
  • the final module in the system implementing the method of the invention for an embodiment must combine all recommendations coming from the different available sources into one single, consolidated list.
  • a number of standard procedures for combining recommendation lists can be applied: majority voting, linear mixing, etc.
  • final recommendations are generated by merging the lists, so that items in more than one list have their weights added.
  • the weight attached to each item is used as a sorting field, the resulting list is therefore ordered by importance.
  • Equalization is done by linear mapping of the recommendation weights.
  • the mapping for each micro-profile is computed offline, and it is done by running statistical analysis over recommendations triggered for a random set of users in the micro-profile.
  • the dynamic range of results is gathered, and a transformation is computed to enable that range to cover the whole final interval.
  • the size of the recommendation list is not enough to provide a valid set (either with or without the randomization step)
  • additional items are added to it by pulling items generated by the recommender attached to the global micro-profile, which, as it contains all items in users' profiles, is guaranteed to provide the greatest number of recommendations.
  • a temporal dampening cost factor is applied to the weights of the items already played by the user, before doing the sorting by weight.
  • the cost factor uses a nonlinear monotonic function whose value increases with the distance of item play time to current time, so that items recently played are penalized most. This factor is computed for the most recent N plays of the item in the user's history, and all resulting cost factors are added up; the final value multiplies the weight of the item. This procedure ensures that play patterns do not become too repetitive.
  • An additional optional randomization step helps to increase user experience by providing a different set of items each time. This is done in two steps: a) First a threshold is used to filter out items with too low weight (i.e. items at the far end of the recommendation priority)
  • the final set contains therefore the same items of the thresholded set, but the play order is non-deterministic. For this to be effective, the size of the recommendation list must be great enough.
  • An additional capability of the invention is its ability to provide a temporal succession of recommended items (a "playlist”), adapted to a given time frame. This enables a better adaptation to the user context, covering not only the instantaneous context information, but also the system's knowledge about the near-future context, gathered either implicitly or explicitly. It could be used, for instance, to generate a playlist suitable to fill a predefined time slot ("content for my half an hour of commuting time to work") or to create an advance plan for multimedia playback ("music selection from now till my meeting at 6 PM").
  • the user-side of the service makes a request for a playlist of a given duration, starting at a defined time instant (e.g. "a list of items for 1.5 hours, starting today at 16:30h")
  • the system decomposes the requested time window in subwindows.
  • the method of the invention has the following improvements against standard collaborative filtering:
  • micro- profiling approach of the method of the invention includes the following benefits:

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

Method for context-aware content recommendations using user contextual micro- profiles pre-filtering and collaborative filtering
Field of the art
The present invention generally relates to a method for context-aware content recommendations using user contextual micro-profiles pre-filtering and collaborative filtering, and more particularly to a method for generating a final content recommendations list from provisional lists generated using user contextual micro-files for several and different kind of contexts.
Prior State of the Art
Content recommendation is widely regarded as the next big step in information retrieval, and the one that will take the lead from search engines in the near future as the preferable way of locating and accessing content. This is so because search engines are currently saturated with data, and the process of locating items of interest to users is becoming daunting and too burdensome for the user: simple queries produce too many results, and complex queries demand too much effort from general end users. Recommendation is a technology algorithmically similar to search, but functionally very different: it acts on behalf of the user, with minimal effort on her side. However, for recommendation to work it is mandatory to obtain some kind of user profile [1].
Collaborative filtering (CF) is the current mainstream approach used to build web- based recommender systems [2]. CF algorithms assume that in order to recommend items to users, information can be drawn from what other similar users liked in the past. The Nearest Neighbor algorithm, for instance, does so by finding, for each user, a number of similar users whose profiles can then be used to predict recommendations. However, defining similarity between users is not an easy task: it is limited by the sparsity and noise in the data and is computationally very expensive.
A number of techniques have been previously explored to perform collaborative filtering efficiently and with good retrieval performance, based on different approaches, such as user-based recommenders [3] or item-based [4] [5] recommenders. Both are commonly named as memory-based approaches, as opposed to model-based approaches, which build first a model from the data that is later used to generate the recommendations [6]. Different collaborative filtering approaches can be combined to improve performance [7] or complemented with other techniques to yield hybrid recommenders [8]. One recent trend in information processing and retrieval systems is the acquisition of contextual data and its incorporation to information processing [9]. Following this trend, there are approaches to improve recommendations by incorporation of contextual information in the process [10]. This can help to alleviate the problem of excessive number of hits, or to adapt better to specific needs of the user that are dependent on her current context. Incorporation of context, however, can come at the cost of additional complexity (and computational cost) of the algorithm. In particular, observing context in a Recommender Systems converts a 2-dimensional user/item problem into an n- dimensional one through the addition of several contextual dimensions or variables.
In a broad sense, there are three ways to introduce context information into a
Recommender System. Contextual pre-filtering uses data from the context to select the relevant data for each case. Once this is selected and filtered, regular recommending algorithms may be used. On the other hand contextual post-filtering techniques ignore contextual information and generate recommendations in a traditional way. Those recommendations are later filtered to match the current context. Finally, in contextual modeling, context information is directly fed into the model and used to derive the predictions.
Problems with said existing solutions
Collaborative Filtering is a well known and used method for providing recommendations mainly because its versatility. Its main advantage is that no domain knowledge is required in order to get the recommendations. This occurs both for the user and the item domain in a given recommender scenario.
When using plain Collaborative Filtering the only information that you have is the ratings that a given user has used when evaluating an item. That information can not be further discriminated using meta-data neither from the item nor from the user because you do not have this information. But it can happen that prior knowledge about the domain can give you a hint about some latent variables in the user's preferences even if you can not explicitly express them.
Recommender systems are about preference discovery, the objective is to materialize the utility function that a given user uses when valuing a set of items. In some domains there is also the concept of context, the utility function for a given user is dependent on the context where the rating/evaluation of an item is occurring. One of such domains is music. Music can not be easily evaluated in isolation, especially when listened for leisure. Music is used as a companion for other related activities or for inducing different moods, take for example, music for dancing, relaxation, mental energizing, etc. All these situations make a case against treating all the ratings that a given user can generate as a monolithic piece of information. Other approaches to discriminate and segment ratings based on the context should be created.
Another classical problem of CF approaches is the sheer volume of data needed for good performance, given that the existence of a sufficiently large amount of profiles is a prerequisite for finding a good match. This makes many CF approaches suffer from the need to compromise between predictive performance and computational load.
Also, most recommendation systems suffer from the cold start problem [11], in which scarcity of initial setup data (e.g. when a new user enters the system and no previous data about her is available) limits severely the quality of recommendations.
As far as contextual recommendation techniques, they are still at very early stages. While some have proved to improve accuracy in terms of prediction error, it is well known that this is not the only measure of success in recommender systems [14]. In particular, one important feature of recommender systems is that recommendations should be transparent and explainable [13]. That means that the user should be aware of the underlying mechanism that is being used to decide on the recommendations and receive appropriate feedback. However, adding contextual information adds complexity to this process. All current solutions focus on how to use context information to improve the original data by reducing sparsity or computational complexity. However, they are not concerned on how this might affect the user relation with the system.
A novel approach overcoming most of said problems was disclosed in "Towards time-dependant recommendation based on implicit feedback" by Linas Baltrunas and Xavier Amatriain.
Said proposal discloses a contextual pre-filtering technique based on implicit user feedback. There a new context-aware recommendation approach called user micro- profiling is first introduced, which consists in splitting the user profile into several sub- profiles, each representing the user in a particular context. The predictions are done using these micro-profiles instead of a single user model.
In said article only time has been used as the context of the user according to which the user profiles are split into partitions or time micro-profiles. Apart from said limitation said proposal have also other restrictions, such as the non-overlapping nature of the partitions, the requirement which establishes that all the partitions must be the same for all users, etc., that make said proposal to be very poorly feasible in order to be put into practice in a real case. Description of the Invention
It is necessary to offer an alternative to the state of the art which covers the gaps found therein, by providing a method for context-aware content recommendations which is more flexible, i.e. less restrictive, and offers a much higher performance and versatility than the one proposed in "Towards time-dependant recommendation based on implicit feedback".
To that end, the present invention concerns a method for context-aware content recommendations using user contextual micro-profiles pre-filtering and collaborative filtering, comprising:
a) generating a plurality of user profiles from data related to items played or used by each of a corresponding plurality of users;
b) splitting each of said user profiles into several user contextual micro-profiles, each representing the user in a particular context; and
c) generating content recommendations for a particular user for a specific context, based on analysis and comparison between micro-profile or micro-profiles related to said particular user for said specific context and data collected from several users constrained to their contextual micro-profiles, which are also related to said specific context.
The method of the invention comprises in a characteristic manner:
- carrying out said step c), for said particular user, at least twice, according to corresponding sub-steps c1 ) and c2), each for one of at least two different specific contexts, thus generating at least two provisional lists of content recommendations, for said particular user, one per each of said at least two contexts, and
- generating a final content recommendations list by combining, in a weighted manner, the contents of said at least two provisional lists.
For some embodiments the method comprises carry out a plurality of sub-steps c1), c2)...cn), for a plurality of different specific contexts, and generating said final recommendations list from a corresponding plurality of provisional lists.
For an embodiment the method comprises carrying out said sub-steps c1) and c2) by parallel processing.
The method comprises using different recommendation engines for carrying out each of said sub-steps c1), c2) ... cn), for other embodiment.
An embodiment of the method comprises weighting the micro-profiles associated to said contents of said provisional lists in order to generate said final content recommendations list. As for said specifics contexts, they can be selected from at least two of the next contexts: time at which an item has been played, item consumption timestamp, user location at different granularity levels, activity associated to an item and/or user, physical (e.g. environmental) or personal (e.g. mood) user context and current social context for the user.
According to one embodiment which will be explained in more detail later, each of said user contextual micro-profiles is a time segmented micro-profile.
For an embodiment, the method of the invention comprises creating for each user, at said step b), said user contextual micro-profiles corresponding to consecutive time periods, such that they span a global time interval for the complete playing history of the user.
For another embodiment, the method comprises defining a global micro-profile for each user including a global time interval for the complete playing history of the user.
In order to generate recommendations for a near future, for an embodiment the method of the invention comprises acquiring foreseeable context information for a near- future time, using said acquired context information to generate said user contextual micro-profiles, and for generating said final content recommendations list for a time frame including said near-future time. The proposed invention is capable of recommending item lists that take into account at least two different kind of contexts of the user. The technology of the invention is a Collaborative Filtering with a micro-profiling pre-filtering input, in which variations in the user context can be used to generate a segmentation in context space and produce micro-profiles of the user, for each recurrent contextual situations. The invention belongs to the family of pre-filtering contextual recommendations but as we will explain later, and as pointed out by [15], it represents a different approach that includes several benefits that will be summarized in section 3.2.
The method of the invention generates recommendations, based on user similarity generated from past play behaviour, and context-constrained user micro-profiles, and is able to generate the recommendations most appropriate for the considered context subspace.
Besides, the present invention produces a segmentation of the user profile into several contextual profiles that are easy to understand and interact with the user. One particular instantiation of the concept uses the temporal context of the user to create time-dependent micro-profiles, which can be used for temporally focused recommendations. This version will be explained at length in the next section.
The result is further improved by two additional steps:
• The sets of recommended items produced by each applicable micro- profile are combined to yield a unique list by means of a procedure that ensures that each micro-profile output contributes in an adequate amount
• The system is able to produce content playlists with dynamic context adaptation for configurable time frames.
The proposal of this invention applies to any multimedia item whose user experience can be assigned to a particular (and limited) time frame. This includes e.g. listening to a concrete song at a certain time instant, or watching a video also at a given time. For simplicity reasons, the verb "play" will be used to refer generically at the act or reproducing the multimedia item, be it of any suitable kind.
Brief Description of the Drawings
The previous and other advantages and features will be more fully understood from the following detailed description of embodiments, some of which with reference to the attached drawings, which must be considered in an illustrative and non-limiting manner, in which:
Figure 1 is an architecture diagram representing the method of the invention for an embodiment; and
Figure 2 is a diagram which shows an embodiment of the method of the invention related to a frequency analysis for the music domain. Detailed Description of Several Embodiments
For an embodiment the method of the invention implements a mechanism which, referring to the architecture of Figure 1 , can be summarized in the following points, particularized for the case in which the context segmentation is based on temporal patterns: 1. The mechanism provides recommendations to end users to play multimedia content items, specially adapted to their tastes and preferences, and taking into account the adaptation of those tastes to the context in which the item is to be experienced by the user.
2. It performs such recommendation by matching the profile of the user (defined as her past playing history) to the profiles of similar users, as stored in the system database, thereby using a collaborative filtering approach.
3. In order to obtain those profiles, it uses its own logs of usage history, plus additional information collected from Internet social media services.
4. The information collected, and fed to the user profile, includes not only the content items played by the user, but also the context in which they were played.
In particular, a timestamp of content play is added to each media element. If an element was played more than once, each instance contains its own timestamp.
Therefore, it is possible to reconstruct the complete timing of playing history from each user's profile.
5. In order to provide contextualized user experience, temporal listening patterns are analyzed to extract statistically significant differences in playing habits, and map them to time frames that are periodically recurrent, such as "Monday mornings", "Summer weekends", or "weekday evenings between 20h and 23h". We will call those time frames "periodic time intervals".
6. Once the periodic time intervals that are statistically different from one another have been defined, they are used to define micro-profiles for each user. For each micro-profile, the playing history of the user in all past occurrences of the corresponding periodic time interval is collected, and the micro-profile is built from it.
7. A user in the system, therefore, contains a number of distinct micro-profiles, one for each periodic time interval. The complete set of micro-profiles form the overall user profile. This overall user profile may be so that any possible time instant can be mapped to at least one micro-profile (thereby providing a complete set), but this is not compulsory. In general, given any time instant, the set of applicable micro-profiles may be zero (i.e. no micro-profile can be applied), one (exactly one is applicable) or more than one (if some periodic time intervals overlap in applicability, there would be cases in which more than one micro-profile is valid for a given instant). 8. It is also possible to define a global micro-profile, as one for which all time instants are valid (i.e. one that has been created by using the complete playing history of the user). If the overall user profile includes a global micro-profile, then it is guaranteed that all possible time instants can be mapped to at least one micro- profile (another way of guaranteeing this is by defining the set of periodic time intervals so that they span the complete interval of possible time instants).
9. To create a play recommendation for a given user at a certain time instant, the system selects the set of micro-profiles that match the desired time instant. For each micro-profile, it then calls a recommendation engine that has been configured with the all micro-profiles of the same periodic time interval (for all collected users) and obtains in return a weighted recommendation list.
10. All produced recommendation lists from the different recommendation engines are combined to yield a final recommendation, which is then given to the user.
1 1. User interactions with the system, and her playing behaviour, are further used to enrich and update her overall profile, by feeding its playing acts to each applicable micro-profile.
Elements of Figure 1 , whether referring to actions or to elements of the illustrated mechanism, are indicated by the textual legends included therein.
These eleven steps are further developed in the next subsections, for some embodiments which must be considered in an illustrative and non-limiting manner.
Data capture and analysis The data capture and analysis phase comprises the operations of collecting time- stamped information of item usage, analyzing it to detect candidates for periodic time intervals (PTI), extracting statistically significant differences from those candidates, using those differences to decide upon the final list of PTIs and, once set, use the PTIs to group the item usage data into appropriate datasets.
There are three sources of time-stamped item usage:
a) The own data gathered by the system from the interactions made by users on the recommendation lists provided. For that to be valid, it is necessary that the client application records the timestamp of usage of each played item, and submits that information to the server at regular intervals. b) Timestamped data from social media Internet sites, that is, web portals that aggregate information about item data usage and that are able to provide that data together with the required timestamps. c) Third-party datasets, obtained through possible agreements with content providers. Suitable anonymized data is used to ensure privacy.
Sources (b) and (c) are a necessary complement to the own internal data in the following circumstances:
• When the dataset collected by the system is not large enough (due to e.g. an initial insufficient user base)
· When, even if the available dataset is significant, still no suitable micro- profiles can be found to match that of the user for collaborative filtering purposes (due to e.g. the user having an temporal play pattern distinctly diverging from the general trends in the user base).
For those cases, it is important that the data from sources 2 and 3 is gathered to cover a sufficiently large time period (e.g. 1 year) to ensure that all potential PTIs are sufficiently covered. It is also convenient, to facilitate profile matching, that the datasets are processed to a cleaning phase, in which a) Playing profiles with too much sparsity (very casual users) are filtered out from the dataset, to avoid the introduction of noise b) The user profiles selected match in at least a reasonable amount the basic demographics of the intended target for the service. This is to guarantee that playing habits are in a minimal sense similar, on two senses:
• Since the data is timestamped, and temporal playing patterns depend, among other factors, on general sociological and cultural patterns, as well as on dominant social schedules, this will facilitate to find similar temporal patterns.
• Since, notwithstanding globalization of culture, multimedia content preferences have still a great deal of local flavour.
As an example, a system could restrict itself to gather data from users with a minimal playing history (1 year), who have a minimal level of activity, both overall (total number of items played) as well as temporally distributed (a minimum average of daily items, and a minimum degree of uniformity across time) and who belong to the same geographical area as the intended users of the service. Another possible selection is by age group, if the service is oriented towards a certain age segment (if not, but the amount of user profiles available is sufficiently rich, they can be segmented by age group to create still another dimension for micro-profiles, therefore increasing the granularity of recommendations).
Figure 2 shows an example of frequency analysis for the music domain. A random sample of around 2% of all active users of the same geographical area was taken, and all the songs listened during a whole year (2008) were fed into statistical analysis (around 3.6 million items). The overall listening patterns are shown in the figure, which forms the basis for extraction of candidate PTIs. Extraction can be:
· algorithmic: by performing some kind of search in the space defined by possible segmentations in the different time axes, subject to certain restrictions (such as minimum size of segments, minimum number of items per segment, minimum homogeneity in partition sizes)
• heuristic, by postulating an a priori segmentation, to be later validated. In the case of the example, two different segmentations were combined:
a) within-day differences create a 3-way split: morning, afternoon and evening (which includes night)
b) within-week differences create a 2-way split: weekday (from Monday morning to Friday afternoon) and weekend (from Friday evening to Sunday evening).
The overall set of candidate PTIs is therefore in this case the Cartesian product of (morning, afternoon, evening) x (weekday, weekend), giving a total of 6 different PTIs. In another case with different statistics it might yield fewer or greater number of candidate PTIs.
Once we get candidate PTIs, final PTI decisions are based on the existence of significant differences in listening patterns between those candidates. This is done at the item level if possible, but if the number of items is too large (hence precluding direct comparison) a greater semantic grouping is used. This is done by clustering items into some unifying semantic groups, this might be
· item origin information, e.g. for music it can be the artist/performer
• item genre within the domain: music genre, film genre, etc
The objective is to be able to assign to each PTIs item classes that are large enough so as to produce significant recommendations in the final system.
The decision on final PTIs is done by computation of relevant statistics, that help to decide whether a candidate PTIs contains a distribution of items that is sufficiently different from others (and from the global distribution) as to be considered useful. Standard statistical tests, such as Kolmogorov-Smirnov tests or Kullback-Leibler divergences can be used for that purpose.
Micro-profile creation
The micro-profile creation is a split technique of the user profile. This user profile is composed of the items played by the user and the time when they were played. The split criterion in the micro-profile creation is the consumption timestamp, defining time as our context parameter. Users have different micro-profiles depending of time slots (PTIs) defined.
The micro-profile creation introduces the idea of micro-profiling (or user splitting), which splits the user profile into several (possibly overlapping) subprofiles, each representing the given user in a particular context. The predictions are done using these contextual micro-profiles instead of a single user model.
The collaborative filtering of an algorithm implemented according to an embodiment of the method of the invention, uses the output of the user feedback splitting technique as the contextual pre-filtering input, where each user is split into several fictitious users based on the time context in which these items can be consumed. One major advantage of this approach is that it allows the use of a traditional recommendation algorithm to obtain a contextualized recommendation.
Collaborative filtering per micro-profile
Each micro-profile is a user on its own, it has its own set of ratings based on the contextual division of the original profile. Thus the rating matrix for collaborative filtering is an extended version of the original one, where columns representing items remain the same, but rows are multiplied by the new number of different contexts.
Computationally this configuration can be challenging because the high computational costs derived of using Collaborative Filtering are accentuated in this new setup where there are N times more users. However at the same time it opens the door to parallel processing, since each micro-profile cluster could be computed by a different recommendation engine, whose computational load would be lower than that of the global data, given the reduction achieved by the segmentation. Final Recommendation
Micro-profile combination
The final module in the system implementing the method of the invention for an embodiment, must combine all recommendations coming from the different available sources into one single, consolidated list. A number of standard procedures for combining recommendation lists can be applied: majority voting, linear mixing, etc.
In the here described embodiment related to the case of combining contextual micro-profiles, final recommendations are generated by merging the lists, so that items in more than one list have their weights added. The weight attached to each item is used as a sorting field, the resulting list is therefore ordered by importance.
If the relative importance of all micro-profiles is known beforehand, it is used to apply a linear factor to the weights coming from each micro-profile, thereby underlying its contribution to the final list. However, in general it is difficult to estimate adequately that relative importance (e.g. what would be more significant: a micro-profile produced by the current temporal segment or a micro-profile based on location, when both are applicable?). Therefore, in the case in which the weights for each micro-profile are undetermined, a more generic procedure is used instead:
• All contributing micro-profiles are in principle assumed to have the same importance, so their standard weight factor, unless better information is known, is set to 1.
• In order to overcome the possible differences in dynamic range coming from each micro-profile (which could yield dominance in the recommendations from some of them) and give approximate equal footing to each micro-profile (thereby abiding with the same importance assumption) the range of weights is equalized before combination. This enables a better mix of contexts,
• Equalization is done by linear mapping of the recommendation weights. The mapping for each micro-profile is computed offline, and it is done by running statistical analysis over recommendations triggered for a random set of users in the micro-profile. The dynamic range of results is gathered, and a transformation is computed to enable that range to cover the whole final interval.
• Though collaborative filtering usually behaves reasonably in terms of stability of results, the more sparse nature of some micro-profiles might produce unusual outcomes (in the sense of outliers in recommendation weights). Therefore, to preclude those outliers from producing extreme mappings, instead of the whole computed range a percentile interval is used as the starting range to transform. Typically this would be the [10, 90] percentile range, though it may be adjusted further for specific cases. This procedure enables a good and levelled amount of contributions from all contextual micro-profiles to the final result. It can also facilitate recommendations from "minority" micro- profiles to "bubble-up" in the lists, thereby improving the novelty factor (serendipity) of recommendations.
Extra source of recommendations
In case that the size of the recommendation list is not enough to provide a valid set (either with or without the randomization step), additional items are added to it by pulling items generated by the recommender attached to the global micro-profile, which, as it contains all items in users' profiles, is guaranteed to provide the greatest number of recommendations.
This last procedure can alleviate a possible cold-start problem at the micro-profile level. Conversely, for completely new users (hence no data available at all), cold start can be mitigated by using generic recommendations extracted from popularity analysis at the micro-profile level. In this way context information can be used to personalize recommendations even when the user profile is completely empty. Dimming out of recent items
In order to avoid excessive repetition, a temporal dampening cost factor is applied to the weights of the items already played by the user, before doing the sorting by weight. The cost factor uses a nonlinear monotonic function whose value increases with the distance of item play time to current time, so that items recently played are penalized most. This factor is computed for the most recent N plays of the item in the user's history, and all resulting cost factors are added up; the final value multiplies the weight of the item. This procedure ensures that play patterns do not become too repetitive.
Final randomization An additional optional randomization step helps to increase user experience by providing a different set of items each time. This is done in two steps: a) First a threshold is used to filter out items with too low weight (i.e. items at the far end of the recommendation priority)
b) The resulting set is re-sorted by randomly choosing elements from the list (with no reposition).
The final set contains therefore the same items of the thresholded set, but the play order is non-deterministic. For this to be effective, the size of the recommendation list must be great enough.
Context-adapted playlists
An additional capability of the invention is its ability to provide a temporal succession of recommended items (a "playlist"), adapted to a given time frame. This enables a better adaptation to the user context, covering not only the instantaneous context information, but also the system's knowledge about the near-future context, gathered either implicitly or explicitly. It could be used, for instance, to generate a playlist suitable to fill a predefined time slot ("content for my half an hour of commuting time to work") or to create an advance plan for multimedia playback ("music selection from now till my meeting at 6 PM").
For this to be done, an additional metadata element is captured for each item: its duration in terms of reproduction time. Once this is obtained, the system proceeds as follows:
1. The user-side of the service makes a request for a playlist of a given duration, starting at a defined time instant (e.g. "a list of items for 1.5 hours, starting today at 16:30h")
2. The system decomposes the requested time window in subwindows.
Each one corresponds to a different set of applicable micro-profiles, which could be
3. For each subwindow, it makes a request to the pool of recommendation engines for the relevant micro-profiles. Results are scanned, and items are added from it to a candidate list for that subinterval, following the combination technique described in section "Micro-profile combination". The total playing duration of the list will be in general significantly greater than the subwindow, which gives margin to further pruning based on additional criteria.
4. Additional restrictions based on user profile aspects or list homogeneity could be added at this step e.g. filtering out items that are too long or too short according to some predefined criteria.
5. As a result, we have now a set of consecutive subwindows, each one provided with a candidate list of items. The subwindows are then populated (starting from the one to be played soonest) by feeding from their candidate lists, one by one.
6. For each subwindow, dimming out of recently played items and final randomization of the list is performed as described in the previous sections. Once the list for the current subwindow is finalized, its items are considered as "played", so that when proceeding on to the next subwindow, they enter the computation of dimmed out items.
7. The lists corresponding to each subinterval are then concatenated, in the order given by the temporal succession of the subintervals. The result is a list of playable items that spans the complete duration of the requested time window, each of whose items is adapted to the temporal context in which it will be played.
Advantages of the Invention
The method of the invention has the following improvements against standard collaborative filtering:
• Better adaptation to user preferences thanks to its incorporation of user context.
• Greater mitigation of the cold-start problem, thanks to its ability to play with data at the micro-profile and at the global profile level to compensate for lack of past play information about the user, as mentioned when describing the final recommendation procedure.
• Amenable to parallelization and distributed processing, hence capable of running more sophisticated collaborative filtering algorithms with fewer computational load: the splitting in micro-profiles enables separate computation of the most computationally intensive part (the CF algorithm), while the final combination is light-weight (since most computations are performed off-line, as explained previously)
• Capable of being adapted to standard recommendation algorithms, which can be plugged in and out of the scheme with ease. Even different micro-profiles could use different algorithms seamlessly, should that be revealed as an improvement in the quality of the results.
• Sparsity-mitigation techniques useful for standard collaborative filtering
[12] can also be applied to our solution. Given the extra dimensions added by the micro-profiles, it is possible to find a more accurate predictor for missing data than in the general case.
When compared to other contextual recommendation techniques, the micro- profiling approach of the method of the invention includes the following benefits:
• It generates explicit user sub-profiles that can be easy to understand · It can combine recommendation from different micro-profiles intelligently, improving the perceived novelty (and usefulness) of recommendations.
• The user can interact and even modify these micro-profiles to clearly match some guidelines (e.g. "at weekends my TV watching micro- profile is different because I watch TV with my kids")
• Since micro-profiles are understandable, it is immediate to add explanations to the recommendations, therefore improving the transparency and trust in the system, (e.g. "we are recommending you this blues song because we know you listen to these kind of songs when it is rainy")
• Having explicit micro-profiles for users allows for better finding neighbors that match only one particular micro-profile. That is, you might be similar to some people but only under some contextual conditions. This opens up the opportunity to recommend ad-hoc contextual social networks based on this (e.g. "you are very different from user B during most of the week, but you might want to connect on Sunday afternoon because you like to do very similar things at that time").
• It can adapt to varying contexts (as instantiated by different sets of micro-profiles) and thus provide dynamically adapted playlists. A person skilled in the art could introduce changes and modifications in the embodiments described without departing from the scope of the invention as it is defined in the attached claims.
[1] A. Kobsa, "Generic user modeling systems" in The adaptive web: methods and strategies of web personalization, ser. Lecture Notes In Computer Science. Springer Verlag, 2007, vol. 4321 , pp. 136-154.
[2] G. Adomavicius and A. Tuzhilin. "Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions". IEEE Trans, on Knowledge and Data Engineering, 17(6):734- 749, 2005.
[3] B. Sarwar, G. Karypis, J. Konstan, and J. Riedl, "Analysis of recommendation algorithms for e-commerce," in EC Ό0: Proceedings of the 2nd ACM conference on Electronic commerce. New York, NY, USA: ACM Press, 2000, pp. 158-167.
[4] G. Linden, B. Smith, and J. York, "Amazon.com recommendations: Item-to- item collaborative filtering," IEEE Internet Computing, vol. 7, no. 1 , pp. 76-80, January 2003.
[5] B. Sarwar, G. Karypis, J. Konstan, and J. Riedl. "Item-based collaborative filtering recommendation algorithms". In Proc. of WWW '01 , 2001.
[6] G. R. Xue, C. Lin, Q. Yang, W. Xi, H. J. Zeng, Y. Yu, and Z. Chen, "Scalable collaborative filtering using cluster-based smoothing," in SIGIR '05: Proceedings of the 28th annual international ACM SIGIR conference on Research and development in information retrieval. New York, NY, USA: ACM, 2005, pp. 114-121.
[7] R. M. Bell and Y. Koren, "Lessons from the netflix prize challenge," SIGKDD Explor. Newsl., vol. 9, no. 2, pp. 75-79, December 2007.
[8] R. Burke, "Hybrid recommender systems: Survey and experiments," User Modeling and User-Adapted Interaction, vol. 12, no. 4, pp. 331-370, November 2002. Science. Rockin' to the Music Genome. Science, 311 (5765): 1223d- 2006.
[9] G. D. Abowd, A. K. Dey, P. J. Brown, N. Davies, M. Smith, and P. Steggles, "Towards a better understanding of context and context-awareness," in HUC '99: Proceedings of the 1st international symposium on Handheld and Ubiquitous Computing. London, UK: Springer-Verlag, 1999, pp. 304-307.
[10] G. Adomavicius, R. Sankaranarayanan, S. Sen, and A. Tuzhilin, "Incorporating contextual information in recommender systems using a multidimensional approach," ACM Transactions on Information Systems, vol. 23, pp. 103-145, 2005.
[11] X. N. Lam, T. Vu, T. D. Le, and A. D. Duong. "Addressing cold-start problem in recommendation systems". In ICUIMC '08: Proc. of 2nd Int. Conf. on Ubiquitous Inf. Manag. and Comm., pages 208-211 , New York, NY, USA, 2008.
[12] H. Ma, I. King, and M. R. Lyu. "Effective missing data prediction for collaborative filtering". In Proc. of SIGIR Ό7, 2007.
[13] David Mcsherry, "Explanation in Recommender Systems", Artificial
Intelligence Review, Volume 24, Number 2 / octubre de 2005
[14] Jonathan L. Herlocker, Joseph A. Konstan, Loren G. Terveen, and John T.
Riedl, "Evaluating Collaborative Filtering Recommender Systems", ACM
Transactions on Information Systems, Vol. 22, No. 1 , January 2004, Pages 5-
53.
[15] G. Adomavicius, A. Tuzhilin, "Context-aware Recommender Systems" in Recommender Systems Handbook. Springer. 2010.

Claims

Claims
1.- Method for context-aware content recommendations using user contextual micro-profiles pre-filtering and collaborative filtering, comprising:
a) generating a plurality of user profiles from data related to items played or used by each of a corresponding plurality of users;
b) splitting each of said user profiles into several user contextual micro-profiles, each representing the user in a particular context; and
c) generating content recommendations for a particular user for a specific context, based on relating the information contained in micro-profile or micro-profiles related to said particular user for said specific context with at least part of those micro-profiles, of said several user contextual micro-profiles, which are also related to said specific context; characterised in that the method comprises:
- carrying out said step c), for said particular user, at least twice, according to corresponding sub-steps c1) and c2), each for one of at least two different specific contexts, thus generating at least two provisional lists of content recommendations, for said particular user, one per each of said at least two contexts, and
- generating a final content recommendations list by combining, in a weighted manner, the contents of said at least two provisional lists.
2.- Method as per claim 1 , comprising carrying out at least said sub-steps d) and c2) by parallel processing.
3. - Method as per claim 1 or 2, comprising using different recommendation engines for carrying out each of said sub-steps c1) and c2).
4. - Method as per claim 1 , comprising weighting the micro-profiles associated to said contents of said provisional lists in order to generate said final content recommendations list.
5. - Method as per claim 1 , wherein at least some of the user contextual micro- profiles of a user are at least partially overlapped.
6. - Method as per any of previous claims, wherein said specifics contexts are at least two of the next contexts: time at which an item has been played, item consumption timestamp, user location at different granularity levels, activity associated to an item and/or user, physical (e.g. environmental) or personal (e.g. mood) user context and current social context for the user.
7. - Method as per claim 6, wherein each of said user contextual micro-profiles is a time segmented micro-profile.
8. - Method as per claim 7, comprising creating for each user, at said step b), said user contextual micro-profiles corresponding to consecutive time periods, such that they span a global time interval for the complete playing history of the user .
9. - A method as per claim 7, comprising defining a global micro-profile for each user including a global time interval for the complete playing history of the user.
10. - Method according to any of the previous claims, comprising acquiring foreseeable context information for a near-future time, using said acquired context information to generate said user contextual micro-profiles, and for generating said final content recommendations list for a time frame including said near-future time.
PCT/EP2011/004019 2010-09-24 2011-08-11 Method for context-aware content recommendations using user contextual micro-profiles pre-filtering and collaborative filtering WO2012038007A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ES201001223 2010-09-24
ESP201001223 2010-09-24

Publications (1)

Publication Number Publication Date
WO2012038007A2 true WO2012038007A2 (en) 2012-03-29

Family

ID=44545633

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2011/004019 WO2012038007A2 (en) 2010-09-24 2011-08-11 Method for context-aware content recommendations using user contextual micro-profiles pre-filtering and collaborative filtering

Country Status (2)

Country Link
AR (1) AR083098A1 (en)
WO (1) WO2012038007A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015187418A1 (en) * 2014-06-06 2015-12-10 Google Inc. Content item usage based song recommendation
US9396270B2 (en) 2013-06-28 2016-07-19 Sap Se Context aware recommendation
US10140372B2 (en) 2012-09-12 2018-11-27 Gracenote, Inc. User profile based on clustering tiered descriptors

Non-Patent Citations (16)

* Cited by examiner, † Cited by third party
Title
A. KOBSA: "The adaptive web: methods and strategies of web personalization", vol. 4321, 2007, COMPUTER SCIENCE. SPRINGER VERLAG, article "Generic user modeling systems", pages: 136 - 154
B. SARWAR, G. KARYPIS, J. KONSTAN, J. RIEDL.: "Item-based collaborative filtering recommendation algorithms", PROC. OF WWW'01, 2001
B. SARWAR, G. KARYPIS, J. KONSTAN, J. RIEDL: "EC '00: Proceedings of the 2nd ACM conference on Electronic commerce.", 2000, ACM PRESS, article "Analysis of recommendation algorithms for e-commerce", pages: 158 - 167
DAVID MCSHERRY: "Explanation in Recommender Systems", ARTIFICIAL INTELLIGENCE REVIEW, vol. 24, no. 2, XP019228152, DOI: doi:10.1007/s10462-005-4612-x
G. ADOMAVICIUS, A. TUZHILIN.: "Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions", IEEE TRANS. ON KNOWLEDGE AND DATA ENGINEERING, vol. 17, no. 6, pages 734 - 749,2005
G. ADOMAVICIUS, A. TUZHILIN: "Recommender Systems Handbook.", 2010, SPRINGER, article "Context-aware Recommender Systems"
G. ADOMAVICIUS, R. SANKARANARAYANAN, S. SEN, A. TUZHILIN: "Incorporating contextual information in recommender systems using a multidimensional approach", ACM TRANSACTIONS ON INFORMATION SYSTEMS, vol. 23, 2005, pages 103 - 145, XP002602128, DOI: doi:10.1145/1055709.1055714
G. D. ABOWD, A. K. DEY, P. J. BROWN, N. DAVIES, M. SMITH, P. STEGGLES: "HUC '99: Proceedings of the 1 st international symposium on Handheld and Ubiquitous Computing.", 1999, SPRINGER-VERLAG, article "Towards a better understanding of context and context-awareness", pages: 304 - 307
G. LINDEN, B. SMITH, J. YORK: "Amazon.com recommendations: Item-to- item collaborative filtering", IEEE INTERNET COMPUTING, vol. 7, no. 1, January 2003 (2003-01-01), pages 76 - 80, XP011095524, DOI: doi:10.1109/MIC.2003.1167344
G. R. XUE, C. LIN, Q. YANG, W. XI, H. J. ZENG, Y. YU, Z. CHEN: "SIGIR '05: Proceedings of the 28th annual international ACM SIGIR conference on Research and development in information retrieval.", 2005, ACM, article "Scalable collaborative filtering using cluster-based smoothing", pages: 114 - 121
H. MA, KING, M. R. LYU.: "Effective missing data prediction for collaborative filtering", PROC. OF SIGIR'07, 2007
JONATHAN L. HERLOCKER, JOSEPH A. KONSTAN, LOREN G. TERVEEN, JOHN T. RIEDL: "Evaluating Collaborative Filtering Recommender Systems", ACM TRANSACTIONS ON INFORMATION SYSTEMS, vol. 22, no. 1, January 2004 (2004-01-01), pages 5 - 53
R. BURKE: "Hybrid recommender systems: Survey and experiments", USER MODELING AND USER-ADAPTED INTERACTION, vol. 12, no. 4, November 2002 (2002-11-01), pages 331 - 370
R. M. BELL, Y. KOREN: "Lessons from the netflix prize challenge", SIGKDD EXPLOR. NEWSL., vol. 9, no. 2, December 2007 (2007-12-01), pages 75 - 79
SCIENCE. ROCKIN' TO THE MUSIC GENOME. SCIENCE, vol. 311, no. 5765, 2006, pages 1223D
X. N. LAM, T. VU, T. D. LE, A. D. DUONG.: "Addressing cold-start problem in recommendation systems", ICUIMC '08: PROC. OF 2ND INT. CONF. ON UBIQUITOUS INF. MANAG. AND COMM., 2008, pages 208 - 211, XP058202289, DOI: doi:10.1145/1352793.1352837

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10140372B2 (en) 2012-09-12 2018-11-27 Gracenote, Inc. User profile based on clustering tiered descriptors
US10949482B2 (en) 2012-09-12 2021-03-16 Gracenote, Inc. User profile based on clustering tiered descriptors
US11886521B2 (en) 2012-09-12 2024-01-30 Gracenote, Inc. User profile based on clustering tiered descriptors
US9396270B2 (en) 2013-06-28 2016-07-19 Sap Se Context aware recommendation
WO2015187418A1 (en) * 2014-06-06 2015-12-10 Google Inc. Content item usage based song recommendation
US9773057B2 (en) 2014-06-06 2017-09-26 Google Inc. Content item usage based song recommendation

Also Published As

Publication number Publication date
AR083098A1 (en) 2013-01-30

Similar Documents

Publication Publication Date Title
US11921778B2 (en) Systems, methods and apparatus for generating music recommendations based on combining song and user influencers with channel rule characterizations
Mishra et al. A web recommendation system considering sequential information
US9898466B2 (en) Media preference affinity recommendation systems and methods
US8156118B2 (en) Method and system for generating playlists for content items
CN105512183B (en) A personalized recommendation method and system based on user's autonomous selection
Shin et al. Context-aware recommendation by aggregating user context
Moling et al. Optimal radio channel recommendations with explicit and implicit feedback
WO2007103938A2 (en) Methods and systems for selecting and presenting content based on learned user preferences
EP1200902A2 (en) Methods and system for generating automated alternative content recommendations
Wang et al. Personalization on a peer-to-peer television system
Fernández-García et al. A hybrid multidimensional Recommender System for radio programs
WO2012038007A2 (en) Method for context-aware content recommendations using user contextual micro-profiles pre-filtering and collaborative filtering
Pechenizkiy et al. A framework for guiding the museum tours personalization
Bogina et al. Incorporating time-interval sequences in linear TV for next-item prediction
Lian et al. Temporal patterns of the online video viewing behavior of smart TV viewers
Domingues et al. The impact of context-aware recommender systems on music in the long tail
Zarka et al. Trace-based contextual recommendations
Velankar et al. Employing cumulative rewards based reinforcement machine learning for personalized music recommendation
Andrade et al. Novel hybrid approach to content recommendation based on predicted profiles
Salunke et al. Personalized suggestion for music based on collaborative filtering
Ahmed Analyzing user behavior and sentiment in music streaming services
Zibriczky et al. EPG content recommendation in large scale: a case study on interactive TV platform
Dwivedi et al. Optimized Advancements in Next-Generation Recommendation Engines for Personalized Experiences on OTT Platforms
Stegers et al. MusiDB: A personalized search engine for music
Kumar et al. Recommender systems and ITS applications on popular online platforms

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: 11751814

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11751814

Country of ref document: EP

Kind code of ref document: A2

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载