我目前正在研究推荐系统,尤其是音频文件。但我是这个主题的初学者。我正在尝试先用 mysql 设计数据库,但我无法决定如何去做。它基本上是一个用户创建配置文件然后搜索的系统为音乐和系统推荐他们喜欢的音乐。
- 我应该使用哪个数据库?(我首先想到的是 Mysql)
- 这是一个网络项目,然后是移动端。我应该使用哪些技术?(php,android平台......)
- 这个项目有什么陷阱。
- 如何为这样的系统设计数据库?
我目前正在研究推荐系统,尤其是音频文件。但我是这个主题的初学者。我正在尝试先用 mysql 设计数据库,但我无法决定如何去做。它基本上是一个用户创建配置文件然后搜索的系统为音乐和系统推荐他们喜欢的音乐。
去阅读“编程集体智能”。他们在第 2 章“提出建议”中提供了许多用于推荐的精细算法。
任何关系数据库都应该适合存储原始数据,例如歌曲列表、用户列表、用户歌曲偏好。
我认为您会发现关系数据库(和 SQL)对于存储您的推荐人将要构建的各种数据结构并不是那么好。您的推荐引擎可能会创建实际上不需要在表中的数据,并对其进行操作以存储在关系数据库中可能只是浪费工作。
请注意您在做什么,如果感觉不对,请不要花时间将东西放入 SQL 数据库中。也许考虑使用像MongoDB这样的面向文档的数据库。
我最近编写的推荐器实际上是一个 Java 服务器进程,它从 MySQL 中读取原始数据,在内存中完成所有工作,并通过 HTTP API 向我的应用程序提供推荐数据。我什至没有费心永久存储推荐数据,因为它可以重新生成。
好吧,这是一个模糊的问题半,但我会尽力回答: