Lately there's been quite a bit of attention being paid to making sure that the data that describes the things that we like,  our attention data, is portable.  With portable attention data, we could go to any music store and be directed to the music that we are most likely to want to listen to.  We won't have to spend any time rating tracks or artists, we'll just show the music store our taste data.  Of course, this taste data needs to be in some standard format so that everyone can understand it. One effort at standardizing our taste data is APML.  APML is an XML based language that allows users to share their own personal taste data in much the same way that OPML allows the exchange of reading lists between blog readers.   APML is new and not finished yet, but even in its infant state, it is garnering lots of support.  

I am particularly interested in how APML could be used to represent an individual's music taste.   One possibility is to have the APML file for the individual list the artists that a person likes (or vehemently dislikes).  Another approach is to have the preferences be more abstract - to list weighted affinities toward music genres or styles.   The latter approach seemed much more interesting to me - it offers some bit of privacy (instead of seeing Paris Hilton in my APML file, you would just see  Female Pop Singer). 

As an experiment, I've created a little APML generator web service for last.fm users.  If you give the web service your last.fm user name, the service goes to last.fm, retrieves data about your listening habits and generates an APML representation of your taste.  For example, to retrieve the APML for my listening tastes visit the following URL:

http://research.sun.com:8080/AttentionProfile/apml/music/lamere


This yields:

<APML version="0.6">
<Head>
<Title>music taste for lamere</Title>
<Generator>Created by TasteBroker.org in 2777 ms </Generator>
<DateCreated>2007-11-21T16:15:24</DateCreated>
</Head>
<Body defaultprofile="music">
  <Profile name="music">
  <ImplicitData>
   <Concepts>
       <Concept key="rock" value="1.0" from="tastebroker.org" updated="2007-11-21T16:15:24"/>
       <Concept key="alternative" value="0.74616855" from="tastebroker.org" updated="2007-11-21T16:15:24"/>
       <Concept key="indie" value="0.63257456" from="tastebroker.org" updated="2007-11-21T16:15:24"/>
       <Concept key="alternative rock" value="0.38583755" from="tastebroker.org" updated="2007-11-21T16:15:24"/>
   <!-- many lines omitted -->
  </Concepts>
  </ImplicitData>
</Profile>
</Body>

</APML>

To generate the implicit concepts, I gather the top 50 artists for the user, and for each of these artists I gather the top 50 tags that have been applied to each of those artists.  I adjust the weight of the tags based on the user's affinity for the associated artist. I then take top scores to generate the APML. Of course, all this chattering with last.fm can make the web service quite slow.  I do try to cache as much data as I can to try to speed things up, but if you have eclectic tastes, it can take up to a minute or so to generate your APML file.

The resulting APML seems to be a good representation of my taste.  I'm interested in hearing from others that might be last.fm users whether or not the generated APML file is a good map of their taste.  Feel free to try out the web service.  The URL is:

http://research.sun.com:8080/AttentionProfile/apml/music/YOUR_LAST_FM_USER_NAME

The next step is to see how well we can generate recommendations based upon these APML files.

Comments:

This is truly amazing! Retrieving data about user's listening habits is really cool. Here's my: http://research.sun.com:8080/AttentionProfile/apml/music/ansriram

Posted by Anjana on December 03, 2007 at 03:53 AM EST #

Post a Comment:
Comments are closed for this entry.

This blog copyright 2010 by plamere