U.S. patent application number 12/984259 was filed with the patent office on 2011-04-28 for system for browsing through a music catalog using correlation metrics of a knowledge base of mediasets.
This patent application is currently assigned to STRANDS, INC.. Invention is credited to Francisco J. Martin, Jim Shur, Marc Torrens.
Application Number | 20110099521 12/984259 |
Document ID | / |
Family ID | 36778031 |
Filed Date | 2011-04-28 |
United States Patent
Application |
20110099521 |
Kind Code |
A1 |
Martin; Francisco J. ; et
al. |
April 28, 2011 |
SYSTEM FOR BROWSING THROUGH A MUSIC CATALOG USING CORRELATION
METRICS OF A KNOWLEDGE BASE OF MEDIASETS
Abstract
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 (m.sub.1 . . . ) 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).
Inventors: |
Martin; Francisco J.;
(Corvallis, OR) ; Shur; Jim; (Corvallis, OR)
; Torrens; Marc; (Corvallis, OR) |
Assignee: |
STRANDS, INC.
Corvallis
OR
|
Family ID: |
36778031 |
Appl. No.: |
12/984259 |
Filed: |
January 4, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
12858229 |
Aug 17, 2010 |
|
|
|
12984259 |
|
|
|
|
11349370 |
Feb 6, 2006 |
7797321 |
|
|
12858229 |
|
|
|
|
60649945 |
Feb 4, 2005 |
|
|
|
Current U.S.
Class: |
715/825 ;
715/810 |
Current CPC
Class: |
G06F 16/48 20190101;
Y10S 707/916 20130101; Y10S 707/915 20130101; G06F 16/904 20190101;
Y10S 707/948 20130101; G06F 16/44 20190101 |
Class at
Publication: |
715/825 ;
715/810 |
International
Class: |
G06F 3/048 20060101
G06F003/048 |
Claims
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.
Description
RELATED APPLICATIONS
[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.
COPYRIGHT NOTICE
[0002] .COPYRGT. 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 .sctn.1.71(d).
TECHNICAL FIELD
[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.
BACKGROUND OF THE INVENTION
[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.
SUMMARY OF PREFERRED EMBODIMENTS
[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.
BRIEF DESCRIPTION OF THE 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.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
[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.
DEFINITIONS
[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 used.sup.1 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(.sub.1,
1)+M(.sub.1,3). Three pairs are defined that include M(.sub.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
m.sub.1, m.sub.2, m.sub.3 . . . m.sub.k 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.
* * * * *