The story so far - this is an experiment in 'open research' - I'm going to blog my research on a particular topic. In this post, I'm outlining the high level goals for the project.

Executive Summary

Find better ways to exploit the information that are contained in social tags, especially social tags that are applied to music, in order to provide tools to allow an individual to explore a complex space.


Most music recommendations are of the form - 'here's a set of artists or tracks that you might like', or 'if you like "weezer" you might like "cake". They don't offer any reasoning behind the recommendation. These types of recommendations may be appropriate if you are shopping for music at AmazonMp3 or iTunes, but it really is a horrible way to go about exploring for new music.

itunesonece.png Music is a very rich space. There are hundreds or thousands of overlapping genre and subgenre. The meaning of a genre changes overtime ("Pop" of 2000 is very different from "Pop" of 1970). Some artists define their own genre, other artists span many genres. There's no single "correct" taxonomy of genres - experts don't even agree on the most basic questions about genre such as where does 'pop' end and 'rock' begin. Genre is complex - and yet it is only one axis of this complex music space. There is also mood, era, lyrics, artist influence, popularity and on and on. Ultimately, I'd like to build a discovery tool that will allow a user to easily explore a rich space such as music. Unlike a traditional recommender that is tailored for a music shopper, this discovery tool would be tailored to someone who is exploring for the enjoyment of discovery. Ishkur's Guide to Electronic Music is an excellent example of the type of interface I am interested in building.


In this one interface is captured the a very rich view of the world of electronic music. There is decade information, high level genre, subgenres, genre dependencies, with examples from multiple artists for each genre along with reviews of the artist or genre. I'd like to be able to build an interface similar to Ishkur's automatically using data that is available from sites like Musicbrainz, and All Music. A first step toward this goal is to be able to find information about how various genres and sub-genres overlap. Professionally curated genre hierarchies such as what you'll find at All Music,, Amazon or iTunes, tend to be small and flat and don't show any kind of overlap. The genre hierarchy embedded in the wikipedia is richer, but still doesn't show how the various genres overlap. For this first step I want to build a rich representation of the genre space automatically from data mined from the web. This rich representation includes:

  • Identifying the set of genres and subgenres that people actually use. (i.e. is 'Brutal Death Metal' really a genre?).
  • Distinguish genres from other types of music descriptions such as mood, locale
  • Identify overlaps in genre (how much if at all does 'emo' overlap with 'punk'?, Is 'alternative' just a new name for 'rock'?)
  • Create a hierarchy of genre. Hierarchies are a natural way to explore a space - A hierarchy allows an explorer to start from with the general and move to the specific. The hierarchy may be a mono- or a poly- hierarchy.
  • Identify synonyms (Are 'hip hop', 'hip-hop' and 'rap' identical?)
  • Disambiguate terms (Does 'progressive' mean the same when it is applied to 'progressive rock', 'progressive jazz', and 'progressive metal'?)
  • Identify changes in genre meaning over time (Is 1960s 'Ska' the same as 1980s 'Ska'?)
  • For each genre, what are good exemplar artists/tracks for the genre? Are tracks from popular artists better exemplars?
I want to build this rich representation of genre from data mined from the web, without any human intervention, so that as the genre space evolves overtime, this genre map will automatically evolve as well. I've done some early experiments generating genre mono-hierarchies from artist tags with promising results. (See this post). However, there is much work to be done to turn that experiment into a real system that that can take a big bucket of social tags, separate the wheat from the chaff, and turn them into a representation that can guide visualization and exploration of the music space.


Next steps - we need to do some background reading, in particular we need to explore a number of areas:

  • Music seeking behaviors - to understand better how having a rich representation of genre might be used to enhance music discovery (transparency, play)
  • Genre Hierarchy - explore the issues involved in trying to represent genre in hierarchies or overlapping graphs
  • Text techniques - we will need lots of text mojo here (disambiguation, clustering, latent semantic analysis, etc.)
  • Evaluation - we need some way of evaluating our results
  • Visualization - how do we visualize a complex, overlapping, polyhierarchy?

I am interested in all kinds of feedback. A big goal for me with this 'open research' is to get early feedback. Likewise, suggestions for background reading on the aforementioned topics (or any others that seem relevant will be helpful). In a future post, I'll put together the reading list for anyone that wants to follow along.


Some helpful social tags for genres could be those from Wikipedia and LyricWiki which themselves form an interesting graph. The categorization in MediaWiki (which powers both sites) doesn't force the graph to be strictly hierarchical, so it may provide a bit of what you're looking for.

Here's a decent page to start on:

Posted by Sean Colombo on June 02, 2008 at 08:37 AM EDT #

One of my frustrations with music recommendations systems is the potentially unsolvable problem of what *doesn't* get recommended. It's exasperating to hear a song on conventional radio that hasn't been suggested by any of the Internet music sites i frequent. My (completely unsupported) conclusion from this is that connections that look significant to experts and/or machine learning are not always the connections that account for quirks in individual taste.

I think it'd be cool to have the sort of tool that you envision, that finds connections between music and explains the connections. But it'd also be nice to have a system where i could define the reasons why i connect tracks or artists (somber mood, humorous lyrics, personally-defined genre connection) and use that as a rule or dimension for discovery. As if the problem weren't already hard enough :-)

Posted by Mike Mull on June 02, 2008 at 02:24 PM EDT #

It sounds like some of the methodologies in the color name survey might be applicable. It suggests that what you are trying to do is in fact doable. see

Posted by Brian Utterback on June 02, 2008 at 02:46 PM EDT #

Paul, some quick thoughts from sunny Vienna:

