我想开发一个小型音乐库。我的目标是为用户添加建议的概念:
我的想法是在两个音乐之间建立一个链接,这个链接定义为百分比获得这两个音乐的用户。如果这个百分比很高,我们可以向听第一个的用户建议第二个。
我需要一些帮助才能找到有关该类型数据库的文档,没有任何用户的想法。我必须将用户库与大量音乐进行比较。我发现它的基于商品的推荐。我有一个好方法吗?
答案 0 :(得分:0)
用户是否收听某首歌或将其放入他/她的图书馆可能会产生误导。很多时候,样本音乐会附带一个操作系统或音乐播放器,用户根本不在乎删除它,或者很多时候机器很难确定音乐和其他声音之间的区别。或者也许某人有一些他们下载的音乐,因为它在纸上看起来很有趣,或者出现在他们喜欢的专辑中,但实际上他们最终不喜欢那首歌,但又没有删除它。
有一段时间我将Windows Media播放器设置为随机播放计算机上的所有音乐,令我惊讶的是,我听到了之前从未听过的音乐效果(来自我从未听说过的艺术家,我没有播放的音乐类型和# 39; t听),甚至Windows点击让我感到困惑的声音,因为我没有点击任何内容。
我说了所有这些,指出你可能想要更多地考虑用户看起来听同样的音乐。也许你可以让用户对他们收听的歌曲进行评分,并且不仅可以比较他们图书馆中的歌曲,还可以比较他们对歌曲的评分。如果两个用户拥有所有相同的歌曲,但是一个用户讨厌其他喜欢的歌曲,反之亦然,那么他们真的没有相似的口味。
我会定义一个比较两个用户的UDF'如果用户2没有,则通过取每个歌曲用户1而忽略它,但如果确实如此,则从最大评级中减去其评级差异的绝对值,然后将所有这些值加在一起。
然后我会为每个用户对另一个用户运行这个UDF并选择前几个用户,然后推荐他们评价很高的歌曲。
这将花费很长时间,特别是如果您有大量用户,那么您还可以做一个Suggestors表来存储每个用户最相似的用户,并更新(即截断)然后通过上述过程每天,每周,每月,根据您的情况重建它。建议功能(当由用户使用时)将仅需要检查用户的建议者'高收视率的歌曲,这将花费更少的时间,但会保持与用户的添加和更改相当及时更新。库。