Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.


  1. Advanced Patent Search
Publication numberUS20110099521 A1
Publication typeApplication
Application numberUS 12/984,259
Publication dateApr 28, 2011
Filing dateJan 4, 2011
Priority dateFeb 4, 2005
Also published asEP1844386A2, EP1844386A4, US7797321, US7945568, US8185533, US8543575, US20060179414, US20100313167, US20110213776, US20120233193, WO2006084269A2, WO2006084269A3
Publication number12984259, 984259, US 2011/0099521 A1, US 2011/099521 A1, US 20110099521 A1, US 20110099521A1, US 2011099521 A1, US 2011099521A1, US-A1-20110099521, US-A1-2011099521, US2011/0099521A1, US2011/099521A1, US20110099521 A1, US20110099521A1, US2011099521 A1, US2011099521A1
InventorsFrancisco J. Martin, Jim Shur, Marc Torrens
Original AssigneeStrands, Inc.
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
System for browsing through a music catalog using correlation metrics of a knowledge base of mediasets
US 20110099521 A1
A system and method to navigate through a media item catalog and generate recommendations using behavioral metrics such as correlation metrics (FIGS. 1,2) from a knowledge base (400) of mediasets (FIG. 4, 1-7). One implementation uses a knowledge base comprising a collection of mediasets. Various metrics (Metric 1-Metric m) among media items (m1 . . . ) are considered by analyzing how the media items are grouped to form the sets in the knowledge base (400). Such metrics preferably are stored in a matrix (100) that allows the system to dynamically build appropriate navigation lists (FIG. 3) from media items that a user selects (FIG. 5).
Previous page
Next page
1. A computer-implemented method of assisting a user in selecting items from an electronic catalog of media items, the method comprising:
(a) obtaining access to metric values derived from a knowledge base of predetermined mediasets associated with the electronic catalog; wherein the metric values reflect a level of association for each of the pairs of media items within the knowledge base of mediasets and the metric values are not affected by any descriptor, characteristic, classification or other descriptive metadata of the media items' content;
(b) receiving an initial selection of at least one media item to define an initial input media set;
(c) generating an output media item navigation list responsive to at least one item of the input media set, based on the metric values, and the output media item list comprising at least one media item from the electronic catalog; and
(d) communicating the generated navigation list to a user.
2. The method of claim 1 further comprising the steps of:
(e) receiving from the user an instruction to edit the navigation list;
(f) editing the navigation list as instructed by the user to define a new input set;
(g) responsive to the new input media set, generating a new navigation output list based on the association metric values; and
(h) communicating the new navigation list to the user.
3. The method according to claim 2 wherein said editing step includes adding a user-selected media item to the initial input media set to define the new input set.
4. The method according to claim 2 wherein said editing step includes:
receiving from the user a selection of at least one media item on the navigation list for deletion; and
deleting the user-selected media item from the initial input media set to form the new input set.
5. The method according to claim 1 wherein said communicating step comprises communication over a network for displaying the navigation list on a remote client device.
6. The method according to claim 1 wherein said communicating step comprises communication over a network for displaying the navigation list on a mobile client device.
7. The method according to claim 1 and further comprising ordering the generated navigation list according to the association metric values used to generate the navigation list.
8. The method according to claim 1 and further comprising filtering the generated navigation list responsive to predetermined constraints.
9. The method according to claim 1 wherein the initial input media set comprises a playlist.
10. The method according to claim 1 wherein the user comprises a remote software process rather than a person.
11. The method according to claim 2 including repeating steps (e) through (h) to realize an interactive browsing session.
12. The method according to claim 1 wherein the catalog media items comprise recorded music tracks.
13. The method according to claim 12 wherein the association metric values comprise co-concurrency metric values including at least one of a pre-concurrency metric, a post-concurrency metric, and a combination of the foregoing metrics applied transitively.
14. The method according to claim 12 wherein the association metric values comprise co-concurrency metric values, the co-concurrency metric values indicating, for each pair of media items (i,j), how many times item i and item j appear together within any of the mediasets of the knowledge base.
15. A computer-readable storage medium having computer-readable program code stored therein, said computer-readable program code including:
computer-readable program code for receiving a selection of a catalog for user browsing and for accessing a collection of metric data associated with the selected catalog;
wherein the metric data comprises metric values for pairs of media items derived from a knowledge base of mediasets;
wherein the metric values reflect a level of co-concurrency for each of the pairs of media items within the knowledge base of mediasets; and further wherein the co-concurrency metric values indicate, for each pair of media items (i,j), how many times item i and item j appear together within any of the mediasets of the knowledge base, so that the co-concurrency metric values are not affected by any descriptor, characteristic, classification or attribute of the media items' content;
computer-readable program code for receiving from the user an initial selection of at least one media item from the selected catalog to define an initial input media set;
computer-readable program code for generating a navigation list based on selected metrics for each item of the initial input media set; and
computer-readable program code for communicating the generated navigation list to the user.
  • [0001]
    This application is a continuation of U.S. patent application Ser. No. 12/858,229, filed on Aug. 17, 2010, which is a continuation of U.S. patent application Ser. No. 11/349,370, filed on Feb. 6, 2006, which claims priority from U.S. Provisional Application No. 60/649,945 filed Feb. 4, 2005, all of which are incorporated herein by this reference as though fully set forth.
  • [0002]
    2005-2006 MusicStrands, Inc. A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. 37 CFR 1.71(d).
  • [0003]
    This invention relates generally to systems for assisting users to navigate media item catalogs with the ultimate goal of building mediasets and/or discover media items. More specifically, the present invention pertains to computer software methods and products to enable users to interactively browse through an electronic catalog by leveraging media item association metrics.
  • [0004]
    New technologies combining digital media item players with dedicated software, together with new media distribution channels through networks are quickly changing the way people organize and play media items. As a direct consequence of such evolution in the media industry, users are faced with a huge volume of available choices that clearly overwhelm them when choosing what item to play in a certain moment.
  • [0005]
    This overwhelming effect can be easily detected in the music arena, where people are faced with the problem of selecting music from very large collections of songs. However, in the future, we might detect similar effects in other domains like music videos, movies, news, etc.
  • [0006]
    In general, our invention is applicable to any kind of media item that can be grouped by users forming mediasets. For example, in the music domain, these mediasets could be playlists. Users put music together in playlists to overcome the problem of being overwhelmed when choosing a song from a large collection, or just to enjoy a set of songs in particular situations. For example, one might be interested in having a playlist for running, another for cooking, etc.
  • [0007]
    This invention addresses the problem of helping users navigate through a media item catalog based on a small set of selected media items. This set of selected media items can be seen as an initial set to build a starting point for the navigation experience.
  • [0008]
    Different approaches can be considered when building systems to help users navigate a media item catalog. The most commonly used is the keyword based search where the user specifies a set of keywords and the system retrieves the set of media items which contain the keywords in their descriptors. Another approach is to consider a search based on metadata. For example in the music arena, a user might be asking to retrieve rock songs from the 90s.
  • [0009]
    However, many times users do not know what they are looking for. They want to explore the catalog and find interesting items. This observation is especially relevant for media item catalogs with a clear entertainment focus.
  • [0010]
    Various approaches can be adopted to personalized recommendations. One kind of approach is about using human expertise to classify the media items and then use these classifications to infer recommendations to users based on an input mediaset. For instance, if in the input mediaset the item x appears and x belongs to the same classification as y, then a system could recommend item y based on the fact that both items are classified in a similar cluster. However, this approach requires an incredibly huge amount of human work and expertise. Another approach is to analyze the data of the items (audio signal for songs, video signal for video, etc) and then try to match users preferences with the extracted analysis. This class of approaches is yet to be shown effective from a technical point of view.
  • [0011]
    Hosken (U.S. Pat. No. 6,438,579) describes a system and method for recommending media items responsive to query media items based on the explicit and implicit user characterizations of the content of the media items. Dunning, et. al. (U.S. Patent Application Pubs 2002/0082901 and 2003/0229537) disclose a system and method for discovering relationships between media items based on explicit and implicit user associations between said items. The need remains for improved methods and systems to assist users in navigating through media item catalogs with the ultimate goal of helping them build mediasets and/or discover media items that they will enjoy.
  • [0012]
    In one embodiment the invention comprises a system, preferably implemented in computer software, for guiding users along an interactive, personalized path through a media item catalog beginning from an initial selection by the user of one or more media items. As explained below, “media items” as used herein includes, by way of example and not limitation, music tracks or songs, albums, movies, music videos, other video “clips,” news articles, other media, including text, graphics, multi-media presentations, etc. Preferably, the media items themselves, i.e. the actual content, is not part of the present system. Rather, each media item is identified by meta data.
  • [0013]
    The system requires a knowledge base consisting of a collection of mediasets. Mediasets are sets of media items that are naturally grouped by users. The mediasets of the knowledge base define metrics among items. Such metrics indicate how correlated media items are in the mediasets of the knowledge base. For each media item of the initial set, the system generates one list of media items for each metric of the system. The media items of these lists are the ones with highest metrics with respect to the associated media item. The user can then select any of the media items of the proposed lists, and the selected list becomes part of the initial set of media items, resulting in newly generated lists being proposed to the user. The process is interactive. Advantages of such interactivity include easier and more effective browsing through the catalog and/or building a new appropriate mediaset.
  • [0014]
    Additional aspects and advantages will be apparent from the following detailed description of preferred embodiments, which proceeds with reference to the accompanying drawings.
  • [0015]
    FIG. 1 is a representation in matrix form of a metric describing the similarity values between collections of media items.
  • [0016]
    FIG. 2 illustrates a weighted graph representation for the associations within a collection of media items. Each edge between two media items is annotated with a weight representing the value of a selected metric for the similarity between the media items.
  • [0017]
    FIG. 3 is simplified, conceptual diagram illustrating the generation of navigation lists from an input set of media items based on knowledge base metrics.
  • [0018]
    FIG. 4 is a simplified, conceptual diagram of a knowledge base comprising a plurality of mediasets useful to derive metric values.
  • [0019]
    FIG. 5 is a flow diagram illustrating an interactive method for guiding users through a media item catalog.
  • [0020]
    Reference is now made to the figures in which like reference numerals refer to like elements. For clarity, the first digit of a reference numeral indicates the figure number in which the corresponding element is first used.
  • [0021]
    In the following description, certain specific details of programming, software modules, user selections, network transactions, database queries, database structures, etc. are omitted to avoid obscuring the invention. Those of ordinary skill in computer sciences will comprehend many ways to implement the invention in various embodiments, the details of which can be determined using known technologies.
  • [0022]
    Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In general, the methodologies of the present invention are advantageously carried out using one or more digital processors, for example the types of microprocessors that are commonly found in servers, PC's, laptops, PDA's and all manner of desktop or portable electronic appliances.
  • [0023]
    The system comprises a knowledge base which is a collection of mediasets. A mediaset is a list of media items that a user has grouped together. A media item can be of different nature, e.g. a song, a book, a newspaper, a movie, a piece of a radio program, etc. If a mediaset is composed of the same type of media items it is called a homogeneous mediaset, otherwise it is called a heterogeneous mediaset. A mediaset can be ordered or unordered. An ordered mediaset implies a certain order with respect to the sequence in which the items are used1 by the user. 1 Depending on the nature of the item, it will be played, viewed, read, etc.
  • [0024]
    In general, mediasets are based on the assumption that users group media items together following some logic or reasoning. For example, in the music domain, a user may be selecting a set of songs for driving, hence that is a homogeneous mediaset of songs. In this invention, we also consider other kinds of media items such as books, movies, newspapers, and so on. For example, if we consider books, a user may have a list of books for the summer, a list of books for work, and another list of books for the weekends. A user may be interested in expressing a heterogeneous mediaset with a mix of books and music, expressing the music that goes well with certain books.
  • [0025]
    A set of media items is not considered the same as a mediaset. The difference is mainly about the intention of the user in grouping the items together. In the case of a mediaset the user is expressing that the items in the mediaset go well, in some sense, with his personal preferences. On the other hand, a set of media items does not express necessarily the preferences of a user. We use the term set of media items to refer to the input of the system of the invention as well as to the output of the system.
  • [0026]
    A metric M between a pair of media items i and j for a given knowledge base k expresses some degree of relation between i and j with respect to k. A metric may be expressed as a distance, where smaller distance values represent stronger association values, or as a similarity, where larger similarity values represent stronger association values. The most immediate metric is the co-concurrency (i, j) that indicates how many times item i and item j appear together in any of the mediasets of k. The metric pre-concurrency (i, j) indicates how many times item i and item j appear together but i before j in any of the mediasets of k. The metric post-concurrency (i, j) indicates how many times item i and item j appear together but i after j in any of the mediasets of k. The previous defined metrics can also be considered considering immediate sequence of i and j. So, the system might be considering co/pre/post-concurrencies metrics but only if items i and j are consecutive in the mediasets (only available if the mediasets are ordered). Other metrics can be considered and also new ones can be defined by combining the previous ones.
  • [0027]
    A metric may be computed based on any of the above metrics and applying transitivity. For instance, consider co-concurrency between item i and j, co(i,j), and between j and k, co(j,k), and consider that co(i,k)=0. We could create another metric to include transitivity, for example d(i,k)=1/co(i,j)+1/co(j,k). These type of transitivity metrics may be efficiently computed using standard branch and bound search algorithms.
  • [0028]
    A matrix representation of metric M, (FIG. 1) for a given knowledge base K can be defined as a bidimensional matrix (100) where the element M(i, j) (106) is the value of the metric between the media item i (102) and media item j (104).
  • [0029]
    A graph representation for a given knowledge base k, (FIG. 2) is a graph (200) where nodes represent media items (202, 204), and edges (206, 208) are between pairs of media items. Pairs of media items i, j are linked by labeled directed edges, where the label indicates the value of the similarity or distance metric M(i,j) for the edge with head media item i and tail media item j.
  • [0030]
    As a preliminary matter, in a presently preferred embodiment, a pre-processing step is carried out to analyze the contents of an existing knowledge base. This can be done in advance of receiving any input items. As noted above, the knowledge base comprises an existing collection of mediasets. This is illustrated in FIG. 4, which shows a simplified conceptual illustration of a knowledge base 400. In FIG. 4, the knowledge base 400 includes a collection of mediasets, delineated by rectangles [or ovals] and numbered 1 through 7. Each mediaset comprises at least two media items. For example, mediaset 2 has three items, while mediaset 7 has four items. The presence of media items within a given mediaset creates an association among them.
  • [0031]
    The present invention requires a knowledge base of mediasets, or at least access to metrics derived from a knowledge base. A knowledge base can be analyzed based on any selected metric. In general, for present purposes, such metrics reflect and indeed quantify some association between pairs of media items in a given knowledge base. The analysis process is described by way of example using the co-concurrency metric mentioned earlier. A similar process can be used for other metrics. Referring still to FIG. 4, for each item in a mediaset (in the knowledge base), the process identifies every other item in the same mediaset, thereby defining all of the pairs of items in that mediaset. For example, in FIG. 4, one pair in mediaset 1 is the pair M(1, 1)+M(1,3). Three pairs are defined that include M(1,1). This process is repeated for every mediaset in the knowledge base, thus every pair of items that appears in any mediaset throughout the knowledge base is defined.
  • [0032]
    Next, for each pair of media items, a co-concurrency metric is incremented for each additional occurrence of the same pair of items in the same knowledge base. For example, if a pair of media items, say the song “Uptown Girl” by Billy Joel and “Hallelujah” by Jeff Buckley, appear together in 42 different mediasets in the knowledge base (not necessarily adjacent one another), then the co-concurrency metric might be 42 (or some other figure depending on the scaling selected, normalization, etc. In some embodiments, this figure or co-concurrency “weight” may be normalized to a number between zero and one.)
  • [0033]
    Referring now to FIG. 1, matrix 100 illustrates a useful method for storing the metric values or weights for any particular metric. Here, individual media items in the knowledge base, say m1, m2, m3 . . . mk are assigned corresponding rows and columns in the matrix. In the matrix, the selected metric weight for every pair of items is entered at row, column location x,y corresponding to the two media items defining the pair. In FIG. 1, the values are normalized to a range of zero to one, but other normalization is merely a design choice.
  • [0034]
    Referring now to FIG. 3, the user selects an initial set of items from the catalog (301). For each of the items in this initial set (302, 303), the system generates (307, 308) one list for each metric. Hence, for an initial set (301) of n items and a system with m metrics, the system generates n*m lists. The ordered list with respect to item i and metric M (304) contains the k items (305, 306, 307) with the highest metric M with respect to item i.
  • [0035]
    The system displays or otherwise communicates the generated lists to the user, and from these the user can select any item. Referring now to FIG. 5, a flow diagram illustrates one example of this process. Initially, the software system receives or reads setup parameters 502. These may pertain to the selection of metrics, user login, length of lists, time limits, or other operational parameters. Then the system or the user selects a catalog for browsing 504. The system also obtains access to a collection of metrics derived from an associated knowledge base. Next, as noted, the user selects one or more media items from the catalog 506 to form an initial input mediaset. The system receives that input, and then generates in 508 an initial output list of media items we call a navigation list, preferably in the manner described above with reference to FIG. 3.
  • [0036]
    Continuing with reference to FIG. 5, the system receives further feedback from the user, which may be an instruction to exit from the process 510, in which case it may terminate 511. (The exit may occur at any time; this flowchart is merely illustrative.) If the user continues, he makes a selection 514 of one or more of the media items on the navigation list to add or delete. The system then adds (or deletes) the user selection(s) to the initial input mediaset 516, thus forming a new input set. New navigational lists are then generated based on the new input set 518. The new navigation lists are communicated to the user, 520. The process loops as indicated at 522.
  • [0037]
    In this way, the user is interactively guided through the catalog as he or she continues to add new items. The user may edit the navigation set at any moment by deleting items from, or adding items to, the generated lists. Every time the users interacts with the navigation set, its associated lists are updated as the system reacts to each edit of the navigation set. The previously described process has various advantageous uses, including assisting users to (a) navigate through a media item catalog, or (b) create new mediasets in a convenient way. A new mediaset can be saved by storing the current input set, or any navigation list, at any time during the interaction.
  • [0038]
    Many modifications and other embodiments of the invention will come to mind to one skilled in the art to which this invention pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims.
  • [0039]
    For example, one of ordinary skill in the art will understand that, while the above system and methods were described as embodied in a media item catalog system, it should be understood that the inventive system could be used in any system that implements a catalog for items that can be grouped by users following some selected criteria. Although specific terms are employed herein, there are used in a generic and descriptive sense only and not for purposes of limitation.
  • [0040]
    It will further be apparent to those having skill in the art that many changes may be made to the details of the above-described embodiments without departing from the underlying principles of the invention. The scope of the present invention should, therefore, be determined only by the following claims.
Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US6349339 *Nov 19, 1999Feb 19, 2002Clickradio, Inc.System and method for utilizing data packets
US6434621 *Mar 31, 1999Aug 13, 2002Hannaway & AssociatesApparatus and method of using the same for internet and intranet broadcast channel creation and management
US6704576 *Sep 27, 2000Mar 9, 2004At&T Corp.Method and system for communicating multimedia content in a unicast, multicast, simulcast or broadcast environment
US6748395 *Jul 13, 2001Jun 8, 2004Microsoft CorporationSystem and method for dynamic playlist of media
US6990497 *Jun 26, 2001Jan 24, 2006Microsoft CorporationDynamic streaming media management
US7043479 *Nov 16, 2001May 9, 2006Sigmatel, Inc.Remote-directed management of media content
US7113917 *May 7, 2001Sep 26, 2006Amazon.Com, Inc.Personalized recommendations of items represented within a database
US7113999 *Aug 14, 2001Sep 26, 2006International Business Machines CorporationMethod, computer readable media and apparatus for the selection and rendering of audio files in a networked environment
US7302419 *Sep 12, 2002Nov 27, 2007Erinmedia, LlcDynamic operator identification system and methods
US7434247 *Mar 28, 2005Oct 7, 2008Meevee, Inc.System and method for determining the desirability of video programming events using keyword matching
US7599950 *Mar 15, 2005Oct 6, 2009Yahoo! Inc.Systems and methods for collecting user annotations
US7647613 *Jan 12, 2010Akoo International, Inc.Apparatus and method for interactive content requests in a networked computer jukebox
US7657224 *May 6, 2003Feb 2, 2010Syncronation, Inc.Localized audio networks and associated digital accessories
US7685204 *Feb 24, 2006Mar 23, 2010Yahoo! Inc.System and method for enhanced media distribution
US7734569 *Feb 3, 2006Jun 8, 2010Strands, Inc.Recommender system for identifying a new set of media items responsive to an input set of media items and knowledge base metrics
US7831199 *Sep 1, 2006Nov 9, 2010Apple Inc.Media data exchange, transfer or delivery for portable electronic devices
US7844498 *Nov 30, 2010Apple Inc.Online purchase of digital media bundles having interactive content
US20020042912 *Jan 3, 2001Apr 11, 2002Jun IijimaPersonal taste profile information gathering apparatus
US20020178276 *Mar 26, 2001Nov 28, 2002Mccartney JasonMethods and systems for processing media content
US20040002993 *Jun 26, 2002Jan 1, 2004Microsoft CorporationUser feedback processing of metadata associated with digital media files
US20040148424 *Jan 24, 2003Jul 29, 2004Aaron BerksonDigital media distribution system with expiring advertisements
US20040158860 *Feb 7, 2003Aug 12, 2004Microsoft CorporationDigital music jukebox
US20040162738 *Feb 11, 2004Aug 19, 2004Sanders Susan O.Internet directory system
US20040194128 *Mar 28, 2003Sep 30, 2004Eastman Kodak CompanyMethod for providing digital cinema content based upon audience metrics
US20050160458 *Jan 21, 2004Jul 21, 2005United Video Properties, Inc.Interactive television system with custom video-on-demand menus based on personal profiles
US20050216859 *Mar 25, 2004Sep 29, 2005Paek Timothy SWave lens systems and methods for search results
US20050222989 *Jun 24, 2004Oct 6, 2005Taher HaveliwalaResults based personalization of advertisements in a search engine
US20050234891 *Mar 15, 2005Oct 20, 2005Yahoo! Inc.Search systems and methods with integration of user annotations
US20060091203 *Oct 12, 2005May 4, 2006Anton BakkerSystems and methods for the identification and presenting of information
US20060136344 *Dec 17, 2004Jun 22, 2006Netsuite, Inc.Web-based business application with streamlined integration of upsell features
US20060143236 *Dec 29, 2005Jun 29, 2006Bandwidth Productions Inc.Interactive music playlist sharing system and methods
US20060168616 *Mar 9, 2006Jul 27, 2006Sony Electronics Inc.Targeted advertisement selection from a digital stream
US20070250429 *Apr 19, 2006Oct 25, 2007Clinical Futures LlcPrediction markets for assessing clinical probabilities of success
US20080155057 *Mar 10, 2008Jun 26, 2008Musicgremlin, Inc.System sharing user content on a content-receiving device
US20090210415 *Apr 29, 2009Aug 20, 2009Strands, Inc.Mediaset generation system
US20100161595 *Jan 11, 2010Jun 24, 2010Strands, Inc.Recommender system for identifying a new set of media items responsive to an input set of media items and knowledge base metrics
US20100169328 *Dec 31, 2008Jul 1, 2010Strands, Inc.Systems and methods for making recommendations using model-based collaborative filtering with user communities and items collections
U.S. Classification715/825, 715/810
International ClassificationG06F3/048
Cooperative ClassificationY10S707/916, Y10S707/915, Y10S707/948, G06F17/30994, G06F17/30038, G06F17/30058
European ClassificationG06F17/30Z5, G06F17/30E5, G06F17/30E2M
Legal Events
Jul 12, 2011ASAssignment
Effective date: 20110708
Jul 21, 2011ASAssignment
Effective date: 20110721
Effective date: 20071105
Oct 10, 2011ASAssignment
Effective date: 20111005
Oct 22, 2014FPAYFee payment
Year of fee payment: 4