开源技术 * IBM 微讲堂:Kubeflow 系列(观看回放 | 下载讲义) 了解详情

概述

推荐系统(Recommender System)模型基于神经协同过滤模型。该模型可在包含用户、项目、评级和时间戳的数据集上进行训练,并为给定用户提供个性化项目推荐。经过训练后,模型的输入是用户 ID,输出是推荐项目 ID 的列表,并按估计的倾向分数降序排序。出于演示目的,此模型已在 MovieTweetings 数据集的一个子集上进行了训练,这其中包含 457 个用户,为了方便起见,将其 ID 从 0 映射到 457。

模型元数据

领域 应用 行业 框架 训练数据 输入数据格式
信息检索 推荐 商务 TensorFlow MovieTweetings CSV

参考资料

许可

组件 许可 链接
模型 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 文件中的操作说明

可用于训练此模型的选项

可使用以下方法训练此模型:

用法示例

您可以通过以下方式测试或使用此模型

使用 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)