在为多种类型的产品创建推荐系统时,您如何处理隐含评级的偏差?

When creating recommendation system for multiple types of products, how do you deal with bias in implicit rating?

在做零售业务的推荐系统(协同过滤)时,没有实际评分(如1-10对商品的满意程度)。

因此,我不使用。每个用户购买某个商品的次数作为隐含评级。然而,这样做可能会在滞销产品(如电视)和快速滞销产品(如薯片、零食)之间产生偏差,因为没有。顾客购买滞销产品的次数远少于滞销产品。

我的问题是:

  1. 有什么比没有更好的。客户购买特定商品或访问次数以用作评级的次数?
  2. 您如何增加权重以帮助减少慢速和快速移动项目之间的偏差。

感谢您的提前回答!

正在尝试回答您的具体问题:

  1. 是的,但这取决于您对这些项目还有哪些其他信息。我试图做出一些合理的假设来回答。

  2. 我可以假设您知道该项目的成本。您可以通过项目的成本进行标准化,以确保减少(而不是完全消除)偏差。您可以进行直接归一化 (weighted_rating = implicit_rating * cost per item)。在这里,cost_per_item 服务于 weights 的目的,以减少偏差。或者,您可以通过 binningclustering 所有项目的价格来试验价格组,从而形成产品组,从而给您一个 group_mean_price。然后可以将其用作权重。

如果您了解有关该物品的其他信息(例如易腐烂/消耗品/大件),您可以拥有更具代表性的集群。此后,您可以将 implicit_rating 分配给每个项目。现在,您可以通过使用组评分的汇总统计信息(比如 group_mean_implicit_rating)来规范化每个 implicit_rating。所以,weighted_rating = implicit_rating/group_mean_implicit_rating