On November 19, 2009, Clint Adams wrote:
> On Fri, Nov 20, 2009 at 12:36:56AM +0100, Maciej Łoziński wrote:
> > What is the state of the recommendation/stats engine of
> > libre.fm? I made a quick look at the code, and haven't
> > noticed anything in subject. Is anyone
> > coding/designing/thinking of it at the time?
> 
> A couple people have mentioned it, but we haven't seen any
>  code.
> 
> > But I get the feeling that entire project has lost his
> > momentum. I hope there's someone familiar with the site
> > design, that I could discuss my ideas with. Or at least
> > someone that could commit my code to repository and run it on
> > server ;-)
> 
> You could create momentum by working on this.

Hello.

I really don't need more interruptions in my attempt to find work 
as a professional engineer in Materials Science and Engineering (I 
have Autism, finding work is difficult), but diversions are often 
useful to allow the subconcious to work on a problem in peace.

You aren't asking about playing music randomly, but I will start 
there.  If you ask 20 people about how they define random plays of 
music, you will probably get somewhere between 10 and 20 different 
definitions.  And all of them are correct.

What Last.fm seems to do, is to look at correlations between songs 
"owned" by different people.  To be imprecise, if someone has some 
particular hard rock song in their inventory, what is the 
probability that they also have some opera of Vivaldi.

If we look at how people want to listen to music, their listening 
habits are seldom that simple.  You can find people who enjoy both 
hard rock and classical, but if they decide to listen to hard 
rock, they do not want to have their playlist suddenly jump into 
classical.

To consider text, some people are interested in constructing 
"random text".  Perhaps a good example for more complicated text 
construction is Lorem Ipsum.

We can observe correlations between people's complete libraries, 
which I believe (with no proof) is what Last.fm does.  We could 
look at the time series of songs that people listen to: what is 
the probability that a person wants to listen to classical music 
within N different songs?  If N is small, there is a small 
probability that that they might want to listen to a classical 
song.  We could construct listening recommendations based upon N=1 
(next song to be listened to), N=2 (1 song after the next song), 
and so on.  We could look at these correlations when restricted to 
certain tags (we don't consider the probability of listening to 
Alice Cooper N songs after listening to Vivaldi).

Most people think the idea of making suggestions is simple and 
obvious.  If you were to question N people as to what they 
specifically are looking for, I would expect that you are going to 
find something like sqrt(N) different definitions.  And all of 
them are correct.

The above is handwaving theory.  If we look at music statistics 
from the music business over the last N years, we run into 
problems.  If you listen to TOP-40, you will (almost?) never run 
across a country/western song.  If you look at music sales 
statistics, there is an overlap between Top-40 and 
Country/Western.  A concious decision has been made by the TOP-40 
people to ignore anythign having to do with Country/Western.  And 
many people that listen to TOP-40 music insist that they HATE 
Country/Western!  Even if they have never listened to a single 
Country/Western song in their life.  Not every song in  
Country/Western is about driving a John Deere tractor.

How does a recommendation algorithm deal with irrational 
rejections, such as ALL Country/Western songs are to be rejected?

Sorry, no solutions.  I have done statistics a long time, and I 
have thought about how one plays music "at random".

Take care.
Gord
_______________________________________________
Libre-fm mailing list
[email protected]
http://lists.autonomo.us/mailman/listinfo/libre-fm

Reply via email to