|
From: Chris G. <ch...@il...> - 2002-10-08 01:10:02
|
Okay, so here's the ideas I've got so far: - Index all the MP3's on the site by inserting a 32-bit unique-ID into = the ID3 tag of every file that's added to the database - Give users the ability to raise or lower an album's rating from -8 to = +8 points (one point at a time). - Same ability for songs inside the album. The reason I wanted to do = this was so that people could suggest good albums, but also show which = songs on the album are best. So when you view an album, instead of being = sorted in the order of the tracks, it would be in the order of coolest = songs. :) Weightings: ----------------- Rank/Ranking is the order in the list of "Best albums". Rating is the number from -8 to +8 that each user assigns to an album or = MP3. The basic idea is that all albums start with a rating of 0. As users go = about rating and listening to songs, their Rank can increase or = decrease. An album with too negative a rank should be invisible to = users. If it's invisible to everyone, we should probably nuke it. :) The idea is to relate the tastes of users, so that they can = automatically view "top singles", "best albums", "best tracks in an = album", etc. Anything that makes two users' tastes similar will add to ranking. = Anything that users' tastes opposing will decrease the ranking. If two = users hate everything the other one hates, then obviously they won't = want to see any of the other's albums. :) [ Examples: ] To make the following examples simpler, User A is the person viewing a = list of albums on the site (sorted by ranking), and User B is any person = on the site who can influence the rankings. - Since User B listens to 80% of the same songs User A does, slightly = increase the weightings of all the songs User B listens to (amount of = incrase varies based on the percentage similarity). - Since User A's album ratings are 80% the same as User B's, increase = the weight of all albums rated by User B and slightly increase the = ranking of all albums listened to by User B. (and vice-versa) - Since User A rated 80% of albums uploaded by User B highly, increase = the ranking of all albums uploaded by User B. - Since User A rated 80% of albums uploaded by User B very low, decrease = the ranking of all albums uploaded by User B. - If there are many opposing ratings between two users, ratings will = have very little weight between them. Also, I think the weight of each different statistic (i.e. albums a user = listens to, albums a user has rated, ratings by a user on your albums) = on an album's rank should be a user-defineable setting. The default = might be: 20% albums users have listened to, 60% albums they rated, 20% = what they think of songs you uploaded. If you didn't like that, It could be changed to: 100% user ratings, and = 0% what people listen to and 0% what they think of your albums. :) This system is a little complicated right now, so I'd like to trim it = back to things that can be implemented easily. I do think we shoud = collect as many statistics as possible about a user though, so we can = add new things later, or tweak current things. =3D Chris Gahan =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (ch...@il...) |