我们正在尝试为我们的系统创建“后续步骤”推荐器:给定用户和上下文,我们需要一个可以提供用户可能想要采取的后续步骤的建议的模型 .
火柴盒推荐者获取评级,用户和项目 . 在我们的例子中, next steps 是项目, combination of a user and their context 是用户, usage data 是评级 .
“评价”:
UserID ScreenID Rating
1 ScreenA 50
1 ScreenB 35
3 ScreenA 55
3 ScreenB 60
3 ScreenC 10
5 ScreenA 50
5 ScreenB 35
5 ScreenD 10
“用户”:
UserID EmployeeID Role ContextCategory ContextTask
1 078570 Representative C Assignment/Reassignment
3 076545 Representative A Assignment/Reassignment
5 076545 Representative G Assignment/Reassignment
我训练了一个模型,创建了一个预测实验,并发布了Web服务 . 我不得不更改Web服务输入以询问用户及其上下文的组合(本质上是用户功能),并期望Web服务根据其他类似的“用户”给出建议:
但是,当我测试web服务时,它只返回所有受过训练的用户及其建议的列表,而不是我在输入中指定的新/冷用户的建议 .
结果:{“结果”:{“output1”:{“type”:“table”,“value”:{“ColumnNames”:[“User”,“Item 1”,“Item 2”,“Item 3” ], “ColumnTypes”:[ “字符串”, “字符串”, “字符串”, “字符串”], “值”:[[ “1”, “ScreenA”, “ScreenB”, “ScreenC”],[“3 ”, “ScreenA”, “ScreenB”, “ScreenC”],[ “5”, “ScreenA”, “ScreenB”, “ScreenC”]]}}}}
有很多关于为Matchbox推荐者创建训练模型的文档/示例,但是大多数都将项目作为输入,并将推荐项目作为输出 . 我找不到任何将用户作为输入的示例,并将其转换为有用的Web服务 .
1 回答
这是冷启动问题 . 要允许没有评分的用户,您需要使用用户功能训练推荐者 - 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