基于内容的过滤

基于内容的过滤功能使用商品功能来推荐其他商品 与用户所喜欢的内容相似、基于他们之前的操作或露骨内容 反馈。

为了演示基于内容的过滤,我们来手动设计一些特征 适用于 Google Play 商店的应用下图显示了一个特征矩阵,其中 每行代表一个应用,每列代表一项功能。特性 可能会包含类别(例如教育、休闲、健康),发布商 以及许多其他元素为简单起见,假设以下特征矩阵为二元: 非零值表示该应用具有该功能。

您还可以在同一特征空间中表示用户。一些与用户相关的 功能可以由用户明确提供。例如,用户选择 “娱乐应用”。其他特征可以是隐式的, 根据他们之前安装过的应用显示相关数据例如,用户 安装了 Science R Us 发布的另一个应用。

模型应推荐与此用户相关的商品。为此,您必须 请先选择一个相似度指标(例如点积)。然后,您必须 设置系统,根据此相似度对每个候选推荐项进行评分 指标。请注意,这些推荐针对的是此用户, 未使用任何关于其他用户的信息。

一个矩阵的图片,其中显示了可能推荐的用户和应用

使用点积作为相似度度量

考虑用户嵌入 \(x\) 和应用的情况 嵌入 \(y\) 都是二元向量。开始时间 \(\langle x, y \rangle = \sum_{i = 1}^d x_i y_i\)、 都有助于 \(x\) \(y\) 和 求和。也就是说, \(\langle x, y \rangle\) 是数字 两个矢量中同时激活的特征。较高 点积表示更常见的特征,因此相似度更高。

亲自尝试一下吧!

计算上述应用问题中每个应用的点积。 然后使用该信息回答下面的问题:

我们应推荐哪款应用?
由 Science R Us 打造的教育应用。
回答正确!此商品包含最高的点积 ,我们的用户非常喜欢科学和教育类应用。
由 Healthcare 创建的健康应用。
该应用的得分为 1。这并不是我们的 但肯定不是最佳选择
由 TimeWastr 打造的休闲应用。
实际上,此应用具有最低的点积,为 0。我们的 用户对游戏等休闲应用不感兴趣。