去年的时候小弟在 V2EX分享了一个 Go 语言实现的推荐系统引擎,@Philippa 兄指出了构建一个 CLI+RPC 工具的可能性,之后我对项目进行了重构,添加了很多功能,想要再分享一下。
- GitHub 地址: https://github.com/zhenghaoz/gorse
项目包含了模型验证、数据导入 /导出工具和 RESTful 推荐服务,可以方便地用它验证推荐模型,构建简易的推荐系统服务。只需要提供用户和物品之间的交互记录,程序会自动加载数据、训练模型,最后为每个用户生成推荐列表。

- 简单易用:只需要写好配置文件、导入数据,即可完成推荐系统服务搭建。可以使用 RESTful API 添加反馈、物品,系统按照设定的阈值会自动更新推荐列表。

- 模型方面:实现了 WRMF 和 BPR 两个排序模型,当然也实现了很多评分预测模型,但是评测预测在实际场景中不实用。


- 缺点和不足:当然它有很多的不足
- 它是一个单机程序,所以只能适用于数据量比较小的情况。
- 推荐系统的物品生成其实包含多个环节,例如去掉用户浏览过的、结合热门物品,单纯使用协同过滤是不够的,通常在协同过滤获取相关物品之后再需要一个重排序的过程(一般使用 CTR 预测来完成)。
最后,感谢您的阅读~