提供用户产品肯定(点击数据)。如何生成否定(无点击数据)?


10

在推荐器中,很常见的是我们拥有带有标签的用户产品数据,例如“点击”。为了学习模型,我需要单击和不单击数据。

生成最简单的方法是获取在点击数据中找不到的用户产品对。但是,这可能会产生误导。例:

user1, product1 (click) user2, product2 (click) user2, product3 (click) user3, product2 (click)

我可以将user1与product1以外的所有产品一起使用,并将它们标记为“ no_click”,依此类推。但是,事实可能并非如此。如果显示了product2,则user1可能会单击product2。但是仅仅因为向他展示了其他产品集-他没有机会决定点击/不点击product2。

那么如何解决一元数据问题呢?


1
我想你回答了自己的问题。您应该记录印象或放映的概念。如果您展示了一个产品而他们没有点击,那么这就是您想要的。

但是实际上这在记录的数据中不可用。那就是我提到的。数据仅包含哪些用户产品对具有点击标签。显示的内容和单击的内容均不会记录。
p.paliwal 2015年

同样,即使说-用户1被显示为prod1,prod2,prod3(并且他单击了prod1),然后带有prod2和prod3的user1也将没有单击标签。但是其余产品(prod4,prod5等)呢?只是因为未显示它们,用户才没有机会确定单击/不单击。这并不是说用户是否会对未展示的产品感兴趣-因此,将所有其他组合标记为“无点击”可能并不真实。这也是我有问题的解释。
p.paliwal

Answers:


6

因此,存在两个问题。

  1. 记录印象数(显示)
  2. 如何处理非展示次数

对于(1),您应该记录此信息。如果当前尚未记录,则应开始记录此信息。鉴于您没有此信息,因此要提供建议。幸运的是,仅需单击数据,您仍然可以创建实用程序矩阵,请参阅9.1.1。

http://i.stanford.edu/~ullman/mmds/ch9.pdf

然后,您可以按照本文所述使用基于用户或项目的协作过滤。基本上,这是填充实用程序矩阵并尝试为未单击的项目找到“分数”的练习。您的建议将是未得分最高的项目。

对于(2),您仍将对未单击的项目提出建议。因此,这不是一个问题。但是,您将需要优化印象。您也无法完全了解用户在哪里可以看到所有可能的选项。您需要记录印象并了解很多事情。

  • 显示商品的价格
  • 项目的点击率
  • 如何合并新项目
  • 如何优化显示哪些项目

这是一个巨大的话题,基本上,这是在线广告的问题领域。但是,推荐引擎会尝试在长尾巴中找到感兴趣的项目,这与广告优化有所不同。这是一个评估您的建议的反馈循环。A / B测试很常见。您将要测试当前系统和新系统之间的点击率和建议错误。

另请参阅此处。

http://cs.brynmawr.edu/Courses/cs380/fall2006/Herlocker2004.pdf

http://www.cs.umd.edu/~samir/498/Amazon-Recommendations.pdf

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.