如何完成一个推荐系统

更新时间:01-25 教程 由 颜若惜 分享

如何完成一个推荐系统?

何为推荐系统? 在我看来是能够实现推荐功能的产品。单单的推荐算法够不上推荐系统,连简单都算不上,因为它不完整。当然推荐系统的核心还是在推荐算法上。

我的理解是,题主困惑于如何做成一个简单易用的推荐【系统】,因此你既要懂推荐算法,也要了解系统架构。

首先,推荐系统得有一个良好的用户交互界面,也就是我们所说的前端,能够设计出简单的注册、登录、菜单展示、菜单选择、菜单推荐等基本页面,所需要的语言是html,css,js等,ps技术,如果想比较快速的搭建界面的话,推荐使用bootstrap框架,使得我们不用把细节过多的放在元素标签上。附上bootstrap链接。

其次,要选一门自己擅长的后台语言,以此来将前端用户交互记录写入数据库中。java,.net自由选择,我比较擅长.net的网站开发,尤其是mvc框架,使得我不用过多的将细节放在网站的配置上,只要按照约定俗成的规则来搭建即可,即灵活又方便。同时我们需要稍微了解一些设计模式的东西,使得设计的系统比较稳定,耦合度比较低,也就是说的使得修改最少的代码来实现最多的功能。还要为推荐算法留好接口,这样即做到易于维护,又能为后续推荐算法升级做好准备。在此推荐一下用.net mvc 来实现网站系统的博客MVC5 + EF6 入门完整教程,写的特别好。

说完系统的前后台所需技术后,我们接下来分析一下推荐算法。

一开始我们可以选择最简单的热点推荐,当然为了增加商品的多样性以及用户的惊喜度可以辅助随机推荐。然后可以使用经典的协同过滤方法来测试准确率,如果想考虑用户的兴趣迁移,可以增加时间维度的考量。推荐算法实际上是解决用户、物品、环境三者之间关系的算法,即用户在什么时间、哪个地点推荐何种物品能够满足用户的需求,以下总结了一些经典的推荐算法以及入门推荐算法的一些材料以及一些开源的推荐算法包库,推荐常用数据集等。

总之,如果遇到了自己很难解决的问题或者无从下手的难题,那就试着将问题肢解,分解为一个个小的子模块,然后再由简到繁的难易程度进行攻城崔寨。比如先搭建一个只实现了热点推荐的系统,其实这就完成了70%,如果想接着提升用户体验的话,可以考虑升级一些好用的、易于实现的推荐算法。

声明:关于《如何完成一个推荐系统》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2187421.html