This patent application is related to the co-pending U.S. Patent Applications, entitled “CLUSTERING AND CLASSIFICATION OF CATEGORY DATA”, application Ser. No. 11/436,142, and “DISPLAYING ARTISTS RELATED TO AN ARTIST OF INTEREST”, application Ser. No. 11/436,008. The related co-pending applications are assigned to the same assignee as the present application.
This invention relates generally to multimedia, and more particularly using ordering artist associated with multimedia object by degree of influence by other artists.
A portion of the disclosure of this patent document contains material which 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. The following notice applies to the software and data as described below and in the drawings hereto: Copyright©2005, Sony Electronics, Incorporated, All Rights Reserved.
Clustering and classification tend to be important operations in certain data mining applications. For instance, data within a dataset may need to be clustered and/or classified in a data system with a purpose of assisting a user in searching and automatically organizing content, such as recorded television programs, electronic program guide entries, and other types of multimedia content.
Generally, many clustering and classification algorithms work well when the dataset is numerical (i.e., when datum within the dataset are all related by some inherent similarity metric or natural order). Numerical datasets often describe a single attribute or category. Categorical datasets, on the other hand, describe multiple attributes or categories that are often discrete, and therefore, lack a natural distance or proximity measure between them.
A graph of nodes and edges is used to represent artist influence between different artists. Each node of the graph represents an artist. An edge between two nodes represents an influence relationship between two artists. The relative influence between artists is computed for the artists represented in the graph. Furthermore, the artists are ordered based on the computed influence.
The present invention is described in conjunction with systems, clients, servers, methods, and machine-readable media of varying scope. In addition to the aspects of the present invention described in this summary, further aspects of the invention will become apparent by reference to the drawings and by reading the detailed description that follows.
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.
In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings in which like references indicate similar elements, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical, functional, and other changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
The category data 11 is grouped into clusters, and/or classified into folders by the clustering/classification module 12. Details of the clustering and classification performed by module 12 are below. The output of the clustering/classification module 12 is an organizational data structure 13, such as a cluster tree or a dendrogram. A cluster tree may be used as an indexed organization of the category data or to select a suitable cluster of the data.
Many clustering applications require identification of a specific layer within a cluster tree that best describes the underlying distribution of patterns within the category data. In one embodiment, organizational data structure 13 includes an optimal layer that contains a unique cluster group containing an optimal number of clusters.
A data analysis module 14 may use the folder-based classifiers and/or classifiers generated by clustering operations for automatic recommendation or selection of content. The data analysis module 14 may automatically recommend or provide content that may be of interest to a user or may be similar or related to content selected by a user. In one embodiment, a user identifies multiple folders of category data records that categorize specific content items, and the data analysis module 14 assigns category data records for new content items with the appropriate folders based on similarity.
A user interface 15 also shown in
Clustering is a process of organizing category data into a plurality of clusters according to some similarity measure among the category data. The module 12 clusters the category data by using one or more clustering processes, including seed based hierarchical clustering, order-invariant clustering, and subspace bounded recursive clustering. In one embodiment, the clustering/classification module 12 merges clusters in a manner independent of the order in which the category data is received.
In one embodiment, the group of folders created by the user may act as a classifier such that new category data records are compared against the user-created group of folders and automatically sorted into the most appropriate folder. In another embodiment, the clustering/classification module 12 implements a folder-based classifier based on user feedback. The folder-based classifier automatically creates a collection of folders, and automatically adds and deletes folders to or from the collection. The folder-based classifier may also automatically modify the contents of other folders not in the collection.
In one embodiment, the clustering/classification module 12 may augment the category data prior to or during clustering or classification. One method for augmentation is by imputing attributes of the category data. The augmentation may reduce any scarceness of category data while increasing the overall quality of the category data to aid the clustering and classification processes.
Although shown in
In one embodiment, data analysis module 14 comprises interest/influence module 17 that orders the artists associated with the category data by generating an artist influence graph. One embodiment to order by artist influence is further described in
Category data describes the different categories associated with the content. For example, category data 158 comprises terms: Best, Underway, Sports, GolfCategory, Golf, Art, 0SubCulture, Animation, Family, FamilyGeneration, Child, Kids, Family, FamilyGeneration, and Child. As illustrated, category data 158 comprises fifteen terms describing the program. Some of the terms are related, for example, “Sports, GolfCategory, Golf” are related to sports, and “Family, FamilyGeneration, Child, Kids”, are related to family. Furthermore, category data 158 includes duplicate terms and possibly undefined terms (0SubCulture). Undefined terms may be only associated with one program, because the definition is unknown and, therefore, not very useful.
Artists 170 comprise the list of artists associated with the program. For example, artists 170 comprise artist, artist2, . . . , artistN. An artist can be, but not limited to, an actor, actress, producer, director, singer, musician, arranger, composer, choreographer, painter, illustrator, author, etc., and/or any person who adds to the creative content of the program. Thus, there is the possibility of a large number of artists associated with one program.
In addition, there can be a large number of programs available to a customer. For example, a week of television programming could have thousands of programs with thousands of individual terms describing the programs. Therefore, it is possible for a customer to be presented with thousands (or more) artists to choose from in the programs offered through an EPG.
However, a customer is likely to be interested in only a small subset of available artists. The problem lies when a customer would like to access programs with artists that not in the interested subset because of the potentially large number of additional artists.
Artists that influence another artist are referred to as an influencing artists or influencers. Conversely, an artist influenced by another artist referred to as a following artist or follower. An influence means that one artist inspires, teaches, motivates, or otherwise affects another artist. For example, the composer Johan Sebastian Bach influenced Wolfgang Mozart. In turn, Mozart influenced Ludwig Beethoven. Thus, Bach is an influencer of Mozart, and Mozart is a follower of Bach. Similarly, Mozart is an influencer of Beethoven and Beethoven is a follower of Mozart.
Artist can be followers and influencers. As illustrated in
In one embodiment, graph 170 is a basic artist influence graph indicating the type of influence relationship between the artists. In an alternate embodiment, graph 170 is a weighted artist influence graph indicating the type and degree of influence relationship. The degree of relationship represents the strength of influence one artist has on a following artist. The degree of relationship can be represented using visual known in the art, such as, node size, line size, color indicators, font indicators, etc.
At block 204, method 200 builds a basic graph of nodes and edges representing artist influences. The graph nodes represent artists and the graph edges connecting the nodes represent artist influences between the artists. In one embodiment, method 200 computes a graph similar to the one illustrated in
At block 206, method 200 computes artists influences. Computing influences involves processing the basic artist influence graph to generate values of influence. Furthermore, influencing artists can have varying amounts of influence on a following artist. For example, one influencing artist could have a stronger influence on a particular following artist another influencing artist. One embodiment of computing influences is furthered described in
At block 208, method 200 determines the display choice for the artist graph. In one embodiment, method 200 orders the lists of artists based on the basic artist influence graph. In another embodiment, method 200 generates a weighted artist influence graph based on the relative artist influences computed at block 206.
If method 200 determines the display choice is to order the artist graph, method 200 orders the list of artists based on the influence values, at block 210. One embodiment for ordering the list of artists is further described in
However, if method 200 determines that the display choice is a weighted artist influence graph, method 200 takes the artist influence graph computed above and regenerates a weighted artist graph, at block 210. The weighted artist influence is an artist graph that comprises data indicating of the degree of influence an influencing artist has relative to a following artist. In one embodiment, method 200 generates the weighted artists influence graph with artist nodes and influencing edges as in
In a further embodiment not shown, method 200 orders the lists of artists as described in block 210 and generates a weighted artist influence graph as described in block 212.
If the graph does not have a node for the current artist, method 300 adds a node to the graph with the artist name at block 308. In one embodiment, method 300 adds the node to the graph by creating a new node, setting the node name to be the artist name and inserting the node into the graph. Alternatively, method 300 can add nodes representing all the unknown artists to the graph. Execution proceeds to block 310.
At block 310, method 300 processes the artist influences. One embodiment of processing artist influence is further described in
If the influencing artist is the node table, method 321 determines if artist node has this influencer at block 328. If so, at block 330, method 321 adds the influencing artist to the current artist node. By adding the influencing artist to the current artist node, method 321 builds the influencing part of the graph for current artist. Adding the influencing artist allows for the reverse relationship, where the current artist is a follower of the influencing artist. Execution proceeds to block 326. At block 326, method 321 sets the artist as a follower of the influence. The processing loop ends at block 332.
If method 321 determines that the artist node does not have this influencing node, execution proceeds to the end of the loop at block 332.
If the follower is not in the follower node table, method 341 adds a follower node to the node table at block 342344. Execution proceeds to block 346.
At block 346, method 341 adds the artist as a follower of the influencing artist. By adding the following artist to the current artist node, method 341 builds the follower part of the influence graph for current artist. The processing loop ends at block 352.
Method 400 further executes an inner processing loop (blocks 408-412) to propagate the artist influences. Propagating the influences derives the relative weighting of an influencing artist has on a following artist. At block 410, method 400 recursively propagates the influences. One embodiment for propagating the influences is further described in
At block 506, method 500 determines whether the node has been visited by method 500. If the node has been visited, method 500 returns the graph at block 518. If the node has not been visited, method 500 sets the influence share equal to the inverse of one plus the number of influences associated with current artist, at block 508. At block 510, method 500 adds the node to the list of nodes visited by method 500.
Furthermore, method 500 executes a processing loop (blocks 512-516) to further propagate the influences for each influence of the current node. At block 514, method 500 recursively propagates the influences for the current influencing node being processed by the loop by executing blocks 502-518 of
Method 600 further executes a processing loop (blocks 606-614) to sort the artists lists for each artist influence, artist follower and other similar lists. At block 608, method 600 gets the influences for related artists. In one embodiment related artists are the influencing and following artists for the current artists. Alternatively, related artists can be related by the same and/or different criteria (genre, year, etc.). Using the related artists, method 600 sorts the artist list at block 610. In one embodiment, method 600 sorts the artists by influencing artists, then following artists. Alternatively, method 600 sorts the artist using the same, more, less, and/or different criteria and combinations related to any of the metadata types associated with the artists (genre, year, etc.). At block 612, method 600 returns the sorted lists. The processing loop ends at block 614.
Method 700 further executes a processing loop (blocks 704-714) to generate the weighted artist influence graph based on the artists in the basic artist influence graph. At block 706, method 700 gets the next artist from the basic artist influence graph and creates a new weighted artist influence graph for that artist. At block 708, method 700 adds the influencing artist to the weighted artist influence graph up to the display depth. The display depth restricts the number of influencing artists to be displayed. The display depth may be large enough to allow display of all of the influencing artists, or only some influencing artists. One embodiment for adding influencing artists is further described in
At block 810, method 800 adds an edge between the current artist node and the influencing artist node. Adding an edge indicates the influencing relationship between the current and influencing artist. In addition, the relative size of the influencing node indicates the relative influence the influencing artist has on the current artist. At block 812, method 800 makes the influencing node clickable, so as to allow access of information associated with the influencing node. In one embodiment where the weighted artist influence graph is displayed, clicking on the influencing node allows a user to access the weighted artist influence graph of the influencing node. Alternatively, clicking on the influencing node produces the same and/or different actions (displays information about the influencing node such as, but not limited to, influencing artist biography, discography, etc.). At block 814, method 800 decrements the display depth by one. Method 800 recursively adds additional influencing artists to the weighted artist influence graph up to the display depth at block 816. Alternatively, method 800 adds additional influencing artists using non-recursively way known in the art at block 816. The processing loop ends at block 818.
At block 910, method 900 adds a link between the current artist node and the following artist node. Adding an edge indicates the following relationship between the current and following artist. In addition, the relative size of the following node gives an indication of the relative influence the current artist has on the following artist. At block 912, method 900 makes the following node clickable, so as to allow access of information associated with the following node. In one embodiment where the weighted artist influence graph is displayed, clicking on the following node allows a user to access the weighted artist influence graph of the following node. Alternatively, clicking on the following node produces the same and/or different actions (displays information about the following node such as, but not limited to, following artist biography, discography, etc.).
At block 914, method 900 decrements the display depth by one. In one embodiment, method 900 recursively adds additional following artists to the weighted artist influence graph up to the display depth at block 916. Alternatively, method 900 adds additional following artists using non-recursively way known in the art at block 916. The processing loop ends at block 918.
The following descriptions of
In practice, the methods described herein may constitute one or more programs made up of machine-executable instructions. Describing the method with reference to the flowchart in
The web server 1108 is typically at least one computer system which operates as a server computer system and is configured to operate with the protocols of the World Wide Web and is coupled to the Internet. Optionally, the web server 1108 can be part of an ISP which provides access to the Internet for client systems. The web server 1108 is shown coupled to the server computer system 1110 which itself is coupled to web content 1142, which can be considered a form of a media database. It will be appreciated that while two computer systems 1108 and 1110 are shown in
Client computer systems 1112, 1116, 1124, and 1126 can each, with the appropriate web browsing software, view HTML pages provided by the web server 1108. The ISP 1104 provides Internet connectivity to the client computer system 1112 through the modem interface 1114 which can be considered part of the client computer system 1112. The client computer system can be a personal computer system, a network computer, a Web TV system, a handheld device, or other such computer system. Similarly, the ISP 1106 provides Internet connectivity for client systems 1116, 1124, and 1126, although as shown in
Alternatively, as well-known, a server computer system 1128 can be directly coupled to the LAN 1122 through a network interface 1134 to provide files 1136 and other services to the clients 1124, 1126, without the need to connect to the Internet through the gateway system 1120. Furthermore, any combination of client systems 1112, 1116, 1124, 1126 may be connected together in a peer-to-peer network using LAN 1122, Internet 1102 or a combination as a communications medium. Generally, a peer-to-peer network distributes data across a network of multiple machines for storage and retrieval without the use of a central server or servers. Thus, each peer network node may incorporate the functions of both the client and the server described above.
Network computers are another type of computer system that can be used with the embodiments of the present invention. Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into the memory 1208 for execution by the processor 1204. A Web TV system, which is known in the art, is also considered to be a computer system according to the embodiments of the present invention, but it may lack some of the features shown in
It will be appreciated that the computer system 1200 is one example of many possible computer systems, which have different architectures. For example, personal computers based on an Intel microprocessor often have multiple buses, one of which can be an input/output (I/O) bus for the peripherals and one that directly connects the processor 1204 and the memory 1208 (often referred to as a memory bus). The buses are connected together through bridge components that perform any necessary translation due to differing bus protocols.
It will also be appreciated that the computer system 1200 is controlled by operating system software, which includes a file management system, such as a disk operating system, which is part of the operating system software. One example of an operating system software with its associated file management system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Wash., and their associated file management systems. The file management system is typically stored in the non-volatile storage 1214 and causes the processor 1204 to execute the various acts required by the operating system to input and output data and to store data in memory, including storing files on the non-volatile storage 1214.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of the invention as set forth in the following claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
5566291 | Boulton et al. | Oct 1996 | A |
5764239 | Misue et al. | Jun 1998 | A |
5963746 | Barker et al. | Oct 1999 | A |
6105046 | Greenfield et al. | Aug 2000 | A |
6208963 | Martinez et al. | Mar 2001 | B1 |
6256648 | Hill et al. | Jul 2001 | B1 |
6282548 | Burner et al. | Aug 2001 | B1 |
6373484 | Orell et al. | Apr 2002 | B1 |
6460036 | Herz | Oct 2002 | B1 |
6473851 | Plutowski | Oct 2002 | B1 |
6484199 | Eyal | Nov 2002 | B2 |
6513027 | Powers et al. | Jan 2003 | B1 |
6539354 | Sutton et al. | Mar 2003 | B1 |
6545209 | Flannery et al. | Apr 2003 | B1 |
6584456 | Dom et al. | Jun 2003 | B1 |
6592627 | Agrawal et al. | Jul 2003 | B1 |
6625585 | MacCuish et al. | Sep 2003 | B1 |
6668273 | Rust | Dec 2003 | B1 |
6714897 | Whitney et al. | Mar 2004 | B2 |
6732145 | Aravamudan et al. | May 2004 | B1 |
6738678 | Bharat et al. | May 2004 | B1 |
6748418 | Yoshida et al. | Jun 2004 | B1 |
6784418 | Yoshida et al. | Jun 2004 | B2 |
6785688 | Abajian et al. | Aug 2004 | B2 |
6801229 | Tinkler | Oct 2004 | B1 |
6941300 | Jensen-Grey | Sep 2005 | B2 |
6996575 | Cox et al. | Feb 2006 | B2 |
7003515 | Glaser et al. | Feb 2006 | B1 |
7085736 | Keezer et al. | Aug 2006 | B2 |
7158983 | Willse et al. | Jan 2007 | B2 |
7162691 | Chatterjee et al. | Jan 2007 | B1 |
7165069 | Kahle et al. | Jan 2007 | B1 |
7184968 | Shapiro et al. | Feb 2007 | B2 |
7185001 | Burdick et al. | Feb 2007 | B1 |
7203698 | Yamashita | Apr 2007 | B2 |
7216129 | Aono et al. | May 2007 | B2 |
7330850 | Seibel et al. | Feb 2008 | B1 |
7340455 | Platt et al. | Mar 2008 | B2 |
7371736 | Shaughnessy et al. | May 2008 | B2 |
7392248 | Bakalash et al. | Jun 2008 | B2 |
20010045952 | Tenev et al. | Nov 2001 | A1 |
20020035603 | Lee et al. | Mar 2002 | A1 |
20020042793 | Choi | Apr 2002 | A1 |
20020099696 | Prince | Jul 2002 | A1 |
20020099731 | Abajian | Jul 2002 | A1 |
20020099737 | Porter et al. | Jul 2002 | A1 |
20020107827 | Benitez-Jimenez et al. | Aug 2002 | A1 |
20020138624 | Esenther | Sep 2002 | A1 |
20030011601 | Itoh et al. | Jan 2003 | A1 |
20030033318 | Carlbom et al. | Feb 2003 | A1 |
20030041095 | Konda et al. | Feb 2003 | A1 |
20030041108 | Henrick et al. | Feb 2003 | A1 |
20030084054 | Clewis et al. | May 2003 | A1 |
20030089218 | Gang et al. | May 2003 | A1 |
20030105819 | Kim et al. | Jun 2003 | A1 |
20030154181 | Liu et al. | Aug 2003 | A1 |
20030217335 | Chung et al. | Nov 2003 | A1 |
20040083236 | Rust | Apr 2004 | A1 |
20040090439 | Dillner | May 2004 | A1 |
20040117367 | Smith et al. | Jun 2004 | A1 |
20040133555 | Toong et al. | Jul 2004 | A1 |
20040133639 | Shuang et al. | Jul 2004 | A1 |
20040193587 | Yamashita | Sep 2004 | A1 |
20040215626 | Colossi et al. | Oct 2004 | A1 |
20040260710 | Marston et al. | Dec 2004 | A1 |
20050027687 | Nowitz et al. | Feb 2005 | A1 |
20050033807 | Lowrance et al. | Feb 2005 | A1 |
20050060350 | Baum et al. | Mar 2005 | A1 |
20050114324 | Mayer | May 2005 | A1 |
20050289109 | Arrouye et al. | Dec 2005 | A1 |
20050289168 | Green et al. | Dec 2005 | A1 |
20060023724 | Na et al. | Feb 2006 | A1 |
20060025175 | Lapstun et al. | Feb 2006 | A1 |
20060112141 | Morris | May 2006 | A1 |
20060122819 | Carmel et al. | Jun 2006 | A1 |
20060167942 | Lucas et al. | Jul 2006 | A1 |
20060218153 | Voon et al. | Sep 2006 | A1 |
20070005581 | Arrouye et al. | Jan 2007 | A1 |
20070061319 | Bergholz | Mar 2007 | A1 |
20070130194 | Kaiser | Jun 2007 | A1 |
20070192300 | Reuthers et al. | Aug 2007 | A1 |
20070233730 | Johnston | Oct 2007 | A1 |
20070245373 | Shivaji-Rao et al. | Oct 2007 | A1 |
20080133466 | Smith et al. | Jun 2008 | A1 |
20080313214 | Duhig et al. | Dec 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20070268292 A1 | Nov 2007 | US |