有没有办法为具有一对多关联的实体执行推荐?

时间:2013-10-26 19:40:56

标签: machine-learning mahout recommendation-engine collaborative-filtering mahout-recommender

我正在针对特定用例尝试推荐系统(学术练习),其中用户和项目是一对多关联的。假设在给定时间,特定项目只能由一个用户拥有。用户可以一次拥有多个项目。任何特定项目都有许多类似的项目,可能会使拥有的用户感兴趣。我想找一个项目并推荐给用户。通常在基于用户的推荐中,实体将具有多对多关联。如果用户U1拥有物品I1,I2,I3和用户U2拥有物品I1,I2,I3,I4,我们会推荐I4到U1。在我的情况下,一个项目在给定时间只能由一个用户拥有。在这种情况下如何执行推荐。是否可以执行基于用户的推荐?

1 个答案:

答案 0 :(得分:1)

一种可能的选择是始终将一个问题转移到另一个问题。给定一对多信息,您可以为每个项目X(知道某种相似性度量,这是必需,没有它你不能做任何推荐)你创建一个对象“项目类似于X在某种程度上“称之为C [X],一旦你浏览了所有项目 - 你就会获得新的数据。您有用户和“项目群集”C.现在您可以假设用户A“喜欢”群集C [X],如果用户A喜欢C [X]中的任何项目。这样,您就可以在同一数据上建立多对多的关系,并进行一些“平滑”处理。现在你可以使用任何类型的现有系统,一旦你得到推荐C [Y]你就“推荐”任何来自C [Y]的免费(可用)项目。