推荐系统列表
推荐系统(或推荐引擎)是有用且有趣的软件。我想比较不同的推荐系统,但找不到一个合适的列表,所以我创建了这个列表。请帮助我通过提交修正和补充来保持这篇文章的更新,可以提交拉取请求,或在Twitter上联系我 @grahamjenson。
软件即服务(SaaS)推荐系统
SaaS推荐系统在开发过程中面临许多挑战,包括处理多租户、存储和处理海量数据,以及保护客户敏感数据等更软性的考虑。
使用SaaS推荐系统的好处是,你可以用较低的前期投入获得价值,它们通常有明确的集成路径供你使用,并且在你使用过程中提供持续的开发和改进。
SaaS推荐系统包括:
-
Peerius 封闭的、面向产品和电子商务的实时和电子邮件推荐系统。活跃且看起来很有趣,但关于实际产品及其工作方式的信息很少。
-
Strands 是一个封闭的、面向产品和电子商务的系统。我认为它通过在网站上包含跟踪脚本(类似Google Analytics)和推荐小部件来工作。我真正喜欢Strands的是他们发布的案例研究,例如Wireless Emporium和白皮书,如推荐系统的巨大前景。虽然这些不讨论具体的解决方案,但它们很好地概述了他们提供推荐的愿景和目标。
-
SLI Systems Recommender 一个专注于电子商务、搜索和移动的封闭推荐系统。
-
在Google Cloud上使用Hadoop 使用Google云的一个示例,包含来自推荐系统的基准测试。
-
ParallelDots 关联已发布内容的工具
-
Amazon Machine Learning 用于建模数据和创建预测的机器学习平台
-
Azure ML 用于建模数据和创建预测的机器学习平台
-
Gravity R&D 是由2009年Netflix大奖的一些获奖者创立的公司。他们提供一个解决方案,为网站用户提供有针对性的、定制的推荐。他们有一些相当大的客户,包括DailyMotion,还有一个技术页面描述了他们的架构、算法和出版物列表。(由Marton Vetes提议)
-
Dressipi Style Adviser 是一个特定于服装的推荐服务。它结合了专家领域知识和机器学习,为不同场合或心情找到合适的服装。
-
IBM Watson 可通过Watson Developer Cloud获得,该云提供REST API(Watson APIs on Bluemix)和SDK,使用认知计算来解决复杂问题。
-
Recombee 提供REST API、多种语言的SDK和用于评估结果的图形用户界面。主要特点是实时模型更新,易于使用的查询语言用于根据复杂的业务规则进行过滤和提升,以及获取多样化或轮换推荐等高级功能。Recombee提供即时账户,每月有10万次免费推荐请求。
-
Segmentify 推荐引擎、个性化和实时分析工具。
-
Mr. DLib 一个面向学术组织(如数字图书馆和参考文献管理器)的推荐系统即服务。Mr. DLib提供"相关文章"推荐,是开源的,并发布了大部分数据。
-
Rumo 是一个灵活的SaaS推荐系统,可适应所有娱乐行业(电影、音乐、播客、视频游戏、体育等),基于内容元数据和用户行为。Rumo的算法是透明和可解释的,提供对推荐过程的完全控制。
-
Froomle 是一个模块化推荐平台,主要服务于新闻和电子商务公司。他们提供各种模块,针对其用例(例如发现或相关)、业务目标(例如CTR或转化)和集成类型(网络、邮件或推送通知)进行了优化。他们的模块在后台使用最先进的机器学习技术。
-
Recommendations AI 大规模提供高度个性化的产品推荐。它是Google Cloud's Discovery Solutions for Retail的一部分,提供个性化搜索和推荐。
开源推荐系统
大多数非SaaS推荐系统都是开源的。这可能是因为推荐系统更多地是根据客户定制的,所以不容易做成产品。
开源推荐系统包括:
-
The Universal Recommender 基于现代相关交叉发生算法构建,使用许多用户品味指标,因此可以针对大多数用例。源代码在github上,内置于Harness ML服务器中,或作为较旧的PredictionIO服务器的模板(评分最高的模板)。活跃且有商业支持。
-
PredictionIO 建立在Apache Spark、Apache HBase和Spray技术之上。它是一个机器学习服务器,可用于创建推荐系统。源代码位于github。主要仓库已被废弃。
-
Raccoon Recommendation Engine 是一个开源的基于Node.js的协同过滤引擎,使用Redis作为存储。它实际上已被废弃。
-
HapiGER 是一个开源的Node.js协同过滤引擎,可以使用内存、PostgreSQL或rethinkdb。开发相当活跃(当我有时间时:)
-
EasyRec 基于Java和Rest的推荐。已废弃
-
Mahout 基于Hadoop/线性代数的数据挖掘
-
Seldon 是一个基于Apache Spark等技术的Java预测引擎。它在这里提供了一个电影推荐演示应用。
-
RecDB 是PostgreSQL的一个扩展,可以直接在数据库中添加协同过滤等推荐算法。
-
Crab 一个基于流行包NumPy、SciPy、matplotlib的python推荐器。主要仓库似乎已被废弃。
-
predictor 是一个ruby推荐gem。它使用Jaccard或Sorenson-Dice系数来提供以项目为中心的推荐(例如"阅读这本书的用户还阅读了...")和以用户为中心的推荐(例如"你读了这10本书,所以你可能还喜欢读...")。看起来有点被忽视。
-
Surprise 一个用于构建和分析(协同过滤)推荐系统的Python scikit。内置了各种算法,重点是评分预测。
-
LightFM 是一个积极开发的Python实现,包含多种基于协同和内容的学习排序推荐算法。使用Cython,它可以轻松扩展到多核机器上的非常大的数据集,并在Lyst和Catalant等多家公司的生产中使用。
-
Rexy 是一个基于通用用户-产品-标签概念的开源推荐系统,具有灵活的结构,设计为可适应不同的数据模式。Rexy用Python-3.5编写,采用高度优化、Pythonic和全面的方式,使其对变化非常灵活。它还使用Aerospike作为数据库引擎,这是一个高速、可扩展和可靠的NoSQL数据库。
-
QMF 是一个快速且可扩展的C++库,用于隐式反馈矩阵分解模型。
-
tensorrec 是一个Python中的TensorFlow推荐算法和框架。
-
hermes 是PySpark中用于协同过滤和基于内容算法的推荐框架。主要仓库已被废弃。
-
Spotlight 在后端利用因子分解模型和序列模型来构建基本的推荐系统。这是一个实现良好的Python框架。
-
Implicit 是一个用于隐式数据集的快速Python协同过滤工具。该项目为隐式反馈数据集提供了几种不同流行推荐算法的快速Python实现。
-
recommenderlab 提供了一个研究基础设施来测试和开发推荐算法,包括UBCF、IBCF、FunkSVD和基于关联规则的算法。
-
CaseRecommender 是多种流行推荐算法的Python实现。该框架旨在提供丰富的组件集,您可以从一组算法中构建定制的推荐系统。
-
ProbQA 是一个C++/CUDA推荐系统,使用贝叶斯方法学习其问题的答案如何映射到正在搜索的目标的最佳推荐。在GitHub上,它提供了一个学习二分搜索算法的示例。它在互联网上作为引擎演示的视频游戏推荐系统应用可用。
-
Microsoft Recommenders 包含用于构建推荐系统的示例、实用程序和最佳实践。提供了几种最先进算法的实现,用于自学和在自己的应用程序中定制。
-
Gorse 是一个基于协同过滤的离线推荐系统后端,用Go编写。它实现了多种基于评分或排名的推荐器,以及从导入/导出工具到RESTful推荐服务器的多种工具。
-
Nvidia Merlin 是一个端到端的基于GPU的推荐生态系统,由许多工具组成,如用于快速预处理/特征工程的[NVTabular](https://github.com/
-
Jinni 电影推荐网站
-
Gyde 流媒体推荐
-
TasteKid 电影、书籍、音乐推荐。由thelinuxlich发送给我
-
Gnoosic 基于乐队的音乐推荐。由thelinuxlich发送给我
-
Pandora 基于喜欢和不喜欢或歌曲的音乐推荐
-
Criticker 游戏和电影协同推荐。由ran88dom99建议
-
movielens.org 由lenskit团队提供的终端用户电影和书籍推荐。由ran88dom99建议
-
基于MAL的仅相似用户推荐和推荐 由ran88dom99建议
-
NewsPortalUserInteractions globo.com提供的用于新闻推荐的大型数据集 由guedes-joaofelipe建议
-
ContentWise 数字媒体娱乐的用户体验管理解决方案。由GiovanniPaoloGibilisco建议
书籍
最佳实践
-
推荐系统 微软提供的构建推荐系统的示例和最佳实践。
常用数据集
名称 | 场景 | 任务 | 信息 | 链接 |
---|---|---|---|---|
Amazon评论 | 商务 | 序列推荐/协同过滤推荐 | 这是从Amazon爬取的大量产品评论。评分:8283万,用户:2098万,商品:935万,时间跨度:1996年5月 - 2014年7月 | 链接 |
Amazon-M2 | 商务 | 序列推荐/协同过滤推荐 | 从Amazon多语言来源收集的大型匿名用户会话数据集,包含用户与产品的交互。包括3,606,249个训练会话,361,659个测试会话和1,410,675个产品。 | 链接 链接-2 |
Steam | 游戏 | 序列推荐/协同过滤推荐 | 评论代表了分析游戏满意度和不满意度因素的绝佳机会。评论:7,793,069,用户:2,567,538,商品:15,474,捆绑包:615 | 链接 |
MovieLens | 电影 | 通用 | 该数据集由4个子数据集组成,描述了用户对MovieLens(一个电影推荐服务)的电影评分和自由文本标记活动。 | 链接 |
Yelp | 商务 | 通用 | 包含6,990,280条评论,150,346家企业,200,100张图片,11个大都市地区,1,987,897名用户的908,915条提示。超过120万条商业属性,如营业时间、停车、可用性等。 | 链接 |
豆瓣 | 电影、音乐、图书 | 序列推荐/协同过滤推荐 | 该数据集包括三个领域,即电影、音乐和图书,以及不同类型的原始信息,即评分、评论、商品详情、用户资料、标签(标签)和日期。 | 链接 |
MIND | 新闻 | 通用 | MIND包含约16万篇英文新闻文章和超过1500万条由100万用户生成的浏览日志。每条新闻都包含标题、摘要、正文、类别和实体等文本内容。 | 链接 |
U-NEED | 商务 | 对话式推荐 | U-NEED包含7,698个细粒度注释的售前对话,333,879个用户行为和332,148个产品知识元组。 | 链接 |
PixelRec | 短视频 | 序列推荐/协同过滤推荐 | PixelRec是从短视频推荐系统收集的大型封面图像数据集,包含约2亿用户图像交互,3000万用户和40万视频封面图像。还包括视频的文本和其他聚合属性。 | 链接 |
KuaiSAR | 视频 | 搜索和推荐 | KuaiSAR包含快手应用上19天内25,877名用户、6,890,707个项目、453,667个查询和19,664,885个操作的真实搜索和推荐行为 | 链接 |
Tenrec | 视频、文章 | 通用 | Tenrec是一个大规模的推荐系统基准数据集。它包含约500万用户和1.4亿次交互。 | 链接 |
这个链接包含了所有与推荐系统相关的数据集 - 链接