建议算法/库/系统

时间:2012-02-03 12:23:47

标签: php mysql algorithm

我需要为列出歌曲的网站实施推荐系统,这个想法是系统可以根据其他人投票的内容推荐观看当前歌曲的人可能感兴趣的歌曲。

我意识到这是一个非常复杂的领域,但我想知道是否有可用于生成建议的标准算法或第三方库(PHP)?我知道我们可能需要收集额外的数据,具体取决于我们实施的系统,但是我们已经记录了以下两年:

VOTES (users can vote on songs based on a 5 star system), data collected is:
song id, user id, session id, vote date & time, star rating 1-5

1 个答案:

答案 0 :(得分:0)

如果你想全力以赴,例如跟踪每个用户在您网站上的移动并寻找重叠(正如我想象的亚马逊等等),然后是的,它可能会有点毛茸茸。

但是如果你想用你的投票系统纯粹推动这一点,我认为你不需要像图书馆那样复杂的东西,甚至是一系列的PHP。您可以在数据库查询中构建一个不错的启发式算法。就在我的头顶:

SELECT FIRST 10 V2.SongID, AVG(V2.Stars)
FROM Votes V1
JOIN Votes V2 USING (UserID)
WHERE V1.SongID = :CurrentSong AND V1.Stars > 3
GROUP BY V2.SongID
ORDER BY 2