我目前正在开发推荐系统,特别是音频files.but,我是这个学科的初学者。我试图先用mysql设计数据库,但我无法决定如何做。İt基本上是一个用户创建个人资料,然后搜索他们喜欢的音乐和系统推荐给他们的音乐的系统。
发布于 2009-08-21 17:51:11
任何关系数据库都应该有利于存储原始数据,如歌曲列表、用户列表、用户的歌曲首选项。
我认为您会发现关系数据库(和SQL)对于存储您的推荐程序将要构建的各种数据结构来说并不是很好。您的推荐引擎可能会创建不需要放在表中的数据,而对其进行操作以存储在关系数据库中可能只是浪费了工作。
只要知道自己在做什么,如果感觉不对,就不要花时间把东西放到SQL数据库中。也许可以考虑使用像MongoDB这样的面向文档的数据库。
我最近编写的推荐程序实际上是一个Java服务器进程,它从MySQL读取原始数据,在内存中完成所有工作,并通过HTTP向我的应用程序提供推荐数据。由于推荐数据可以重新生成,所以我甚至都不需要永久地存储它。
发布于 2009-08-21 12:52:02
去读“规划集体情报”吧。他们在第二章“提出建议”中有许多很好的建议算法。
发布于 2009-08-21 12:52:01
嗯,这是一个含糊的问题,但我会尽力回答:
https://stackoverflow.com/questions/1311710
复制相似问题