Azure Machine Learning – 推荐系统 Web 服务

我们正在尝试为我们的系统创建一个“下一步”推荐器:给定一个用户和一个上下文,我们希望有一个模型能够给出用户可能想要采取的下一步建议。

Matchbox 推荐器接受评分、用户和项目。在我们的案例中,下一步是项目,用户和其上下文的组合是用户,使用数据是评分。

“评分”:

UserID  ScreenID    Rating1       ScreenA       501       ScreenB       353       ScreenA       553       ScreenB       603       ScreenC       105       ScreenA       505       ScreenB       355       ScreenD       10

“用户”:

UserID  EmployeeID  Role            ContextCategory   ContextTask1       078570      Representative  C                 Assignment/Reassignment3       076545      Representative  A                 Assignment/Reassignment5       076545      Representative  G                 Assignment/Reassignment

我已经训练了一个模型,创建了一个预测实验,并发布了 Web 服务。我不得不更改 Web 服务的输入,要求提供用户及其上下文的组合(本质上是用户特征),并期望 Web 服务根据其他相似“用户”给我提供建议:

Azure ML Predictive Experiment

然而,当我测试 Web 服务时,它只是返回了所有训练用户及其建议的列表,而不是我输入的指定新用户/冷启动用户的建议。

结果: {“Results”:{“output1”:{“type”:”table”,”value”:{“ColumnNames”:[“User”,”Item 1″,”Item 2″,”Item 3″],”ColumnTypes”:[“String”,”String”,”String”,”String”],”Values”:[[“1″,”ScreenA”,”ScreenB”,”ScreenC”],[“3″,”ScreenA”,”ScreenB”,”ScreenC”],[“5″,”ScreenA”,”ScreenB”,”ScreenC”]]}}}}

关于为 Matchbox 推荐器创建训练模型,有很多文档/示例,但大多数都以项目作为输入,并给出推荐项目作为输出。我找不到任何以用户作为输入,并将其转换为有用 Web 服务的示例。


回答:

这是冷启动问题。为了允许没有评分的用户使用,你需要使用用户特征来训练推荐器 – https://msdn.microsoft.com/en-us/library/azure/dn905846.aspx

这是一个示例,其中用户和项目特征被传递用于冷启动情况 – https://gallery.cortanaintelligence.com/Experiment/Recommender-Restaurant-ratings-2

这是上述情况的预测实验,展示了如何在这种情况下为 Web 服务设置实验 – https://gallery.cortanaintelligence.com/Experiment/Recommender-Restaurant-ratings-Predictive-Exp-2

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注