- Genre: Personally I consider genre to be a very fuzzy concept. I'd argue death country [1] and Finnish metal [2] are genres. I've heard people talk about how they consider The Beatles to be a genre. It might help if you define what "genre" means in your experiments. As far as I know there is no specific generally excepted definition of what genre means in music.


- Genre hierarchy: You mention Ishkur's guide as example. Ishkur uses two approaches to create fuzzy hierarchical graphs. He briefly structures genres by similarity hierarchically on the first level. He uses a small set of broad and overlapping genres (house, trance, ...). Beyond that sub-genres are organized on a time line with connecting lines showing influences between sub-genres. I believe the "influenced by" hierarchy is very interesting. I think his tool very clearly shows the limitations of both approaches to structure music hierarchically. Structuring genres hierarchically as subsets (metal -> heavy metal) only makes sense on a broad level, and even then there is a lot of overlap. Structuring genres in terms of "influenced by" is becoming increasingly harder. Ishkur's guide gets very messy in the 90s+... and it's going to be even messier in the future. Almost everything is influencing everything in today's information age. Artists are gathering their inspirations from everywhere, and the number of genres seems to be growing exponentially... only bound by the growing number of distinct pieces of music.

- Application: I think it might be a good idea to be more specific about the intended application. I think Ishkur's guide is primarily designed as a tool to understand the complex variations of electronic music and how different sub-genres evolved and are connected. Btw, an important part of his tool are the funny comments he makes about different genres (something no computer could come up with). Anyway, to be more specific, I don't think Ishkur or the users of his tool consider it to be a music recommendation tool. I think it helps to be more specific about the targeted application because there might be some shortcuts you could take. For example, for a recommendation tool you might not necessarily need to define what a genre is or what influenced each genre.

Posted by elias on June 03, 2008 at 06:36 AM EDT #

@sean - thanks for the info - I didn't realize that LyricWiki was also capturing genre info - very helpful. It is interesting to see in Wikipedia how the genres generated from the MediaWiki categorization fields differ from the infobox genres.

@mike - I wonder if the missing connections that you describe are symptoms of the coldstart problems. The DJs can find newer music faster than the collaborative filters can. I like your idea of letting the user define the connections.

@brian - I particularly like the sheep drawing experiment.

Posted by Paul on June 03, 2008 at 06:52 AM EDT #

@elias - thanks for the comments - hope you are enjoying Vienna. I have fond memories of the Opera and the schnitzel.

I agree that genre is hard - so some definition of what we mean by genre will be important. Hopefully, we'll be able to tease out a reasonable definition from the background reading on genre. Certainly quite a bit has been written about the issues around genre and the problems of creating genre taxonomies.

Again, I agree with your observations about the increasing complexities, as we try to consider hierarchies, influence, how genres change over time, how artists fit (or don't fit) into particular genres. But we have big computers so I'm sure we can figure it all out, after that it is just a user interface issue ;)

Agreed - Ishkurs's guide is meant to be a way of exploring electronic music. There are lots of aspects of Ishkur's that I like. Indeed, I think the snarky editorial comments are fun. They remind the user that there's a real human behind the data. Dealing with the complexities of the data are a big challenge, and as you point out, the complexities will only increase. I think that is a strong argument for a tool that will help navigate the space. Finding a way to present this data to a user in a way that is useful will be a big challenge - and this is not my expertise. But there are folks who think hard about this type of problem who can hopefully help out. So for a first step, I'd like to build the data set that could be used to build an Ishkurs. Once we have this data, and a method for generating it, we (or others) can build the interface.

I agree that Ishkur's is not a music recommendation tool - I consider it to be a genre exploration tool. I do think that for a certain class of highly engaged music listeners a discovery tool similar to Ishkur's that allows the listener to explore all of music in the same fashion would be extremely helpful.

As for the shortcuts, I understand your point - a general music similarity function can simplify navigation and exploration of the music space without going through the effort of trying to figure out what micro-genres each track belongs to. However, I personally like to learn about these genres - it makes it easier to talk to other humans about the music if you can talk at a genre level, and I think it is just fun to figure out the differences between thrash metal and speed metal. But I realize you were just using genre as an example of a shortcut - I take your point.

So to sum up - for a first step, I want to be able to build a model of music that shows hierarchy, overlap and influence at a 'genre' level (where 'genre' is still to be defined), as well as exemplar artists/tracks for the various 'genre'.

Thanks for the feedback - just the sort of feedback I was hoping to get.

Posted by Paul on June 03, 2008 at 07:22 AM EDT #

Sounds like a fascinating project. I wonder if you're focusing down on the right question though? Given your exec summary, it's not obvious that genres should be the primary avenue for exploration. As you eloquently point out, genre is only one axis of the complex music space. Given the ability of social tagging and other discovery and navigation technologies to build and exploit data around some of those other axes, there's an argument that genres may steeply decline in importance. Genres are important if they are the only way to classify music - it's a problem if I don't know whether to look in Pop or Rock in the record shop. But if we can assemble a rich set of metadata based on mood, period, influence etc, genres start to look like an increasingly blunt instrument and the inevitable arguments over correct classification pretty academic.

Mood, period and influence (as well as geography, tempo etc) also routinely turn up in tags (I've always been a little surprised at the prevalence of genre in tags, given it's one of the least interesting and useful things to add to the conversation about music). Not to mention the amazing work that Pandora and the Music Genome Project have done to analyse musical features manually. Why not include all of these attributes in your model alongside genres?

Posted by Matthew Shorter on June 13, 2008 at 11:10 AM EDT #

Post a Comment:
Comments are closed for this entry.

This blog copyright 2010 by plamere