概述
推荐系统(Recommender System)模型基于神经协同过滤模型。该模型可在包含用户、项目、评级和时间戳的数据集上进行训练,并为给定用户提供个性化项目推荐。经过训练后,模型的输入是用户 ID,输出是推荐项目 ID 的列表,并按估计的倾向分数降序排序。出于演示目的,此模型已在 MovieTweetings 数据集的一个子集上进行了训练,这其中包含 457 个用户,为了方便起见,将其 ID 从 0 映射到 457。
模型元数据
领域 | 应用 | 行业 | 框架 | 训练数据 | 输入数据格式 |
---|---|---|---|---|---|
信息检索 | 推荐 | 商务 | TensorFlow | MovieTweetings | CSV |
参考资料
- X.He, L. Liao, H. Zhang, L. Nie, X. Hu, T. Chua, “Neural Collaborative Filtering”, WWW 2017.
- Microsoft 推荐系统 GitHub 代码库
许可
组件 | 许可 | 链接 |
---|---|---|
模型 GitHub 代码库 | Apache 2.0 | 许可 |
模型权重 | Apache 2.0 | 许可 |
模型代码(第三方) | MIT | Microsoft 推荐系统 GitHub 代码库 |
可用于部署此模型的选项
可使用以下方法部署此模型:
从 Dockerhub 部署:
docker run -it -p 5000:5000 codait/max-recommender
在 Red Hat OpenShift 上部署:
遵循本教程中有关 OpenShift Web 控制台或 OpenShift Container Platform CLI 的操作说明,并指定
codait/max-recommender
作为镜像名称。在 Kubernetes 上部署:
kubectl apply -f https://raw.githubusercontent.com/IBM/MAX-Recommender/master/max-recommender.yaml
- 本地部署:遵循 GitHub 上的模型 README 文件中的操作说明
可用于训练此模型的选项
可使用以下方法训练此模型:
- 在 IBM Cloud – Watson Machine Learning 上训练:遵循 GitHub 上的模型训练 README 文件中的操作说明。
用法示例
您可以通过以下方式测试或使用此模型
使用 cURL 测试该模型
部署之后,您可以通过命令行测试该模型。例如,如果在本地运行:
$ curl -X POST "http://localhost:5000/model/predict?user_id=1&num_results=5" -H "accept: application/json"
{
"status": "ok",
"predictions": [
{
"user": "1",
"item": "1454468",
"prediction": 0.995230495929718
},
{
"user": "1",
"item": "1300854",
"prediction": 0.9938176274299622
},
{
"user": "1",
"item": "77413",
"prediction": 0.9930911064147949
},
{
"user": "1",
"item": "1731141",
"prediction": 0.9929673671722412
},
{
"user": "1",
"item": "363226",
"prediction": 0.9914621710777283
}
]
}
在无服务器应用中测试该模型
您可以通过遵照在 IBM Cloud Functions 中利用深度学习教程中的操作说明,在无服务器应用程序中使用该模型。
本文翻译自:Recommender System(2020-05-04)