2012-02-03 95 views
-2

我需要实现网站推荐系统列出的歌曲,其想法是,该系统可以推荐歌曲,可能是有趣的人观看当前歌曲的基础上,其他人投什么。建议算法/库/系统

我意识到这是一个巨大的领域,可以得到非常复杂,但如果有可能被用来生成建议的任何标准算法或第三方库(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 
+0

你对环境有多少控制?如果你有一个合适的数据库,其中一些事情会更容易。 (介绍http://www.slideshare.net/jperras/graphs-edges-nodes-untangling-the-social-web) – 2012-02-03 13:01:05

+0

完全控制,这是对我们自己的VPS,DB是MySQL,但是我们可以安装任何我们喜欢的。 – 2012-02-03 20:50:04

+0

你可能要考虑在这种情况下安装图形数据库。推荐算法使用它们是微不足道的。 – 2012-02-03 23:24:03

回答

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 
+0

谢谢,建立了一个查询是类似(MySQL的),工作真的很好。 – 2012-02-09 19:28:09