【问题标题】:How to manage multiple positive implicit feedbacks?如何管理多个积极的隐式反馈?
【发布时间】:2014-08-04 15:57:30
【问题描述】:

当没有评分时,一种常见的情况是使用隐式反馈(购买的商品、浏览量、点击次数等)来提出建议。我正在使用基于模型的方法,我想知道如何处理多个相同的反馈。

例如,假设消费者不止一次购买商品。我应该将反馈的数量(浏览量、购买的商品...)作为评分还是计算自定义值?

【问题讨论】:

    标签: algorithm machine-learning recommendation-engine collaborative-filtering


    【解决方案1】:

    为了模拟隐式反馈,我们通常有一个映射过程来将隐式用户反馈映射到显式评级。我猜在大多数领域中,对同一项目的重复用户操作表明用户对该项目的偏好正在增加。 如果领域是音乐或视频推荐,这当然是正确的。在购物网站中,这种行为可能表明该物品是定期消耗的,例如尿布或打印机墨水。

    我知道对这种多重隐式反馈建模的一种方法是创建一个数字评分映射函数。当隐式反馈的次数(k)增加时,评分的映射值应该增加。在k = 1,您的正面反馈评分最低,例如 0.6;当k 增加时,它接近1。当然,您不需要映射到[0,1];你可以有整数等级,0,1,2,3,4,5。

    为了给您一个具体的映射示例,这是他们在music recommendation 域中所做的。简而言之,他们使用每个用户的项目的统计信息来定义映射函数。

    我们假设越多 用户听艺术家的次数越多,用户越多 喜欢那个特别的艺术家。注意用户的收听习惯 通常呈现幂律分布,这意味着一些 艺术家在用户个人资料中有很多戏剧,而其余的 的艺术家的播放次数明显减少。所以, 我们计算互补累积分布 艺术家在用户的个人资料中播放。位于顶部的艺术家 80-100% 的分布被分配了 5 分,而 60-80% 范围内的艺术家分配 4 分。

    我在文献中看到的另一种方法是创建除二元评级变量之外的另一个变量。他们称之为置信水平。有关详细信息,请参阅here

    【讨论】:

    • 你的意思是像term frequency–inverse document frequency 这样的东西?并尝试将隐式反馈映射到范围 [0,1]
    • 不,我不是说任何特征提取 (tf-idf)。是的,我建议将隐式反馈映射到范围 [0,1]。同一个用户对同一个item的反馈越多,映射后的值应该越接近1.0。
    • 感谢您的积极反馈,您对映射功能有什么想法吗?因此计算出的分数用于标准的基于评分的方法中。
    【解决方案2】:

    可能不再对 OP 有帮助,但可能对同一条船上的其他人有用。

    如果有人知道更多论文/方法,请分享,因为我目前正在寻找解决此问题的最先进方法。提前致谢。

    【讨论】:

      【解决方案3】:

      您通常使用点击总和或事件的加权总和,作为隐式反馈系统中每个用户-项目对的“分数”。这不是评级,这不仅仅是语义上的区别。如果您将这些值输入到期望类似于评级并试图最小化平方误差损失的过程中,您将不会得到好的结果。

      您将 3 次点击视为将 1 次点击的值添加到用户-项目交互强度的 3 倍。其他事件(例如购买)的权重可能远高于点击。但最终它也增加了一个总和。

      【讨论】:

      • 谢谢你的回答,但我不太明白,你有例子或链接来解释这个吗?
      • 什么意思?考虑一篇关于隐式反馈的经典论文,例如 labs.yahoo.com/files/HuKorenVolinsky-ICDM08.pdf 输入基本上是“用户、项目、点击”。
      • 这篇论文很有趣,但对我来说很抽象。它需要特定的算法,我天真地期望有一种更简单的方法来生成关于隐式反馈的建议
      • 回答您问题的想法很简单:您将事件相加以创建“信心”分数。然后这很好地融入了像 ALS 这样的算法。 ALS 已经为您广泛实施。你不需要实现这个。您想要一个“特定”的算法,这是特定的,是最简单的潜在因素模型之一。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-09
      • 2023-03-23
      • 2013-03-06
      • 2016-03-31
      • 1970-01-01
      相关资源
      最近更新 更多